KB-756A

Codex Review — RS2 Registration-Path Authority-Trust Reconciliation — 2026-06-20

19 min read Revision 1
codexreviewrs2registration-pathauthority-trustneed-patchregistration-holdrisk-bypassreuse-firstread-only2026-06-20

Codex Review — RS2 Registration-Path Authority-Trust Reconciliation — 2026-06-20

STATUS: HOLD
VERDICT: NEED_RS2_PATCH
Registration gate: REGISTRATION_HOLD · REGISTRATION_CAN_PROCEED = NO
Next-macro gate: RS2_PATCH_REQUIRED_BEFORE_RS3
Runtime observation: NO_CODEX_LIVE_READ
Class: independent read-only review · non-enacting · non-authorizing · no implementation · no runtime mutation
Date: 2026-06-20

1. Verdict

RS2 is strong on evidence labeling, RISK-BYPASS decomposition, trust-interface framing, and keeping registration closed. It is not yet acceptable as the registration proof-obligation baseline because its central transaction model has material contradictions and omits an existing registrar candidate.

The required outcome is one substantive RS2 patch, not a set of cosmetic edits. RS3 must not start from the current transaction map.

2. Source Register

Source Revision / length Read status Evidence tier Use / caveat
RS2 official report rev1 / 53,927 FULL_READ REVIEW TARGET Main target
Codex RS1/PATCH1 gate rev1 / 17,335 FULL_READ PRIOR GATE ACCEPT_RS1_PATCH1_AND_PROCEED_TO_RS2; registration HOLD
RS1 official report rev1 / 46,040 FULL_READ SECONDARY_REPORT Blocker and reuse baseline
RS1 PATCH1 rev1 / 23,725 FULL_READ SECONDARY_REPORT Corrected source coverage
Operating Rules v7.58 READ GOVERNING SSOT Assembly First, DOT-only, no bypass
Constitution v4.6.3 READ ENACTED PG-first, DOT pair, fail-closed
laws-new matrix SSOT set rev33/rev5/rev8/rev14 READ / COVERAGE_READ PRIMARY_LAWS_NEW Temporary-first, reuse-first, no parallel governance
LAW_READING_INDEX rev2 COVERAGE_READ PRIMARY_NEWLAWS POINTER Map, not decree; two-corpus discipline
DOT/Collections handbooks rev11/rev11 TARGETED_READ PRIMARY_HANDBOOK DOT-only and no disposable workbench
Macro-9B contract/guards/validator/evidence rev2/rev2/rev2/rev1 READ / source-inspected PRIMARY_CONTRACT Unregistered; N07/N12/N16/N22 open
Macro-9B1 admission rev9 READ PRIMARY_CONTRACT KB admission is not runtime registration
P0/P1 containment records, 2026-06-06 rev1 selected records FULL_READ SECONDARY_RUNTIME_REPORT Supports INSERT and apply-time containment
P1 apply-time quorum re-proof rev1 READ SECONDARY_RUNTIME_REPORT quorum_passed applied before NULL early return
RP DOT registration staged record rev1 / 3,069 FULL_READ SECONDARY_RUNTIME_REPORT Identifies existing dot-dot-register registrar and its limitations
Điều 32/35 compatibility notes rev1/rev1 READ PRIMARY_NEWLAWS NOTE Documentary conflict and production-readiness HOLD
142 S142b primary authorization SOURCE_NOT_READ NONE “Sanctioned” not accepted as proven
Claude Macro-AB SOURCE_NOT_READ NONE Not used

RS2 reports fresh read-only runtime observations. This Codex session had no callable live DB/runtime tool, so those observations are treated as RS2 packet evidence, not primary Codex observation.

3. Accepted RS2 Points

  1. RS2 read and retained the prior gate: registration remains HOLD.
  2. Evidence provenance labels distinguish RS2_LIVE_READ, RS1_REPORTED, CODEX_REPORTED, and secondary reports.
  3. fn_auto_approve_add containment and auto_apply_approval quorum gating are credibly supported at packet level and corroborated by P0/P1 records.
  4. quorum_passed is described as fail-closed on NULL action/risk, reject presence, self-approval, and insufficient quorum.
  5. The NULL-mapping behavior in fn_apr_quorum_check is an approval-state integrity defect, not by itself proof of a current applied-transition bypass.
  6. approval_requests.action DEFAULT 'add' remains a hazardous default even though the old INSERT auto-approval effect is reported contained.
  7. The 18 auto-apply rows are correctly separated from the 142 S142b rows.
  8. The 18 rows are actual bypass lineage requiring governed disposition; no bulk deletion or relabeling is acceptable.
  9. Registration remains blocked independently by authority, trusted snapshot, registration-path, executor, and rollback gaps.
  10. N07/N12/N16/N22 remain open.
  11. The five trust-interface areas are relevant and belong before runtime work.
  12. REUSE_PATH_PLAUSIBLE_BUT_UNPROVEN is directionally correct.
  13. DOT_GOVERNANCE_DOT_ADMISSION = DEFER is correct.
  14. RS2 did not authorize registration, Macro-9A/9C, schema creation, or runtime changes.

