# S81 (2026-06-20) — Adopt Harness-15: memory-budget per-agent (token-governor + value-gate + work-state block)

> em-main single-writer + 1 REVIEW Workflow. **0 production code.** State GIỮ NGUYÊN: Mig 57 · 88 bảng · 354 test · gotcha 71 · bundle `CsJetgZH`/`BVS0ApIm`.

## Anh giao
`/check-email AI_INFRA và /adap-apply step by step cẩn thận từng bước, review sau lẫn imple, report trung thực.`

## STAGE 1 — check-email AI_INFRA
- outbox/se có 4 file, **cả 4 đã processed S79** (06-11 design-guide · 06-18 harness-11 · 06-19 harness-all-notify · 06-20 harness-14-notify) → **0 new directed**. STAGE 2 = no-op.
- Fan-out diff (outbox/all 28 vs adap-reports 21): unambiguous-new = **`2026-06-20-Governance-harness-15-memory-budget`** + checklist-15.
- Verify-not-redo: **H14** (checklist-14 6/6 🔴 floor đã phủ S79 — mark `RC-…11` A1-4 + engine §F.4 D1-2) · **harness-all-update-v2.0** = PLAN-ANNOUNCE visibility-only (KHÔNG action) · checklist-9-10-v2/11 phủ S72/S75.

## IMPLEMENT (em-main D9, 8/8 🔴 floor)
| Floor | Artifact | Nấc |
|---|---|---|
| A1 đo-SÀN | persona đo TRỰC-TIẾP `Get-ChildItem` (4.3-13.3KB) + harness-injected SE-ước-riêng → 21K→**30K cap-riêng-SE**; `memory-budget.json:harness_floor` | runtime→executed-file · mechanized(byte-count)+convention(ước/round-up) |
| A2 ghi-3-tầng | `token_governor` L1 12K/L2 6K/L3 4K, lead hard-cap no-AI-re-optimize | executed-file · mechanized |
| A3 tách-nhà | persona+lead-docs=SÀN, KHÔNG đếm L1-managed | executed-file · convention |
| B(a) nạp-đầy | `token_governor._note`+session-start §2.1.5+rules §6.6 (sàn-tận-dụng no-saving no-garbage) | executed-file · convention |
| B(b) value-gate | `archive_gate.value_protect` 10-pattern + `memory-archive-gate.ps1` **FLAG runtime-fired** (test-specialist gotcha#/guard) ⟂ keep-floor recency = mark `RC-…11` | executed-file (runtime-proven) · convention + mechanized-FLAG-only |
| B(c) work-state block | `session-start §2.1.5` (roadmap+WIP+pending+recurring) vá khoảng-trống-LEAD | executed-file→runtime · convention |
| B(d) 3-tệp-chốt | persona + MEMORY auto-inject + `hmw.js:124` MEMORY-PACK — verified | executed-file · convention |
| B(e) 2-governor | byte (`tiers`/`archive_gate`) ⟂ token (`token_governor`) | executed-file · mechanized |

Canonical record = `harness-11-engine.md §G` (+ artifact-map row + scope-note §G). **5/6 sàn = convention, chỉ (e)+đo-SÀN = mechanized** (honest, KHÔNG over-claim).

## REVIEW (Workflow `wf_b7f3c8ac-b53`, 3 free-text lane — KHÔNG ép-schema per lesson S73)
- Part-A **PASS** · Part-B **PASS** · Honesty **HONEST**.
- Bắt **2 CONCERN** (review→fix loop): (1) anchoring "matches AI_INFRA" → reframe SE-ước-riêng-trùng-vì-cùng-toolset-KHÔNG-mượn-số · (2) attribution sai `measure-agent-memory.ps1` (script đó chỉ đo agent-memory-tier byte) → sửa "persona đo TRỰC-TIẾP `Get-ChildItem`". Cả 2 **đã fix**.
- Bonus: review đọc **stale `measured` block** (S71-seed) → misread "no sub over cap" → em refresh `measured` S71→S81 fresh (frontend-designer 26129 + test-specialist 27723 OVER cap, đúng WATCH).

## Verify
- `memory-archive-gate.ps1` value-protect FLAG runtime-fired (test-specialist) + **A7 GATE PASS 217/217** (integrity post-edit).
- `governance-detectors.ps1` = **26-flag baseline** (0 new vocab-fork/broken-link từ edits).
- budget.json JSON valid (3 ConvertFrom-Json check).

## Bài học (NEW)
- **Independent review bắt honesty-imprecision self-review ship:** số-trông-mượn (21K trùng AI_INFRA) + tool-cite-lỏng (sai script). Cả 2 disclosed-không-giấu nhưng skeptic-cold đọc ra "weakest link". Fix = tighten wording để honest-thing = obviously-honest. → cùng họ `feedback_canonical_spec_over_broadcast` (pull-canonical-đừng-phỏng-theo).
- **Stale-config đánh-lừa cả reviewer:** reviewer reason off file-says → stale `measured` block khiến nó misread "no sub over cap". Config-staleness mislead không chỉ người mà cả self-verification. → §2.1.2 budget-audit phải re-measure ĐẦU mỗi adap đụng budget.json.
- **Value-gate = mechanized FLAG nhưng EXCLUDE = convention (D6):** detect deterministic (đây là gotcha) → mechanize FLAG; decision (giữ-hay-archive) = judgement → em-main. Auto-exclude = cross "script tự-ghi-memory" = mối-nguy #1 cố-ý-tránh.

## Output (15 file, 0 production code)
`memory-budget.json` · `harness-11-engine.md §G` · `session-start §2.1.5` · `rules §6.6` · `memory-archive-gate.ps1` · adap-report `2026-06-20-Governance-harness-15-memory-budget.md` · STATUS · HANDOFF · email `outbox/ai_infra/2026-06-20-se-to-ai_infra-harness-15-adopt-report.md` (body-hash `bb8fb6e803ae`) · `_index` · session log này.

## 🔴 NEXT
- **Anh:** restart CLI (session-start §2.1.5 runtime) + **confirm mark H-15** (đề-xuất Active-High, report-before-stamp) → `/user-mark-active-high` hoặc OK.
- **Em (carry):** frontend-designer 26.1KB + test-specialist 27.7KB WATCH strike-1 · monthly audit 2026-07-01.
- **Pending product/ops (carry):** Ngưỡng giá CEO UAT · "C" chuyển phiếu chờ spec · tzutil VPS · email typo anh Chương · 5 real-staff pw · gán CNTT.
