All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m11s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.6 KiB
5.6 KiB
sub-task-0 — D3: tạo 2 command file /pause + /tiep (Harness-22 WAL session-continuity)
Role: implementer (Write tool) · Scope: CHỈ 2 file MỚI + file này. Không đè gì.
Nguồn FROZEN đã đọc: broadcasts/inbox/2026-07-11-Governance-harness-22-wal-session-continuity.md (§4 dòng 101-120 + §6 dòng 130-140). KHÔNG tự đọc spec-file (nhận phần liên-quan qua prompt).
Format mẫu: .claude/commands/send-email.md dòng 1-4 (frontmatter description: + argument-hint:).
Deliverables (2 file MỚI — đều ?? untracked, xác-nhận không đè)
| File | Dòng | Nội-dung |
|---|---|---|
.claude/commands/pause.md |
47 | /pause — chốt điểm dừng chủ-động, 5 bước tuần-tự + bất-biến + con-trỏ /tiep |
.claude/commands/tiep.md |
42 | /tiep — recovery MỘT đường, 4 bước + nhánh wf: + khối CẤM |
Cả 2 file tự-động đăng-ký thành slash-command (hệ báo skill
pause/tiepxuất-hiện sau Write) → frontmatter hợp-lệ, well-formed.
Port-fidelity map → broadcast (trung-thực, không bịa)
pause.md ← §4 phần /pause (broadcast dòng 103-111)
- Bước 1 (dòng 15-17) ← BC 105: NGỪNG spawn; sắp-xong <~2' → chờ+harvest-liền; còn lâu → KHÔNG chờ, WAL
[!]đủ trường, workflow = dòngwf:5-trường (port nguyênwf:<mục-đích> run= runId= args= done=k/N harvested=no). - Bước 2 (dòng 19-21) ← BC 106: flush dirty; ghi-chú-dở dài để run-folder/work-state, KHÔNG nhét vào WAL.
- Bước 3 (dòng 23-27) ← BC 107 + §2 (BC 34-37): chain kèm BẰNG-CHỨNG ·
next:1 mệnh-lệnh ·verify:lệnh chạy-được cho từng[!]· ghi-đè toàn-file ≤40 dòng · CẤM secret. - Bước 4 (dòng 29-32) ← BC 108: commit ĐÍCH-DANH (WAL + path persist + file dở) msg
wal: pause· TUYỆT ĐỐI KHÔNGgit add -A· KHÔNG push [Dropbox.gitcloud-sync = local durable]. - Bước 5 (dòng 34-42) ← BC 109: báo goal / mục
[!]đầu / workflow bỏ lại / "an-toàn để thoát, đổi acc, tắt máy" → DỪNG HẲN. - Bất-biến (dòng 45) ← BC 111: commit bước-4 TRƯỚC tuyên-bố bước-5.
- Con-trỏ (dòng 47) ← §7 mục 5 (BC 154): "Nối lại =
/tiep(MỘT đường recovery duy-nhất)".
tiep.md ← §4 phần /tiep (BC 113-120) + nhánh wf: §6 (BC 130-140)
- Bước 1 (dòng 14-15) ← BC 115: đọc WAL; không tồn-tại / chain toàn
[x]→ "không có mạch dở" DỪNG SẠCH. - Bước 2 (dòng 17-20) ← BC 116 + SE-tailor N9: chạy TOÀN BỘ
verify:VÀ đọcgit status+ disk run-folder (per-turn≠per-task: returns mất được nhưng per-agent-file trên đĩa còn) — đây là delta SE thêm theo prompt, so chain. - Bước 3 (dòng 22-24) ← BC 117: LỆCH → TIN GROUND-TRUTH (sửa WAL, báo lệch, rồi mới chạy) · KHỚP → thực-thi từ
next:, nối chain thứ-tự. - Bước 4 (dòng 26-32) ← BC 118 + §6 (BC 137-138): mục
wf:→ recovery-workflow: đọc run-folder +## taskList snapshottrong run.md; grep run-id trong log-phiên (glob — grep ĐÍCH-DANH, KHÔNG nạp toàn transcript); harvest-hồi-tố partial-honest; RELAUNCH đã-cắt-gọt chỉ task CÒN LẠI + memory-pack DẪN-XUẤT-LẠI TƯƠI (CẤM snapshot pack cũ); resume-by-run-id = bonus SAME-SESSION-ONLY, CẤM claim cross-session. - Khối CẤM (dòng 38-40) ← BC 120: CẤM giả-định bước xong nếu
verify:không chứng-minh · CẤM nạp lại transcript cũ (WAL+ground-truth đủ; thiếu → HỎI anh). - Field
session:(dòng 42) ← BC 120: khác phiên = BÌNH-THƯỜNG (use-case); chỉ cảnh-báo nếuupdated:mới hơn lúc phiên hiện-tại bắt đầu (dấu phiên song-song).
Dead-ends né được (checklist X)
- X4 (rewrite commit đã-push): pause.md chỉ "KHÔNG push" + rationale Dropbox-durable. KHÔNG hề nhắc squash/reset/rewrite (đó là §5 delta = task khác). ✅
- X8 (WAL append / >40 / secret): pause.md bước-3 ghi rõ "ghi-đè toàn-file (KHÔNG append), cứng ≤40 dòng, CẤM secret". ✅
- X5 (claim hook 'đang chạy'): 2 file KHÔNG nhắc Stop-hook. Commit bước-4 là commit THỦ-CÔNG của lệnh
/pause, độc-lập hook. ✅ - X1/X7/X10: không đụng hmw-mode/BƯỚC-0.5/ultra-*/hmw.js; file MỚI nên không renumber gì. ✅
- Isolation: git-status → chỉ
.claude/commands/pause.md+.claude/commands/tiep.mdlà??do tôi tạo; các M/?? khác (session-*.md, .gitattributes, hooks/, settings.json, CLAUDE.md, rules.md…) = sibling D-task, KHÔNG do tôi. ✅
Acceptance (row #3) — grep-count evidence
| Check | Kết-quả | Line |
|---|---|---|
pause.md frontmatter description: |
PASS | L2 |
pause.md wal: pause ≥1 |
PASS (3×) | L2, L29, L30 |
pause.md git add -A ≥1 (câu CẤM) |
PASS (1×) | L31 "TUYỆT ĐỐI KHÔNG git add -A" |
pause.md trỏ /tiep |
PASS (5×) | L47 con-trỏ cuối "Nối lại = /tiep" |
tiep.md frontmatter description: |
PASS | L2 |
tiep.md transcript ≥1 (câu CẤM) |
PASS (2×) | L40 "CẤM nạp lại transcript cũ" + L29 |
tiep.md ground-truth ≥1 |
PASS (3×) | L17, L40 (lowercase), L2 |
tiep.md wf: ≥1 |
PASS (3×) | L2, L26, L27 |
| tiep.md nhánh WAL-rỗng-dừng-sạch | PASS | L15 "chain toàn [x] → 'không có mạch dở' → DỪNG SẠCH" |
tiep.md git status ≥1 |
PASS (4×) | L19, L23, L40, L2 |
Verdict: 10/10 acceptance PASS. 2 file well-formed (auto-đăng-ký slash-command), port trung-thực, isolation sạch.