4. Corrected RS2 Points

C1 — 142 rows are not proven “sanctioned”

RS2 correctly marks the primary S142b authorization source SOURCE_NOT_READ, but still classifies the population as SANCTIONED_BATCH_NEEDS_RATIFICATION.

Correct classification:

UNVERIFIED_S142B_BATCH_NEEDS_SOURCE_AND_DISPOSITION

The count and reviewer label are packet evidence. Sanctioning, authority scope, and required disposition are not proven until the primary authorization source is found.

C2 — Containment is packet-supported, not Codex-live-confirmed

Codex accepts:

RISK_BYPASS_MECHANISMS_PACKET_SUPPORTED_CONTAINED_WITH_RESIDUE

Codex does not claim LIVE_CONFIRMED because no Codex live read occurred. Overall RISK-BYPASS remains unresolved due historical residue, NULL mapping, unsafe default, Điều 35 health, and stale documentary state.

C3 — NULL mapping is not irrelevant to registration

RS2 says the NULL-mapping pass-through is irrelevant to a real registration APR because such an APR should use a non-NULL high-risk code. That is too weak: RS2 also found no implemented DOT-registration action code. The mapping contract is therefore an unresolved prerequisite, not an assumed property.

The defect cannot currently produce an applied write if P1 remains intact, but it can still create falsely approved records and pollute authority evidence. It must close before the Điều 32 lane is trusted for registration.

C4 — quorum_passed should not be labeled globally “CLEARED”

The function body is credible evidence of a fail-closed supporting control. “CLEARED” is too broad without current Codex observation, regression proof, caller analysis, and change-control binding.

Use:

FAIL_CLOSED_CONTROL_PACKET_SUPPORTED

5. Rejected RS2 Points

R1 — Current atomic transaction boundary

RS2 states that steps 1–8 must form one atomic unit while also saying Owner resolution and APR approval are pre-resolved/pre-approved. Both cannot be true.

Owner grant and APR approval are durable governance prerequisites with independent lifecycles. They must not be created and rolled back as part of the DOT-registration transaction.

R2 — Gate activation inside registration transaction

RS2 includes a dot_config gate flip in the registration write set while requiring it to open only post-registration.

Registration must leave the runtime gate closed. Activation is a later, separate Owner-gated operation after registration verification. A closed config row may be created with registration; opening it cannot be part of the same transaction.

R3 — Durable audit emitted by a rolled-back transaction

RS2 requires failed registration writes to roll back while also emitting a durable audit record from the same transaction.

A PostgreSQL transaction that rolls back also rolls back its audit INSERT. Durable failure evidence needs a separately governed attempt ledger/outbox or a post-rollback writer. The current criterion is not implementable as written.

R4 — Existing registrar omitted from the reuse and transaction baseline

The governed registration record identifies dot-dot-register (DOT-REGISTER) as an existing registrar that scans bin/dot-* and registers through Directus REST.

It has serious limitations:

  • admin credentials are required;
  • it registers all untracked files rather than one explicitly admitted artifact;
  • derived domain/tier/pair metadata can be wrong;
  • law mapping and config are not proven atomic;
  • the documented fallback uses optional manual Directus polish.

Those limitations may make it unsuitable, but reuse-first requires an explicit capability and hardening assessment. RS2's APR action-code search does not replace analysis of this existing registrar.

R5 — Transaction map is missing deployed-artifact identity

A lawful DOT birth requires deployment in the governed path plus registration. The map has package/hash proof but no explicit deployed executable path/hash/immutability step.

A KB artifact cannot be registered as a runnable DOT without proving the deployed artifact identity.

6. RISK-BYPASS Assessment

Overall classification: RISK_BYPASS_SOURCE_CONFLICT_UNRESOLVED.

