core/docs/assessment/10-layer-cards/MG-governance-identity.md
Shay 36cb29a693 docs(assessment): Phase 2 — nine layer cards, verified against code not documents
Fills the taxonomy with evidence. Every liveness label re-verified at
8927c563 rather than inherited from the 2026-06-09 system map. Three
inherited claims did not survive, and every one of them came from a
document while every falsification came from reading code.

CORRECTIONS:

- Phase 0 Finding 0-C was WRONG. The L11 always-on process IS BUILT:
  chat/always_on.py::run_continuous, chat/always_on_daemon.py::run_daemon
  (single-instance lock, SIGINT/SIGTERM stop, load-time identity guard),
  CLI `core always-on`. Landed 2026-06-14 — five days AFTER the system-map
  snapshot that declared no forever entrypoint exists. The real finding is
  sharper: built, with a complete falsifiable soak harness, never run to a
  recorded artifact, and enforced by NO SUITE AT ALL.
- CR-1 attention/allocation is not a missing layer but a live undocumented
  one: generate/stream.py:255-263 runs SalienceOperator -> AttentionOperator
  and gates every generation step; use_salience defaults True. It owns the
  ~73%-of-turn hot path and has no ADR, no card, no layer in any ratified
  articulation. (generate/salience.py COMPOSES core.physics.salience — not
  a duplicate; that false lead is recorded, not propagated.)
- CR-2's components exist: DriveGradientMap and ExertionMeter are both
  constructed in chat/runtime.py. DriveGradientMap is NEVER READ — textbook
  decoration by the sabotage test. ExertionMeter runs but feeds telemetry
  only; fatigue gates no decision. The claim survives and sharpens: CORE has
  drive objects and no chooser.

STAGE-COVERAGE AUDIT: 7 of 9 covered; non-text ingest uncovered (59
sensorium modules reach no serving path); the cycle's runner claimed-only.

CROSS-CUTTING: F-1 built-and-off is the dominant pattern (17 flags default
False, only deduction_serving ratified ON) with no register of the set or
what would flip it. F-2 enforcement lags capability — orphaned pins are
undetectable because suite tuples are hand-curated. F-3 formation's
six-boundary trust standard is not applied at M2, the surface facing
untrusted user text. F-4 ADR/code contradictions are load-bearing (the
daemon has no ADR while ADR-0146 rejected the daemon shape; ADR-0252's
"34 surface organs" does not reproduce — 18 found). F-5 what is excellent,
stated plainly: the typed learning boundary, selection-not-rewrite, the
non-hardening invariant, fail-closed lane shapes.

No layer is wrong-solution. Two candidates deferred to Phase 4 with
evidence: Wilson/replay independence in licensing, DriveGradientMap.
2026-07-27 15:45:52 -07:00

8.2 KiB

MG — Governance & Identity (cross-cutting)

Kind: layer (cross-cut) · Parent: CORE · Assessor: Opus 5 (Phase 2) Verified at: 8927c563 (2026-07-27) Liveness: live-serving · Fitness: fit (with one strained region) · Topology role: runtime boundary + reviewed pack data

Who the system is, and what it will not do. MG is cross-cutting because a governance mechanism obeyed by only one layer is not governance — it is a feature. Its philosophical charge is the alignment thesis stated geometrically: keep behavior inside an intended region of possibility space by construction, so that alignment is a structural property of the manifold rather than a filter applied to output. The load-bearing asymmetry is that identity and ethics are swappable while safety is not.

Telos stages: articulate (governs the served surface), replay/determinism (verdicts are evidence) Macro role: Constrains every layer's behavior to an identity- and safety-consistent region, and refuses in typed form when it cannot.


What it is / What it does

Four pack families with deliberately different mutability. Safety (packs/safety/) is never swappable and fail-closed — five boundaries present in every manifold; a SafetyVerdict violation produces a deterministic typed refusal. Identity (packs/identity/) is swappable; ship default default_general_v1; the manifold is loaded from packs/identity/<pack_id>.json. Ethics (packs/ethics/) is swappable with opt-in typed refusal. Register/anchor-lens packs shape expression without moving truth.

Identity scoring is wave-only and fail-closed (ADR-0244 §3, INV-32): IdentityCheck.check(trajectory, manifold, wave_field=...) requires an explicit Cl(4,1) wave field; absence raises typed MissingWaveStateError, malformed fields raise ValueError, and the scalar-L2 dual-mode fallback has been excised and may not be reintroduced. Crucially, live refusal remains flag-gated (identity_wave_gate, default off, explicitly not authorized) — the flag controls refusal only, never the scoring path.

The identity contract is protective in both directions: a flagged score must not silently erase useful generation absent an explicit, tested hard-block policy; and identity-manifold mutation by user prompt or correction is forbidden, with identity-override attempts rejected, not learned. Adversarial override probes are seeded before the concepts they protect (docs/teaching_order.md layer 1).


