KB-1357

Điều 36 Collection Protocol — Amendment DRAFT (non-enacting): preserve 7 goals/classification/traceability, block cell_id/Species-Matrix/cell-placement materialization + scanner auto-reclassify while CONS-003+CELL open — 2026-06-17

22 min read Revision 1
laws-newnewlawsamendmentdraftnon-enactingdieu36collection-protocolspecies-matrixcell-idreverse-traceclassificationscanner-list-onlyproposal-onlyowner-gatecons-003cellread-onlynon-authorizing2026-06-17workstream-b2

Điều 36 — Luật Collection (Collection Protocol) — Amendment DRAFT

DRAFT · NON-ENACTING · READ-ONLY · NON-AUTHORIZING. 2026-06-17, rev1. Law Revision Workstream B2. This is a draft amendment, not an enacted law. It is not adopted, not in force, and does not change laws/dieu36-collection-protocol-law.md. It is review material for GPT → Codex → Owner. Codex/GPT PASS ≠ Owner authorization. Engineering PASS / scan PASS ≠ authority PASS. Target law: Điều 36 — Luật Collection v5.0 DRAFT (S170) (knowledge/dev/laws/dieu36-collection-protocol-law.md, rev4). The target is itself a DRAFT 30% (Phần 1 = 7 MT + Phần 2 = 8 GP summary discussed; Phần 3–5 unwritten). v4.0 was ENACTED (S155). This amendment preserves the goals/direction of the v5.0 draft and reframes only its unsafe rollout mechanisms; it does not enact, complete, or adopt Điều 36 v5.0. Catalog disposition: Law Merge catalog record #4 = AMEND ("Keep 7 goals; amend reverse-trace/Species-Matrix rollout pending CONS-003 + CELL") → LAW_READING_INDEX.md §3.3 = READ_NEW_AMENDED_VERSION_PENDING. This document is that pending amended version, in draft form only. Model: F0→F5/FX. The scanner is list-only (FX/D11); classification / placement / schema mutation flows through design-before-execution (NT15 / Điều 20) → checker (F4) → approval / Owner gate (Điều 32) → regression protection (Điều 30).


0. Boundary & non-authorization (read first)

  • This draft preserves Điều 36's 7 goals (MT1–MT7): reverse-traceability, interconnection, propagation, grouping/change-governance, large-scale management, right-collection ("đúng chuồng"), and lifecycle. It preserves the classification intent and the traceability intent. It only reframes the unsafe rollout mechanisms — scanner-triggered classification mutation, automatic Species-Matrix / cell-placement generation, and bi-directional auto-propagation run from a single change without a checker + Owner gate.
  • It does not enact, adopt, complete, or put any clause in force. It does not edit, move, or delete laws/dieu36-collection-protocol-law.md. It does not patch the Constitution.
  • It performs no technical design, no Phase-1, no live DB/runtime query, no implementation. It materializes nothing: no cell_id, no dot_role, no canonical_fields, no Species Matrix, no schema/table/registry/index.
  • It does not resolve CONS-002/003/004/005, CELL-003/004/007, HOLD-1, HOLD-2, RISK-BYPASS/GC/CAP; it does not change the authority order or the v0.1-stable / FIX7 V3 baseline.
  • It does NOT treat the 6-Lớp (Đ0-B) vs 7-dimension (Constitution/Đ29) conflict as resolved — that is CONS-003, open.
  • Default disposition until the Owner acts: HOLD.

1. Preserved goals (what stays — DO NOT weaken)

Điều 36's seven objectives and its classification/traceability discipline are kept. The amendment changes who acts on a classification finding and how a placement/mutation is authorized — never the goal of reverse-traceability, interconnection, or right-collection.

