Get Control Work Order
get_control_work_orderRetrieve the complete work order for a control before implementing it: scan brief, evidence requirements, acceptance criteria, steps, delegation rules, and reconciliation guidance in one read.
Instructions
Get the work order for one control. Call this BEFORE implementing a control: it is the ticket. Read-only; no side effects.
The work order bundles everything an implementing agent needs in one
read: the scan brief (where to look and what to look for), what counts
as proof (the assertion_contract: which assertion types apply
grouped by soundness class, the evidence rule, the universal rule,
what to submit with, and when the control counts as verified), the
acceptance_criteria and steps, the reconcile_rules to
follow when the code disagrees with the model, the delegation
block (what this agent may decide on its own and what must be
escalated), any open_proposals on the control, and the model's
provenance (whether the code or the description is authoritative).
The proof the order asks for is stated by-construction first. Where
the order names a required class for a clause, required_evidence[]
carries one entry per such clause: the clause text, its
clause_id (the value to put in covers), its quantifier,
the required_class that closes it, what is missing, and a
suggested_submission skeleton (type, params_template,
covers). The skeleton is a fill-in, not a submission: its
<...> placeholders are values only you can supply, and one left
unreplaced is refused — before the submission leaves this client and
again when it arrives — by the same format rule, because a placeholder
that validated would be recorded as a claim about your code that
nothing backs. For a for-all clause the required class is [by_construction, sound_over_approximation] and
the suggestion prefers typed_boundary — declare the type the sinks
accept and its constructors — else sink_default_deny — declare the
sinks that realise the clause, the safe forms, a reviewed allowlist.
When evidence of the wrong class is already bound, missing says so:
the evidence is the wrong CLASS, not merely incomplete.
acceptance_criteria[] is GENERATED from those entries — a clause
that has to hold at every site the attacker reaches is named as such,
so no number of tests reads as closing it. steps[] reads: for each
clause, submit the class the order names, bound with covers.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | ID of the threat model. | |
| control_id | Yes | ID of the control to implement (e.g. "CTRL-03"). | |
| server_version | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||