mark_verdict
Record the agent's verdict on takeoff work by placing an AGENT diamond on a shape or sheet point, with an optional note, preserving it as provenance through exports.
Instructions
Mark the agent's VERDICT on work — the pencil half of the approval family, and the only half an agent can mint. Two actors exist on the record: the estimator's APPROVED ring is ink, minted solely by a human's click at the canvas's Approve tool; this tool mints the AGENT diamond and structurally nothing else — it takes no actor input to misuse. Target the work either way: shape_id anchors the mark ON a committed shape (a room at its area centroid, a run at its on-path midpoint, a count marker at its point) and records WHAT was marked — the shape_id stays on the record as provenance, and the glyph keeps its own anchor even if the shape is later deleted; or sheet + at drops the mark at a sheet point (image px). Exactly one target. Optional text rides the record through every export; the glyph itself always reads AGENT. A verdict touches no quantity and gates nothing: it is the agent's signed claim that it checked this work — pencil beside the estimator's ink, never in its place. The mark renders as the graphite AGENT diamond on the canvas and in the marked set, the marked-set cover tallies the split ("Approval stamps: N estimator-approved · M agent-marked"), and the record rides the annotations payload through export_takeoff / import_takeoff and the app's own saves. One mark per shape (re-mark = delete_verdict, then mark again); list_annotations returns the inventory in verdicts[]; undo_last steps over a mark exactly like any other mutation. Coordinates are image px at render scale 2.0: PDF pt × 2, origin top-left, y down (the browser canvas's native space). Sheet payloads carry dims in both px and pt.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | Sheet-point mode: where the AGENT diamond renders (image px) | |
| text | No | Optional short note riding the record and every export — the glyph always reads AGENT | |
| sheet | No | Sheet-point mode: the sheet, together with at | |
| shape_id | No | Mark a committed shape (list_shapes has the ids) — anchored on the shape, recorded as provenance. Exactly one target: this OR sheet + at |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | Where the AGENT diamond renders (image px) — absent only when the marked shape rides a sheet from a file this session hasn't loaded (#152) | |
| id | Yes | The minted record id ("apr-…") | |
| ts | Yes | ISO-8601 mint time | |
| note | Yes | ||
| text | No | ||
| actor | Yes | Always agent — this tool is structurally incapable of minting the estimator's seal | |
| sheet | Yes | ||
| shape_id | No | Shape mode: the committed shape this verdict is about | |
| condition | No | Shape mode: the marked shape's finish tag, resolved |