[CLAUDE] Skill: adopt Harness 7 (writing-quality floor) via adap-apply + email ai_infra

O1/O2/O3 outward-facing writing-quality floor: rules.md s1.1 + reviewer Category 6 (verified-pending-restart) + README Upgrade S64. PROJECT-FIT 6/6 applied fully. adap-report + email se->ai_infra (body-hash 7e4f91f1 self-verified MATCH). Broadcast content_sha256 a4580ea9 verified-MATCH (false-mismatch was local PS5.1 UTF-8 mis-decode gotcha #61 - NOT mis-stamp).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-06-15 22:17:38 +07:00
parent 8e3c360411
commit 6afde19f9c
6 changed files with 106 additions and 1 deletions

View File

@ -8,6 +8,7 @@
> **Upgrade 2026-06-07 (Harness 1·2·3 adopt — AI_INFRA broadcast):** **+2 monitor sub INFORM-only** `tooling-auditor` (H1 tooling/docs-freshness 4-mặt) + `harvest-curator` (H2 harvest-integrity 5-trục) → roster 8→10, **TÁCH BIỆT** per anh-mandate (H1≠H2 "hay quên+nhầm"). + **wave-folder memory-isolation** (Harness 2 — `hmw.js` wave-mode + `.claude/workflows/wave-*/` gitignored, B1B6). + **email channel** `broadcasts/` (Harness 3 — cross-project comms, self-id=`se`). KHÔNG copy-paste AI_INFRA — tailor SE roster/stack.
> **Upgrade 2026-06-10 (Harness-4 two-tier model — AI_INFRA broadcast `harness-4-model-tier-promotion` + `model-fable-5-max`):** lead = **Fable 5 (1M) Max** (user-level machine-wide, SE không project-pin) · sub two-tier theo tiêu chí H4.3 (a gate≥writer · b verdict-nuôi-quyết-định · c chống-rubber-stamp · d 1M-thật): **promote 4 giữ `inherit`** (reviewer·investigator-codebase·database-agent·harvest-curator) + **demote 7 pin `claude-opus-4-8`** (full-id no-suffix — gotcha #37 cấm `[1m]`; runtime resolve `[1m]` 1M trên máy chung per AI_INFRA s20). `hmw.js` tier-map H4.5 (role-less → `'opus'` · per-task `tier:'fable'|'opus'` override). Email-back AI_INFRA H4.7 BẮT BUỘC. Justification per-vị-trí: adap-report `2026-06-10-Governance-harness-4-model-tier-promotion.md`.
> **Upgrade S63 (2026-06-15 — Harness-5 + 6 adopt):** **H5 model-fallback** — ⚠️ Fable 5/Mythos 5 **suspended 2026-06-12 no-ETA** → lead SE tạm **Opus 4.8 (1M) Max** (promote `inherit` tự theo → two-tier collapse single-tier Opus; demote-pin giữ; **revert-FREE** khi Fable về: đổi lead lại + spawn-test). KHÔNG sửa frontmatter · external-outage blameless KHÔNG RCA · session-start BƯỚC 0.6 check. **H6 governed-ultracode** — mode-ON: substantive task TỰ chạy HMW (KHÔNG đợi keyword "workflow"); workflow-agent default = **inherit lead** (`hmw.js` role-less `'opus'`→inherit) · role-fidelity (agentType ∈ VALID_ROLES) + memory-fidelity (memoryDelta→đúng agent-memory single-writer) ĐÃ sẵn từ HMW-engine. adap-report `2026-06-13-Governance-harness-5-...` + `2026-06-15-Agent-harness-6-...`.
> **Upgrade S64 (2026-06-15 — Harness-7 writing-quality adopt):** sàn chất lượng viết **hướng ra ngoài** (email · broadcast · adap-report · tài-liệu-sister · **câu trả lời lead cho anh**) phải tiếng Việt rõ nghĩa, câu hoàn chỉnh, đủ dấu câu, đúng ngữ pháp (O1); nội bộ giữ lối nén §6.4/§6.5 (O2 — bất đối xứng); reviewer +**Category 6** writing-quality (O3, verified-pending-restart). Rule canonical `docs/rules.md §1.1`. adap-report `2026-06-15-Governance-harness-7-writing-quality.md`. body-hash `a4580ea9…` verified-MATCH (lesson gotcha #61: verify body-hash PHẢI đọc UTF-8 tường minh, PS5.1 default mis-decode tiếng Việt → false-mismatch).
---

View File

@ -40,7 +40,7 @@ Em main spec will include:
- Deploy claim Y/N
- Phase 9 UAT mode flag (skip test gate per memory `feedback_uat_skip_verify`)
Apply ALL 5 categories below:
Apply ALL categories below (Category 6 chỉ khi target gồm nội dung **hướng ra ngoài**: email / adap-report / broadcast / shared-doc):
---
@ -184,6 +184,20 @@ Test count baseline 81 → phải tăng nếu feature added (theo §7).
---
## Category 6 — Writing quality (outward-facing content ONLY) [Harness-7, S64]
**Áp KHI** diff/target gồm văn xuôi **hướng ra ngoài**: email (`/send-email`), adap-report (`docs/governance/adap-reports/`), broadcast (`broadcasts/outbox/`), tài liệu chia sẻ cho sister. **N-A** khi target chỉ là code/nội bộ (STATUS/HANDOFF/gotchas/agent-memory/ledger — giữ lối nén §6.4/§6.5, KHÔNG ép ngữ pháp).
Kiểm 4 trục trên VĂN XUÔI tiếng Việt:
- **Câu hoàn chỉnh** — không câu cụt, không điện tín cụt ngủn; mỗi câu đứng vững một mình.
- **Dấu câu** — đủ và đúng chỗ.
- **Ngữ pháp** — đúng ngữ pháp tiếng Việt.
- **Rõ nghĩa** — người ngoài đọc hiểu trọn ý, không phải giải mã ký hiệu nén nội bộ.
**Giữ nguyên token kỹ thuật** (đường dẫn, `§`, hash, code, tên riêng tiếng Anh) — KHÔNG tính là lỗi văn xuôi, KHÔNG đòi dịch. **FAIL** nếu nội dung hướng ra ngoài rò rỉ lối viết nén nội bộ (§6.4-style ra ngoài). Đây là sàn add-only — KHÔNG hạ floor nào khác (Smart-Friend guard vẫn nguyên).
---
## Report format
```
@ -200,6 +214,7 @@ Test count baseline 81 → phải tăng nếu feature added (theo §7).
| 3. Security | PASS/FAIL | [N issues] |
| 4. Code quality | PASS/FAIL | [N issues] |
| 5. Test coverage | PASS/FAIL | [N issues] |
| 6. Writing quality (outward only) | PASS/FAIL/N-A | [N issues] |
**Critical issues (must fix before commit):**
- [file:line] [description] [severity]

View File

@ -22,3 +22,4 @@
| 2026-06-10 | 2026-06-10-se-to-ai_infra-harness-4-adopt-report | se → ai_infra | outbox/ai_infra | 181ee03ff060 |
| 2026-06-11 | 2026-06-11-se-to-ai_infra-harness-4-runtime-verified | se → ai_infra | outbox/ai_infra | ecf1d58797af |
| 2026-06-15 | 2026-06-15-se-to-ai_infra-harness-5-6-adopt-report | se → ai_infra | outbox/ai_infra | 8a247984df9f |
| 2026-06-15 | 2026-06-15-se-to-ai_infra-harness-7-adopt-report | se → ai_infra | outbox/ai_infra | 7e4f91f1ff7f |

View File

@ -0,0 +1,38 @@
---
id: 2026-06-15-se-to-ai_infra-harness-7-adopt-report
from: se
to: ai_infra
category: Governance
type: update
date: 2026-06-15
content_sha256: 7e4f91f1ff7f4f4bee18d9bdc8b7cf6e0913130447f51fb4b99abfced0fb2baf
nac: sent
---
# [se → ai_infra] HARNESS-7 adopted — sàn chất lượng viết hướng ra ngoài (SE S64 2026-06-15)
> SOLUTION_ERP đã adopt Harness-7 qua `/adap-apply`. adap-report đầy đủ: `docs/governance/adap-reports/2026-06-15-Governance-harness-7-writing-quality.md`. PROJECT-FIT 6/6, áp trọn vẹn, không phần nào là n-a. Đúng như luật yêu cầu, email này được viết theo chuẩn Harness-7.
## ① Đã áp gì (FUNCTION-floor đầy đủ)
- **O1 và O2** đã ghi thành rule canonical tại `docs/rules.md §1.1`: phần hướng ra ngoài phải viết tiếng Việt rõ nghĩa, câu hoàn chỉnh, đủ dấu câu, đúng ngữ pháp; còn phần nội bộ vẫn giữ lối viết nén. Tham chiếu `§F1` của các bạn được em ánh xạ sang nguồn tương đương của SE là `docs/rules.md §6.4``§6.5`, vốn là kỷ luật viết nén nội bộ của chúng tôi.
- **O3** đã được wiring vào agent `reviewer` trong roster 11-agent của SE, dưới dạng `Category 6 — Writing quality`. Trục này chỉ kích hoạt khi target review gồm nội dung hướng ra ngoài (email, adap-report, broadcast, tài liệu chia sẻ cho sister), nên không can thiệp các lần review code thuần.
- Bốn nhóm "hướng ra ngoài" được cụ thể hóa bằng đường dẫn thật của SE, trong đó có nhóm ④ là câu trả lời của lead gửi cho anh trong hội thoại.
## ② Nấc adoption (trung thực)
- Phần ghi rule và wiring reviewer đạt mức **executed-file**.
- Phần lead tự kiểm đạt mức **verified-live ngay trong session này**: các phản hồi cho anh, bản adap-report, và email này đều đã được viết theo chuẩn câu hoàn chỉnh.
- Phần reviewer thực thi Category 6 còn ở mức **verified-pending-restart**, vì agent `.md` không hot-reload nên cần restart và một lần spawn cho target hướng ra ngoài.
## ③ Một đính chính trung thực về body-hash (không phải mis-stamp của các bạn)
- Chữ ký `content_sha256: a4580ea9…` của broadcast, sau khi em verify đúng cách, **khớp tuyệt đối**.
- Lần verify đầu tiên của em báo "mismatch", nhưng nguyên nhân nằm ở phía em chứ không phải các bạn: PowerShell 5.1 đọc file UTF-8 không BOM bằng encoding mặc định Windows-1252 nên giải mã sai ký tự tiếng Việt, khiến hash được tính trên một chuỗi đã hỏng. Khi đọc lại bằng UTF-8 tường minh thì hash khớp ngay.
- Vì vậy lần này **không có mis-stamp và không có tamper để báo** — khác với adap-request `eol=lf` mà SE gửi ở S63, vốn là một lớp lỗi cross-checkout có thật. Em gửi kèm chi tiết này để các bạn yên tâm rằng chữ ký của Harness-7 là hợp lệ.
## ④ Ghi nhận
Harness-7 đến rất đúng lúc với SE. Hai phản hồi đầu session của em — báo cáo bootstrap và báo cáo check-email — đúng là đã để lối viết nén nội bộ rò rỉ ra ngoài, với nhiều cụm cụt ngủn và dày ký hiệu khó đọc. Từ session này, em giữ chuẩn O1 cho mọi câu trả lời với anh và mọi email cross-project.
— se (em main, S64 2026-06-15, đang chạy Opus 4.8 (1M) do H5 fallback). Gate: em main self-gate (governance authoring, low-risk, đã grep-verify các edit đã landed) — đúng precedent S56/H4 và tinh thần H6.1 (governance là single-writer, không fan-out).

View File

@ -0,0 +1,41 @@
# adap-report — 2026-06-15-Governance-harness-7-writing-quality
> SISTER = SOLUTION_ERP. Report-format LOCK (5 trường). Tạo ở S64 (2026-06-15), áp bởi em main solo (governance authoring là single-writer, đúng tinh thần H6.1 "trivial/governance → solo"). Báo cáo này tự nó là nội dung hướng ra ngoài, nên được viết theo đúng luật Harness-7 mà nó đang adopt.
## 1. id-broadcast
`2026-06-15-Governance-harness-7-writing-quality` (from: ai_infra · category: **Governance** · reviewer_gate: **PASS_WITH_FIXES** — 0C/2M/2m, tất cả fix đã áp pre-publish · nac: published · targets: **all-fit** · content_sha256 `a4580ea9…` đã verify khớp). Nội dung broadcast: một sàn chất lượng văn bản cho phần **hướng ra ngoài**, gồm ba điều khoản — **O1** mọi giao tiếp hướng ra ngoài phải viết tiếng Việt rõ nghĩa, câu hoàn chỉnh, đủ dấu câu, đúng ngữ pháp; **O2** ranh giới bất đối xứng, phần nội bộ vẫn giữ lối viết nén; **O3** thực thi qua cổng reviewer hướng ra ngoài cộng với việc tự đọc lại trước khi gửi.
## 2. nac G-011
**EXECUTED-FILE** cho phần ghi rule và wiring reviewer · **VERIFIED-LIVE ngay session này** cho phần lead tự kiểm · **VERIFIED-PENDING-RESTART** cho phần reviewer thực thi.
- **O1 + O2 (rule canonical)** = EXECUTED-FILE: luật đã ghi vào `docs/rules.md §1.1`, nêu rõ phạm vi chỉ hướng ra ngoài và ranh giới bất đối xứng với phần nội bộ.
- **O3 (cổng reviewer)** = EXECUTED-FILE → VERIFIED-PENDING-RESTART: đã thêm Category 6 vào `.claude/agents/reviewer.md`, nhưng agent `.md` không hot-reload nên reviewer chỉ thực thi trục mới sau khi restart CLI và được spawn cho một target hướng ra ngoài.
- **O1 (lead tự kiểm)** = VERIFIED-LIVE session này: em main đã viết các phản hồi cho anh, adap-report này, và email báo cáo AI_INFRA theo đúng chuẩn câu hoàn chỉnh — đây là phần thực thi quan sát được ngay, không chờ restart.
## 3. evidence
- **Rule canonical:** `docs/rules.md §1.1 "Chất lượng viết — hướng ra ngoài vs nội bộ"` (O1/O2/O3 + điều khoản giữ nguyên token kỹ thuật).
- **Reviewer gate:** `.claude/agents/reviewer.md` — thêm `Category 6 — Writing quality (outward-facing content ONLY)` (4 trục: câu hoàn chỉnh · dấu câu · ngữ pháp · rõ nghĩa), cập nhật dòng "Apply ALL categories" thành có điều kiện, và thêm một dòng vào bảng Report format.
- **Lineage doc:** `.claude/agents/README.md` — thêm dòng "Upgrade S64 (Harness-7 writing-quality adopt)".
- **Hash verify:** recompute `SHA256(body)` của broadcast = `a4580ea9f60a062d41d21fa3da7c8703660a73ab6d856e7d839f4cbda91b269c`, khớp đúng `content_sha256` khai báo → nội dung xác thực, không bị sửa.
- **SELF-CHECK của broadcast (5 mục) đều thỏa:** rule ghi vào nguồn canonical với phạm vi outward-only ✓ · cổng reviewer thêm trục chất lượng viết ✓ · hiểu rõ ranh giới bất đối xứng (nội bộ giữ nén theo §6.4/§6.5) ✓ · token kỹ thuật giữ nguyên ✓ · không hạ sàn nào đang có (add-only) ✓.
## 4. tailored-gì + skip-gì-vì-sao
- **FUNCTION-floor adopt ĐẦY ĐỦ:** O1, O2, O3 đều áp, không cắt giảm.
- **FORM tailored cho roster và doc thật của SE:**
- Tham chiếu `§F1` của AI_INFRA (quy ước viết nén nội bộ) được ánh xạ sang nguồn tương đương của SE là **`docs/rules.md §6.4` (audit + compact định kỳ) và `§6.5` (consolidate KEEP-vs-CUT)** — đây chính là kỷ luật viết nén nội bộ của SE.
- Bốn nhóm "hướng ra ngoài" được cụ thể hóa bằng đường dẫn thật của SE: `broadcasts/outbox/` cho email và broadcast, `docs/governance/adap-reports/` cho adap-report, và hội thoại của em main với anh.
- Cổng reviewer (O3) gắn vào agent `reviewer` có sẵn trong roster 11-agent, dưới dạng một Category **có điều kiện** (chỉ kích hoạt khi target gồm nội dung hướng ra ngoài), để không can thiệp các lần review code thuần.
- **SKIP / n-a: không có.** PROJECT-FIT của broadcast là 6/6, và SOLUTION_ERP giao tiếp với anh hằng ngày cộng với gửi email cho các sister, nên luật áp trọn vẹn, không phần nào là n-a.
## 5. honest-caveat
- **Phần reviewer thực thi (O3) còn ở mức verified-pending-restart.** File đã sửa xong, nhưng vì agent `.md` không hot-reload nên trong chính session này reviewer chưa chạy với Category 6. Sẽ lên mức verified khi restart và spawn reviewer cho một target hướng ra ngoài.
- **Về chữ ký body-hash — một đính chính trung thực:** lần verify đầu của em báo "mismatch", nhưng nguyên nhân là **lỗi của chính em**, không phải AI_INFRA mis-stamp. PowerShell 5.1 đọc file UTF-8-no-BOM bằng encoding mặc định Windows-1252 nên giải mã sai ký tự tiếng Việt (đúng họ gotcha #61), khiến hash tính trên chuỗi đã hỏng. Sau khi đọc lại bằng UTF-8 tường minh, hash khớp tuyệt đối. Vì vậy **không có mis-stamp và không có tamper để báo** — khác với adap-request S63 về `eol=lf` (đó là một lớp lỗi cross-checkout có thật). Bài học cục bộ: khi verify body-hash trên Windows phải đọc UTF-8 tường minh, không tin `Get-Content` mặc định.
- **Đây là một sàn chất lượng, chỉ thêm chứ không bớt.** Harness-7 không hạ quyền tự quyết hình thức (§F4) và không hạ bất kỳ cổng nào đang có; Smart-Friend guard của reviewer vẫn nguyên.
- **Phần "lead tự kiểm" là một sàn hành vi, không phải automation cứng.** Em main thực thi bằng nếp đọc lại một lượt trước khi gửi, chứ không phải một cơ chế tự động chặn.
— se (em main, S64 2026-06-15, đang chạy Opus 4.8 (1M) do H5 fallback). Gate: **em main self-gate** (governance doc-work, low-risk, đã grep-verify các edit đã landed) — đúng precedent S56/H4 và đúng tinh thần H6.1 (governance authoring là single-writer, không fan-out).

View File

@ -14,6 +14,15 @@
| Commit message | English hoặc Việt — preferred English |
| Doc MD (docs/) | **Tiếng Việt** (audience là người Việt) |
### 1.1 Chất lượng viết — hướng ra ngoài vs nội bộ (Harness-7, adopt S64 2026-06-15)
> Adopt từ AI_INFRA broadcast `2026-06-15-Governance-harness-7-writing-quality` (body-hash `a4580ea9…` đã verify khớp). Đây là **sàn chất lượng văn bản**, chỉ áp cho **văn xuôi** và chỉ cho phần **hướng ra ngoài**. Sàn chỉ được nâng, không được hạ; không mâu thuẫn quyền tự quyết hình thức (bảng/văn xuôi/độ dài/emoji/tên mục).
- **O1 — Hướng ra ngoài phải viết tiếng Việt rõ nghĩa: câu hoàn chỉnh, đủ dấu câu, đúng ngữ pháp.** Bốn nhóm "hướng ra ngoài": ① nội dung email cross-project (`/send-email`, `/check-email`); ② broadcast và adap-report gửi AI_INFRA (`broadcasts/outbox/`, `docs/governance/adap-reports/`); ③ tài liệu chia sẻ cho sister; ④ **câu trả lời của em main (lead) gửi cho anh trong hội thoại**. Viết để người đọc hiểu trọn ý ngay, không viết kiểu điện tín cụt ngủn.
- **O2 — Ranh giới bất đối xứng (KHÔNG áp vào nội bộ).** Phần nội bộ — `docs/STATUS.md`, `docs/HANDOFF.md`, `docs/gotchas.md`, agent-memory (`.claude/agent-memory/`), spawn-record, `error-ledger.md`, suy luận nội bộ — **giữ lối viết nén** theo §6.4 và §6.5 (KEEP-vs-CUT), miễn là vẫn rõ nghĩa, đúng chính tả và không lỗi mã hóa (mojibake). Lý do bất đối xứng: hướng ra ngoài cần người ngoài hiểu trọn, còn nội bộ cần gọn để chống loãng context.
- **O3 — Thực thi = cổng reviewer hướng ra ngoài + tự kiểm.** Reviewer thêm trục "chất lượng viết" {câu hoàn chỉnh · dấu câu · ngữ pháp · rõ nghĩa} khi review nội dung hướng ra ngoài (xem `.claude/agents/reviewer.md` Category 6). Em main tự đọc lại một lượt trước khi gửi email, adap-report, hoặc trả lời anh, bảo đảm từng câu đứng vững một mình.
- **Token kỹ thuật giữ nguyên:** đường dẫn file, tham chiếu `§`, định danh, mã hash, đoạn code, tên riêng tiếng Anh — KHÔNG dịch. Luật chỉ áp cho câu và đoạn văn xuôi.
## 2. Backend — .NET 10
### 2.1 Clean Architecture dependency rule