- NHOM A restart-verify: A1 tier:'fable' tren reviewer pin-opus -> resolved claude-fable-5 (spawn-param THANG); A2 no-tier -> claude-opus-4-8 DU lead=Fable (pin an runtime); A3 autoMemory WRITE-path OK (project_h23_spawn_precedence.md moi). - B1 sweep all-inherit floor-song: 15 dong/5 file + 3 cung-lop lot-pattern + 5 dong H23-stale o 3 command-file (H1 bat) -> VA HET; spawn-model-audit Section-D flush H8->S124 + effort-check (fault-inject 2-chieu PASS, 14 duong-gia -> 0); governance-detectors C3 seed +worker-tier-pin; re-grep 0 floor-song; suite 45 = baseline 0-new. - vocab-alias-map §3 canonical flip -> worker-tier-pin (all-inherit/two-tier = 2 alias cu); STATUS:6 FROZEN-diary label (het H24-3 lag); STATUS:25 + agents/README:5 sync. - Email hub h23-precedence-test-result stamp 945cf3ad (reviewer-gate FAIL bat 3 loi truoc stamp -> gotcha #83 aggregate-cumulative) + _index cung luot. - B3/B4 owner-gated: soan b3-b4-owner-gated-proposals.md CHO ANH (mega-line retier + budget:74 wording) — 0 apply. - Closeout: harvest 4 lane + 2 monitor (H2 GATE PASS 5/5, 0/29 orphan; H1 3/4 clean + 5-spot fix) + curate moved-not-cut reviewer/inv-cb + carry disposition (DONG 2: restart-s124, h23-fable-test-postrestart; MO re-stamp 9) + H24 counter=5 + pilot H22 D5 (pause-roundtrip + hook-fire re-verified; cross-model PENDING). - Governance/tooling-only: 0 prod-code, 0 mig, test 509 GIU, bundle FROZEN. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7.8 KiB
Vocab Alias-Map — Bản đồ Thuật ngữ Tương đương
Mục đích: Đây là nguồn duy nhất (single source) ghi lại các cặp thuật ngữ ĐỒNG NGHĨA trong SOLUTION_ERP — một khái niệm nhưng đang tồn tại dưới hai cái tên (canonical hiện hành ↔ alias lịch sử đã bị thay thế). Tài liệu phục vụ đợt kiểm tra trôi-nghĩa (drift audit) hằng tháng: khi detector
scripts/governance-detectors.ps1(kiểm tra C3 — vocab-fork) phát cờ báo "hai biến thể cùng sống side-by-side", người rà soát mở file này để tra ngay đâu là từ chuẩn, đâu là từ cũ, và lý do đổi tên.Chủ sở hữu ghi (single-writer): em-main. Tài liệu append-only — chỉ thêm dòng mới khi phát sinh cặp thuật ngữ mới, KHÔNG viết lại các mục cũ. Sub-agent chỉ đọc, không được sửa (tuân thủ nguyên tắc D9 single-writer).
Phạm vi: Chỉ ghi các cặp thật sự là MỘT khái niệm hai tên (fork-để-hợp-nhất). KHÔNG ghi các từ trùng-mặt-chữ nhưng khác nghĩa (ví dụ "memory-fidelity", "coverage", "audit") — những từ đó đã được phân biệt bằng ngữ cảnh trong
harness-11-engine.mdPHẦN H/I và cố ý KHÔNG seed vào detector.
⚠️ Lưu ý nền tảng — vì sao alias vẫn còn xuất hiện đầy trong repo
Phần lớn số lần alias xuất hiện là hợp lệ theo lịch sử — KHÔNG phải drift cần sửa. Các file dưới đây ĐÓNG BĂNG (frozen), tuyệt đối không viết lại:
docs/changelog/sessions/**— nhật ký từng session (ghi lại đúng từ ngữ tại thời điểm đó).docs/_archive/**— snapshot STATUS/HANDOFF đã archive verbatim.docs/governance/adap-reports/**— báo cáo adoption đã chốt..claude/workflows/runs/**— vết chạy workflow (run-trace), git-tracked bất biến.broadcasts/inbox|outbox/**— thư liên-team đã gửi.
Một session-log viết "two-tier" hồi S60 là đúng sự thật lịch sử — nó phản ánh mô hình còn hiệu lực khi đó. Không được sửa ngược quá khứ. Do vậy alias sẽ mãi mãi còn tồn tại trong các file đóng băng, và detector C3 (quét TOÀN BỘ docs/** + .claude/** *.md, KHÔNG loại trừ file frozen) sẽ vẫn tiếp tục báo cờ MED cho mỗi cặp — đây là trạng thái documented-known, không phải lỗi tồn đọng. Việc "làm sạch" chỉ áp dụng cho các file đang-sống (live-editable): docs/STATUS.md, docs/HANDOFF.md, các SKILL.md, agent-memory/**/MEMORY.md (bản HOT, không phải archive), và các doc governance đang bảo trì.
Bảng thuật ngữ tương đương
1. run-trace (chuẩn) ↔ wave-folder (alias cũ)
| Thuộc tính | Giá trị |
|---|---|
| Canonical (hiện hành) | run-trace — thư mục cô lập bộ nhớ mỗi lần chạy workflow tại .claude/workflows/runs/<id>/ |
| Alias (đã thay thế) | wave-folder / wave-* — tên cũ của cùng thư mục cô lập đó |
| Đổi tên bởi | Harness-10 (Session 72, 2026-06-18) — đổi cấu trúc wave-* sang mô hình run-trace phẳng (sub-*.md + *-synthesis.md) git-tracked |
| Ghi chú frozen | Session-log/adap-report/runs cũ giữ nguyên "wave-folder" — đúng lịch sử, không sửa |
2. Ngân sách PRO (chuẩn) ↔ Dự trù PRO (alias cũ)
| Thuộc tính | Giá trị |
|---|---|
| Canonical (hiện hành) | Ngân sách PRO — nhãn cột/badge PRO trong ma trận ngân sách PE (module PurchaseEvaluation) |
| Alias (đã thay thế) | Dự trù PRO — nhãn cũ trước khi anh Kiệt (FDC) yêu cầu đổi |
| Đổi tên bởi | Session 65 (2026-06-16) — anh Kiệt Zalo: "Dự trù PRO → Ngân sách PRO"; áp dụng row + badge trên cả 2 app (fe-admin + fe-user), SHA256-mirror |
| Ghi chú kỹ thuật | Field BE gốc PeWorkItemBudget.ProInitialAmount ("Ban hành lần đầu") + ProAdjustmentAmount; nhánh ProEstimateAmount cũ đánh dấu LEGACY (Mig 56 migrate → ProInitialAmount). Còn 1 comment mã nguồn stale ở PurchaseEvaluationDtos.cs:324 ("badge dự trù PRO") — chỉ là comment, KHÔNG phải nhãn FE đang render; có thể dọn khi tiện, không bắt buộc |
| Ghi chú frozen | Session-log S65 và bản archive giữ "Dự trù PRO" — đúng lịch sử |
| Lưu ý mở rộng | PeWorkItemBudget là tên ENTITY (khái niệm khác — bảng ngân-sách-per-gói-thầu), KHÔNG phải alias của nhãn PRO. "PRO" = Procurement (phòng Mua hàng), không phải viết tắt khác |
3. worker-tier-pin (chuẩn) ↔ all-inherit · two-tier (2 alias cũ, 2 đời)
| Thuộc tính | Giá trị |
|---|---|
| Canonical (hiện hành) | worker-tier-pin — 14/14 sub-agent frontmatter model: opus + effort: max (worker-tier gán-cứng, KHÔNG theo lead); lead = frontier-class owner-choice per-session; Fable cho 1 vai CHỈ qua lượt lệnh /fable-real·/fable-clone hoặc per-task tier: — spawn-param THẮNG hard-pin (đo S126 2026-07-16, runs/2026-07-16-S126-adap-spec-execute/runtime-verify-synthesis.md) |
| Alias (đã thay thế — đời 2) | all-inherit — mọi sub-agent kế thừa model lead (chất-lượng > chi-phí; Harness-8, S66–S123) |
| Alias (đã thay thế — đời 1) | two-tier — mô hình 2 tầng (lead promote-inherit vài agent / demote-pin số còn lại về Opus; Harness-4) |
| Đổi tên bởi | Owner-decision S124 (2026-07-15, adap erratum-h8) — thay all-inherit bằng worker-tier-pin. Trước đó: Harness-8 (S66, 2026-06-16) thay two-tier bằng all-inherit |
| Ghi chú frozen | adap-report/session-log ≤S66 giữ "two-tier", S66–S123 giữ "all-inherit" — đúng lịch sử tại thời điểm đó |
Quy trình cập nhật (khi thêm cặp mới)
- Chỉ append 1 mục
### N.mới bên dưới, KHÔNG sửa mục cũ. - Ghi đủ 4 trường: canonical · alias · đổi-tên-bởi (Harness/Session) · ghi-chú-frozen.
- Nếu muốn detector nhận-biết cặp mới, seed vào
$aliasSetstrongscripts/governance-detectors.ps1(C3). Lưu ý: detector CHỈ grep, KHÔNG đọc file này — xem mục dưới.
Về việc detector có "im" sau khi tạo file này không
KHÔNG. Detector C3 (scripts/governance-detectors.ps1) là pure-grep: $aliasSets được hard-code trong script (dòng ~350-354), và C3 báo cờ mỗi khi ≥2 biến thể của một set còn sống trong corpus. Nó KHÔNG đọc bất kỳ alias-map file nào. Vì các file frozen (mãi mãi chứa alias) nằm trong phạm vi quét, cờ MED cho cả 3 cặp sẽ vẫn còn — nay chuyển trạng thái thành documented-known (đã có tài liệu giải thích tại đây), không còn là drift lạ.
Câu "resolve: … or record an alias-map in docs/governance" trong output detector là gợi ý cho con người, KHÔNG phải hook tự-động. Muốn detector THẬT-SỰ ngừng báo cặp nào, phải sửa
$aliasSets(bỏ set đó) — nhưng làm vậy sẽ mất khả năng phát hiện fork tương lai, nên không khuyến nghị.
Cảnh báo self-match: File
vocab-alias-map.mdnày tự thân chứa cả 6 thuật ngữ ở dạng live → nếu KHÔNG loại trừ, nó sẽ tự-đóng-góp thêm 1 file live cho MỖI biến thể và khiến detector đếm sai. Cần thêm đường dẫndocs/governance/vocab-alias-map.mdvào$ExcludeExacttronggovernance-detectors.ps1(đặt cạnhharness-11-engine.mdđã được loại trừ sẵn) để tài liệu này không tự-match. Đây là bước bắt buộc khi commit file.