Capability Schema — Conformance Vectors
Normative for the Capability Schema 1.0. Every vector is a valid Decision Trace; a verifier runs the format’s checks first, then these.
| Vector | Exercises | Expected |
|---|---|---|
| 01-valid-placement | Requirements met, explanation complete, a rejected candidate named with its failed predicate | VALID |
| 02-capability-not-declared | The recorded declaration lacks the required capability | E_CAPABILITY_UNMET |
| 03-capability-wrong-version | Right name, major version 1 where 2 was required | E_CAPABILITY_UNMET |
| 04-clearance-not-held | Required orders.read not in the declaration |
E_CLEARANCE_UNMET |
| 05-residency-not-satisfied | Required eu, declared us |
E_RESIDENCY_UNMET |
| 06-explanation-missing-predicate | Declaration satisfies all, but filters_passed omits one |
E_EXPLANATION |
| 07-chosen-listed-as-failed | The chosen agent appears in filters_failed |
E_EXPLANATION |
| 08-declaration-for-other-agent | Declaration names an agent other than the one admitted | E_DECLARATION_SCOPE |
| 09-rejection-names-predicate | Unschedulable; reason names the predicate and who failed it | VALID |
| 10-rejection-without-predicate | Unschedulable; reason is “no agent available” | E_REJECTION_REASON |
| 11-tool-bound | A required tool binding; the chosen agent has it, an equally competent candidate does not | VALID |
| 12-tool-not-bound | The recorded declaration is not bound to the required tool | E_TOOL_UNMET |
| 13-route-adds-requirement | A route added a requirement the task did not ask for, and named itself | VALID |
| 14-route-drops-requirement | A route dropped a requirement the task stated | E_REQUIREMENTS_MISMATCH |
| 15-requirements-added-without-route | Matched requirements exceed what was asked, with no route named | E_REQUIREMENTS_MISMATCH |
| 16-resumed-placement-refers-back | Preempted and resumed; the second task.bound carries a summary whose recorded_in names the first |
VALID |
| 17-resumed-summary-refers-to-nothing | A resumed placement’s recorded_in names a record that is not a task.bound |
E_EXPLANATION |
| 18-summary-without-resumption | A summary in place of an explanation on a task.bound that is not a resumption |
E_EXPLANATION |
Generated by the reference implementation (Rashnu), pkg/capability/vectors_test.go; regenerate with go test ./pkg/capability -run TestVectors -update.