[CLAUDE] Docs: S149-S150 closeout — bookend lượt đầu end-to-end (hình B) + 2 arc đóng + tally #53 chốt 45
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m48s

- Arc-1 hội-tụ-bookend (rename 5 vai + 4 máy PS1 + C9-C12) + arc-2 adap-backlog 23/23 + probe Opus-5 khép (S149)
- Bookend @close S150: wave 6 vai (4 đo + 2 KIỂM) → 20 FLAG disposition từng-dòng; ring1 31/34-ĐẠT, ring2 10/10 + M-1 view-stale-role-desc
- Khoá _frozen_until_owner CẮM trước h24-signal-write (frozen-held in thật); 9 class FIRE; JUMP dải {5,4,4,3}+asym{1,4} chờ anh #21
- STATUS bump CURRENT S149-S150 + 2 khối Recently Done; HANDOFF segment mới + re-stamp đủ-slug + (17)(18)(19) lật + (14) viết lại + 6 slot #21-#26
- K2 posture-A @engine PHẦN K + K5 luật TÁCH vòng-đo-mới @session-end (O-2/O-3 OWNER-DELEGATED execute)
- sleep-doc derive-monitor-set (bỏ hardcode 4-tên); spawn-model-audit desc/comment fix; h24-signal-write param-default fix (first-live bug)
- M9 on-behalf ×3 (tooling + inv-cb F3 + reviewer F4); ring1/ring4 nhà seed; ring2 3 cite-dead vá
- Sổ garble #53 derive-from-body chốt 45 + sub-class ngược-#53/skeleton-ruột-rỗng (ghi-đĩa CẦN-KHÔNG-ĐỦ)
- Session-log S149-S150 (Sàn-5 đăng-ký 6 run=) + closeout-synthesis dạng-1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-07-25 12:17:05 +07:00
parent 2f39a7e22c
commit 398d343403
122 changed files with 7666 additions and 250 deletions

View File

@ -6,7 +6,8 @@
Owner-decision S119 PA-2 (runs/2026-07-15-S119-adap-6-broadcast/owner-decisions-15-07-2026.md:59-60)
splits "anchor the model version" in two, because anchoring AT SPAWN is NOT possible at SE
(the spawn param takes an enum alias only; SE has 0 full-id in any definition file - H8 all-inherit):
PA-2a .claude/workflows/hmw.js declares TIER2_EXPECTED_FULL_ID = 'claude-opus-4-8'.
PA-2a .claude/workflows/hmw.js declares TIER2_EXPECTED_FULL_ID (value lives ONLY there -
single-source, do NOT copy it here; stale copy 'claude-opus-4-8' fixed S150).
PA-2b THIS script compares the model actually RESOLVED at spawn against that constant.
Drift => print FLAG => owner decides re-pin. NO enforcement (H23 section 2(4)).
@ -93,7 +94,12 @@ $ErrorActionPreference = 'Continue'
# Cost, stated plainly: an owner re-pin must touch BOTH files. That cost IS the check.
# NOT a fallback: if hmw.js has no constant, section A fails loud - it never borrows this value.
# ---------------------------------------------------------------------------
$OWNER_RATIFIED_TIER2_FULL_ID = 'claude-opus-4-8'
# 🔄 VALUE-update 2026-07-25 (broadcast model-default-opus-5-max sha 59ce1d0f + SE-owner "dam Opus 5 MAX"):
# 'claude-opus-4-8' -> 'claude-opus-5'. Khoan 1.4: records cu mang 'claude-opus-4-8*' = LEGACY bucket
# trong giai doan chuyen tiep — dem rieng, KHONG co drift (tranh bao canh bao gia tren ban ghi cu).
# 2-key: doi DONG THOI voi TIER2_EXPECTED_FULL_ID trong .claude/workflows/hmw.js (cung commit).
$OWNER_RATIFIED_TIER2_FULL_ID = 'claude-opus-5'
$TIER2_LEGACY_FULL_ID = 'claude-opus-4-8'
# Family that the 'opus' alias maps to. Alias locks the FAMILY, not the version (H23 section 2(2)):
# same family + different version = the drift this audit exists to catch.
@ -148,10 +154,11 @@ if (-not (Test-Path $hmwPath)) {
else {
# STRUCTURAL anchor, NOT a loose string grep (W0.4 lesson 1 - self-reference).
# Capture the VALUE of the assignment. A bare grep for the version string is NOT acceptable
# evidence here: hmw.js:36 already contains the literal 'claude-opus-4-8' inside a COMMENT
# ("KHONG con demote-pin ..."), so a naive grep returns >=1 hit and passes VACUOUSLY even when
# the constant is absent or holds a wrong value. The naive count is printed below as a
# counter-example only - it is never used as evidence.
# evidence here: hmw.js also carries the expected literal inside COMMENT text (measured S150:
# naive grep = 2 hits, both comments), so a naive grep returns >=1 hit and passes VACUOUSLY
# even when the constant is absent or holds a wrong value. (Old line-pinned example
# 'hmw.js:36 demote-pin' died in an edit - keep this description line-number-free, S150.)
# The naive count is printed below as a counter-example only - it is never used as evidence.
$RX_CONST = 'TIER2_EXPECTED_FULL_ID\s*=\s*[''"]([^''"]+)[''"]'
$constHits = @(Select-String -Path $hmwPath -Pattern $RX_CONST -Encoding UTF8 -AllMatches)
@ -223,6 +230,7 @@ $dispatch = 0 # spawn lanes found (one agent-*.jsonl = one lane)
$explicit = 0 # lanes where a resolved model is actually recorded
$mismatch = 0 # lanes resolved to the tier-2 FAMILY but NOT the expected version = alias drift
$otherFam = 0 # lanes resolved outside the tier-2 family (escape-hatch / inherited lead)
$legacy = 0 # lanes resolved the PRE-FLIP default (transition bucket, Khoan 1.4 - counted, not flagged)
$modelTally = @{}
Write-Host (" transcript root: {0}" -f $TranscriptRoot) -ForegroundColor DarkGray
@ -302,11 +310,21 @@ else {
}
else {
$bad = @($inFamily | Where-Object { $_ -cne $expected })
if ($bad.Count -gt 0) {
# Khoan 1.4 broadcast model-default-opus-5-max (2026-07-25): records that resolved the
# PREVIOUS default are a LEGACY bucket during the transition, counted separately,
# NOT flagged as drift (a value-update flips the expected mid-history; old records
# predate the flip - flagging them is a false alarm storm, exactly what 1.4 forbids).
# A record that is neither expected NOR legacy is still a REAL mismatch.
$legacyOnly = @($bad | Where-Object { $_ -cne $TIER2_LEGACY_FULL_ID })
if ($bad.Count -gt 0 -and $legacyOnly.Count -eq 0) {
$legacy++
$verdict = ("legacy ({0} = pre-flip default; transition bucket Khoan 1.4, not drift)" -f ($bad -join ', '))
}
elseif ($legacyOnly.Count -gt 0) {
$mismatch++
$verdict = 'MISMATCH'
Write-Flag 'HIGH' ("{0}/{1}" -f $wfName, $lane.Name) `
("alias-drift: resolved '{0}' is in the tier-2 family but expected '{1}'" -f ($bad -join ', '), $expected) `
("alias-drift: resolved '{0}' is in the tier-2 family but expected '{1}' (and not the legacy bucket)" -f ($legacyOnly -join ', '), $expected) `
'owner decides re-pin (H23 section 2(2)); update TIER2_EXPECTED_FULL_ID once ratified'
}
else {