004-closed-evaluation-mode
Closed evaluation mode: deny by default, required checks, and every deny in order
Adds a second, opt-in evaluation mode to the Gate. A closed gate denies when no check decides, denies when a required check id names no registered check or a required check abstains, and does not stop at an allow or a degrade, so a later deny still decides. The gate's own denies carry stable reason codes and are blocking. An exhaustive evaluation returns every deny in registration order for consumers that report all of their reasons. The mode is part of the config hash, so a closed gate never hashes like an open one, while every open gate keeps its 0.2.0 hash and decision bytes. Written so statecraft-envelope's admission evaluator (statecraft-cli spec 007, the hosted platform's specs 003 and 004) and aicortex-gate (aicortex specs 013 and 051) can replace their hand-written evaluators with action-gate. Semver-minor (0.3.0).
Read the full pinned specification ↗Relationships
depends on
Claimed units
- establishes
{ "kind": "file", "path": "crates/core/tests/closed_mode.rs" } - establishes
{ "kind": "file", "path": "crates/core/tests/open_mode_compat.rs" } - establishes
{ "kind": "file", "path": "crates/core/testdata/closed-mode-vectors.json" } - extends
{ "nature": "additive", "spec": "000-bootstrap", "unit": { "kind": "file", "path": "crates/core/src/lib.rs" } } - extends
{ "nature": "additive", "spec": "000-bootstrap", "unit": { "kind": "file", "path": "Cargo.toml" } }
Source headings
- 004: Closed evaluation mode
- 1. Purpose
- 2. Scope
- 3. Behavior
- 3.1 Modes
- 3.2 Closed evaluation
- 3.3 Exhaustive evaluation
- 3.4 Config hash
- 3.5 Compatibility
- 4. Functional requirements
- 5. Acceptance criteria
- 6. Consumer adapters
- 6.1 statecraft-envelope admission
- 6.2 aicortex-gate
- 7. Resolved decisions
- Verification
Frozen anchors
No frozen anchors declared.