Sub-classification:

Surface Codex assessment
fn_auto_approve_add Packet-supported contained with residue
auto_apply_approval Packet-supported quorum-gated with residue
quorum_passed Packet-supported fail-closed control
fn_apr_quorum_check NULL mapping HIGH integrity/fail-open-at-approval defect; not proven applied bypass
DEFAULT action='add' MEDIUM latent hazard
18 auto-apply rows HIGH actual bypass lineage; governed disposition required
142 S142b rows SOURCE_NOT_READ on authorization; separate unverified batch
8 system-auto-approve rows Historical residue; ratify/reconcile/inert split must remain explicit
Điều 35 health HOLD; not independently cleared
Documentary notes Stale/conflicted; cannot silently rewrite authority state

The mechanism-level containment evidence is sufficient to continue read-only analysis. It is insufficient to clear RISK-BYPASS or authorize registration.

7. Registration Transaction Map Assessment

Verdict: NOT YET ACCEPTABLE AS BASELINE.

The corrected phase model must be:

  1. Governance prerequisites, outside transaction

    • admitted artifact;
    • deployed artifact identity/hash;
    • Owner grant already valid;
    • registration action type/handler already governed and implemented;
    • APR already quorum-approved;
    • isolated executor and trusted observer available.
  2. Registration transaction, gate remains closed

    • register the exact intended DOT row(s);
    • write required paired-DOT/law mapping;
    • create or verify a closed dot_config row;
    • bind immutable package/deployment hashes;
    • write success audit in-transaction;
    • enforce idempotency/concurrency;
    • commit only after in-transaction postconditions pass.
  3. Post-commit independent verification

    • paired read-only verifier;
    • trusted protected-surface after snapshot;
    • durable success evidence.
  4. Separate activation

    • optional dot_agent_api_contract binding after channel decision;
    • explicit Owner-gated runtime gate opening;
    • no activation implied by registration.
  5. Failure and compensation

    • pre-commit failure: automatic transaction rollback;
    • rollback evidence: entry equals exit;
    • durable failed-attempt audit recorded outside the rolled-back transaction;
    • post-commit reversal: governed disable/archive or compensating action, respecting ID conservation, not casual deletion.

8. Proof-Obligation Assessment

The 19 obligations are useful but incomplete. PATCH1 must add or strengthen:

  1. Existing registrar reuse proof: exact dot-dot-register behavior, source selection, credential boundary, single-artifact targeting, hooks, and whether it can be safely narrowed without a new governance island.
  2. Deployment identity proof: executable path, hash, admitted artifact hash, origin, and drift detection all bind to one artifact.
  3. Idempotency and concurrency proof: retries and two concurrent attempts cannot create duplicates or inconsistent pair/mapping/config state.
  4. Closed-at-registration proof: registration cannot open execute/real-run gates.
  5. Durable failure-audit proof: audit survives transaction rollback without weakening atomicity.
  6. Compensation/ID-conservation proof: committed registration reversal archives/disables safely and does not reuse identity.
  7. Pair cardinality proof: expected number and identity of registry rows are derived from the paired-DOT contract, not assumed as “exactly one.”
  8. Failure injection: each mutating step is independently forced to fail and entry/exit state is compared.
  9. Authorization replay/freshness proof: Owner/APR evidence is target-, operation-, artifact-, scope-, and time-bound and cannot be replayed.

These additions are bounded proof obligations, not implementation.

9. Trust Interface Assessment

The five interfaces are directionally useful but not yet sufficient inputs for implementation.

Owner resolver

Add target object, operation (register_dot), scope, artifact hash, expiry/revocation, authority chain, and replay prevention. A valid Owner grant for another object or operation must reject.

Snapshot provider

Add a bounded protected-surface manifest, freshness window, completeness proof, monotonic snapshot identity, same-observer continuity, and observer trust-root verification. Avoid an undefined full-database content hash.

Executor/manual-path boundary

Add non-superuser, non-BYPASSRLS, non-owner constraints; controlled SET ROLE; fixed search_path; SECURITY DEFINER review; no caller-settable authorization marker; and exact permissions for the registration transaction only.

Transient GUC

Correctly treated as unprovable from persisted settings. Authorization must not rely on caller-settable GUC values.

Validator closure

N07/N12/N16/N22 criteria are sound, but N07 should consume a signed/prevalidated authority-and-snapshot envelope rather than make a pure validator perform runtime lookups. The interface must define issuer, audience, target, artifact hash, run ID, expiry, and replay protection.

