Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
13 KiB
SPEC — Adap wave S124: reply-wave-s122 + 4 broadcast mới (15-07-2026)
Engine-đắt
/fable-clone reviewer@MAX (owner-invoked S124). Spec do LEAD ghi SAU verify (H21 honest-note c). Worker = reviewer ensemble review CHÍNH bản plan này (propose → reviewer refute → lead synthesize → apply).
① Tính-năng / đề-bài
Adap 1 email directed (reply-wave-s122) + 4 broadcast outbox/all mới (sau khi S122 đã đóng wave tới 07-14). Đề-bài cho reviewer: rà bản PHÂN-LOẠI dưới đây có ĐÚNG không — đặc-biệt ranh-giới in-frame (em-main tự làm) ⟂ owner-gated (PHẢI hỏi anh), theo nguyên-tắc-MỚI owner-6 chốt S119 (trong-khung=tự làm · vượt-khung=🔴request anh+AI_INFRA · khung-tự-mâu-thuẫn=report→hub).
Nguồn (đã đọc đầy-đủ, byte-verified)
reply-wave-s122(8.3KB, directed) — pulled+hash-verified STAGE-1 (whole-file + body7fca0deb…MATCH), logged_indexpending.erratum-h8-forward-pointer-and-eol-title(3.3KB, update)h17-cadence-update-bookend(16KB, update — supersedes cadence-scheduler của H24)do-token-that-khong-can-api-key(12KB, new/draft, NOT-adopt)bon-vong-tu-bao-tri-hat-nhan-harness(13KB, new, NOT-adopt)adap-update-harness-22-wal-push-guard(11KB, update,dd4b0176= vế N)
② Cách implement (bản phân-loại LEAD đề-xuất — reviewer refute từng dòng)
A. reply-wave-s122 (directed reply — ACK + rulings)
Nội-dung chính = trả lời 6 adap-request R1-R6 của S122 + 2 đính-chính. Không phải broadcast-adopt; là input hiểu-biết feed vào B-F.
- R1 (all-inherit ⟂ hub-pin): SE đọc bản CŨ (H8.1). Lineage: H8.1-all-inherit → H8.6 PIN (07-03) → H8.6d owner-choice (07-11) → H23. Floor: lead=frontier owner-choice · sub-có-memory=worker-tier gán-cứng · roster+form sister-quyết. → feed vào B (erratum-h8 E-1).
- R2 (push-guard): hub ship
dd4b0176(vế N); vế E = EOL-assert ④c nối SAU. → feed vào F (push-guard). - R3 (hook side-ref): ruling §P9 — hook chỉ persist-only 0-content dưới owner-mark; side-ref VƯỢT floor → owner phải ký riêng. SE "chờ hub phán là đúng". → carry
hook-vs-budget-cap/hook side-ref = owner-gated, ĐÓNG câu hỏi: KHÔNG tự làm. - R4/EOL: thí-nghiệm SE sound, "CRLF đơn-độc" chỉ ở TIÊU-ĐỀ nén; hub giữ cơ-chế, phát erratum-title, credit SE. → feed vào B (erratum E-2).
- r6 (user-memory outside repo): ĐỔI ĐƯỢC vị-trí —
autoMemoryDirectorytrongsettings.json(absolute path hoặc~/, KHÔNG./), mọi scope. Docs-verified, CHƯA runtime-test. → owner-gated (settings.json + workspace-trust + runtime-verify). - §8: SE đổi
ls agents/*.md==14→VALID_ROLES.length==14= SE tự-siết chặt hơn broadcast (broadcast H24 0-hit dòng đó); best-practice, noted. - ACTION (in-frame): đóng carry
usermem-outside-repotừ "chờ hub" → "hub đã trả (r6): relocate-able, self-verify" → surface owner-decision relocate. STAGE-2 move reply →inbox/ai_infra/+_indexprocessed.
B. erratum-h8 (update — re-verify 2 đính-chính)
- E-1 (MODEL vế H8): all-inherit (06-16) SUPERSEDED. Floor hiện-hành = lead owner-choice + sub-có-memory = worker-tier gán-cứng + roster/form sister-quyết. Chỉ vế MODEL đổi; vế "workflow chạy nhanh nhất" của H8 GIỮ.
- 🔴 Trạng-thái SE: toàn roster frontmatter =
model: inherit(all-inherit — H8 markRC-…11-07…§K.D). Erratum nói floor = worker-tier gán-cứng cho sub-có-memory. ⇒ DELTA THẬT nhưng tangled 2 tầng: (i) đổi frontmatterinherit→pinopus= model-tier architecture change (owner-authority §A1) · (ii) chồng đúng lên H23-precedence LỖ CHƯA-TEST (hmw.jsalias-spawn ⟂ frontmatter-inherit — chưa ai test bên nào thắng; lead=Opus KHÔNG phân-biệt được → DEFER tới lead=Fable). - ACTION: 🔴 KHÔNG tự đổi frontmatter. Surface owner-decision + giữ nguyên carry
h23-precedence-fable(E-1 và H23 = cùng 1 nút: nếu frontmatter thắng thì worker-tier-pin phải qua frontmatter; nếu spawn-param thắng thì quatier:). Ghi adap-report nấc =agreed, deferred-owner+H23.
- 🔴 Trạng-thái SE: toàn roster frontmatter =
- E-2 (EOL title): "CRLF đơn-độc đủ giết" chỉ ở tiêu-đề. Cơ-chế đúng = CRLF ∧ unquoted
:. SE ĐÃ falsify (S119) + được credit. → in-frame: note SE đã đúng, adap-reportverified(SE là nguồn falsification). 0 change.
C. h17-cadence-bookend (update — SUPERSEDES H24 cadence-scheduler)
- Hub GỠ counter khỏi chính mình (1 ngày sau khi dạy), chuyển bookend (rà đầy-đủ 2-đầu mỗi phiên). 7 khoản cũ SAI, 4 sàn KEEP (2 vai soi lead · 2 detector [title-freshness + carry-age, ngưỡng KHÔNG thuộc counter] · positive-control · roster-3-việc). caveat (b)(d) keep.
- 🔴 Trạng-thái SE = làm ĐÚNG (§6.1): SE đặt số 6/15/3 vào
memory-budget.json h24_cadence(config) + detector đọc key + doc trỏ-canonical KHÔNG chép. ⇒ SE "đã đọc, không đổi" phần cơ-chế; chỉ cần biết ví-dụ "6/15/3 ở nguồn = tương-tự-Hub" nay CŨ (hub bỏ counter). - 🔴 §4 giới-hạn 1: "Đừng gỡ theo hub" trừ khi (i) phiên SE ngắn-và-nhiều + (ii) owner chấp-nhận trả-mọi-lượt. SE phiên DÀI (feature/wave). Hub replacement = n=0. → default-valid = GIỮ counter.
- §5 API-key close vĩnh-viễn: hub KHÔNG dùng Anthropic API key (kinh-phí). "Đừng chờ thứ hub ghi 'chờ khóa'." Mọi token-số hub báo = ước-tính. → SE check có mục nào "chờ khóa" (MFE judge-layer scaffold? — KHÔNG API-key-gated, là cross-session-judge-gated; RAG re-index = VOYAGE key ≠ Anthropic key, AI_INFRA-op). → in-frame: note, 0 SE-blocker.
- ACTION (in-frame): adap-report
verified, không-đổi-cơ-chế(config-based) + note source-example-old. Surface owner-decision: SE có muốn theo hub chuyển bookend không? (default = giữ counter — em ĐỀ-XUẤT giữ vì SE phiên-dài + 2 vai H24 CHƯA chạy lần nào [counter=3, nhịp đầu ~S127-128] ⇒ chưa có dữ-liệu để bỏ).held_clausefrontmatter = hub-internal (contextual_retrieval) → SE IGNORE.
D. do-token-that (new/draft, NOT-adopt — METHOD)
- Harness in real-token-N ở dòng truncation khi Read vượt cap (
N tokens, cap 25000, N>cap = toàn tệp, free, no-API). Đo, đừng quy-đổi. Hub tự-bắt: hằng-số char/4 self-label "empirical" sai 42 phiên (4.05 vượt trần số-học 4.0). Net rẻ = lưu phép-đo-thật cạnh hằng-số + assert bao. - 🔴 Cực-kỳ liên-quan SE:
token_governorTOÀN char/4 + byte/3.0-3.5 (honest_caveat tự ghi).harness_floor.measured_token_estimate=55K= ước. Mega-line STATUS/HANDOFF: em ĐÃ thấy real-N từ chính harness lượt này — STATUS folded chunk 360-dòng = 26075 tok, HANDOFF 404-dòng = 32988 tok (cap 25000). - ACTION (in-frame — MEASURE + net): (1) đo real-token-N các mega-file SE (STATUS/HANDOFF full) qua Read-force-truncate → ghi lại số THẬT. (2) audit SE "measured" constant cho bẫy "nhãn đã-đo thay việc-đo":
harness_floor 55K(khai "byte-measured 19K + est 36K" — nửa est, KHÔNG token-thật), byte/tok 3.0-3.5 range. (3) ĐỀ-XUẤT net "assert constant bao real-measure" nếu owner muốn. - 🔴 owner-gated: ĐỔI số budget (
tier1_hotfeed,harness_floor,crystallized_backfill.target) = quyền anh (role_boundary_note+ markRC-…01-58-01). Em CHỈ đo + báo %, KHÔNG auto-tune. → surface: real-token đo được vs budget cap → anh quyết có re-tier/đổi-số không.
E. bon-vong-tu-bao-tri (new, NOT-adopt — spirit + evidence)
- 4 vòng tự-bảo-trì (hub-specific, "đừng chép số 4"). Bài học: redundancy > single-net; "im-lặng có chữ-ký" (whitelist qua mọi kiểm hình-thức nhưng tiền-đề-lý-do sai — test "gỡ hàng → hạng-mục hiện lại", đừng neo test-cơ-chế vào 1 hàng sống); eval-layer là yếu nhất.
- 🔴 SE ĐÃ ALIGNED mạnh: fault-inject 4-bộ (S122) = "gỡ-hàng→hiện-lại" · Goodhart-rời-tập-đo (S123) · citation-trap (S123) · positive-control-đừng-vá-sớm (S123) · H24 2 vai soi-lead = redundancy-layer. SE loop-map: loop-1=tooling-auditor(H1) · loop-2=lead-view/omission(H24) · loop-3=H17+MFE · loop-4=sleep-recovery.
- ACTION (in-frame — reflection, KHÔNG code-change lớn): adap-report
n-a-mostly-aligned+ ghi 3 phản-chiếu: (1) SE có KIỂM-role cho loop-1/2 (tooling + lead-view/omission) — có thể AHEAD hub; nhưng khai thật: các vai đó CHƯA soi-lẫn-nhau độc-lập (harvest-curator KHÔNG soi tooling-auditor) → kẽ giống hub. (2) "sequential-not-parallel cho chuỗi checker" — SE fable-clone = parallel-lane-rồi-synthesize (đúng, vì lane ĐỘC-LẬP + em-main = vai-3 tuần-tự); nhưng nếu có chuỗi measure→propose→check thì phải tuần-tự. (3) whitelist SE =governance-detectors self-exclusion(6 path) + AS-table + value_protect — áp test "gỡ-hàng→hiện-lại": có positive-control chưa? (S119 positive-control permission-matrix suýt bị giết = đúng ca này).
F. push-guard dd4b0176 (update, vế N) + presence-not-age-reinject
- push-guard vế N: SE ĐÃ adopt S122 (mark
RC-…15-32-20§5.2 squash→count→push 1-LƯỢT + fault-inject 10/10). 🔴 SE REFINEMENT ahead-of-broadcast: SE đếm TRAILINGwal:(cho phépwal:kẹp dưới commit-thường = noise-chấp-nhận) thay "mọi wal:=0" — vì "mọi wal:=0" gây deadlock khi hook chen (SE fault-inject ca(2)base+wal+[CLAUDE]→K=0→push-được). 3 điểm (a)(b)(c) broadcast: SE có đủ (a) so-số-không-exit-code · (b) first-push ref-check · (c) đúng remote-branch. - vế E (EOL-assert ④c): SE ĐÃ adopt qua eol-crlf-notice (adap-report
2026-07-15-eol-crlf…tồn-tại S122). - presence-not-age-reinject: SE adap-report
2026-07-13-presence-not-age-reinjecttồn-tại (S115) — name-mismatch với broadcast id (adap-update-prefix). - ACTION (in-frame — reconcile dedup): ghi adap-report ĐÚNG broadcast-id cho push-guard (
agreed+executed S122, refinement TRAILING) + presence (already-applied S115, name-reconcile). Đóng kẽ dedup exact-id (S119 lesson: naive-diff false-pending).
③ Checklist (reviewer ensemble @tier:opus @MAX — deliverable + acceptance ĐO-ĐƯỢC)
3 lane reviewer, đa lăng-kính, RETURN-only (em-main single-writer synthesize):
| Lane | Lăng-kính | Acceptance ĐO-ĐƯỢC |
|---|---|---|
| L1 — SCOPE/authority | Ranh-giới in-frame ⟂ owner-gated ĐÚNG chưa? Có chỗ nào LEAD định tự-đổi thứ thuộc quyền-anh (model-frontmatter · cadence-counter · budget-số · settings.json) không? | Liệt-kê từng item B-F: verdict in-frame-ĐÚNG / owner-gated-SÓT / over-reach. ≥1 over-reach = FAIL. |
| L2 — FIDELITY-source | Mỗi broadcast đọc ĐÚNG chưa? Bẫy: treat type:new NOT-adopt (do-token/bon-vong) thành adopt-order? treat already-done (push-guard/presence) thành new? claim TRAILING-refinement ĐÚNG? |
Mỗi item: read-faithful / misread:<chỗ>. Verify claim "push-guard adopted S122 §5.2" bằng grep session-end. ≥1 misread = FAIL. |
| L3 — HONEST-nấc / overclaim | Nấc G-011 đúng chưa (executed vs verified-pending vs agreed-deferred)? do-token real-token-N dùng đúng chưa (N>cap logic)? Có overclaim "đã đo" khi chỉ est? Có tự-mâu-thuẫn (meta-count S119-lesson)? | Mỗi adap-report-đề-xuất: nấc-đúng / nấc-sai. Bắt mọi "verified" mà thật là "docs-only/deferred". |
Acceptance tổng: mỗi lane trả VERDICT header dòng-1 (PASS / PASS_WITH_FIXES nC/nM / FAIL) + finding neo file:line/broadcast:line. Em-main refute finding trùng/sai + synthesize → apply CHỈ phần in-frame PASS, surface owner-decision.
Owner-decision surface (KHÔNG apply, chờ anh):
- E-1 model-tier: all-inherit → worker-tier-pin? (tangled H23-precedence-defer).
- C h17: giữ counter (em đề-xuất, default-valid) hay theo hub chuyển bookend?
- D do-token: real-token đo được → có re-tier mega-line / đổi budget-số không?
- r6 relocate: set
autoMemoryDirectoryabsolute-path per-repo (settings.json + workspace-trust + runtime-verify)?