Preserved from v5.0 draft Clause Status under this draft
MT1 — Truy xuất ngược (reverse-trace) = foundation: every entity traceable to collection/species/creator/time/domain; "không truy xuất ngược được = mồ côi" Phần 1 MT1, GP1 KEEP the goal; reverse-trace may be listed/proposed, not used as canonical proof until source/CELL close (see §3 A4)
MT2 — Liên thông (interconnection) via FK / M2M / master-detail / entity_relations / Đ38 binding MT2, GP2 KEEP
MT3 — Auto-propagation 2-chiều (bi-directional) + audit trail "vô minh" MT3, GP3 KEEP the goal; bound the scope of auto-mutation (see §3 A1)
MT4 — Phân nhóm + quản trị thay đổi: governance_role (managed/observed/excluded); "thay đổi phân nhóm = thay đổi quản trị → qua APR (Đ32)" MT4, GP4 KEEP — strengthen (already routes grouping change through Đ32)
MT5 — Quản lý hàng ngàn thực thể (alias/relation/fuzzy/disambiguation; NĐ-36-01; 3 vùng approved/candidate/quarantine) MT5, GP5, NĐ-36-01 KEEP the goal; NĐ-36-01 stays infrastructure-direction, not auto-authority (see §3 A5)
MT6 — Đúng chuồng (right collection): each entity in exactly 1 main collection; misclass = "nhầm chuồng" MT6, GP6 KEEP the goal; detect via Species Matrix = propose, not auto-generate/auto-place (see §3 A2)
MT7 — Vòng đời (lifecycle): born → active → deprecated → retired; merge/split/retire (no delete — Lưật Bảo toàn); "mọi thao tác qua APR (Đ32)" MT7, GP7 KEEP (already Đ32-gated)
GP8.1 — HC-REG + HC-SCHEMA seeded into system_health_checks as detect_only (unregistered tables; governed tables missing description) GP8.1 KEEP as detection (these are list-only, write system_issues); the fix (e.g. add a column) runs the Đ33 design chain (see §3 A6)
Relation to Đ0-G / Đ24 / Đ26 / Đ29 / Đ32 / Đ33 / Đ35 / Đ38 / Đ39 / NĐ-36-01 "Quan hệ với luật khác" KEEP the relationships; the enactment of those laws is unchanged by this draft

MT4 already says grouping/governance change must pass APR (Đ32), and MT7 already routes lifecycle ops through Đ32. This amendment keeps those and extends the same discipline to the classification and placement mechanisms (MT3/MT6/GP6/GP8) that currently run automatically from a scanner.


2. Unsafe rollout mechanisms identified (verbatim, with clause)

These are the behaviors that mutate classification / placement / governed entities directly from a scanner finding or a single cascade, without a checker + Owner gate, and/or that materialize the canonical Species Matrix / cell placement while CONS-003 and CELL blockers are open. They are the reason Điều 36 is AMEND.

# Mechanism Clause Why unsafe under F0→F5/FX
U1 MT3 / GP3 bi-directional auto-propagation: "sửa tên species → tất cả entity thuộc species đó tự cập nhật"; "PG trigger cascade on FK changes"; parent↔child auto-notify/auto-update MT3, GP3 A single change auto-mutates a large, unbounded scope of governed entities with no checker/Owner gate on the cascade scope.
U2 MT6 / GP6 Species Matrix + cell placement: "Phát hiện nhầm chuồng qua Species Matrix (Đ26 Tab Pivot)"; "Species Matrix hiện toàn cảnh" MT6, GP6 Auto-generates a species × collection (cell) placement matrix from a scanner and treats placement as settled — exactly the canonical matrix that CELL-003/004/007 leave unmaterialized and CONS-003 (6 Lớp vs 7) leaves unresolved.
U3 GP8 orphan auto-apply: "DOT-ORPHAN-SCANNER quét entity thiếu giấy khai sinh, thiếu species, thiếu collection mapping … Auto-apply cho case rõ ràng (Loại 2 DOT, Đ33 §12)" GP8 Auto-assigns species / collection (a classification/placement mutation) from a scanner finding; "Loại 2 auto-apply" is exactly what the Đ33 draft removes for structural/classification change.
U4 MT4 governance_role classification read as scanner-driven auto-grouping MT4, GP4 Re-grouping = "thay đổi quản trị"; auto-classifying governance_role from a scanner bypasses the APR the law itself requires.
U5 HC-SCHEMA → add missing column read as auto-DDL: "Governed table thiếu cột description = … vi phạm" → fix by adding the column GP8.1 The detect is list-only (keep); reading it as authority to auto-ALTER TABLE ADD COLUMN is the Đ33-U1 auto-DDL path.
U6 MT1 reverse-trace as canonical proof: birth registry + species mapping + collection_registry treated as a settled canonical placement of every entity MT1, GP1 The canonical reverse-trace (entity → species → cell) depends on the unmaterialized matrix (CELL) and the unresolved 6-vs-7 framing (CONS-003); using it as proof pre-empts those blockers.

3. Amendment logic (clause-by-clause reframe)

Single principle: a collection/classification/placement finding may be detected, listed, and proposed automatically; a classification, placement, cascade, or schema mutation may not run from a scanner finding, and the canonical Species Matrix / cell placement is not materialized while CONS-003 + CELL are open. Every classification/schema change runs the standard chain — mục tiêu/non-goal → luật liên quan → evidence → design (đã review) → checker → approval / Owner gate (Điều 32) → execution → regression/observability (Điều 30) (NT15 / Điều 20). The scanner is list-only (FX/D11). This mirrors the Điều 33 amendment draft (no auto-DDL / schema-auto-change) and the Điều 22 amendment draft (scanner list-only / proposal-only).

