[CLAUDE] Docs: S110 anh-directed ×2 — stamp mark MỚI RC-…11-07-2026-20-42-01 (H21+MTv3 gộp, row H19 → 📦 SUPERSEDED-partial giữ audit-trail) + VALID_ROLES 10→12 (+2 monitor, M2 boundary-gap RESOLVED cùng phiên; node --check PASS; sweep 10 consumer prose)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m59s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m59s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@ -205,7 +205,7 @@ All 12 agent có **4 RAG-READ MCP**: `search_memory` + `search_code` (BM25, pref
|
||||
- **Keyword = QUYỀN, KHÔNG lệnh (T4):** "workflow"/"ultracode" mở quyền hỏi, KHÔNG auto-run. Mode-OFF + "chạy workflow" → TỪ CHỐI + nhắc `/ultra-on`. CẤM native `/effort ultracode`. *(Bài học 515K-token false-trigger.)*
|
||||
- **Scope (S1):** Workflow fan-out CHỈ repo SOLUTION_ERP — KHÔNG fan-out repo/corpus khác.
|
||||
- **Checkpoint (S2):** `hmw.js` **throw** nếu `checkpointApproved≠true` (mechanized tripwire anti-accidental). Em main BÁO {số agent·vai·task} @inform → set cờ → fan-out (KHÔNG chờ confirm từng lần; marker-ON=consent). Sub KHÔNG spawn sub (S3).
|
||||
- **VALID_ROLES (10 — whitelist `hmw.js`):** `investigator-codebase` · `investigator-api` · `implementer-backend` · `implementer-frontend` · `test-specialist` · `reviewer` · `cicd-monitor` · `frontend-designer` · `database-agent` (+S57 — S56 đã dùng 3× qua fail-soft WARN) · `office-document` (+S107 — Office WRITE OD1–OD10). Role lạ → default subagent + WARN (fail-soft, S4c).
|
||||
- **VALID_ROLES (12 — whitelist `hmw.js`, đủ roster):** `investigator-codebase` · `investigator-api` · `implementer-backend` · `implementer-frontend` · `test-specialist` · `reviewer` · `cicd-monitor` · `frontend-designer` · `database-agent` (+S57 — S56 đã dùng 3× qua fail-soft WARN) · `office-document` (+S107 — Office WRITE OD1–OD10) · `tooling-auditor` + `harvest-curator` (+S110 anh-directed — H21 roster-parity lệnh-B; monitor vẫn INFORM-only, lane RETURN-only). Role lạ → default subagent + WARN (fail-soft, S4c).
|
||||
- **Memory governance (M1–M5 + R1):** B1 slice-inject (agent ← slice MEMORY của đúng vai qua `args`) · M2 return-delta-only (`memoryDelta{task,verdict,learned,surprise}`) · B3 lead single-writer VERIFY→APPEND-only (no-overwrite-unverified) · B2 harvest-LIỀN sau mỗi workflow vào `agent-memory/<role>` · M5 `store_memory` strip (đã S47). **Containment = defense-in-depth** (git-diff + Qdrant chunk-count post-P2), KHÔNG allowlist đơn-độc (G-015: sub vẫn giữ Bash/Write — KHÔNG "read-only").
|
||||
|
||||
> Floor T/S/M/R đầy đủ → `.claude/commands/ultra-on.md`. adap-report → `docs/governance/adap-reports/2026-06-03-Agent-ultracode-hmw-mem-governance.md`.
|
||||
|
||||
@ -18,7 +18,7 @@ argument-hint: <vai ∈ roster 12> <đề-bài phán-quyết> — vd "reviewer r
|
||||
## 🔴 Vai BẮT BUỘC ∈ roster 12 (H21 ②)
|
||||
`investigator-codebase` · `investigator-api` · `implementer-backend` · `implementer-frontend` · `frontend-designer` · `database-agent` · `office-document` · `test-specialist` · `reviewer` · `cicd-monitor` · `tooling-auditor` · `harvest-curator`.
|
||||
- **Thiếu `<vai>` HOẶC vai ngoài roster** → em main **hỏi lại anh 1 dòng**, **KHÔNG tự chọn vai**.
|
||||
- ⚠️ **Limitation lệnh-B × 2 vai monitor:** `tooling-auditor` · `harvest-curator` **∉ `hmw.js` VALID_ROLES (10 vai)** → ensemble qua hmw sẽ **fail-soft rơi default-subagent** (mất persona + memory-pack, chỉ WARN log). Cần ensemble cho 2 vai này → em main báo anh (bổ sung VALID_ROLES = đổi code, chờ anh duyệt) HOẶC dùng lệnh-A `/fable-real`.
|
||||
- ✅ **VALID_ROLES đủ roster 12 (S110 anh-directed):** 2 monitor `tooling-auditor` · `harvest-curator` đã bổ sung vào `hmw.js` VALID_ROLES (10→12) — lệnh-B dùng được trọn roster. *(🧊 limitation cũ 10-vai + H6-design "monitor ngoài workflow" superseded điểm này; monitor vẫn INFORM-only, lane RETURN-only.)*
|
||||
- 🔒 **Honest-note (a/b):** bảo-đảm = **owner-gated tầng lệnh + kỷ-luật lead**, **KHÔNG code-enforced**; lệnh/alias = cách anh **gán vai nhanh**, hệ **KHÔNG tự chọn vai**.
|
||||
|
||||
## 🔴 Spec-file 3-mục BẮT BUỘC mỗi run (H21 ①)
|
||||
@ -31,7 +31,7 @@ Mỗi lần chạy engine-đắt PHẢI kết-tinh 1 spec theo pipeline **propos
|
||||
- 🔒 **Honest-note (d):** run **chấm/verify CŨNG sinh spec-file** (kế-hoạch xử issue = "cách làm" cần kết-tinh).
|
||||
|
||||
## 🔴 Guard ensemble (§K engine — 3 floor-fidelity)
|
||||
- **ảo-ensemble = N lane CÙNG 1 vai phán-quyết** (multi-lens trên 1 vai), **KHÔNG** mixed-roster fan-out (`hmw.js` VALID_ROLES = **10 vai** — 2 monitor ∉ list, xem limitation trên; KHÔNG gate vai — all-inherit **che** leak tới khi Fable về + phân-tầng).
|
||||
- **ảo-ensemble = N lane CÙNG 1 vai phán-quyết** (multi-lens trên 1 vai), **KHÔNG** mixed-roster fan-out (`hmw.js` VALID_ROLES = **12 vai** đủ roster từ S110; KHÔNG gate vai — all-inherit **che** leak tới khi Fable về + phân-tầng).
|
||||
- **N lane RETURN-only**; em-main **single-writer** (B3) ghi **1 MEMORY entry** đúng vai đó + **gắn nhãn engine đã dùng** (hmw SCHEMA `memoryDelta` KHÔNG field engine → em-main stamp @P3 harvest).
|
||||
- **Một vai = một trí-nhớ** dù N lane (chống AS-10 fragment N-lane).
|
||||
|
||||
|
||||
@ -21,8 +21,8 @@ argument-hint: (trống = bật mode · hoặc kèm task lớn đầu tiên)
|
||||
- **HMW (LỚN):** fan-out nhiều file/nguồn — sweep · audit · cross-stack review · mass migration · multi-source research. Số task THOẢI MÁI (harness queue theo slot, KHÔNG cap cứng) · spawn **ĐÚNG VAI** (`agentType` ∈ VALID_ROLES; role lạ → default subagent + cảnh báo).
|
||||
- **Thường (nhỏ):** <30min · 1–2 file · hỏi-đáp → Agent-tool spawn lẻ / solo theo `.claude/agents/README.md` decision-tree, KHÔNG HMW.
|
||||
|
||||
## VALID_ROLES (roster SOLUTION_ERP — 10 sub)
|
||||
`investigator-codebase` · `investigator-api` · `implementer-backend` · `implementer-frontend` · `test-specialist` · `reviewer` · `cicd-monitor` · `frontend-designer` · `database-agent` · `office-document` (+S107)
|
||||
## VALID_ROLES (roster SOLUTION_ERP — 12 sub, đủ roster từ S110)
|
||||
`investigator-codebase` · `investigator-api` · `implementer-backend` · `implementer-frontend` · `test-specialist` · `reviewer` · `cicd-monitor` · `frontend-designer` · `database-agent` · `office-document` (+S107) · `tooling-auditor` · `harvest-curator` (+S110 anh-directed — monitor vẫn INFORM-only, lane RETURN-only)
|
||||
> Role lạ ∉ list → `hmw.js` degrade về default subagent + WARN (fail-soft, KHÔNG crash). Windows MAX_PATH (Dropbox nested) → KHÔNG `isolation:worktree`.
|
||||
|
||||
## Quy trình HMW — vai trò từng phase
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
| `RC-pqhuy1987-20-06-2026-10-29-10` | `engine §E` (≙ §P) | Codify **User-Mark + chữ-ký RC** (Harness-12/13) — chữ-ký quyết-định governance + 4 cấp + no-cảm-tính deterministic + report-before-stamp | **pain:** quyết-định governance bị quên / giảm-bằng-cảm-tính (không chữ-ký+tier) · **volume:** SE tích-lũy Harness 1-14 cần audit-trail nhất-quán · **quality:** RC-sig = minh-oan + tranh-luận-bằng-bằng-chứng + trách-nhiệm-2-chiều | null | 🔖 **Active-High** (anh-confirm S79 · P4 dogfood: invest-wf→review-wf→báo-cáo→confirm→stamp) |
|
||||
| `RC-pqhuy1987-20-06-2026-10-29-11` | `rules.md §6.6 DM-time/age` (≙ §F4.2-ext / H-14) | **Mở-rộng mark-1** — time/age/recency-decay = **false-proxy** (cùng-họ team-size); kiến-trúc KHÔNG dựa cũ / lâu-chưa-dùng / auto-decay; trần budget=(dung-lượng÷tốc-độ-thay-mới) KHÔNG núm-decay-tuổi, drift=đường-nền-cuộn KHÔNG cửa-sổ-tuổi; **additive** (mark-1 GIỮ) | **pain:** cap∝chunk_count = Goodhart-vanity + age-window drift = alarm-spam (sự-cố thật H-14); SE memory-budget từng dễ mắc "giảm-theo-độ-cũ" · **volume:** 6 dự-án áp budget/drift/eval + SE L1/L2/L3 + archive-gate · **quality:** age-decay cắt memory-tốt = false-economy (DM-004 Goodhart §6.6) | null (additive) | 🔖 **Active-High** (anh-confirm S79 via `/user-mark-active-high` · P4 DACI · supersedes:null) |
|
||||
| `RC-pqhuy1987-20-06-2026-23-07-37` | `harness-11-engine.md §G` + `memory-budget.json` + `rules.md §6.6` (≙ AI_INFRA H-15) | **H-15 memory-budget per-agent (token-based):** token-governor (**v3 §G.5 S83:** Tầng-1 hot-feed per-role **lead 380K (v4 §G.5 S94 owner-override, SE-specific để chứa full read-set ~368K — lead KHÔNG còn AI_INFRA-parity)/mem-sub 60K/wf-sub 50K** (subs giữ parity) + **spawn-fill-to-budget** (sub Tầng-1 = MEMORY.md byte-cap + spawn-prompt giàu, `spawn_fill_directive`); **v2 §G.4 S82:** L2/L3 **bỏ-trần** on-demand + báo-% 2-đầu-phiên; con-số = **quyền CHỦ-DỰ-ÁN/anh** + AI thực-thi-đúng-số + báo-%) + **value-gated archival** (giữ recurring-bug/anti-pattern/gotcha bất-kể tuổi) + fill-L1-full (budget = sàn-tận-dụng KHÔNG trần-tiết-kiệm) + work-state-block @session-start + %-print 2-đầu-phiên + 2-governor (byte⟂token) | **pain:** tiết-kiệm-token → quên-việc/rơi-trạng-thái giữa phiên (sự-cố thật — Tầng-1 mỏng = lead quên việc nhiều phiên, bằng-chứng v2); SE keep-floor age-based có thể archive gotcha cũ ra khỏi L1 — value-gate FLAG đã bắt thật (test-specialist gotcha#/guard) · **volume:** 11-agent × (SÀN 30K + Tầng-1 hot-feed per-role lead 220K/mem-sub 60K/wf-sub 50K, v3 §G.5 full-parity) always-load/spawn + L2 archive ~240KB (cicd 194KB) cần value-protect · **quality:** quên-việc → làm-lại → tốn-hơn (Goodhart); giữ hard-won lessons | null (additive — mark `…11` GIỮ; H-15 mở-rộng value-axis xuống tầng-bộ-nhớ) | 🔖 **Active-High** (anh-confirm S81 · **v2-delta anh-confirm S82** `RC-pqhuy1987-21-06-2026-01-58-01` — hot-feed-lớn/bỏ-trần/anh-authority · **v3-delta anh-directed S83** `RC-pqhuy1987-22-06-2026-16-35-37` — full-parity 220/60/50 + spawn-fill-to-budget · **v4-delta anh-directed S94** `RC-pqhuy1987-29-06-2026-23-25-50` — lead 220K→**380K** SE-override để chứa full read-set ~368K (⚠️ ~97% fill = context-rot trade-off owner-accepted; trần budget ⟂ harness Read-25K/call → mega-line STATUS/HANDOFF VẪN cần re-tier mới Read-trọn), P4 DACI report-before-stamp ✓) |
|
||||
| `RC-pqhuy1987-03-07-2026-17-46-35` | `harness-11-engine.md §K` + `.claude/commands/fable-{real,clone}.md` + marker `.claude/fable-real-mode.on` (≙ AI_INFRA H-19) | **H-19 "model ảo" ensemble + thật/ảo depth-toggle cho 2 vị-trí phán-quyết** (reviewer=cổng-cuối · investigator-codebase=ground-truth). **3 floor-point:** (1) lead LUÔN top-model KHÔNG đụng · (2) CHỈ 2 vị-trí phán-quyết chạm top-model, CHỈ chế-độ THẬT do anh gõ lệnh (KHÔNG auto/số-dư) · (3) mọi vai khác giữ model mặc-định. ⚠️ **VACUOUSLY-MET-SE-today** (all-inherit → 2 vị-trí ĐÃ top-model → point-2 grant 0-runtime-delta; point-3 trivial vì SE 0 vai tier-thấp); value = future-proof floor + ensemble-designation + toggle governance-record — KHÔNG overclaim runtime-delta | **pain:** "quyết-theo-từng-tác-vụ dễ quên hạ-tầng" (sự-cố thật fleet đã RCA) → floor-record chống drift + audit-trail cho phép-2-vị-trí-top-model khi Fable về + phân-tầng · **volume:** 2 vị-trí × 2 mode × N-lane ensemble cần scope-guard (GAP-1 leak all-inherit che tới khi Fable về) · **quality:** anti-consensus-catch (dogfood S101 WF2 Lane-B bắt `workflows/README:51` sweep-sót, `f229b07`) > single-reviewer — ensemble-value = tầng phản-biện KHÔNG cost | null (additive — KHÔNG thay H8/bracket; THÊM ensemble+toggle) | 🔖 **Active-High** (anh-confirm S101 via AskUserQuestion "Formal adopt + RC-stamp" · P4 report-before-stamp: `/check-email`→WF1-investigate `wf_5f308fd8-744`→present→confirm→stamp) |
|
||||
| `RC-pqhuy1987-11-07-2026-20-42-01` | `harness-11-engine.md §K.E` + `.claude/commands/fable-{real,clone}.md` + `session-start BƯỚC 0.5b/0.6` (≙ AI_INFRA H-21 + model-tier-v3) | **H-21 engine-đắt PER-INVOCATION + spec-file kết-tinh + MTv3 lead owner-choice** (supersede-partial H19). **Sàn:** (1) engine-đắt CHỈ chạy trong lượt anh gõ `/fable-real\|/fable-clone <vai> <đề-bài>` — vai anh gán đích-danh ∈ roster 12, thiếu/sai → hỏi anh, lead KHÔNG tự ý (kể cả HMW-ON) · (2) mỗi run sinh **spec-file 3-mục** (engine propose → lead verify → LEAD ghi → worker hạng-hai thực thi theo spec, kể cả run chấm/verify) · (3) lead = **frontier-class do anh chọn per-session** {Fable 5 \| Opus 4.8 — 1M MAX}, CẤM Sonnet/Haiku-class ghế lead; owner-chọn-hạng-hai ≠ outage (0 caveat/0 revert-nghĩa-vụ), outage đóng → hỏi anh ĐÚNG 1 dòng · (4) 4 ghi-chú trung-thực a-d giữ nguyên nấc (owner-gated + kỷ-luật, KHÔNG code-enforced). K.C 3 GAP-guard + định-nghĩa 2 engine GIỮ từ H19 | **pain:** "quyết-theo-từng-tác-vụ dễ quên hạ-tầng" (kế thừa H19) + cách-làm bay hơi trong prompt → spec-file kết tinh git-tracked (sự-cố thật hub) + flip-chain dán nhãn outage khi thật ra owner-choice · **volume:** mọi lượt engine-đắt × 12 vai × 2 lệnh + BƯỚC 0.6 mỗi phiên + worker-pipeline theo spec · **quality:** audit-trail spec qua git + owner-gated chống auto-elevate + reviewer-Fable dogfood run-1 bắt 5 Major thật (M1 worker-đổi-fact · M2 boundary-gap → VALID_ROLES 12) | `RC-pqhuy1987-03-07-2026-17-46-35` (partial — floor-point 1/2 + marker-toggle; K.C + 2-engine GIỮ) | 🔖 **Active-High** (anh-confirm S110 via AskUserQuestion "Stamp mark MỚI thay mark cũ" · P4 report-before-stamp: `/check-email`→invest-Fable→spec→WF `wf_0c3b307f-a64`→reviewer-Fable PASS_WITH_FIXES→fix→present→confirm→stamp) |
|
||||
|
||||
## 🟢 ACTIVE (follow + nhắc-lại xuyên-suốt — HIỆN @session)
|
||||
_(trống)_
|
||||
@ -25,4 +25,7 @@ _(trống)_
|
||||
_(trống)_
|
||||
|
||||
## 📦 SUPERSEDED / DISABLED (ẨN khỏi session display — giữ audit-trail, KHÔNG xóa)
|
||||
_(trống)_
|
||||
|
||||
| ID (RC-signature) | §-target SE (≙ AI_INFRA) | What | objective-criteria (pain · volume · quality) | supersedes | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| `RC-pqhuy1987-03-07-2026-17-46-35` | `harness-11-engine.md §K` + `.claude/commands/fable-{real,clone}.md` + marker `.claude/fable-real-mode.on` (≙ AI_INFRA H-19) | **H-19 "model ảo" ensemble + thật/ảo depth-toggle cho 2 vị-trí phán-quyết** (reviewer=cổng-cuối · investigator-codebase=ground-truth). **3 floor-point:** (1) lead LUÔN top-model KHÔNG đụng · (2) CHỈ 2 vị-trí phán-quyết chạm top-model, CHỈ chế-độ THẬT do anh gõ lệnh (KHÔNG auto/số-dư) · (3) mọi vai khác giữ model mặc-định. ⚠️ VACUOUSLY-MET-SE-today lúc stamp; first-real-run S108 đóng nấc | **pain:** "quyết-theo-từng-tác-vụ dễ quên hạ-tầng" (sự-cố thật fleet đã RCA) · **volume:** 2 vị-trí × 2 mode × N-lane ensemble cần scope-guard · **quality:** anti-consensus-catch (dogfood S101 `f229b07`) | null (additive) | 📦 **SUPERSEDED-partial S110** bởi `RC-pqhuy1987-11-07-2026-20-42-01` (H21+MTv3 per-invocation — floor-point 1/2 + marker-toggle thay; K.C 3 GAP-guard + định-nghĩa 2 engine GIỮ SỐNG trong mark mới). Stamp gốc: anh-confirm S101 · P4 dogfood WF1 `wf_5f308fd8-744` + WF2 `wf_ed5b972f-a4d` |
|
||||
|
||||
@ -32,7 +32,7 @@ Phân biệt RAW (prefix `sub-`) vs VERIFIED (suffix `-synthesis.md`) bằng **T
|
||||
|
||||
## Quy trình RUN-TRACE (B1–B6)
|
||||
1. **B3 SCAFFOLD TRƯỚC (em main @P1):** tạo `runs/<run-id>/` + `run.md` (FLAT — KHÔNG cần `sub-md/`/`harvest/` subfolder hay `.gitkeep`; file `sub-*`/`*-synthesis.md` sinh phẳng cùng cấp khi fan-out chạy). *(🧊 bước "ghi OPEN-beat vào `runs/_ledger.md`" retired H18-B S100 — orphan-authority = folder-scan.)* ⚠️ `hmw.js` chạy JS-sandbox **no-filesystem** → KHÔNG tự tạo folder; **em main Write @P1** TRƯỚC khi invoke Workflow. (Đây là fragile-point — quên scaffold = run mất dấu-vết âm-thầm; xem `runs/README.md` §C7.)
|
||||
2. **B1 spawn-from-real-sub:** mỗi task `role ∈ VALID_ROLES` (10 sub) → workflow-agent = sub THẬT (`agentType` inherit memory-pack slice + skill identity), KHÔNG agent vô-danh.
|
||||
2. **B1 spawn-from-real-sub:** mỗi task `role ∈ VALID_ROLES` (12 sub — đủ roster từ S110, +2 monitor anh-directed) → workflow-agent = sub THẬT (`agentType` inherit memory-pack slice + skill identity), KHÔNG agent vô-danh.
|
||||
3. **B4 phân-quyền TOOL-AWARE:** `hmw.js` inject vào prompt mỗi sub đường-dẫn `runs/<run-id>/sub-<role>-<i>.md` (phẳng) + lệnh ghi ĐÚNG file đó.
|
||||
- **Write sub (CÓ Write/Edit):** implementer-backend · implementer-frontend · test-specialist · frontend-designer → ghi-direct sub-MD via Write/Edit.
|
||||
- **Read-only sub (CHỉ Bash):** investigator-codebase · investigator-api · reviewer · cicd-monitor → 🔴 KHÔNG Bash-write MD (mojibake) → full-detail vào `findings` + `subMdPath` → **em main scribe @P3** (single-writer).
|
||||
|
||||
@ -25,6 +25,8 @@ const VALID_ROLES = [
|
||||
'test-specialist', 'reviewer', 'cicd-monitor', 'frontend-designer',
|
||||
'database-agent', // +S57 — S56 dùng 3× qua fail-soft WARN; read-advisory DB lens (DB1-DB11)
|
||||
'office-document', // +S107 — Office document WRITE specialist (OD1-OD10; docx/xlsx/pptx/pdf + form-engine)
|
||||
'tooling-auditor', 'harvest-curator', // +S110 anh-directed (H21 roster-parity lệnh-B ensemble; supersede
|
||||
// điểm H6-design "monitor ngoài workflow" — monitor VẪN INFORM-only, lane RETURN-only nên không xung đột)
|
||||
]
|
||||
|
||||
// ─── H8 all-inherit top-tier (Harness-8 adopt 2026-06-16 — thay thế two-tier H4.5) ──
|
||||
|
||||
Reference in New Issue
Block a user