Files
solution-erp/.claude/governance/reinject-ledger.md
pqhuy1987 18a17f5498
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m8s
[CLAUDE] Docs: adopt Harness-17 memory self-improvement loop (Đo→Tinh-chỉnh→Kiểm) — 2-workflow, 0 prod code
- engine §I codify 10 red-floor: A1 HCV/A2 load-fid/B1 signal→action/B2 CG-1 termination/B3 build-gap-vs-floor-rot/C1 spec-audit/C2 spot-check/C3 single-writer/C4 provenance/CG-2 age-exempt
- REUSE-cite (no rebuild): A2=§H MFE · C3=D9 · CG-2=§G.2b value_protect · archive=§A
- new mechanized: scripts/memory-selfimprove-audit.ps1 (C1 spec-audit NO-API exit-0, runtime-verified — bắt frontend-designer over-cap GAP thật)
- new: .claude/governance/reinject-ledger.md (B2 CG-1 git-tracked append-only N=3, tách khỏi budget.json)
- wire session-start §2.1.7 (loop-DÒ) + session-end §L.b(c) (loop-REFINE)
- vocab: HCV alias no-seed (coverage 3-way) + governance-detectors C3-comment; cap-fix 220K→380K-pointer
- 2-workflow (Harness-9): WF1 wf_f085d7c4-d78 (ground-truth) + WF2 wf_8e73c1d6-ee6 (3-lane PASS 0-blocking)
- adap-report + checklist-pointer + email AI_INFRA (hash 54789e19, hash-verified self-consistent)
- dogfood: WF1 agent self-write MEMORY.md reverted (D9/AS-10 containment; archive missing → saved 8.5KB)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 09:11:46 +07:00

3.9 KiB

REINJECT-LEDGER — Harness-17 CG-1 termination ledger (SOLUTION_ERP)

Sổ-ghi chốt-dừng (termination) cho vòng tự-cải-thiện bộ-nhớ (Harness-17 §I). Ghi mỗi lần một mục-sàn floor-rot (đã-từng-ở-hot-mem nay RỚT) được reinject verbatim trở lại L1 — để CG-1 chặn reinject-loop vô-hạn.

🔴 Vì sao file RIÊNG (không nhét vào memory-budget.json): memory-budget.json = quyền cấp-ngân-sách của anh (project-owner) — MFE + audit chỉ đọc token_governor, KHÔNG ghi (ranh-giới §G.4(4), mark RC-…21-06…01-58-01). Trộn reinject-state vào đó = AI lấn quyền cấp-ngân-sách. Ledger này = git-tracked · append-only · single-writer em-main (D9) — mirror provenance-model của ACTIVE-MARKS.md. NEVER overwrite dòng cũ.

CG-1 rule (chốt-dừng — H17 mục B2)

  • Mỗi item-id được reinject TỐI-ĐA 1 lần trong N phiên (SE solo-dev: N = 3). N nhỏ hơn multi-dev vì solo = 1 người-điều-phối, feedback-loop nhanh (đủ 3 phiên để work-state block bơm lại "ngấm").
  • Sau reinject, phiên MFE kế đo-lại: nếu mục ĐÃ hiện diện lại trong L1 → status=resolved, đóng chu-kỳ (KHÔNG reinject nữa).
  • Nếu đo-lại VẪN thiếuKHÔNG tự-reinject lần-2 (KHÔNG ghi attempt=2). Thay vào → status=escalated + báo anh (project-owner): có thể build-gap (cơ-chế bơm chưa đủ — cần extend) HOẶC cần anh quyết tăng-budget / đổi-placement (mirror MFE H3 2-ca: thiếu-CHỖ→tăng-budget-anh-quyết vs rot→sắp-xếp-lại). AI KHÔNG tự-loop.
  • Chỉ floor-rot mới vào ledger này (phân-loại qua phép-thử B3 §I): item ĐÃ-từng-tồn-tại ∩ CÒN-giá-trị ∩ RỚT-khỏi-L1. Item chưa-từng-dựng = build-gap (đi dựng cơ-chế, KHÔNG reinject). Item hết-giá-trị = để cold-archive (rớt đúng-đắn).

Schema (mỗi dòng = 1 chu-kỳ reinject; append newest xuống cuối)

Cột Nghĩa
item-id id ổn-định mục-sàn rớt (RC-sig · AS-N · gotcha #N · guard-name)
source file canonical chứa verbatim (ACTIVE-MARKS.md · error-ledger.md · gotchas.md)
detected phiên MFE/audit phát-hiện floor-rot (S<NN>)
reinjected phiên em-main reinject verbatim (S<NN>)
attempt lần thứ mấy (rule ≤1 trong N=3; nếu cần lần-2 → escalate, KHÔNG reinject)
remeasured phiên MFE đo-lại sau reinject (S<NN>)
status reinjectedresolved (đo-lại đủ) HOẶC escalated (đo-lại vẫn thiếu → anh quyết)

Cách đọc (ví-dụ minh-hoạ — KHÔNG phải dòng thật): | gotcha #57 | docs/gotchas.md | S96 | S96 | 1 | S97 | resolved | = chu-kỳ đóng đúng: S96 audit FLAG gotcha #57 rớt khỏi L1 → em-main APPEND verbatim từ gotchas.md → S97 đo-lại thấy lại → resolved, dừng. Chu-kỳ escalate: reinject attempt=1 @S96 → S97 đo-lại VẪN thiếu → status=escalated, báo anh (build-gap? tăng-budget? đổi-placement?) — KHÔNG ghi attempt=2.

Ledger (append-only — single-writer em-main)

item-id source detected reinjected attempt remeasured status
(chưa có floor-rot nào được reinject — ledger khởi-tạo trống S95, 2026-07-01)

Nấc honest: ledger = convention (em-main append tay, git-tracked audit-trail — KHÔNG OS-hook auto-write, nhất-quán CAVEAT engine "no-OS-hook"). Tín-hiệu floor-rot feed = mechanized (mfe-eval.ps1 age-band + memory-selfimprove-audit.ps1). Detection per-item-L1-presence hiện partial (MFE age-band chỉ đo marks-có-date; AS/guard/gotcha mang session-ref chưa có pass so-từng-item-trong-L1 — xem §I honest nấc + CAVEAT C4 self-blind-spot).