Files
solution-erp/.claude/auto-memory/feedback_harness10_run_trace.md
pqhuy1987 23bbe97f39
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m26s
[CLAUDE] Docs: S124 adap-wave AI_INFRA + owner worker-tier-pin (14 agent opus+effort:max) + user-memory relocate R6 + H24 dogfood
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 23:17:45 +07:00

5.3 KiB

name, description, metadata
name description metadata
feedback_harness10_run_trace Harness-10 adopt (S71 subfolder → S72 FLAT-refine) — git-tracked run-trace folder runs/<run-id>/ supersedes wave-folder; flat files (sub-<role>-<i>.md + <stage>-synthesis.md, no subdir); containment flip; engine-no-fs + raw-Workflow≠wrapper-guard (RECURRED S72) + check-ignore-trap + detector-tailored-out lessons
node_type type originSessionId
memory feedback d7c06b2a-d42b-40f4-8b93-edc1780fbcef

Adopt AI_INFRA Harness-10 (S71, 2026-06-18, commit 8c47bd0) — quy ước thư mục lưu-vết mỗi workflow run. Supersedes Harness-2 wave-folder (feedback_harness_123_adoption bullet wave-mode).

Cốt lõi: mỗi workflow run → .claude/workflows/runs/<run-id>/ git-TRACKED, cấu-trúc FLAT (S72 refine h10-flat-detector-refine): file phẳng cùng cấp run.md (plan) + sub-<role>-<i>.md (per-sub RAW, prefix sub-) + <stage>-synthesis.md (gom VERIFIED, suffix) — phân biệt bằng TÊN, KHÔNG subfolder. (S71 dùng sub-md/+harvest/ subdir; S72 migrate flat — engine chỉ tạo file 1-cấp tự-nhiên, bỏ điểm-quên-dựng-subdir; 5 run cũ GIỮ subfolder, close-gate dual-accept C8.) + _ledger.md 2-nhịp (OPEN-beat lúc mở / CLOSE-beat lúc đóng; orphan = OPEN-không-CLOSE → giải-quyết-cứng). 3-layer anti-miss: L1 (em-main @P1 đọc ledger — run trước closed=⏳ chưa-harvest → harvest+CLOSE TRƯỚC khi mở run mới) · L2 (session-start scan runs/* orphan) · L3 (session-end close-gate idempotent VERIFY-không-re-APPEND, chống DUPLICATE-HARVEST).

Containment model FLIP: Harness-2 B6 "wave-*/ gitignored → mọi tracked-change post-workflow = stray-write" → Harness-10 "run-folder TRACKED → HIỆN trong git-diff = audit trực-tiếp; tracked-change NGOÀI runs/<run-id>/ + code-disjoint đã giao = vi-phạm". Mạnh hơn (sub-MD writes giờ thấy trong diff). G-015 giữ: TRACKED ≠ read-only-enforced (sub vẫn Bash); containment THẬT = em-main single-writer + git-diff + chunk-count.

Why: wave-folder gitignored = "vật-chất-tối" thứ 2 (như L2 archive feedback_harness9_l2_recovery_2workflow_adap) — không truy được lại đã làm gì. Tracked run-folder = audit-trail bền.

How to apply (3 lesson hard-won S71):

  1. Engine no-fs → scaffold = em-main @P1 = fragile-point (C2). hmw.js JS-sandbox KHÔNG tạo folder/ghi file → run-trace dựa 100% vào em-main Write @P1. Quên scaffold = lỗ-hổng âm-thầm (run OK, chỉ mất dấu-vết, KHÔNG lỗi runtime để bắt). 3-layer = LƯỚI muộn, KHÔNG khoá-cứng-lúc-fire.
  2. Custom workflow (≠ hmw.js) PHẢI copy return-delta-guard. hmw.js DEFAULT-mode cấm sub tự-ghi MEMORY (return-delta-only → em-main APPEND). Workflow tự-soạn thiếu guard → parallel same-role subs đua ghi MEMORY.md chung ("file modified since read") + bloat over-cap — chính là cái gây G1 curate S71 (4 investigator + 3 reviewer tự-ghi → reviewer 36.7KB/inv 29.8KB). Custom script PHẢI tự thêm guard hoặc dùng file-disjoint 1-sub/file. RECURRED S72 (confirm lesson real): chạy REVIEW qua RAW Workflow tool (KHÔNG qua hmw.js wrapper) → KHÔNG inject writeGuard → 1 reviewer tự ghi agent-memory/reviewer/MEMORY.md (+2850B over-cap) → em-main git-status containment-check BẮT @session-end + revert (record ở run-trace, B3 restored). → dùng RAW Workflow tool = MẤT governance của project-wrapper (writeGuard/return-delta); phải dùng hmw.js HOẶC replicate guard trong prompt raw-Workflow.
  3. check-ignore exit-code (CORRECTED — đừng nhớ nhầm): plain git check-ignore X exit 1 cho path negation/re-included (KHÔNG phải 0). Chỉ git check-ignore -v --no-index mới cho 0 ở CẢ negation lẫn ignore. Verify đúng: git check-ignore X && echo IGNORED || echo NOT (idiom cho verdict đúng) HOẶC git ls-files X non-empty (= committed). C3 2-level: tracked-eligible (check-ignore NOT-IGNORED) ≠ committed (git ls-files ra file) — phải git add mới đủ nấc.

S72 thêm (flat-refine + checklist-v2 adopt, re-audit 3-workflow): (a) detector chống-lách-engine (refine-b) TAILORED-OUT cho SE — SE chạy qua Anthropic Workflow tool (KHÔNG có CLI-launcher để lách như node-CLI) → bypass-surface ~N/A; containment hiện-hữu (git-diff + tracked-run + ledger orphan-scan G-015) đã phủ; refine nói detector = project-internal-choice → SE document tailored-out, KHÔNG cargo-cult build (anh chốt). (b) dogfood B2 value chứng-minh THẬT: REVIEW workflow RIÊNG bắt 2 lỗi IMPLEMENT-self-assess sót (hmw.js:52 schema-stale-path + sleep-cmd auto-check un-wired overclaim) → 1-workflow-tự-chấm SẼ ship cả 2. (c) /sleep-recovery-memory-l2 port §J2-tailored SE-only (A8) — sleep all lần đầu = NO-OP (mọi period đã gisted S70/S71; guards fired đúng). 3 run-id S72: audit wf_13868efb / implement wf_ac43b5ff / review wf_d482e10d. adap-report 2026-06-18-Governance-harness-10-flat-refine-checklist-v2 + email 5f511fe5.

Link: feedback_harness9_l2_recovery_2workflow_adap · feedback_workflow_fanout_reliability · feedback_agent_kill_recovery · feedback_monitor_residual_write_containment.