KB-5B0C rev 2

E4 APR Request Package — FAC-07/08/09 v0.2

6 min read Revision 2

E4 — APR Request Package: FAC-07 / FAC-08 / FAC-09

Phase: P9 Entry Gate, E4 Loại: Governance request (doc + machine-readable APR data) Trạng thái: DRAFT v0.2 — Patched scope lệch (GPT review). Chờ GPT final. Phiên: S183 | Ngày: 2026-04-27 Prerequisite: E-E3 PASS (P8 v0.4 §5.1 facet alias mapping) Scope: KHÔNG DDL/DML. KHÔNG ghi taxonomy_facets. KHÔNG ghi taxonomy_labels. KHÔNG tạo facet. KHÔNG E5/E7/P9.


1. Rationale

P8 v0.4 §5.1 định nghĩa 3 design alias (doc, topic, layer) cần facet production tương ứng. Hiện tại taxonomy_facets có 7 facets (FAC-01→FAC-06, FAC-PROV). D38 Text as Code cần 3 facets mới để phân loại logical units theo tài liệu nguồn, chủ đề nội dung, và tầng kiến trúc.

Theo Đ24 governed taxonomy flow và Đ32 APR authority: facet creation phải qua APR. Không seed trực tiếp.

2. Candidate Proposals

FAC-07 — Thuộc tài liệu nào?

Field Value
code FAC-07
name Thuộc tài liệu nào?
description Phân loại text unit theo document source gốc. Áp dụng cho D38 Text as Code logical units.
status active
Design alias doc

FAC-08 — Chủ đề nội dung?

Field Value
code FAC-08
name Chủ đề nội dung?
description Phân loại text unit theo chủ đề nội dung chính. Áp dụng cho D38 Text as Code logical units.
status active
Design alias topic

FAC-09 — Tầng kiến trúc?

Field Value
code FAC-09
name Tầng kiến trúc?
description Phân loại text unit theo design/legal/operational layer. Áp dụng cho D38 Text as Code logical units.
status active
Design alias layer

3. Machine-readable APR Data — Facets Only

3 APR requests, mỗi facet 1 request. Tạo qua approved DOT/API path (không manual).

Scope APR này CHỈ bao gồm taxonomy_facets. Tạo taxonomy_labels (label values) là mutation riêng, cần APR/gate riêng sau khi facets đã tồn tại.

[
  {
    "request_type": "create_taxonomy_facet",
    "target_collection": "taxonomy_facets",
    "proposed_action": {
      "operation": "INSERT",
      "table": "taxonomy_facets",
      "values": {
        "code": "FAC-07",
        "name": "Thuộc tài liệu nào?",
        "description": "Phân loại text unit theo document source gốc. Áp dụng cho D38 Text as Code logical units.",
        "status": "active"
      }
    }
  },
  {
    "request_type": "create_taxonomy_facet",
    "target_collection": "taxonomy_facets",
    "proposed_action": {
      "operation": "INSERT",
      "table": "taxonomy_facets",
      "values": {
        "code": "FAC-08",
        "name": "Chủ đề nội dung?",
        "description": "Phân loại text unit theo chủ đề nội dung chính. Áp dụng cho D38 Text as Code logical units.",
        "status": "active"
      }
    }
  },
  {
    "request_type": "create_taxonomy_facet",
    "target_collection": "taxonomy_facets",
    "proposed_action": {
      "operation": "INSERT",
      "table": "taxonomy_facets",
      "values": {
        "code": "FAC-09",
        "name": "Tầng kiến trúc?",
        "description": "Phân loại text unit theo design/legal/operational layer. Áp dụng cho D38 Text as Code logical units.",
        "status": "active"
      }
    }
  }
]

4. APR Authority

Council/User có quyền với mỗi candidate:

Decision Action
Approve Tạo facet đúng như proposed. E5 execute via Directus API.
Modify Đổi code, name, description, hoặc scope. E5 execute theo bản sửa. Update P8 §5.1 alias mapping.
Reject Không tạo facet. Cần thiết kế lại: dùng facet hiện có hoặc approach khác. Update P8 §5.1.
Partial Approve 1-2, reject/modify còn lại. E5 chỉ execute approved items.

5. Constitutional Alignment

Law Check Status
Đ24 Label chỉ qua entity_labels, facet qua taxonomy_facets
Đ32 APR required cho taxonomy mutation
Đ33 Tạo qua Directus API, không DDL trực tiếp
Đ35 DOT DOT-TAC-LABEL-SYNC sẽ execute nếu approved
P8 §5.1 Candidate codes khớp alias mapping
Naming pattern FAC-NN sequential (FAC-01→06 existing, FAC-07/08/09 next)
Vietnamese question Tên dạng "...gì?/nào?" khớp FAC-01→06 convention

6. Deny/Reject Path

Nếu APR reject hoặc modify:

  1. Update P8 §5.1 alias mapping theo kết quả APR
  2. Nếu reject toàn bộ: thiết kế approach thay thế (reuse FAC hiện có hoặc restructure)
  3. Nếu modify code: update tất cả design docs referencing candidate codes
  4. KHÔNG tự tạo facet khi chưa có APR approved
  5. Re-run DOT-TAC-LABEL-FACET-VERIFY sau khi resolve

7. E5 Execution Preview (chỉ nếu APR approved)

Sau APR approved, E5 scope CHỈ bao gồm:

  • Tạo approved taxonomy_facets via Directus API POST /items/taxonomy_facets
  • Verify via DOT-TAC-LABEL-FACET-VERIFY
  • E5 cần prompt/gate riêng, không tự chạy từ E4

KHÔNG bao gồm trong E5:

  • Tạo taxonomy_labels (initial label values). Label values là mutation riêng, cần APR/gate riêng sau khi facets đã tồn tại.

Label values reference (cho APR tương lai, KHÔNG phải E4/E5 scope):

Facet Candidate initial labels
FAC-07 (doc) D38-HOWTO, D38-C1A, D38-P5
FAC-08 (topic) guide, segmentation, schema
FAC-09 (layer) design

8. Scope Boundary

Mutation APR scope Gate
taxonomy_facets INSERT (3 rows) ✅ E4 APR này E5
taxonomy_labels INSERT (7+ rows) ❌ KHÔNG trong E4 Cần APR riêng
entity_labels INSERT ❌ KHÔNG trong E4 Cần DOT + gate riêng

Patch log v0.1 → v0.2

# GPT điểm Fix
1 §3/§7 scope lệch: APR chỉ xin facets nhưng §7 nói tạo labels ✅ §3 ghi rõ "Facets Only". §7 loại bỏ label creation. §8 scope boundary table.

E4 APR Request Package v0.2 | S183 | 2026-04-27 | Opus 4.6 GPT review v0.1: PASS WITH PATCH → v0.2 Chờ GPT final + User review