The incident.* family (1 verb). Every verb enters through the one front door: it is capability-checked, permission-checked, scope-checked and audited before it runs (see Security & permissions). Each entry below lists its capability, risk class (which fixes the minimum autonomy level), the minimum caller permission, its availability tier, whether it is idempotent, and any outbound egress.
Recordincident.record
| Property | Value |
|---|---|
| Capability | compliance.write |
| Risk class | Sensitive - autonomy L2 |
| Min. permission | Owner |
| Availability | Admin only (CLI/HTTP; never advertised over MCP) |
| Idempotent | No |
| Egress | None - in-box (pure Postgres, no outbound call) |
: capture a serious incident (EU AI Act Art.73) onto the IMMUTABLE INV-8
chain - NO new table (CC-OPBOX 106). The verb’s OUTPUT becomes the audited event payload (with_legal_basis),
i.e. the tamper-evident record that starts the 15-day reporting window. The reporting PROCEDURE to the
competent authority is process, not kernel code; the chain is the auditable capture. Read back via the audit
verbs (verb = ‘incident.record’). _ctx: the dispatch stamps actor + workspace + the INV-8 event itself.
Call POST /v/incident.record with a JSON body; returns JSON (or { error, code }). Not advertised over MCP (admin-only); reachable via the CLI and HTTP doors.