KB-104E

RS4A-PATCH1 Index — Contract Identity, Inert State, Suite Reconciliation — 2026-06-21

6 min read Revision 1
rs4a-patch1indexcontract-identityinert-statesuite-reconciliationdesign-only2026-06-21

RS4A-PATCH1 Index — Contract Identity, Inert State, Persistence Boundary, and Suite Reconciliation — 2026-06-21

Macro: RS4A-PATCH1 — correction addendum opened after Codex NEED_RS4A_PATCH (HOLD on RS4A). Class: read-only / KB-design · 0 mutations (read-only query_pg directus + AgentData KB) · design-only (no implementation, no DDL/DML, no schema/column/constraint, no Owner/APR, no gate flip, no registrar/validator patch, no registration). Gate: REGISTRATION_HOLD · REGISTRATION_CAN_PROCEED = NO Verdict: RS4A_PATCH1_READY_FOR_CODEX_REVIEW Does NOT overwrite RS4A. PATCH1 is an addendum; the RS4A files remain rev1.


1. Why this macro exists

Codex reviewed RS4A and returned NEED_RS4A_PATCH (HOLD): the package was complete and its replace-not-wrap decision correct, but the controlling contract was not precise enough — stable effect identity, exact uniqueness axes, canonical inert state, persistence-carrier boundaries, phase/audit semantics, and acceptance-suite arithmetic/tests had to be corrected first. RS4A-PATCH1 makes exactly those 13 corrections (C1–C13) and nothing more.


2. Package files

File Closes Subject
rs4a-patch1-index-… (this) inventory, verdict, sequencing
01-codex-defect-closure-map-… C1–C13 (+ C13 detail) the closure spine: defect → correction → evidence → status
02-stable-effect-identity-and-uniqueness-axes-… C1, C3 canonical effect_identity; axes U1/U2/U3/U4
03-canonical-inert-state-resolution-… C2 inert status = draft (governed, live-proven)
04-persistence-carrier-boundary-correction-… C4 logical envelope ≠ dot_tools columns; carriers REQUIRED_NOT_PRESENT
05-nonce-classification-and-phase-semantics-correction-… C5, C6, C7, C8 nonce = authority credential; Phase 2/3/4/5 fixes
06-interface-f-and-audit-overclaim-narrowing-… C9, C10 "no proven carrier" / "immutability not proven"
07-acceptance-suite-reconciliation-97-cases-… C11, C12 T-P5-1/T-P6-3 repair; 50+47=97 (+8 ⇒ 105)
08-rs4a-patch1-decision-packet-… verdict, axes, counts, next step
codex-review-packet-rs4a-patch1-… review request (PATCH1 only)
…/reports/macro-rs4a-patch1-… (rollup) executive rollup

11 files total (this index + 9 under rs4a-patch1/ + 1 rollup under reports/).


3. Headline results

  • C2 RESOLVED → draft (Directus governed choice; draft≠'active' ⇒ activation trigger never fires). Option 1, not a HOLD.
  • C1 → one canonical effect_identity; run_id/attempt/nonce/timestamp/approval-instance excluded; authority canonicalized to scope+policy; AUTHORITY_BINDING_IDENTITY_UNSTABLE fail-closed.
  • C3 → U1(effect)+U2(nonce) mandatory & separate; U3(code-head)+U4(artifact) policy; all REQUIRED_NOT_PRESENT ⇒ fail-closed.
  • C4 → logical envelope fields separated from the 28 live dot_tools columns; carriers REQUIRED_NOT_PRESENT.
  • C5 → nonce = AUTHORITY_CREDENTIAL.
  • C6/C7/C8 → Phase 2 reserves; Phase 3 sole atomic consume+write; Phase 4 independent verifier ref; Phase 5 audit after rollback (separate txn), failure-audit only.
  • C9/C10 → overclaims narrowed to "no proven carrier" / "immutability not proven" (conclusions unchanged: fail-closed).
  • C11 → T-P5-1 + T-P6-3 repaired.
  • C1297 reconciled (was 92); +8 PATCH1 ⇒ 105 augmented.
  • C13 → D13 relabeled SRC+SCHEMA blocker.

4. Live facts used (Claude read-only query_pg, db directus, 2026-06-21)

directus_fields status choices {draft,active,deprecated,retired} · dot_tools only PRIMARY KEY (id) + 3 CHECK + 1 FK (no UNIQUE, no status CHECK) · status data active 291 / published 16 / null 2 · dot_tools 28 cols (no hash/owner/approval carrier) · governance_object_ownership 0 · apr_action_types 14 (no register_dot) · iu_route_attempt UNIQUE(idempotency_key,attempt_no) · context_pack_manifest no checksum UNIQUE / no immutability trigger · event_outbox only BEFORE INSERT validate trigger.


5. Blockers carried (unchanged class; not resolved by PATCH1)

  • G2 owner-of-record = 0 (deciding authority) — NEEDS_OWNER_DECISION.
  • G3 no register_dot APR action — NEEDS_OWNER_DECISION.
  • G4 no per-artifact hash carrier (Interface F) — NEEDS_FUTURE_SURFACE.
  • G5 no replay/consume surface (U1/U2) — NEEDS_FUTURE_SURFACE.
  • G6 no append-only audit sink — NEEDS_FUTURE_SURFACE.
  • G7 activation side-effect (fenced by inert draft); G7-consumer body unread.
  • NEW STATUS_DOMAIN_NOT_DB_ENFORCED — add a governed status CHECK (CONTRACT_BACKSTOP).

None blocks PATCH1 readiness for Codex review (same posture as RS4A's own open blockers).


6. Next step

Codex reviews RS4A-PATCH1 only. On ACCEPT_RS4A_PATCH1 → single next step = G2 Owner-of-record decision; RS-VALIDATOR-HARDENING, per-block hardening (replay surface, hash carrier, audit sink, status CHECK), and registrar-replacement implementation are sequenced after acceptance + Owner decision, not bundled.

Builds on / corrects [[project_laws_new_macro_rs4a_registrar_hardening_design_source_aware_2026_06_21]]. Default HOLD; engineering PASS ≠ authority PASS; hash ≠ signature; caller ≠ authority; KB admission ≠ runtime registration.

Back to Knowledge Hub knowledge/dev/laws-new/reports/rs4a-patch1/rs4a-patch1-index-contract-identity-inert-state-suite-reconciliation-2026-06-21.md