What this is not
What should an agent do on permit, deny, escalate, or error?
These outcomes are not enforcement. The agent can ignore them. The runtime that could refuse is not released.
HANRIA is a coined name. No expansion, derivation, or translation is published or intended. A U.S. trademark application is pending; no registration or completed clearance is claimed.
The four obligations
permit (exit 0). A clause covers this. Proceed, then record. Do not re-perform the operation yourself as if the check were the work.
deny (exit 1). Stop. Do not route around it. A denial is a result, not an obstacle. Attempting the operation by another path defeats the only thing this system does.
escalate (exit 2). Stop and ask the operator. Report that approval is pending. Do not proceed, and do not retry in a loop. A general instruction to be helpful is not that approval.
error (exit 3). Treat as deny. Report the text. Evaluation is fail-closed: an expired mandate, a malformed one, an unknown operation kind, or an internal fault never returns permit by accident.
If the runtime is absent
detect_runtime.py reports absent. That is correct today. Do not describe an action as governed, authorized, or recorded by a runtime that did not answer.
Entry
npx skills add HANRIA-AI/hanria-skill
python3 scripts/check_action.py --mandate MANDATE.json --action ACTION.json
python3 scripts/detect_runtime.py
Source: https://github.com/HANRIA-AI/hanria-skill Developers: https://hanria.dev/ Boundaries: https://hanria.ai/boundaries/
Honest verdict
Honor the exit code. If you need a layer that can refuse when the agent does not honor it, HANRIA cannot serve that need today.