- Owner 3-quyết: (30) JUMP để-nguyên-theo-nhịp · (31) 4 persona +NEVER-block (restart ĐÃ THOẢ) · (32) vòng 1→5 AUTO — lô consent gỡ 9 site (5 H1 + ring1-tự-bắt + 3 trio; E-013 EXT) - Memory-ops TRỌN: A1-A4/D1/D2/R1/B-series — A7 392/392 · mfe 20/20-100% lần đầu · lead-gap drain 24.728→16.485B · strike-ledger + WARN-latch (-Ack = owner-action) - V4 sleep AUTO đầu: 1 shard thật/16 KÊU · ring4 đầu-đời TRƯỢT-4/5 → 4 fix gist (scribe sub-ring4-close vì return-only) - Thư model re-stamp: 59ce1d0f → 9c909007 published (G-024a) — adap-report Đính-chính @S152 + sweep 13 bề-mặt LIVE - Bookend @close: stale 6 FLAG + gap 2 FLAG → vá 8/8; ring2 8/8 ĐẠT (4-A pin-bản-cắt → slot 33) · ring1 48Đ/5T/59-claim - M9 13 đơn-vị diary (3 S151-deep hồi-tố) · #53 ×10-chắc → tally 60-cận-dưới + errata subject-1b85713 - Session-log 2 run= + completeness-gate 5-vòng ĐẠT · HANDOFF segment S152 (carry 3-đóng/3-mới/23-giữ; slot 33/34) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
8.8 KiB
description, argument-hint
| description | argument-hint |
|---|---|
| BẬT HMW-mode SOLUTION_ERP — task LỚN chạy Workflow fan-out (roster ĐẦY-ĐỦ — số vai canonical ở docs/STATUS.md §Sub-agents, KHÔNG chép số) + sub giữ ký ức slice + verify-before-memory-write (no-overwrite-unverified) + harvest LIỀN sau mỗi workflow. /ultra-off để tắt. Gõ = anh CONSENT chạy Workflow (deliberate on-ramp). | (trống = bật mode · hoặc kèm task lớn đầu tiên) |
/ultra-on — BẬT HMW-mode (SOLUTION_ERP)
Cặp
/ultra-off. 🔴 restart Claude Code sau khi tạo/sửa (command.mdno hot-reload). Gõ lệnh này = CONSENT chạy Workflow fan-out · scope CHỈ repo SOLUTION_ERP (S1 — KHÔNG fan-out repo/corpus khác) · workflow-agent = worker-tier-pinopus+effort:max(role-có-frontmatter, S124; lead = DEFAULT Opus 5 MAX (thư9c909007@S149 (re-stamp 07-25 G-024a; pre59ce1d0f) — 🧊 MTv3 owner-choice-per-session S110 superseded-VALUE; Fable =/modelđầu phiên hoặc/fable-real); role-less→inherit lead S63; Fable qua /fable-real). Mode persist qua marker:/ultra-on→ em main tạo.claude/hmw-mode.on(Write) + vào mode → SỐNG qua session/compact./ultra-offxóa./session-startđọc marker → BÁO anh ON/OFF (khỏi quên đang ở mode đốt-token). marker = source-of-truth · gitignored (KHÔNG commit — tránh mode kẹt-ON khi clone = on-ramp ungoverned).
Task đầu (nếu có): $ARGUMENTS
🚦 Keyword = QUYỀN, KHÔNG phải LỆNH (T4 — bài học 515K-token false-trigger)
- Chữ "workflow" / "ultracode" trong câu anh HOẶC trong reminder harness = MỞ QUYỀN hỏi (eligibility-to-ask), KHÔNG auto-run Workflow.
- Mode-OFF + anh nói "chạy workflow" → em main TỪ CHỐI + nhắc anh gõ
/ultra-on, KHÔNG tự chạy. - 🔴 CẤM dùng native
/effort ultracode(nó auto-author+run workflow MỌI task — KHÔNG checkpoint / KHÔNG memory-harvest / KHÔNG scope-guard = ngược thiết kế). HMW = home-built orchestrator-workers, marker-gated. - 🟢 H6.1 (governed-ultracode, adopt S63) — mode-ON = auto-HMW: mode ON → task SUBSTANTIVE (≥2 bước độc-lập · multi-file · sweep/audit/review/migration/research/verify-heavy) em main TỰ author+chạy Workflow (KHÔNG cần anh gõ "workflow"; marker-ON = standing consent — vẫn checkpoint INFORM
{số agent·vai·task}rồi chạy NGAY). Task TRIVIAL / governance-authoring single-writer → solo (chống token-nổ). Ranh giới = "workflow có giúp THẬT không"; nghi-ngờ nghiêng workflow, KHÔNG workflow 1-câu-hỏi-đáp. = lấy sự-tiện native ultracode + GIỮ guard HMW. (H6.7 role+memory-fidelity ĐÃ là floor sẵn:agentType ∈ VALID_ROLES+memoryDelta→agent-memory single-writer B3.)
Phân loại (em main mỗi task)
- 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ạ ∉ VALID_ROLES →hmw.jsTHROW STOP-HARD + báo owner (REC-3 2026-07-13); role-less null → inherit lead). - Thường (nhỏ): <30min · 1–2 file · hỏi-đáp → Agent-tool spawn lẻ / solo theo
.claude/agents/README.mddecision-tree, KHÔNG HMW.
VALID_ROLES (roster SOLUTION_ERP — số vai canonical → docs/STATUS.md §Sub-agents, B1 KHÔNG chép số ở đây)
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) · lead-stale-auditor · lead-gap-auditor (+S121 W2 — 2 monitor H24 lead-self-audit, INFORM-only propose-only; class-flag = enum ĐÓNG lead_self_audit.flag_classes ở .claude/agent-memory/memory-budget.json, nhịp = h24_cadence cùng file)
Role lạ ∉ VALID_ROLES →
hmw.jsTHROW (STOP-HARD) + báo owner thêm vai (REC-3 2026-07-13; fail-soft cũ "đứt âm-thầm" đã bỏ); role-less null → inherit lead. Windows MAX_PATH (Dropbox nested) → KHÔNGisolation:worktree.
Quy trình HMW — vai trò từng phase
| Phase | Ai | Làm |
|---|---|---|
| P0 prep | 👤 em main | đọc MEMORY sub liên quan → memory-pack SLICE/vai (KHÔNG full) + taskList + chụp chunk-count Qdrant baseline + git status sạch |
| P1 decide | sub liên quan (full memory) | recommend approach + acceptance-checklist → em main chốt plan |
| 🔴 P1-run scaffold | 👤 em main | BẮT BUỘC khi taskList.length ≥ 3 (Sàn-1 H22, cơ-khí-hoá S121 W2): scaffold .claude/workflows/runs/<run-id>/ (TRACKED) + run.md kèm ## taskList snapshot → truyền args.run = { name, dir }. Thiếu cờ + ≥3 task ⇒ hmw.js THROW STOP-HARD. Script chạy JS-sandbox KHÔNG filesystem ⇒ tự nó không tạo folder được ⇒ đây là lý-do gate nằm ở em-main chứ không ở script. Bỏ qua ⇒ chết giữa run là mất trace (per-turn returns chết theo phiên; chỉ file trên đĩa sống sót) ⇒ /tiep §4 phải chạy lại TỪ ĐẦU thay vì cắt-gọt. 🔸 Ngưỡng "hoặc ước >5 phút" KHÔNG cơ-khí-hoá được ⇒ phần đó là kỷ-luật lead. 🔸 raw Workflow/Agent tool = kẽ CÒN-LẠI không gate được từ đây |
| ⏸ checkpoint (inform) | 👤 em main | BÁO {số agent · vai · task} @inform → set args.checkpointApproved=true → fan-out NGAY (marker-ON=consent; anh interrupt nếu sai — KHÔNG chờ confirm từng lần) |
| P2 execute | Workflow hmw |
fan-out agent: memory-pack injected qua args + agentType + schema. DEFAULT read/analyze; write = file-disjoint. worker-tier-pin (S124): role-có-frontmatter = opus+effort:max · role-less→inherit lead · per-task tier:'opus' escape-hatch (tier:'fable' CHỈ trong lượt lệnh engine-đắt anh gõ — H21 S110; H23-precedence ĐO S126: spawn-param THẮNG pin ⇒ /fable-real sống) |
| P3 harvest | 👤 em main (single-writer) | NGAY sau P2 → VERIFY delta + APPEND-only vào MEMORY.md mọi agent tham gia (B3) |
| P4 final | sub quality (full memory) | reviewer PASS/FAIL · cicd-monitor drift · investigator verify · implementer/test scope → return delta |
| → | 👤 em main | synthesize + git-diff + chunk-count check + commit (anh OK) |
🧠 KỶ LUẬT KÝ ỨC (cốt lõi — M1..M5 + R1)
- B1 (M1) có ký ức: agent vai X ← memory-pack slice của đúng sub X (qua
args; script KHÔNG đọc file — lead đọc.claude/agent-memory/X/MEMORY.md@P0 rồi bơm @P2). KHÔNG full memory. - B2 (M4) đúng chỗ + harvest-LIỀN: delta vai X →
.claude/agent-memory/X/MEMORY.md. Harvest NGAY sau MỖI workflow (KHÔNG gom cuối session) → memory mọi agent fresh TRƯỚC lần spawn kế. Tốc-độ KHÔNG override B3. - B3 (M3) KHÔNG ghi đè nếu chưa kiểm tra: em main = single-writer, VERIFY delta → APPEND-only; KHÔNG overwrite/sửa/xóa entry cũ trừ khi verified; delta nghi ngờ → pending-verify (không nhập). (Generalize: memory cũ = tài sản.)
- R1 return contract: mỗi agent return
findings+memoryDelta{task,verdict,learned,surprise}(bắt buộc) +checklistEvidence(tùy). Agent CHỈ return — KHÔNG tự ghi ký ức kênh nào. - M5 prereq (verify-ONLY, KHÔNG re-author):
store_memoryđã strip khỏi MỌI sub (broadcastMemory-store-memory-strip-global, applied S47) → kênh RAG-write mechanized-blocked. Re-verify intact:grep store_memory .claude/agents/*.md→ 0 ở dòngtools:.
🔴 Enforcement THẬT (G-015 — KHÔNG overclaim)
- Mechanized = CHỈ
store_memorygỡ khỏi allowlist (tool RAG-write đó không-gọi-được). KHÔNG = agent "read-only". - "KHÔNG ghi file MEMORY.md" = prompt-rule, CHƯA mechanized — sub vẫn giữ
Bash(+Write/Editvai write) = kênh ghi MỞ (Bash ghi file bất kỳ / curl thẳng Qdrant:6333). - Containment thật = defense-in-depth:
git diffpost-P2 (bắt file-write) + chunk-count Qdrant pre/post-P2 (bắt RAG-write). Lỗ residual (ghi ngoài-repo / Qdrant net-zero-delta) → sandbox / strip-Bashkhỏi vai read-only = defer (Bash cần cho audit).
Guards: S1 scope-repo-mình · S2 checkpoint-throw (hmw.js GIỮ anti-accidental) · S3 sub-KHÔNG-spawn-sub · B3 + harvest-liền · git-diff + chunk-count post-P2 · same-model · số-task-thoải-mái + spawn-đúng-vai · KHÔNG bỏ P3.