diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..1e2b09e --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,50 @@ +# Mintlify documentation + +## Working relationship +- You can push back on ideas-this can lead to better documentation. Cite sources and explain your reasoning when you do so +- ALWAYS ask for clarification rather than making assumptions +- NEVER lie, guess, or make up anything + +## Project context +- Format: MDX files with YAML frontmatter +- Config: docs.json for navigation, theme, settings +- Components: Mintlify components + +## Content strategy +- Document just enough for user success - not too much, not too little +- Prioritize accuracy and usability +- Make content evergreen when possible +- Search for existing content before adding anything new. Avoid duplication unless it is done for a strategic reason +- Check existing patterns for consistency +- Start by making the smallest reasonable changes + +## docs.json + +- Refer to the [docs.json schema](https://mintlify.com/docs.json) when building the docs.json file and site navigation + +## Frontmatter requirements for pages +- title: Clear, descriptive page title +- description: Concise summary for SEO/navigation + +## Writing standards +- Second-person voice ("you") +- Prerequisites at start of procedural content +- Test all code examples before publishing +- Match style and formatting of existing pages +- Include both basic and advanced use cases +- Language tags on all code blocks +- Alt text on all images +- Relative paths for internal links + +## Git workflow +- NEVER use --no-verify when committing +- Ask how to handle uncommitted changes before starting +- Create a new branch when no clear branch exists for changes +- Commit frequently throughout development +- NEVER skip or disable pre-commit hooks + +## Do not +- Skip frontmatter on any MDX file +- Use absolute URLs for internal links +- Include untested code examples +- Make assumptions - always ask for clarification diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..1e2b09e --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,50 @@ +# Mintlify documentation + +## Working relationship +- You can push back on ideas-this can lead to better documentation. Cite sources and explain your reasoning when you do so +- ALWAYS ask for clarification rather than making assumptions +- NEVER lie, guess, or make up anything + +## Project context +- Format: MDX files with YAML frontmatter +- Config: docs.json for navigation, theme, settings +- Components: Mintlify components + +## Content strategy +- Document just enough for user success - not too much, not too little +- Prioritize accuracy and usability +- Make content evergreen when possible +- Search for existing content before adding anything new. Avoid duplication unless it is done for a strategic reason +- Check existing patterns for consistency +- Start by making the smallest reasonable changes + +## docs.json + +- Refer to the [docs.json schema](https://mintlify.com/docs.json) when building the docs.json file and site navigation + +## Frontmatter requirements for pages +- title: Clear, descriptive page title +- description: Concise summary for SEO/navigation + +## Writing standards +- Second-person voice ("you") +- Prerequisites at start of procedural content +- Test all code examples before publishing +- Match style and formatting of existing pages +- Include both basic and advanced use cases +- Language tags on all code blocks +- Alt text on all images +- Relative paths for internal links + +## Git workflow +- NEVER use --no-verify when committing +- Ask how to handle uncommitted changes before starting +- Create a new branch when no clear branch exists for changes +- Commit frequently throughout development +- NEVER skip or disable pre-commit hooks + +## Do not +- Skip frontmatter on any MDX file +- Use absolute URLs for internal links +- Include untested code examples +- Make assumptions - always ask for clarification diff --git a/credible/dapp-incidents.mdx b/credible/dapp-incidents.mdx index 45aac6a..38dd35c 100644 --- a/credible/dapp-incidents.mdx +++ b/credible/dapp-incidents.mdx @@ -26,60 +26,91 @@ This grouping ensures you receive meaningful alerts without being spammed by rep This is our initial approach to incident grouping and may be refined based on user feedback. -## Incidents View +## Project Incidents (Manager View) -Access incidents from the **Incidents** tab in the dApp navigation bar. This shows a limited view of all incidents across all networks: +Project incidents are visible only to the project manager and live inside the project dashboard. -- **Network**: Which network the incident occurred on -- **Timestamp**: When the transaction was dropped -- **Incident Reference ID**: Unique identifier for the incident +Non-owners see project events, not incidents. - - Incidents View +### Access and Navigation + +- Open a project and select the **Incidents** tab. +- Route: `/projects/{project_id}/incidents` + + + Incidents Tab - -The Incidents tab is publicly accessible. Anyone can view this limited incident information. - -## Project Dashboard Incidents +### Incidents + +The incidents list shows recent incidents for the project, ordered by most recent. -As a project owner, you can view detailed incidents for your projects in the project dashboard. See [Projects](/credible/dapp-projects) for information about accessing your project dashboard. +Each row includes: - - Incident in Project Assertion Dashboard +- **Timestamp** +- **Contract Affected** +- **Assertion Triggered** +- **Invalid Transactions** count +- **Environment** (staging or production) + +Click a row to open the incident detail view. + + + Incident Overview -View incidents in the **Recent Incidents** container on the project dashboard. Click on an incident to see: +### Incident Detail and Invalidating Transactions + +The incident detail page summarizes the incident and lists invalidating transactions. +It includes: + +- **Incident detail card** with date, contract affected, assertion triggered, assertion group, invalid transaction count, and environment +- **Critical warning banner** if any invalidating transaction landed on-chain +- **Invalid Transactions** list with expandable rows and action buttons -- **Transaction Object**: The full decoded transaction that was dropped (viewable as JSON) -- **Transaction Hash**: The hash of the dropped transaction +Each invalidating transaction includes: - - Detailed Incident View +- Transaction hash, to/from, value, calldata, and block number (if available) +- **Open Debug View** to inspect the trace +- **Copy Data as JSON** to export the transaction + + + Incident details - -Only project owners can view detailed incidents for their projects. Non-owners viewing a project see **events** (when contracts and assertions were added or removed), not incidents. - +### Debug Trace View + +The debug trace view opens from an invalidating transaction. -### Real-Time Alerts +- Route: `/projects/{project_id}/trace/{incident_id}/{transaction_id}` +- **Transaction Attributes** panel with copy-all action +- **Execution Context** panel (block environment + previous transactions) +- **Transaction Trace** panel with status: pending, in progress, completed, failed, or skipped -When viewing your project dashboard as an authenticated project owner, incidents update in real time: + + Incident trace 1 + -- **Auto-Updating UI**: Components listing incidents automatically prepend newly received incidents to the list -- **Toast Notifications**: A notification appears in the upper right corner stating "an incident for this project was received" -- **Live Updates**: Real-time updates only occur when viewing that specific project as its authenticated manager + + Incident trace 1 + -**External Alerts** +### Real-Time Updates and Alerts +When a project manager is viewing the incidents list, new incidents stream into the list in real time. You can also set up external alerts via webhooks: -- **Slack Integration**: Configure Slack webhooks to receive incident notifications in your Slack channels +- **Slack Integration**: Configure Slack webhooks to receive incident notifications - **PagerDuty Integration**: Configure PagerDuty webhooks to receive incident notifications See [Integrations](/credible/dapp-integrations) for setup instructions. +## Public Transparency Incidents + +The Transparency dashboard includes a public incidents list with limited metadata for visibility. +Detailed transaction and trace views are only available to project managers. + ## Use Cases - Monitor when assertions prevent violations for your projects diff --git a/credible/dapp-projects.mdx b/credible/dapp-projects.mdx index e328628..7433ae5 100644 --- a/credible/dapp-projects.mdx +++ b/credible/dapp-projects.mdx @@ -94,7 +94,7 @@ The project dashboard provides a unified view of your project's security: - **Assertion Deployment**: Deploy or remove assertions for your project - **Ready for Deployment**: Assertions submitted via `pcl` that need to be linked and deployed - **Assertion Status**: Monitor execution status and any triggered violations. Status shows whether assertions are marked for enforcement/staging or enforced/staged -- **Recent Incidents**: View detailed incidents for your project (see [Incidents](/credible/dapp-incidents#project-dashboard-incidents)) +- **Recent Incidents**: View detailed incidents for your project (see [Incidents](/credible/dapp-incidents#project-incidents-manager-view)) - **Project Settings**: Update project details and manage contracts diff --git a/images/incident_overview.png b/images/incident_overview.png new file mode 100644 index 0000000..ab81418 Binary files /dev/null and b/images/incident_overview.png differ diff --git a/images/incident_trace.png b/images/incident_trace.png new file mode 100644 index 0000000..4cf1196 Binary files /dev/null and b/images/incident_trace.png differ diff --git a/images/incident_trace_2.png b/images/incident_trace_2.png new file mode 100644 index 0000000..8b8b198 Binary files /dev/null and b/images/incident_trace_2.png differ diff --git a/images/incident_tx_details.png b/images/incident_tx_details.png new file mode 100644 index 0000000..fd5d01b Binary files /dev/null and b/images/incident_tx_details.png differ diff --git a/images/incidents_project.png b/images/incidents_project.png new file mode 100644 index 0000000..c9ed683 Binary files /dev/null and b/images/incidents_project.png differ