“Binding” appears in two places in a CRSP Type-III system. In nrc_compiler.py, binding means turning a declarative NRC into an executable contract. In NRC → AER, binding means attaching that executable contract to a specific interaction so every AER phase is constrained, validated, and auditable.
Binding is not identity and not persona. It is normative compilation + installation. First you compile the contract (compiler binding). Then you install it into an AER session (runtime binding).
If you skip compiler binding, your rules remain informal. If you skip runtime binding, your rules remain unenforced.
Compile-time binding is the act of converting an NRC specification (YAML/JSON) into a normalized, version-pinned, enforcement-ready object. This object is what your AER orchestrator and entitlement engine can execute deterministically.
Runtime binding happens when an AER session is created for a user request and the compiled NRC is attached to that session. After binding, every AER phase must obey the contract and every release is conditional.
Binding is the moment the request becomes an institution-governed transaction, not free-form prompting.
| AER phase | What must happen | How binding enforces it |
|---|---|---|
| ASK | Normalize the request into a governed task spec | Requires explicit scope + non-scope; binds audience and posture |
| EVIDENCE | Declare assumptions + uncertainties; cite artifacts | Requires evidence/uncertainty fields if NRC says so |
| PROPOSE | Draft the institutional artifact (provisional) | Allows only licensed moves; forbids clinical directives |
| ENTITLE | Run validators + defeaters; decide pass/fail | Executes required checks + defeater activation profile deterministically |
| RELEASE | Publish only if entitled; attach audit metadata | Blocks output on any defeater hit; writes audit events |
When you can show the NRC ID + version, artifact manifest hashes, validator versions, defeater outcomes, and the release decision, you can prove the output is not a “chatbot answer.” It is a governed institutional artifact produced under contract.
If you want to avoid “identity” entirely, treat binding as installing the four non-persona functions into the session: