Organisation Schema — Conformance Vectors
Normative for the Organisation Schema 1.0. Each vector is one organisation.json and the findings a conformant checker must produce for it. The code, the severity and the subject of every finding are normative; the detail text is not.
Every vector is a variation on one small arrangement: work arrives, a manager takes it, delegates a diagnosis, a remediation and a written record, and the remediation is gated on a human with a reviewer first. Vectors 18 to 20 exercise the properties over paths, whose findings carry the chain they were found on.
| Vector | Exercises | Expected |
|---|---|---|
| 01-coherent | The arrangement as intended | COHERENT |
| 02-unguarded-action | The gate is removed, so a mutating tool is reachable with nobody asked | C_UNGUARDED_ACTION |
| 03-no-approver | The gate names a group no principal belongs to | C_NO_APPROVER |
| 04-quorum-beyond-reach | Two approvers required, one principal eligible | C_NO_APPROVER |
| 05-no-verifier | The gate requires a reviewing capability nobody declares | C_NO_VERIFIER |
| 06-verifier-is-the-proposer | The only role that could review is the only role that could act, with anti-affinity | C_NO_VERIFIER |
| 07-unsatisfiable-entry | Work arrives requiring a tool the triager cannot reach | C_UNSATISFIABLE_ENTRY |
| 08-unsatisfiable-intent | A role may delegate work no role can do | C_UNSATISFIABLE_INTENT |
| 09-authority-gap | A role delegates work needing a clearance it does not hold | C_AUTHORITY_GAP |
| 10-delegation-disabled | A role declares kinds of delegation and its limits forbid delegating | C_DELEGATION_DISABLED |
| 11-time-shortfall | A role waits on a ten-minute gate with a two-minute budget | C_TIME_SHORTFALL |
| 12-tool-clearance-unheld | A tool requires a clearance no role bound to it holds | C_TOOL_CLEARANCE_UNHELD |
| 13-unreachable-role | A role no entry and no delegation can reach | COHERENT with a warning |
| 14-orphan-tool-and-store | A tool nobody is bound to and a store nobody uses | COHERENT with warnings |
| 15-store-without-reader | A store written and never read | COHERENT with a warning |
| 16-unknown-reference | A role bound to a tool the document does not describe | C_UNKNOWN_REFERENCE |
| 17-gated-without-dry-run | A gated operation that cannot say what it would do | COHERENT with a note |
| 18-time-dead-end | A chain whose first role allows less time than the gate gives a human, although the acting role’s own budget is enough | P_TIME_DEAD_END |
| 19-cycle | Two roles that may delegate to each other | COHERENT with a warning |
| 20-depth-exceeded | A declared delegation that the delegating role’s depth limit stops at the depth work reaches it | COHERENT with a warning |
| 21-delegation-undescribed | A kind of delegation with no description, from a runtime that does not require one | COHERENT with a note |
Run the reference checker over one directly:
$ rashnu check -f vectors/organisation/09-authority-gap/organisation.json
Generated by the reference implementation (Rashnu), pkg/org/vectors_test.go; regenerate with go test ./pkg/org -run TestVectors -update.