L4 Birth Gate Extension (mở rộng Đ0-G) — Amendment DRAFT (non-enacting): preserve birth-gate goal, relocate completeness/reuse/approval from INSERT to promote checker (TEMP at INSERT, canonical at promote/F4) — 2026-06-17
L4 — Birth Gate Extension (Mở rộng Điều 0-G cho Text Unit + Component) — 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/dieu38-trien-khai/L4-birth-gate-extension.mdor Điều 0-G. It is review material for GPT → Codex → Owner. Codex/GPT PASS ≠ Owner authorization. Engineering PASS / birth-gate PASS ≠ authority PASS. Target law: L4 — Mở rộng Điều 0-G — Birth Gate cho Text Unit + Component (knowledge/dev/laws/dieu38-trien-khai/L4-birth-gate-extension.md, rev1). The target is itself DỰ THẢO — chờ Council review + User duyệt (GPT review PASS, not enacted). This amendment preserves L4's goal and reframes only its INSERT-time rollout; it does not enact or adopt L4. Catalog disposition: Law Merge catalog record #5 = AMEND ("Birth issues TEMP_ID only; relocate completeness/reuse/approval from INSERT to promote checker") →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. Birth at INSERT = identity-root + TEMP / workspace (F1), uncertified. Canonical birth = output at promote (F4) — completeness-final + reuse-decision + approval + BIRTH_STAMP/PROMOTE_STAMP — through the fail-closed promote checker + Owner / Mức 3 / Điều 32.
0. Boundary & non-authorization (read first)
- This draft preserves L4's goal: prevent bad birth — no incomplete entity, no reuse failure, no approval failure — for the two new species
text_unitandcomponent. It only reframes the unsafe rollout mechanism: front-loading completeness + reuse-decision + human-approval and certification to INSERT time. - It does not enact, adopt, or put any clause in force. It does not edit, move, or delete
laws/dieu38-trien-khai/L4-birth-gate-extension.md, Điều 4, or Điều 0-G. It does not patch the Constitution. - It performs no technical design, no Phase-1, no live DB/runtime query, no implementation, no materialization of any field/column/table/index/registry/stamp.
- 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.
- Default disposition until the Owner acts: HOLD.
1. Preserved goals (what stays — DO NOT weaken)
L4's purpose — no text unit or component is born bad — is kept. The amendment changes when completeness/reuse/approval are decided and what status birth confers; it does not weaken the discipline.
| Preserved from L4 | Clause | Status under this draft |
|---|---|---|
| Every new text_unit / component passes a birth gate; no shortcut into PG | §9.1 | KEEP — but the gate becomes two-phase (INSERT-completeness-record vs promote-certification; see §3) |
| Birth gate checks completeness, not correctness; correctness = DOT daily; review/approval = L5/Điều 32 | §9.2, §2.4 | KEEP — strengthen (this is already the right split; the amendment extends it) |
| Core metadata at birth for text_unit (identifier, doc membership, tree, content payload, classification, ownership, description, lifecycle) and component (identifier, name+spec, classification, ownership, description, interface, variant-trace, lifecycle) | §4.2, §5.2 | KEEP as the completeness checklist; recorded at INSERT, finalized at promote |
| Reuse decision (component only) for create-new / variant / base | §5.3, §9.3 | KEEP the requirement; relocate its approval + the block on missing approval to promote (see §3 A2) |
| Enforcement mode = config-driven (block/warn/escalate), not hardcoded | §6, §9.4 | KEEP config-driven; re-scope what each mode means at INSERT vs promote (see §3 A3) |
| Legacy = grandfather, non-retroactive; new versions of legacy pass full birth gate; DOT daily still checks | §7, §9.5 | KEEP |
| Runtime exception requires a human approval record; agent does not self-grant exceptions | §7.3, §9.6 | KEEP — strengthen (consistent with RISK-BYPASS discipline) |
| Derived fields not checked at birth (tier/hash/counts = system-auto/DOT-derive) | §4.4, §9.7 | KEEP |
| Reuse the Đ0-G principle (PEN/STAMP/GATE), do not copy; L4 does not change Đ0-G schema | §1, §8.1, §9.8, §10 | KEEP — strengthen; and note Đ0-G source-location caveat (see §3 A5) |
| L4 stays a doctrine layer: no schema/trigger/function/DOT list; design phase decides mechanism | §1, §10 | KEEP — this amendment is also doctrine-only, no design |
§9.2 already separates completeness (birth) from correctness (DOT) and review/approval (L5/Đ32). This amendment carries that one step further: it separates identity-root + completeness-record (at INSERT) from certification + reuse-approval + canonical status (at promote). It is an extension of L4's own logic, not a reversal.
2. Unsafe rollout mechanisms identified (verbatim, with clause)
These are the behaviors that front-load certification / human-approval / reuse-approval to INSERT and treat an INSERT-passed birth as certified/canonical, without the fail-closed promote checker + Owner gate. They are the reason L4 is AMEND.
| # | Mechanism | Clause | Why unsafe under F0→F5/FX |
|---|---|---|---|
| U1 | Birth gate as a blocking, certifying gate at INSERT: "Birth không hoàn tất/certify" if checks fail; "Object bị route sang trạng thái xử lý" | §6.1 (Block), §8.1 auto-certify | Treats passing the INSERT gate as certified — but in F0→F5/FX INSERT yields only TEMP/uncertified; certification is a promote-time (F4) event. |
| U2 | Reuse decision + Human approval AT BIRTH (INSERT) for component create-new / variant / base | §5.3, §9.3 | Front-loads a human approval and a reuse adjudication to INSERT; in the new model these are promote-time decisions. |
| U3 | Escalate mode = wait for approval before birth completes: "Object chờ approval trước khi hoàn tất birth" | §6.1 (Escalate) | Makes INSERT depend on human approval — couples identity creation to approval, which belongs at promote. |
| U4 | Auto-certify when all inspectors pass: "Text unit + component certified khi tất cả inspectors pass" | §8.1 | Async/auto certification at INSERT without the fail-closed promote checker + Owner / Mức 3 / Điều 32. (Đ4 note: Đ0-G's async auto-certify is the documentary ancestor of the F4 promote checker — not a substitute for it.) |
| U5 | "Birth gate kiểm completeness" read as canonical/kernel certification | §9.2 read maximally | Completeness ≠ canonical; reading a completeness pass as canonical status pre-empts the promote gate. |
Note: L4 §1 / §8.1 / §10 already say L4 does not change Đ0-G schema and reuses (not copies) the Đ0-G principle. That discipline is kept. The unsafe part is purely the timing/status of certification/approval, not L4's restraint about schema.
3. Amendment logic (clause-by-clause reframe)
Single principle: at INSERT a text_unit/component gets an identity-root and a TEMP/uncertified workspace record; completeness, reuse-decision, approval, certification, and canonical status are decided at promote (F4) through the fail-closed checker + Owner / Mức 3 / Điều 32. Birth grants identity, not canonical status (Điều 4 compatibility note). This aligns with the Điều 22 draft (proposal-only; no auto-mutation from a gate) and the B0 source-recovery (Đ0-G = temporary detailed working source, not supreme).
A1 — Two-phase birth: identity-root at INSERT, canonical at promote (reframe U1, U5). Split L4's single "birth gate" into two events:
- INSERT (F1 / TEMP / workspace): the object gets its permanent identifier (identity-root) and a
birth_registry-style uncertified record (certified=false, per Đ0-G). The core-metadata checklist (§4.2 / §5.2) is evaluated and recorded as a completeness stamp at the TEMP stage (Điều 4 note:fn_description_birth_guard= a TEMP-stage completeness stamp, not a canonical-birth gate). The object is not certified, not canonical, not promoted. - Promote (F4): completeness is finalized, the reuse-decision is adjudicated, approval is obtained, and BIRTH_STAMP / PROMOTE_STAMP are written — only through the fail-closed promote checker + Owner / Mức 3 / Điều 32. Canonical/kernel/enacted status is conferred here, never at INSERT.
A2 — Reuse-decision + human-approval relocate from INSERT to promote (reframe U2). Keep §5.3's requirement that a component create-new / variant / base have a reuse-decision record and human approval. Relocate the timing: at INSERT, a reuse-decision record may be captured as a proposal (the search + justification is attached to the TEMP object); the human approval and the block on missing/insufficient approval happen at promote, through Điều 32. INSERT does not wait on, and is not gated by, a human approval (that is A3/U3). Reuse adjudication is a promote-time governance act.
A3 — Enforcement mode re-scoped to the two phases (reframe U3). Keep §6's config-driven block/warn/escalate. Re-scope what each means:
- At INSERT, the only hard block is on what makes an identity impossible or structurally invalid (e.g. missing required identifier, parent that does not exist / not same document). Missing completeness fields WARN + record uncertified (the TEMP object exists, flagged incomplete) rather than blocking identity creation. Escalate / approval-wait does not run at INSERT.
- At promote, completeness-incomplete / reuse-unapproved / escalation → the promote checker blocks promotion and routes to Owner / Mức 3 / Điều 32. This is where "block/escalate" lives. This keeps L4's enforcement intent while ensuring identity creation is not coupled to human approval.
A4 — No auto-certify at INSERT; certification is the fail-closed promote checker (reframe U4). Reframe §8.1: inspectors at INSERT produce a TEMP completeness result, not a certification. Auto-certify ("certified when all inspectors pass") does not apply to canonical/kernel/enacted entities at INSERT — their certification requires the fail-closed promote checker (F4) + Owner / Mức 3 / Điều 32 (Điều 4 note: Đ0-G's async auto-certify is the documentary ancestor of the F4 checker, not a replacement). No birth-gate auto-block or auto-certify of a governed entity runs without the checker + Owner gate. Completeness ≠ canonical.
A5 — Đ0-G source-location caveat; L4 does not authorize Đ0-G schema change (new clause + kept §10).
Keep L4 §1/§8.1/§10: L4 does not change birth_registry schema; if schema change is needed, amend Đ0-G separately. Add the source caveat (B0 source-recovery): Đ0-G ("Lưật Khai Sinh") lives at architecture/birth-registry-law.md (v1.0/S157) — a temporary detailed working source, subordinate to the Constitution, not supreme/enacted by itself; the Constitution's law-00g-birth.md reference is broken. Birth-related technical design is gated on the Owner-gated source-recovery pass + CONS-003 (6 Lớp vs 7, which roots the birth CELL). L4 does not pre-empt either.
A6 — Authority statement (new clause). Add: "Birth gate PASS = bằng chứng completeness ở TEMP, không phải canonical, không phải uỷ quyền. Engineering PASS / birth-gate PASS ≠ authority PASS. Chỉ promote checker (F4) + Owner / Mức 3 / Điều 32 cấp certification/canonical; INSERT thì không. Agent không tự cấp ngoại lệ (giữ §7.3/§9.6)."
4. Proposed amended wording (DRAFT — not enacted)
Draft recommended wording for a future, Owner-gated amended L4. Not enacted, not in force. Final wording decided later under Owner gate, in
newlaws/. (L4 is itself a DỰ THẢO; this wording adjusts its direction, it does not enact it.)
§9.1 (reframed) — Birth hai pha. "Mọi text_unit / component mới qua birth gate. Birth = 2 pha: (a) INSERT cấp identity-root + bản ghi uncertified (TEMP/workspace, F1); checklist core-metadata (§4.2/§5.2) được ghi nhận như completeness stamp ở TEMP, không certify, không canonical. (b) Promote (F4): completeness chốt + reuse-decision phán + approval + BIRTH_STAMP/PROMOTE_STAMP, qua checker fail-closed + Owner / Mức 3 / Điều 32. Không có đường tắt vào PG bỏ qua birth; cũng không có canonical tại INSERT."
§5.3 (reframed) — Reuse decision + approval. "Component create-new/variant/base: reuse-decision record có thể tạo ở INSERT như đề xuất (search + justification gắn vào object TEMP). Human approval và chặn-khi-thiếu-approval chạy ở promote, qua Điều 32. INSERT không chờ human approval."
§6 (reframed) — Enforcement mode. "Tại INSERT: chỉ block khi identity bất khả/cấu trúc sai (thiếu identifier, parent không tồn tại). Thiếu completeness → WARN + ghi uncertified, không chặn tạo identity. Escalate/approval-wait không chạy ở INSERT. Tại promote: completeness-thiếu / reuse-chưa-duyệt / escalate → checker chặn promote → Owner / Mức 3 / Điều 32."
§8.1 (reframed) — Certify. "Inspectors ở INSERT cho kết quả completeness TEMP, không certify. Auto-certify không áp cho entity canonical/kernel/enacted tại INSERT — certification cần promote checker (F4) fail-closed + Owner / Mức 3 / Điều 32. Đ0-G async auto-certify = tổ tiên tài liệu của F4 checker, không thay thế nó. Completeness ≠ canonical."
New §13 — Nguồn Đ0-G + không tự uỷ quyền. "Đ0-G đọc từ
architecture/birth-registry-law.md= nguồn làm việc chi tiết tạm thời, dưới Hiến pháp, không supreme/enacted tự thân; tham chiếulaw-00g-birth.mdcủa Hiến pháp đang gãy. Thiết kế kỹ thuật birth gated trên source-recovery (Owner) + CONS-003. L4 không đổi schema Đ0-G, không tự uỷ quyền Phase-1/technical design. Birth-gate PASS ≠ authority PASS."
5. Mapping to F0→F5/FX
| L4 element | F0→F5/FX placement |
|---|---|
| INSERT of text_unit/component + core-metadata checklist | F1 — Birth/Identity-root, TEMP/workspace, uncertified; completeness = TEMP stamp |
| Reuse-decision adjudication + human approval | Promote (F4) + Điều 32 — promote-time governance act |
| Certification / canonical status / BIRTH_STAMP / PROMOTE_STAMP | Promote (F4) via fail-closed checker + Owner / Mức 3 / Điều 32 |
| Block/warn/escalate enforcement | INSERT: structural-block + completeness-WARN; Promote: completeness/reuse/escalate block |
| Auto-certify (inspectors pass) | TEMP completeness result at INSERT; canonical certification = promote checker only |
| Correctness / consistency (DOT daily) | Scanner / Observability (FX · D11) — list-only, post-birth |
Đ0-G birth_registry |
Documentary substrate read from architecture/ (temporary working source); schema change = amend Đ0-G separately, Owner-gated |
Consistent with the bad-readings the index already rejects (LAW_READING_INDEX.md §4): "Birth registry INSERT means canonical birth now" — FALSE; Đ0-G inserts certified=false; canonical birth = output at promote (#8). And the Điều 4 compatibility note: TEMP_ID at birth · canonical at promote.
6. Held blockers carried (not resolved here)
- HOLD-2 (BLOCKER) — atomic promote transaction does not exist; blocks the canonical / BIRTH_STAMP / PROMOTE_STAMP write at promote (F4). This amendment relocates certification to promote but does not build the atomic promote; HOLD-2 stays open.
- RISK-BYPASS —
fn_birth_gate(Đ35-scope) is warn-mode + kill-switch and co-resides withfn_description_birth_guardondot_tools; livefn_auto_approve_add(160 unvoted applies) contradicts Điều 32. This amendment reinforces "agent does not self-grant exceptions / approval is at promote," but it does not close RISK-BYPASS; closing it is Owner/Phase-1 work. - CONS-003 + CELL-003/004/007 — the birth CELL (layer × species × store × domain) is the only canonical matrix and is unmaterialized; the 6-vs-7 framing is unresolved. Carried; no
cell_idmaterialized. - Source-location caveat — Đ0-G in
architecture/, notlaws/; the Constitution'slaw-00g-birth.mdreference is broken; reconcile in the Owner-gated source-recovery pass before birth technical design. - Engineering / birth-gate PASS ≠ authority PASS — restated, not a runtime proof.
7. Bad readings this draft explicitly REJECTS
- "This draft is adopted / L4 is now amended (or enacted)." FALSE — non-enacting draft;
laws/dieu38-trien-khai/L4-birth-gate-extension.mdand Điều 0-G are unchanged; L4 remains a DỰ THẢO. - "Birth (INSERT) confers canonical status now." FALSE — INSERT yields identity-root + uncertified TEMP; canonical birth = output at promote (F4).
- "L4 still front-loads completeness / reuse-decision / human approval at INSERT." FALSE — completeness-final, reuse-adjudication, and approval relocate to promote; INSERT records completeness as a TEMP stamp and is not gated by human approval.
- "Auto-certify at INSERT certifies a canonical/kernel/enacted entity." FALSE — auto-certify gives a TEMP result; canonical certification requires the fail-closed promote checker + Owner / Mức 3 / Điều 32.
- "HOLD-2 is resolved / the atomic promote exists." FALSE — HOLD-2 is open; this draft relocates certification to promote but does not build it.
- "RISK-BYPASS is closed because approval is now at promote." FALSE — RISK-BYPASS is carried; closing it is Owner/Phase-1 work.
- "L4 authorizes changing Đ0-G schema / Phase-1 / technical design." FALSE — L4 does not change Đ0-G schema and does not self-authorize Phase-1 or design; birth design is gated on source-recovery + CONS-003.
- "
architecture/birth-registry-law.mdis supreme / the enacting authority." FALSE — it is a temporary detailed working source subordinate to the Constitution.
8. Non-authorization checklist
- no adopted/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_fieldsmaterialization: confirmed · no BIRTH_STAMP / PROMOTE_STAMP materialization: confirmed · no Đ0-G schema change: confirmed · no canonical-at-INSERT: confirmed · no HOLD-2 resolution (atomic promote not built): confirmed · no RISK-BYPASS closure: confirmed · no CONS-003 / CELL resolution: confirmed · no authority-order change: confirmed · no edit/move/delete underknowledge/dev/laws/: confirmed · no Constitution patch: 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.
L4 amendment DRAFT rev1 | 2026-06-17 | non-enacting | preserve birth-gate goal (no bad birth) · relocate completeness/reuse/approval from INSERT to promote checker · TEMP_ID + uncertified at INSERT, canonical + BIRTH_STAMP/PROMOTE_STAMP at promote (F4) via fail-closed checker + Owner/Mức 3/Điều 32 · carry HOLD-2 + RISK-BYPASS | read-only · non-authorizing