A1 — Bi-directional propagation bounded; mass mutation is proposed, not auto-applied (reframe U1). Keep MT3's goal (a change in one collection should reach related collections) and keep the audit trail "vô minh." But reframe the mechanism: PG may continue to enforce hard referential integrity that already exists (FK cascade is PG's enforcement job — keep). A change that re-classifies, re-places, or semantically rewrites a batch of governed entities (e.g. "sửa tên species → tất cả entity tự cập nhật") is a governance mutation over an unbounded scope → it is detected + proposed (the affected scope is computed and listed), and the batch mutation runs only via checker (F4) + Điều 32 with regression protection (Điều 30). Parent↔child notification stays automatic; parent↔child auto-mutation of governed classification does not.

A2 — Species Matrix / cell placement: propose, never auto-generate or auto-place (reframe U2). Keep MT6's goal ("đúng chuồng" — each entity in exactly one main collection; detect "nhầm chuồng"). Reframe the mechanism: the Species Matrix and any cell placement are NOT auto-generated from a scanner, and are NOT materialized at all while CONS-003 (6 Lớp vs 7) and CELL-003/004/007 remain open. A misclassification scanner (DOT-MISCLASS-SCANNER) may detect + list + propose that an entity looks mis-placed; it may not assert a canonical placement, write a cell_id, or move the entity. The canonical species × collection placement is a later, design-gated, Owner-authorized act after CONS-003 + CELL close. No cell_id / dot_role / canonical placement field is materialized by this draft.

A3 — 6-Lớp vs 7-dimension stays OPEN (new clause). State explicitly: Điều 0-B's composition_level enum is 6 Lớp (atom…building) while the Constitution MỤC LỤC / Đ29 frame it as "7 Lớp / 7 dimensions (33 species)." This 6-vs-7 conflict is CONS-003 and is NOT resolved. No Điều 36 classification, Species Matrix, or placement may proceed as if the dimension count were settled. (Per B0 source-recovery: Đ0-B lives in architecture/composition-level-law.md as a temporary detailed working source, subordinate to the Constitution; reconciling it is Owner-gated.)

A4 — Reverse-trace: listed/proposed, not canonical proof (reframe U6). Keep MT1's goal (everything must be reverse-traceable; orphans are a problem to surface). Reframe the status of a reverse-trace result: while the source-recovery (Đ0/0-B/0-G) and CELL blockers are open, a reverse-trace (entity → species → collection → domain) is a reported observation / proposal, not canonical proof of an entity's settled placement. Orphan detection (GP8 detect half) stays; the assignment of the missing species/collection is proposed (see A5), not auto-applied.

A5 — Orphan scanner = detect + propose; NĐ-36-01 = infrastructure-direction, not auto-authority (reframe U3, and U4). GP8's DOT-ORPHAN-SCANNER keeps its detect + list behavior (write system_issues / APR pending). Remove the "auto-apply cho case rõ ràng (Loại 2 DOT)" path: assigning a missing species or collection is a classification mutation → proposal-only, then checker + Điều 32. "Rõ ràng" (clear case) may lower the proposal's risk class under Điều 32 §4.2; it does not authorize the scanner to classify. Likewise, auto-classifying governance_role (MT4) is proposal-only — consistent with MT4's own rule that grouping change passes APR. NĐ-36-01 (semantic relationship infrastructure: alias / relation / linking / disambiguation; 3 vùng approved/candidate/quarantine) stays a direction, not a live auto-authority: candidate/quarantine zones propose; promotion to "approved" is Owner/Đ32-gated (no auto-promotion of semantic links to canonical truth — consistent with Đ39 "AI đề xuất không tự ban hành tri thức chuẩn").

A6 — HC-REG / HC-SCHEMA stay detect-only; the fix runs the Đ33 design chain (reframe U5). Keep GP8.1's two health checks as detect_only content seeded in system_health_checks — they list unregistered tables and governed tables missing description and write system_issues. That is list-only and compatible. The remedy is not auto-applied: registering a table or adding a description column is a schema/registry change → it runs design-before-execution + checker + Điều 32 + Điều 30, with no auto-ALTER TABLE from the scanner (Điều 33 amendment draft, A1/A3). HC-SCHEMA detects; it does not mutate schema.

