the error register
NIKA-SEC-009
lethal trifecta complete — the declared boundary grants private read (fs.read non-empty) + untrusted ingress (a nika:fetch builtin invoked · an mcp:* tool invoked · an agent: whose whitelist admits ingress) + external egress (net.http non-empty · an escaping fs.write glob · exec enabled), the untrusted content REACHES an egress-capable task's effect surface (a realized flow), and no blocking invoke: nika:prompt (no default:) dominates it (NEP-0002 v2.0 · the Rule of Two as a static check). A typed refusal, one of 96 the registry names: stable code, spec category, the transient flag the retry machinery reads. The engine stamps this page's address on the finding itself. Route on the code, never on prose. Machines read the catalog.
- security_errorcategorya security policy refused the effect
- stablea retry cannot helpfix the file, not the timing
- 9of 9 in NIKA-SECprev / next walk the registry
- 96registered codesthe normative floor · versioned
hear it from the binary
nika explain NIKA-SEC-009 answers offline with the failure, the fix shape and this page's address: the same text the check finding carries. A code is a contract: never renamed, never repurposed, safe to route on in on_codes and retry policy.
cross-references
the family it sits in
the NIKA-SEC codes
9 codesBreak a file on purpose in the playground and watch the code arrive typed. The boundary teaches the security family. Read the spec →