KB-1354

12 — Self-Review vs Acceptance Criteria

5 min read Revision 1
self-reviewacceptancegovernanceregistries-pivotfact-finding

12 — Self-Review vs Acceptance Criteria

Acceptance criteria (mission §6)

# Criterion Met? Evidence
1 GOV-SIV status resolved or blocker documented doc 01 — GOV_SIV_READY (active, Đ31, 22 DOTs)
2 GOV-MOUT status resolved or blocker documented doc 02 — GOV_MOUT_DRAFT_OR_INCOMPLETE (draft, Đ7 not Đ28, no edges; Đ28 orphaned)
3 GOV-COUNCIL policy authority resolved or blocker doc 03 — GOV_COUNCIL_NEEDS_CAPABILITY_PATCH (assignor ready; threshold/phantom/pin need law)
4 GOV-DOT status resolved or blocker doc 04 — GOV_DOT_READY (Đ35 A/B + ops + pairing live)
5 Audit spine resolved or blocker doc 05 — USE_EXISTING_AUDIT_SPINE_INSTEAD + governance_audit_log ready-but-dormant
6 Approval spine capability resolved or blocker doc 06 — APPROVAL_SPINE_READY (object changes) + law-enactment handler RESERVED exception
7 Direct-PG exception resolved or blocker doc 07 — DIRECT_PG_EXCEPTION_UNRATIFIED_BLOCKER (no approval, no vps_deploy_log, Đ41 orphaned)
8 Capability gap matrix exists doc 08
9 Issue/event type gap exists doc 09
10 Design impact recommendation clear doc 10 — PARTIAL; confirmed vs needs-approval vs needs-law
11 No unsafe mutation occurred read-only role context_pack_readonly; only SELECT/information_schema/pg_catalog; KB writes = this report package only

Overall: PASS.

Forbidden compliance (mission §5)

No PG mutation · no Directus mutation · no Qdrant/vector write · no Nuxt/UI implementation · no route change · no law enactment · no approval creation · no self-approval · no new governance owner · no table creation · no schema change · no event/job/notification emit · no hardcode · no design doc patched. ✅ All observed.

Method notes & honesty flags

  • Re-verified live, did not trust prior docs. ~30 live read-only queries. Where live diverged from the prior audit, I corrected it: (a) GOV-MOUT born of Đ7, not Đ28 (prior said "law Đ28"); (b) Đ28 and Đ41 are agency-orphaned (no owner edge, no/▏1 enforcing DOT); (c) approval_requests = 211 live (prior doc said 195); (d) the law-enact-via-APR requests (id 204–210) are rejected despite 21 apr_approvals — amend_law/enact_nrm handlers are unimplemented.
  • New finding not in prior audit: the RP production ship has no vps_deploy_log entry (18 rows, all S178-Fix) → the direct-pg path is not merely unapproved, it is un-ledgered under Đ41.
  • Limitation flagged: the direct-pg source (rpGatewayDb.ts, server/api/registries-pivot/*) is at /opt/incomex/docker/nuxt-repo/web, outside the read_file allow-list (/opt/incomex/docs, /opt/incomex/dot/specs, /var/log/nginx) and compiled into the Nuxt image. Q7's code-presence facts are documented (KB + memory), not re-read live — explicitly marked as such in doc 07. The runtime read pool's exact DB role (RP_PG_*) could not be independently confirmed via the read-only channel.
  • pg_schema MCP tool is broken (uncast $1 parameter, AmbiguousParameter); schema facts obtained via information_schema/pg_catalog SELECTs through query_pg instead.

Biggest remaining uncertainties

  1. Render-owner path. Activating GOV-MOUT and resolving Đ28's orphaned ownership is more work than a one-line assignment; the cleanest binding (MOUT owns Đ28 vs Council holds Đ28 and delegates) is a Council decision, not derivable from PG.
  2. Direct-pg ratify vs replace. Whether to ratify a read-only adapter (Đ41/Đ33 clause) or eliminate it via Directus view-PK exposure depends on the Directus PK-less-view 403 constraint's fixability — not testable read-only here.
  3. Law-enactment mechanics. With amend_law/enact_nrm handlers unimplemented, the exact sanctioned manual-enact procedure for P1/P2/P-PIN (ADMIN-fallback dot-nrm-enact vs a future handler) needs Council confirmation.
  4. Object-edge decision (prior P3). Whether to widen governance_relations.target_type CHECK or canonicalize domain-ownership is a system-wide call beyond RP.

Confidence

High on all PG-observable facts (agency statuses, edges, schemas, counts, vocab, deploy ledger, approvals). Medium on the direct-pg code specifics (documented, not re-read). The four uncertainties above are decisions, not missing facts.

Back to Knowledge Hub knowledge/dev/reports/architecture/governance-alignment-followup-fact-finding-registries-pivot-2026-06-01/12-self-review.md