A7 — Any collection/schema/classification change runs the design chain; Điều 36 does not self-authorize Phase-1 (new clause). Add: "Mọi thay đổi collection / schema / phân loại (đăng ký bảng, thêm cột, gán species/collection, đổi governance_role, materialize Species Matrix/cell) phải qua: thiết kế-trước-thực-thi (NT15/Điều 20) → checker → Điều 32 → Điều 30. Điều 36 không tự uỷ quyền Phase-1, technical design, hay live survey. Scanner xanh / matrix hiện toàn cảnh = bằng chứng, không phải uỷ quyền." Engineering / scan PASS ≠ authority PASS.


4. Proposed amended wording (DRAFT — not enacted)

Draft recommended wording for a future, Owner-gated amended Điều 36. Not enacted, not in force. Final wording decided later under Owner gate, in newlaws/. (Điều 36 v5.0 is itself a DRAFT; this wording adjusts its direction, it does not complete or enact it.)

MT3 / GP3 (reframed) — Auto-propagation có ranh giới. "Giữ mục tiêu lan truyền thay đổi. PG enforce FK/ referential integrity tự động (giữ). Thay đổi re-classify / re-place / rewrite hàng loạt entity governed (vd 'đổi tên species → cập nhật mọi entity') = DETECT + ĐỀ XUẤT (tính + liệt kê scope ảnh hưởng) → chạy qua checker + Điều 32 + Điều 30. Audit trail 'vô minh' giữ nguyên."

MT6 / GP6 (reframed) — Đúng chuồng + Species Matrix. "Giữ mục tiêu 'đúng chuồng'. Species Matrix và cell placement KHÔNG auto-generate từ scanner và KHÔNG materialize khi CONS-003 (6 Lớp vs 7)CELL-003/004/007 còn mở. Scanner nhầm-chuồng đề xuất, không khẳng định placement, không ghi cell_id, không di chuyển entity. Placement chuẩn = bước sau, có thiết kế, Owner-gated, sau khi CONS-003 + CELL đóng."

MT1 / GP1 (reframed) — Truy xuất ngược. "Giữ mục tiêu truy-xuất-ngược. Khi source-recovery (Đ0/0-B/0-G) + CELL còn mở, kết quả truy-xuất-ngược là quan sát/đề xuất, không phải bằng chứng canonical về placement đã chốt. Phát hiện mồ côi giữ; gán species/collection thiếu = đề xuất (không auto-apply)."

GP8 (reframed) — Orphan scanner. "DOT-ORPHAN-SCANNER detect + liệt kê (system_issues / APR pending). Bỏ 'auto-apply cho case rõ ràng (Loại 2)'. Gán species/collection = mutation phân loại → đề xuất, rồi checker + Điều 32. 'Rõ ràng' chỉ hạ risk class của đề xuất, không uỷ quyền scanner phân loại."

GP8.1 (kept + clarified) — HC-REG / HC-SCHEMA. "Giữ 2 health check detect_only (bảng chưa đăng ký; governed thiếu description) ghi system_issues. Khắc phục không auto: đăng ký bảng / thêm cột description = thay đổi schema/registry → thiết kế-trước + checker + Điều 32 + Điều 30. Không auto-ALTER TABLE từ scanner."

New §X — Không materialize, không tự uỷ quyền. "Không materialize cell_id / dot_role / canonical_fields / Species Matrix khi CONS-003 + CELL còn mở. Điều 36 không tự uỷ quyền Phase-1 / technical design / live survey. Engineering/scan PASS ≠ authority PASS. Owner mở phase."


5. Mapping to F0→F5/FX

Điều 36 element F0→F5/FX placement
MT1 reverse-trace / MT2 liên thông (FK, relations) Foundation (Birth/Identity F1 + PG/Directus truth) — goal preserved; canonical reverse-trace deferred (CELL)
DOT-MISCLASS-SCANNER / DOT-ORPHAN-SCANNER / HC-REG / HC-SCHEMA Scanner / Observability (FX · D11) — list-only, propose, no auto-classify / no auto-DDL
Species Matrix / cell placement / cell_id Deferred — gated on CONS-003 (6 vs 7) + CELL-003/004/007; not materialized
Assign species/collection, change governance_role, merge/split/retire Approval (Điều 32) proposed actions
Apply a classification/schema change Design-before-execution (NT15/Đ20) → checker (F4) → Điều 32 → Điều 30 regression
NĐ-36-01 candidate/quarantine zones Propose → Owner/Đ32 to promote to "approved"; no auto-promotion to canonical truth (Đ39-aligned)

