Files
solution-erp/.claude/commands/ultra-on.md
pqhuy1987 cf908f5276 [CLAUDE] Infra: adopt AI_INFRA HMW-governance broadcast — ultra-on/off toggle + hmw.js checkpoint-gate + memory-safety (S49)
adap-apply 2026-06-03-Agent-ultracode-hmw-mem-governance (reviewer_gate PASS).
PROJECT-FIT=ADOPT tailored: SE 8-agent roster. nac=executed-file (verified-pending restart+spawn-test).

- T1/T2 toggle: .claude/commands/ultra-on.md + ultra-off.md; marker .claude/hmw-mode.on gitignored (T2 non-negotiable).
- T3: session-start BUOC 0.5 reads marker -> reports ON/OFF.
- S2/S3/S4: .claude/workflows/hmw.js P2 fan-out — checkpointApproved throw (mechanized), args JSON.parse-guard, role-whitelist fail-soft, VALID_ROLES=8 SE agents, sub-no-spawn-sub, return schema findings+memoryDelta 4-field (R1).
- M1-M5: B1 slice-inject / M2 return-delta-only / B3 single-writer append-only / B2 harvest-lien / M5 store_memory-strip re-verified intact (0 tools-grant).
- agents/README.md +HMW governance section (VALID_ROLES source-of-truth) + adap-report 5-field LOCK.

Test 181 unchanged (no .cs/.tsx). CI-skip (all .md/.js/.gitignore).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 13:15:03 +07:00

5.9 KiB
Raw Blame History

description, argument-hint
description argument-hint
BẬT HMW-mode SOLUTION_ERP — task LỚN chạy Workflow fan-out (8-agent roster) + 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 .md no 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) · same-model Opus 4.8 inherit mỗi agent. Mode persist qua marker: /ultra-on → em main tạo .claude/hmw-mode.on (Write) + vào mode → SỐNG qua session/compact. /ultra-off xó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.

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ạ → default subagent + cảnh báo).
  • Thường (nhỏ): <30min · 12 file · hỏi-đáp → Agent-tool spawn lẻ / solo theo .claude/agents/README.md decision-tree, KHÔNG HMW.

VALID_ROLES (roster SOLUTION_ERP — 8 sub)

investigator-codebase · investigator-api · implementer-backend · implementer-frontend · test-specialist · reviewer · cicd-monitor · frontend-designer

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

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
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. inherit Opus
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 (broadcast Memory-store-memory-strip-global, applied S47) → kênh RAG-write mechanized-blocked. Re-verify intact: grep store_memory .claude/agents/*.md0 ở dòng tools:.

🔴 Enforcement THẬT (G-015 — KHÔNG overclaim)

  • Mechanized = CHỈ store_memory gỡ 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/Edit vai write) = kênh ghi MỞ (Bash ghi file bất kỳ / curl thẳng Qdrant :6333).
  • Containment thật = defense-in-depth: git diff post-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-Bash khỏ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.