Đ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
Đ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, nodot_role, nocanonical_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) và 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ếudescription) ghisystem_issues. Khắc phục không auto: đăng ký bảng / thêm cộtdescription= thay đổi schema/registry → thiết kế-trước + checker + Điều 32 + Điều 30. Không auto-ALTER TABLEtừ 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, andcell_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'slaw-00*.mdreferences 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
- "This draft is adopted / Điều 36 is now amended (or completed/enacted)." FALSE — non-enacting draft;
laws/dieu36-collection-protocol-law.mdis unchanged and remains a DRAFT 30%. - "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.
- "
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. - "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.
- "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.
- "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.
- "HC-SCHEMA authorizes auto-adding the missing
descriptioncolumn." FALSE — HC-SCHEMA is detect-only; the column add runs the Điều 33 design chain (no auto-DDL). - "Đ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.
- "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 underknowledge/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