Contract

  • Inputs: trajectory + final wave field from M3/M4, mounted identity/safety/ethics/register packs, session identity path.
  • Outputs: IdentityScore (with flagged), SafetyVerdict, EthicsVerdict, typed refusals, hedge injection, TurnVerdicts.
  • Invariants:
    • INV-32 — identity scoring is wave-only; no scalar-L2 fallback exists — pins: tests/test_stage2_physics_hardening.py (excised symbols absent), tests/test_adr_0244_identity_gate_runtime.py.
    • Identity manifold is never mutated by prompt or correction; override attempts rejected, not learned.
    • Safety pack is never swappable; violation → deterministic typed refusal.
    • Hedge injection is exclusive with refusal (never both).
    • No epistemic seal: no final/frozen/axiom/permanent flag may exist (shared with M1's non-hardening invariant).

Design vs build

  • Design: ADR-0027 (identity packs), ADR-0244 (wave-field identity manifold and inalienable geometric alignment), ADR-0246 (induced identity action and path integrity), ADR-0010 (identity physics — the mind-physics blueprint element that did land), ADR-0220 (engine identity split from build provenance), docs/identity_packs.md, docs/safety_packs.md, docs/ethics_packs.md, docs/refusal-taxonomy.md, docs/position_paper.md §6.
  • Build: live-serving. Key files: packs/safety/check.py, packs/identity/loader.py, packs/ethics/check.py, core/physics/identity.py, core/physics/identity_manifold.py, core/physics/identity_action.py.
  • Evidence:
    • Safety and identity are constructed and consulted on the live serving path — code-read — chat/runtime.py:93,104-105 (load_identity_manifold, SafetyCheck, load_safety_pack) — would-fail-if-absent: yes.
    • Scalar-L2 fallback is excised and its absence is pinned — pin — tests/test_stage2_physics_hardening.py — would-fail-if-absent: yes (a reintroduced symbol fails the pin).
    • Identity protection under adversarial input is claimed and evidenced in docs/position_paper.md §4 with an eval lane (evals/identity_divergence/) — lane.
    • Three merged authority demos (claims / proposed tool actions / epistemic-state assignment) — docs/position_paper.md, PRs #687/#688/#690.

Capacity

  • Designed: alignment as a structural property — the system cannot leave the intended region because the geometry does not admit it.
  • Measured: identity scoring is metric-exact geometry (Gram / operator-preservation) on every turn; refusal is typed and taxonomized; five safety boundaries present in every manifold.
  • Ceilings: live identity refusal is off. identity_wave_gate defaults False and is documented as "not authorized" — so identity currently scores and flags but does not block. Likewise identity_action_surface=False and strict_identity_continuity=False.

Dependencies & provenance

governs → M4 (surface), M3 (what may be concluded), M5 (identity mutation forbidden); reads → M1 (packs), M0 (wave field, Gram geometry); evidenced-by → MV; overlaps → M6 (same-life continuity across reboot).


Stage coverage

Stage Verdict Evidence
articulate (governance of) covered Safety/ethics/identity consulted on the live path; typed refusal; hedge injection
(identity enforcement) claimed-only Scoring is live and fail-closed; blocking is flag-gated off and unauthorized

Zone roster: governance-identity-safety (live-serving, confirmed by serving-path imports); L9-epistemic-verdicts ✱ (owned by M4, cross-referenced here).

Rollup note: the only macro layer besides M4 that the map rates live-serving at zone level, and re-verification supports it.


Judgment

Fitness: fit, with the enforcement region strained. The design here is the strongest expression of CORE's alignment thesis: making safety non-swappable while identity and ethics are swappable is a genuine structural distinction rather than a policy label, and excising the scalar fallback outright — rather than deprecating it — is the correct response to a dual-mode hazard. The strained region is enforcement: the machinery is built, hardened, pinned, and not switched on.

Honest wrinkles:

  • Identity flags but does not block. The gate is default-off and explicitly not authorized, which is an honest and deliberate posture — but it means the strongest claim in the alignment story ("behavior stays in the intended region") is, at runtime today, a measurement rather than a constraint. The distinction between scoring and refusing must be stated precisely wherever this capability is described externally; runtime_contracts.md does state it precisely, and this card records it so no downstream summary blurs it.
  • Cross-cutting writ is asserted but not mechanically verified. I found no pin that would fail if some layer bypassed governance — as distinct from pins that verify governance works when called. For a cross-cutting layer that is the invariant that matters most, and its absence is the analogue of M1's unverified no-approximate-recall pin. Flagged for Phase 3.
  • Safety's non-swappability is doctrine plus loader design; whether a test fails on an attempt to swap the safety pack was not verified at this SHA.
  • MG is where CORE's most defensible public claims live. That makes precision about flag state a reputational as well as a technical obligation.

Open questions:

  • Is there a pin that fails when a layer bypasses governance entirely? (→ Phase 3)
  • Under what evidence should identity_wave_gate be authorized live? (→ ruling)
  • Is safety-pack non-swappability mechanically enforced or loader-conventional? (→ Phase 3)