Consistent with the bad-readings the index already rejects (LAW_READING_INDEX.md §4): scanner is list-only (#7); registered/enacted ≠ live/production-ready (#5, #6, #10); newlaws/ does not auto-replace laws/ (#11); birth INSERT ≠ canonical now (#8).


6. Held blockers carried (not resolved here)

  • CONS-003 — 6 Lớp (Đ0-B composition_level) vs 7 Lớp/dimension (Constitution MỤC LỤC / Đ29 "33 species, 7 dimensions"). Blocks Species Matrix, cell placement, and cell_id. Carried; this draft forbids materializing or auto-generating the matrix while it is open.
  • CELL-003 / 004 / 007 — the species × collection × store × domain cell is the only canonical matrix and is unmaterialized. Carried; this draft explicitly forbids materializing cell_id / dot_role / canonical placement while open.
  • HOLD-2 — atomic promote transaction absent; relevant to any placement/classification that would promote/canonicalize.
  • RISK-BYPASS / RISK-GC / RISK-CAP — runtime governance bypass (fn_auto_approve_add, 160 unvoted applies) and GC/capacity risks. Carried.
  • CONS-002 — IO Contract field-set (thin 5-field vs Module-Contract-First); relevant via NĐ-36-01 / Đ38 binding. Carried.
  • Source-location caveat — Đ0/0-B/0-G live in architecture/ (temporary detailed working source, subordinate to the Constitution); the Constitution's law-00*.md references are broken; reconcile in the Owner-gated source-recovery pass before birth/classification technical design.
  • Engineering / scan PASS ≠ authority PASS — restated, not a runtime proof.

7. Bad readings this draft explicitly REJECTS

  1. "This draft is adopted / Điều 36 is now amended (or completed/enacted)." FALSE — non-enacting draft; laws/dieu36-collection-protocol-law.md is unchanged and remains a DRAFT 30%.
  2. "CONS-003 is resolved / the 6-vs-7 framing is settled." FALSE — CONS-003 is open; no classification proceeds as if the dimension count were decided.
  3. "cell_id / the Species Matrix / cell placement can be materialized now." FALSE — deferred while CONS-003 + CELL-003/004/007 are open; this draft materializes nothing.
  4. "The scanner can auto-generate the Species Matrix or auto-place entities (đúng chuồng) because Điều 36 says so." FALSE — the scanner is list-only; placement is proposed, then design + checker + Điều 32; not auto-applied.
  5. "Reverse-trace is canonical proof of an entity's settled placement." FALSE — while source/CELL are open, reverse-trace is a listed observation/proposal, not canonical proof.
  6. "DOT-ORPHAN-SCANNER may auto-apply species/collection for clear cases (Loại 2)." FALSE — that auto-apply path is removed; assignment is proposal-only through Điều 32.
  7. "HC-SCHEMA authorizes auto-adding the missing description column." FALSE — HC-SCHEMA is detect-only; the column add runs the Điều 33 design chain (no auto-DDL).
  8. "Điều 36 authorizes Phase-1 / technical design / live survey / schema or registry creation." FALSE — Điều 36 does not self-authorize any of these; the Owner opens a phase.
  9. "The 7 goals / classification / traceability are being weakened." FALSE — they are preserved; only scanner-driven mutation and premature matrix materialization are reframed.

8. Non-authorization checklist

  • no adopted/completed/enacted amendment: confirmed (DRAFT only) · no rewrite: confirmed · no technical design: confirmed · no Phase-1: confirmed · no DB/runtime query: confirmed · no implementation/schema/table/registry/index: confirmed · no cell_id / dot_role / canonical_fields / Species-Matrix materialization: confirmed · no scanner auto-classify / auto-place / auto-DDL: confirmed · no CONS-003 / 6-vs-7 resolution: confirmed · no CELL-003/004/007 resolution: confirmed · no authority-order change: confirmed · no edit/move/delete under knowledge/dev/laws/: confirmed · no Constitution patch: confirmed · no resolution of CONS/CELL/HOLD/RISK: confirmed · no change to v0.1-stable / FIX7 V3 baseline: confirmed · no v0.2-hardening promotion: confirmed.
  • Codex/GPT PASS ≠ Owner authorization. Default disposition: HOLD.

Điều 36 amendment DRAFT rev1 | 2026-06-17 | non-enacting | preserve 7 MT / classification / traceability · block scanner auto-classify + Species-Matrix/cell materialization while CONS-003 + CELL open · classification/schema change → design + checker + Điều 32 + Điều 30 | read-only · non-authorizing