06 — No-Hardcode / No-Local-Governance-Island Check + Forbidden-Compliance (Round 4 Concept Patch, 2026-06-01)
06 — No-Hardcode / No-Local-Governance-Island Check + Forbidden-Compliance
Verifies this patch against the constitutional guardrails (prompt-muc-tieu-mo §5: no_hardcode_absolute, discover_first_reuse_first, five-layer sync, Design-Only Macro Mode) and the mission §4 forbidden list.
6.1 No-hardcode check (the patch content itself)
The concept layer is the anti-hardcode layer; the patch was checked so it does not itself introduce a hidden hardcode.
| Check | Result |
|---|---|
| No fixed axis array introduced | ✅ — open-axis model (M-DEF-8/9) is explicitly "no fixed axis array anywhere"; future axis = Axis-Registry row, not code. |
| The one existing substrate hardcode is surfaced, not hidden | ✅ — SB-3 (iu_three_axis_envelope hardcodes 3 axes) is named in canon 01 §8, 02 §3, 03, Reg-Pivot 07, and the IU patch. The patch states "no fixed axis array" concept-true, substrate-false until SB-3 generalized — it does not pretend the substrate is already open. |
| No fixed object-class list pretending to be code | ✅ — 13 classes + Class 0 are a data registry (M-DEF-2); new type = data row. |
| No literal owner/threshold baked into a concept | ✅ — ownership is relational (no owner_gov_code column; canon 01 §2); the 50-ceiling is a per-species policy value in the Axis Registry, not a hardcoded constant (Reg-Pivot 07 patch). |
| count>1 not hardcoded as a mandate | ✅ — M-DEF-10 makes it a candidacy trigger; the rule is data/predicate-driven (shared-truth + grain), not a fixed action. |
6.2 No-local-governance-island check
| Check | Result |
|---|---|
| Did the patch create a second governance roof? | ✅ No — the concept canon centralizes under Điều 37 (one roof); surfaces reference it (anti-bloat), they do not mint local owners/approvals. |
| Did any patched surface doc declare a local owner/approval/lifecycle? | ✅ No — Reg-Pivot 00 explicitly states the surface "mints no local owner/approval/policy/lifecycle" and that any such declaration = LOCAL_GOVERNANCE_ISLAND. |
| Is the island definition itself carried (dual PG + CI detection)? | ✅ — canon 01 §5; Reg-Pivot 06 patch names both channels. |
| Is the new concept canon itself an island? | ✅ No — it is the Điều 37 OWN layer (the central definitions), not a parallel governance authority. It binds no owners and creates no approvals; it is a concept proposal awaiting the council/human surface. |
| IU island risk | ✅ Carried, not created — the IU patch states IU "must not maintain a governance island" and defers owner-binding (OP-B) rather than minting a local IU owner. The live 54-command dot_iu_command_catalog island and free-text owner_ref are flagged as the existing condition OP-B must resolve, not endorsed. |
6.3 discover_first / reuse_first
✅ The patch discovered the canonical design home (knowledge/dev/design/) and the real targets before editing (doc 02). It reuses the existing surface docs (append-only concept sections) and the existing Round-4 clause cards (transcribed into the canon), rather than authoring duplicate governance content. Ownership stays relational (reuses governance_registry + relations + law_jurisdiction), not new columns.
6.4 Five-layer sync impact
✅ None. The patch touches only the AgentData/KB layer (concept design docs). PG, Directus, Nuxt, and Qdrant are untouched. There is no cross-layer divergence to reconcile because no other layer changed.
6.5 Forbidden-action compliance (mission §4 + §6)
| Forbidden | Complied? |
|---|---|
| PG schema implementation | ✅ none |
| DOT implementation | ✅ none |
| scanner SQL / view / function | ✅ none |
| issue / event registration | ✅ none |
| apply / remediation binding | ✅ none |
| object/axis ownership table design beyond approved concept references | ✅ none — table is referenced as a C-1/SB-2 blocker, not designed |
| IU surface / binding technical design | ✅ none — IU concept-only; OP-B/SB-3 held |
| production UI / API / route | ✅ none |
| law enactment | ✅ none |
| normative_registry / law_catalog / governance_docs write | ✅ none |
| approval / self-approval | ✅ none |
| version numbers / status change | ✅ none (see §6.6) |
| anything that pretends blockers are solved | ✅ none — §3.7 deferred-technical declaration + every Blockers line |
| PG / Directus / Qdrant / Nuxt mutation | ✅ none — KB document patch/create only |
6.6 The "no version bump" nuance (transparency)
patch_document advanced each edited doc's KB revision field (1→2). This is the KB store's automatic per-edit counter — it is not a semantic version bump:
- No design document's declared version was changed (Registries-Pivot stays v0.1; IU foundation carries no version; the canon docs are new, no prior version).
- No
statusline was changed (all remain DESIGN-ONLY / DRAFT / NOT ratified). - No law version (
Đ37 v3.3, etc.) was touched;normative_registrywas not written.
The revision increment is unavoidable when appending a section and is recorded here for completeness, not as a violation of "no version bump."
6.7 No-mutation confirmation
- PG / Directus / Qdrant / Nuxt: zero mutation — no such tool invoked for writes this session.
- KB: 13 writes = 4 concept-canon
upload_document(new) + 9 reportupload_document(new) + 7patch_document(append-only sections on existing canonical docs). No delete; no existing content removed. - Net effect on system truth = zero new enacted/ratified state. Additive concept-design + reporting only.