mark_verdict
Records an agent's checked-work verdict as an AGENT diamond on a committed shape or sheet point, with an optional note; it changes no quantities.
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.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "mark_verdict"
}
}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 |