KB-49FD

RS3B Index — Registrar Hardening Design Package — 2026-06-21

6 min read Revision 1
rs3bindexregistrar-hardeningpackagehold-source-not-readread-only2026-06-21

RS3B Index — Registrar Hardening Design Package — 2026-06-21

Macro: RS3B-REGISTRAR-HARDENING-DESIGN · read-only / KB-design · 0 mutations Gate consumed: Codex ACCEPT_RS3_PATCH2_AND_PROCEED_TO_RS3B (READY_FOR_RS3B), C1–C4 mandatory Controlling verdict: RS3B_HOLD_REGISTRAR_SOURCE_NOT_READ Registration gate: REGISTRATION_HOLD · REGISTRATION_CAN_PROCEED = NO Live read tier: CLAUDE_READ_ONLY_PACKET (query_pg read-only role + VPS read_file allowlist + AgentData KB), 2026-06-21 · NO_CODEX_LIVE_READ


1. Files created (all rev1, readback-confirmed via list_documents + create receipts)

File Deliverable Sub-status
rs3b/rs3b-index-registrar-hardening-design-2026-06-21.md this index
rs3b/01-source-recovery-and-behavior-reconstruction-2026-06-21.md 01 Source recovery (A) SOURCE_NOT_READ
rs3b/02-dual-writer-boundary-dot-register-vs-catalog-sync-2026-06-21.md 02 Dual-writer boundary (B) DUAL_WRITER_BOUNDARY_PARTIAL_SOURCE_NOT_READ
rs3b/03-single-artifact-registrar-contract-v0-1-2026-06-21.md 03 Single-artifact contract (C) CONTRACT_CRITERIA_DEFINED_PENDING_SOURCE
rs3b/04-deployed-artifact-resolver-interface-f-v0-1-2026-06-21.md 04 Interface F (D) INTERFACE_F_CARRIER_SOURCE_UNPROVEN_FAIL_CLOSED
rs3b/05-replay-idempotency-attempt-state-machine-v0-1-2026-06-21.md 05 Replay/attempt (E) REPLAY_DOMAIN_FAIL_CLOSED_UNTIL_SURFACE_FIT_PROVEN · REPLAY_SURFACE_NOT_FIT
rs3b/06-durable-failure-audit-sink-selection-2026-06-21.md 06 Audit sink (F) SINK_CANDIDATE_SELECTED_FAIL_CLOSED_… (lead event_outbox)
rs3b/07-pair-guard-representation-decision-2026-06-21.md 07 Pair/guard (G) PAIR_GUARD_REPRESENTATION_DERIVED (not five)
rs3b/08-trigger-side-effect-inventory-and-closed-registration-proof-2026-06-21.md 08 Triggers (H) TRIGGER_SIDE_EFFECT_INVENTORIED
rs3b/09-registrar-adversarial-fail-open-matrix-2026-06-21.md 09 Adversarial matrix (I) ADVERSARIAL_MATRIX_DEFINED_NOT_EXECUTED (40 cases)
rs3b/10-registrar-hardening-decision-packet-2026-06-21.md 10 Decision packet (J) controlling verdict
rs3b/codex-review-packet-rs3b-registrar-hardening-design-2026-06-21.md Codex packet
reports/macro-rs3b-registrar-hardening-design-package-2026-06-21.md executive rollup

Readback: list_documents("…/rs3b/") returns all 10 numbered files + index + codex packet (12 in folder); the executive rollup sits one level up at …/reports/. Every upload returned status: created, revision: 1.

2. Source status (the decisive fact)

bin/dot/dot-dot-register.ts is outside the VPS read_file allowlist (/opt/incomex/docs, /opt/incomex/dot/specs, /var/log/nginx); confirmed via the live dot_tools.DOT-REGISTER.file_path. No KB source copy exists. ⇒ SOURCE_NOT_READ → code-level behavior reconstruction HELD → controlling verdict RS3B_HOLD_REGISTRAR_SOURCE_NOT_READ. PASS not forced (must-not-do #35). RP-03 prose not adopted as behavior (#34).

3. Live evidence anchors (source-tier, 2026-06-21)

dot_tools 309 rows / no hash column / 14 triggers (1 disabled) incl. trg_context_pack_dot_registerpg_notify; DOT-REGISTER op=register, paired DOT-HEALTH-DOT; DOT-015 dot-catalog-sync op=NULL, paired NULL, domain sync. iu_route_attempt 68 rows UNIQUE(idempotency_key,attempt_no) CHECK attempt_no≥1, no nonce/replay_key/run_id cols, no triggers → not fit. event_outbox 215,644 / registry_changelog 87,746 / governance_audit_log 1 / context_pack_manifest 131 (sha256 NOT NULL, no UNIQUE/immutability) — no immutability trigger on any sink. governance_object_ownership 0 rows; apr_action_types 14, no register_dot, register-shaped codes unimplemented.

4. Verdict + gate

  • Controlling verdict: RS3B_HOLD_REGISTRAR_SOURCE_NOT_READ
  • Registration: REGISTRATION_HOLD · REGISTRATION_CAN_PROCEED = NO
  • Single next: recover registrar source (extend allowlist / KB source mirror / read-only git), then re-run 01/02/03.

5. Must-not-do confirmation (35 items held)

No runtime mutation · no DDL/DML · no manual SQL · no psql · no docker-exec psql · no Directus generic create/update/delete · no DOT register/wire/run · no schema creation · no Macro-9A/9C · no B2 producer build · no DOT_GOVERNANCE_DOT_ADMISSION authoring · no new registry/table/collection · no validator patch · no Đ32/Đ35 patch · no gate flip · no APR create/approve · no Owner-authority claim · no /laws/ override of laws-new/newlaws · not turned into implementation · no out-of-scope survey · RISK-BYPASS not cleared · S142B not called sanctioned/unsanctioned · 142 not merged with 18 · hash ≠ signature · caller op/artifact ≠ authority binding · pure validator ≠ replay-state owner · snapshot candidate ≠ trusted provider · QT001 not proven · iu_route_attempt not treated as single-use replay store · attempt_id not allowed to bypass logical_request_key · consumed-state not erased by stale request · RP-03 prose not used in place of source · no PASS while registrar source unread. Only writes = this RS3B package at official AgentData KB paths.