Working with issues
Issues and recipes
One fault, across every run it appeared in, with what a fix needs.
From finding to issue
A finding gets a fingerprint based on its kind, location and channels. Matching findings can be grouped in one issue across runs, so you can see recurrence and the affected machines. A matching fingerprint links similar evidence; it does not independently prove the same underlying cause.
States
| State | Means |
|---|---|
| Open | Found and not yet worked on. |
| In repair | Someone claimed a repair: a person in the app, or a coding agent over MCP, with what changed. |
| Resolved | The linked verification passed its checks. If a matching finding returns, the issue opens again as regressed. |
| Ignored | Seen and set aside. It stays ignored when it comes back. |
The recipe
Every finding carries the same nine fields. A field that could not be filled says what is missing instead of disappearing.
| Field | What it holds |
|---|---|
| 1. Symptom | What the machine did. |
| 2. Causal chain | How that follows from the cause. |
| 3. Condition | The measured numbers this rests on. |
| 4. Change class | What kind of change is needed. |
| 5. Files and lines | Where to make it. |
| 6. Reference pattern | What the corrected form looks like. |
| 7. Acceptance criterion | The test that rejects a partial fix. |
| 8. Blast radius | What else the change touches. |
| 9. Effort | What it costs to do. |
trialone diagnose --json writes the recipes as JSON with exactly these fields, which is what the website shows and what a coding agent reads.
The incident page
The incident page brings together the observed problem, available code and configuration metadata, the explanation, proposed action and next check. When history uploads are enabled, you can inspect the channels around the finding and compare them with other runs. Metadata from a local checkout describes the analysed source; it is not proof that this version was deployed when the recording was made.
Sharing
From an issue you can open a GitHub issue, share it to Slack or Discord, and open the recording in Foxglove when the machine uploads its recordings. Connect these under Settings, Integrations.
Something missing or wrong here? Tell us.