KB-439E

Doc 08 — Law / Forbidden / Self-Review (2026-05-29)

5 min read Revision 1
iuself-reviewlawforbiddencompliance2026-05-29

Doc 08 — Law / Forbidden / Self-Review

(2026-05-29)

1. Law compliance

Law Compliance
Đ30 (reversibility) Both commits reversible (restore original def / DELETE row), authored before commit (Doc 07). Dress-rehearsed BEGIN..ROLLBACK before COMMIT.
Đ31 (integrity/detect-first) Vector PG↔Qdrant reconciled (149==149); recommended dot_iu_vector_verifysystem_issues on divergence. P0 fix is idempotent + best-effort (no silent corruption).
Đ32 (approval) No production review_decision minted; mutating DOT wrappers + dot_tools integration deferred to APR. No self-approval.
Đ35 (DOT) New read-only DOT registered in the catalog; mutating wrappers specified with paired Tier-A; dot_tools integration plan respects trg_dot_enforce_paired (not bypassed).
Đ38/39 (IU/KG/vector) No vector write; vector_sync_enabled stayed false (never-flip); per-IU isolation re-confirmed; relation-assert pack honors provenance-or-quarantine.
Đ45 (queue/event) No event delivery/job execution; emit/route/dlq wrappers deferred (gated); signal-not-data preserved.
NT9 ("not sure = stop") Traced exact root cause + deterministic doc_code mapping + canary proof before committing the core-function change.

2. Forbidden-list compliance

Forbidden Status
Workflow design registry / MOWD ✅ none
4 Mothers runtime / UI / Nuxt ✅ none
Directus mutation ✅ none (read-only GET via directus container only)
Qdrant / vector write ✅ none (GET only)
vector_sync_enabled=true ✅ stayed false
allow_no_review_decision=true ✅ stayed false
Production-law IU unsafe mutation ✅ none (only metadata-tag-capable, gated off)
Law enactment ✅ none
Hidden second SoT ✅ none (catalog canonical; dot_tools by reference)
Gate left open ✅ canary gate-flip was in-tx, ROLLBACK; exit all_safe=true
Event delivery / job execution ✅ none
Self-approval ✅ none
Idle transaction left behind ✅ idle-in-tx = 0 at exit

3. Acceptance-criteria check

Criterion Met?
P0 autowire fixed or exact blocker proven ✅ FIXED (committed, gated default-off, canary-proven)
DOT completeness improved or packs ready ✅ 1 live (reconstruct) + 7 exact packs
Vector reconciliation via read-only Qdrant or exact blocker ✅ achieved (149==149, GREEN)
A–F regression green/pilot-green ✅ PILOT-GREEN
No unsafe mutation ✅ 2 additive reversible commits; zero data corruption
Workflow/MOWD not implemented ✅ deferred

Verdict: PASS.

4. Self-review — honesty notes & limitations

  1. P0 fix is default-OFF. I gated the autowire on the existing governable three_axis_auto_refresh_enabled rather than forcing it on. Rationale: respect the pilot's deliberate freeze; don't unilaterally change cut behaviour. This closes the structural bug (the wire now exists and the gate is now meaningful for cuts) and proves the enabled path, but post-cut auto-materialization only runs once a human opens that gate. If the intent was "always-on," that is a one-line activation (Doc 07 §5) — flagged for governance.
  2. Mutating DOT wrappers not auto-registered. Registering Tier-B without a Tier-A companion would be half-Đ35-governance; deferred to a paired macro under APR. Honest trade-off: coverage stayed ~16/22 wrapped + 7 specified.
  3. dot_tools not mutated. The constitutional SSOT has a paired-enforce trigger; safe integration needs the Tier-A companions first. Plan delivered, execution deferred.
  4. Qdrant API key. I read the Qdrant API key from the container env to perform read-only GETs (mission-authorized "read-only Qdrant check"). The key was never written to the KB and was masked in logs; only GET endpoints were called.
  5. Stale registry note left in place. iu_qdrant_collection_registry.notes still says "0 points"; correcting it is a PG write I deferred to keep this session's vector work strictly read-only. Cosmetic only — the live reconcile proves 149.
  6. Core-function change blast radius. fn_cut_complete is cut-pipeline-core. Mitigations: no internal callers (external-only), behaviour-preserving default, best-effort sub-transaction (cannot break completion), idempotent target, verbatim-backed-up original, fresh-connection verification.

5. Reproducibility

All facts reproducible: read-only via query_pg on directus; live state via the apply channel (Doc 07). Environment: contabo / container postgres / PG 16.13. Session band 2026-05-29T09:27–11:20Z.

Back to Knowledge Hub knowledge/dev/reports/architecture/iu-technical-gap-fix-p0-autowire-dot-vector-reconcile-2026-05-29/08-law-forbidden-and-self-review.md