add_evidence
Records structured evidence for a project step so its evidence gate can be satisfied before marking the step done. Supports console transcripts, hashes, pixel diffs, screenshots, and notes.
Instructions
Record structured evidence for a step. This is what the evidence gate checks — a step with an
evidence gate CANNOT be marked done until at least one non-note row exists for it. Use kind='note'
only for a supplementary remark (it does not satisfy the gate).
Pass `step_id` to attach the row to a project step, or omit it to record evidence at project
level (a measurement, a console transcript, a negative result). A step-less row satisfies no
step gate, by design.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Path / url / command the evidence points at | |
| data | No | Structured detail: e.g. {'pixel_diff_pct': 1.2, 'noise_floor': 0.5} or {'md5': '...'} | |
| kind | Yes | ||
| step_id | No | Project step the evidence proves (e.g. 'research'). Omit for project-level evidence that is not tied to a step — the column is nullable and the REST route has always accepted null, so MCP must not be stricter than HTTP. | |
| project_id | Yes | Project id from start_project, e.g. 'p-1a2b3c4d' |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| ref | No | Path / url / command the evidence points at | |
| data | No | Structured detail (md5s, pixel diff pct, transcript excerpt) | |
| kind | Yes | ||
| step_id | No | Owning step; None = project-level evidence | |
| created_at | Yes | ||
| project_id | No | Owning project; None when the row is anchored to a test run with no project | |
| test_run_id | No | Test run this evidence records (a human-confirm verdict, a transcript, ...) |