Missing interface

Add an explicit deployed-artifact resolver binding KB admission to the governed executable path and hash.

10. Reuse-First and Governance DOT Decision

Reuse verdict: REUSE_PATH_PLAUSIBLE_BUT_INCOMPLETELY_ASSESSED.

RS2 has not exhausted reuse because it did not evaluate dot-dot-register and the catalog-sync path as registrar candidates. Their current broad/admin behavior is unsafe, but that is not proof that reuse is impossible.

DOT_GOVERNANCE_DOT_ADMISSION = DEFER remains correct.

Do not author or design it until the existing registrar and existing registry/APR primitives are proven insufficient under the corrected proof obligations.

11. Single Next Macro

RS2-PATCH1 — Existing Registrar Reuse and Atomic Registration Boundary Correction

Timebox: 60–90 minutes.
Mode: read-only / KB-design only.
Purpose: repair the load-bearing baseline, not implement it.

Required outputs:

  1. Full capability/security/reuse assessment of dot-dot-register, dot-catalog-sync, Directus hooks, and any exact single-artifact registration option.
  2. Correct phase-separated registration map: prerequisites → closed registration transaction → post-commit verification → separate activation → compensation.
  3. Revised proof-obligation matrix including deployment identity, concurrency/idempotency, durable rollback audit, gate-closed registration, pair cardinality, and replay/freshness.
  4. Revised trust-interface set including deployed-artifact resolver.
  5. Reclassified 142 population without “sanctioned” until its primary source is read.
  6. One decision: existing registrar reusable with bounded hardening, or reuse insufficient with evidence.

Stop states:

REUSE_REGISTRAR_READY_AS_CRITERIA, REUSE_REGISTRAR_NOT_SUFFICIENT, HOLD_TRANSACTION_BOUNDARY_INVALID, SOURCE_NOT_READ_BLOCKER, READY_FOR_RS3_BUNDLE.

This is one coherent 60–90 minute macro and is not a cosmetic patch. It stays within one registration block and does not become a mega-system.

After Codex accepts PATCH1, the next macro may be the larger Option-B bundle: Owner resolver + trusted snapshot + validator N07/N12/N16/N22 closure criteria + residue disposition criteria.

12. Must-Not-Do Confirmation

Confirmed no:

  • runtime mutation;
  • DDL/DML/manual SQL/psql;
  • Directus generic mutation;
  • DOT registration, wiring, or run;
  • schema creation;
  • Macro-9A/9C or B2 build;
  • validator or Điều 32/35 patch;
  • gate flip;
  • APR creation/approval;
  • Owner authority action;
  • registry/table/collection creation;
  • DOT_GOVERNANCE_DOT_ADMISSION authoring/design;
  • old-law override;
  • RS3 or RS-Validator implementation;
  • RISK-BYPASS clearance;
  • merging of the 18 and 142 populations.

The only write is this Codex report in AgentData KB.

13. Self-Check

Check Result
RS2 full report read PASS — rev1 / 53,927
Prior Codex gate read PASS
Contained distinguished from cleared PASS
18/142 kept separate PASS
RS2 live evidence distinguished from Codex observation PASS — NO_CODEX_LIVE_READ
Transaction map reviewed PASS — material defects found
19 proof obligations reviewed PASS — additions required
Five trust interfaces reviewed PASS — one interface missing
Existing registrar reuse checked PASS — omission found
Registration HOLD retained PASS
Governance admission DOT retained DEFER PASS
Single next macro selected PASS
LEGO / DOT-only / no-mega boundary retained PASS

Three Declarations

  • Permanent/root-cause: the required patch corrects the registration control boundary and reuse decision, not individual registry rows.
  • Cannot be mistaken: registration, activation, and compensation are separate fail-closed phases; admission/engineering evidence cannot substitute for authority.
  • 100% automatic: not claimed. It remains unproved until the governed path has machine-enforced identity, authority, idempotency, snapshots, rollback, and audit.

OR/TD/handoff update: not required because this is an independent review with no operating-rule, runtime, or implementation change.

14. Final Verdict

NEED_RS2_PATCH.

RS2 may not yet open RS3. Registration remains HOLD. Complete the single bounded RS2-PATCH1 macro above, then return for Codex review.

Back to Knowledge Hub knowledge/dev/laws-new/reports/codex/codex-review-rs2-registration-path-authority-trust-reconciliation-2026-06-20.md