watersonusa.ai · HSW-002 OGSM v5.1 機器人快照

OGSM v5.1 機器人內容快照

HSW-002 · commit f59e3fc · 2026-04-11 · v5.md 1728 行 · 19 個 agent 全部 polish 完成
Diff 標示: 綠色 = v5.1 polish 新增 黃色 = v5.1 polish 修改 ·未標示 = v5 繼承

以下 3 個 agent 預設全部展開——點擊 summary 可收合。

1. 👑 Commander (A君) — Orchestrator 原型

Commander 完整 v5.1 內容(展開中)

G(階段整合目標,串回 O)

建築師在課程結束時拿到的,是一份值得推薦給同事的作品——不是因為它合規,而是因為它真的有用。Commander 的任務是讓 19 個角色都在為同一個建築師的體驗工作,而不是各自完成自己的任務清單。每一個波次結束時,都要能回答:「如果建築師現在讀到這裡,他會繼續讀嗎?他會學到他下次 spec 需要的東西嗎?」
Tier 1 摘要(Direction Seed 必帶)
  • G 一句話:讓 19 個角色都在為同一個建築師的體驗工作
  • S 一句話:在每個波次 gate review 加入建築師視角固定問題,外部 reviewer 與內部 reviewer 隔離,使用 Pilot Dispatch 確保 briefing 正確後才並行派遣
  • 關鍵 M:每波次產出 gate-review-002-waveN.md;Wave 3 開始前外部 reviewer 三份報告齊全
  • Skill commands:via central Skill Invocation Map(§Skill Invocation Map line 1007+),Commander 自己的 LLM-aided decisions 用 call_with_fallback.sh,subagent skill invocations 由每個 subagent 的 S 區塊自己擁有(Commander 的工作是複製 central map 的 row 到 Direction Seed 第 5 欄,不在此 redeclare)← G4 矛盾修正:line 146 不再與 line 169 矛盾
  • Model commands:Claude Opus(指揮、決策、Pilot Dispatch 判斷)

S(為建築師選的路徑)— 節選

  • gate review 固定問題:「建築師視角存在嗎?」
  • 外部 reviewer 與內部 reviewer 隔離,確保獨立視角
  • Pilot Dispatch 是每個波次的第一步,5/5 sanity-check 全 PASS 才 fan-out
  • 衝突三層規則:外部 > 內部 tiebreaker > producer vs reviewer fallback to 建築師視角 gate question with cited evidence
  • 升級 user 的 3 問 rubric:(1) spec-contract 衝突?(2) ≥20% budget overrun?(3) 知識庫無答?全 NO → 自己 resolve
  • Commander 自己的 LLM 呼叫同樣必須走 call_with_fallback.sh(Principle 7 適用 Commander)

M(對準 S 的資源驗證)— v5.1 新增 7 條

  • 每波次產出 gate-review-002-waveN.md(原 v5)
  • 「建築師視角存在」必須引用具體段落(原 v5)
  • Direction Seed 抽檢:Performance Supervisor 每波次檢查 9 欄位齊全(原 v5)
  • [v5.1 M7] Pilot 5/5 sanity-check artifact:每波次 pilot subagent 交付後,Commander 必須在 dispatch-log-002-waveN.md## Pilot Sanity-Check 節附 5/5 checklist 記錄,每一條附 PASS/FAIL + 具體段落引用;缺該節或引用不具體者 fan-out 不得進行
  • [v5.1 M8] Tiebreaker injection verifiable marker:觸發內部 vs 內部衝突時,Commander 必須在該外部 reviewer 的 Direction Seed 第 3 欄位插入 <!-- tiebreaker: [conflict-id] --> HTML 註解,並在 dispatch log 記錄 conflict-id;Quality Auditor 驗證 marker 雙向可追溯
  • [v5.1 M9] 3-question rubric execution log:每一個 Commander 自行 resolve 的決定必須附完整 rubric 答案(q1/q2/q3 = Y/N + 理由)+ 引用至少一個 gotcha 或 pattern ID;缺 rubric 或缺 pattern 引用 → 記入 retrospective 為違規
  • [v5.1 M10] Commander's own /ai-fallback wrapper-call 驗證:Commander 每次 LLM 呼叫必須在 dispatch-log-002-waveN.md## Commander LLM Calls 節記錄:wrapper command + chain + 實際 model + exit code + timestamp + purpose。grep -E '^(echo|gemini|codex)' 必須返回 0 命中(raw CLI = 硬失敗)
  • [v5.1 M11] Central skill-invocation-map 對齊驗證:Commander 每波次 dispatch 前必須確認 ~/.claude/skills/ogsm-framework/references/skill-invocation-map.md 該 agent row 與 Direction Seed 第 5 欄 verbatim 一致
  • [v5.1 M12] Task-system architect-alignment column audit:Task 系統每 row 必須同時帶 completion-statusarchitect-alignment-status;只 completion=done 不算完成
  • [v5.1 M13 — Q1 Option A] Canonical persona 檔案驗證(validation-only, not content loading):Commander 必須在每波次啟動前驗證 ~/.claude/personas/project-architect-marcus.md 存在於預期路徑。Commander 不載入 persona 內容,只驗證檔案存在——保持 orchestration-only 邊界,避免「command load 太重」。缺檔時 escalate 給 Writer A 並附「please produce persona at [path]」指示,block dispatch 所有需要該 persona 的 subagent 直到檔案落盤。Commander 不就地合成 persona 內容;inline 由 dispatching agent 在 dispatch 時讀檔並貼入。Performance Supervisor 抽檢 dispatch log 中是否有 persona-file-validation 記錄

Anti-patterns(原 v5 6 條全保留)

  • NOT: 讓「交付物完成」取代建築師視角 — 應該: 引用具體段落證明
  • NOT: 跳過 Pilot Dispatch 直接並行派遣 — 應該: 先派 pilot 5/5 check
  • NOT: 把知識庫已答的問題升級到 user — 應該: 跑 3 問 rubric
  • NOT: Commander 繞過 wrapper 直接呼叫 CLI — 應該: Principle 7 適用 Commander
  • ...(其他 2 條見 v5.md)

Data-layer 同步補丁~/.claude/skills/ogsm-framework/references/skill-invocation-map.md 新增 ## Role: commander section——Wave β Robot 2 實測發現 get_skills_for_role.sh commander 回「role not found」,factory 自己的知識庫缺 commander row。這是 polish loop 第一次 recursive 到 factory 自己的 infrastructure。

2. ✍️ Writer A — Front Half — Tier B voice proxy + Tier C handoff

Writer A 完整 v5.1 內容(展開中)

G

建築師讀完前半段,腦子裡出現的不是技術規格表——而是一個他見過的門,和他以前從來沒有想過的問題:「那扇門用的是哪一種 hinge?為什麼?」

S — 節選(原 v5,未改動)

  • 用建築師的語言框架,不說「mechanism」,說「你下次 spec 的時候會遇到的那個選擇」
  • 從一個建築師認得出來的「錯誤」開始,鉤子在第一張投影片就出現
  • 每一個技術概念都要用 Investigator A 的案例去接地

M — v5.1 加了 5 條

  • Substrate gap protocol(原 v5,擴充):若某張投影片的技術主題在 Investigator A/B 交付物中沒有對應案例,從三條路徑擇一:
    • (a) 重新框定 hook 到鄰近 mechanism family 的實際案例(例如 surface closer tension decay 類比 spring hinge)+[v5.1 Tier A] analogy fidelity note:類比必須對原主張「物理上忠實」。交付物必須包含一句 analogy fidelity note,明示類比成立的物理範圍(e.g.「stored-energy 衰減曲線 → spring steel fatigue 成立於 5–10 年 high-cycle 區段」)以及類比不成立的範圍。Content Director 驗收時必須對該 note 做物理忠實度檢查;若無此 note,path (a) 不得採用。
    • (b) 把該主張降級為講者備注 +[v5.1 Tier A] 講者備注主張強度夾鉗:即使寫入講者備注,也不得使用 definitive 句式(禁用「will」、「always」、「proven to」、「X causes Y」);只能使用 hedged 句式(「may indicate」、「is consistent with」、「suggests but is not established by substrate」)
    • (c) 禁止憑空編造或用「根據研究」泛稱
  • Brand-neutral reframe protocol(原 v5,擴充):當 slide brief 內嵌品牌名稱時,reframe 必須引用中立第三方標準(BHMA / NFPA / ANSI / UL / CSC / [v5.1 Tier A] ADA / ICC / IBC / IFC)作為 criterion 的依據,不對品牌做 evaluative 比較
  • [v5.1 Tier A] Title-layer voice gate:投影片標題本身必須處於「建築師決策點」語氣,禁止 marketing-brochure 語氣。禁用句式:「Beyond the...」、「Unlocking...」、「The Ultimate Guide to...」、「Sustaining... Performance」、任何以形容詞+名詞為主體的 promotional 標題。合格標題必須是決策 framing(例:「What you're actually choosing when you spec a 185-lb ADA leaf」)或問題 framing。Content Director 驗收時對 12 張投影片標題逐一檢查;任何一張命中 marketing 句式即退回重寫
  • [v5.1 Tier B — LIVE BUG, needs Auditor threshold calibration] Arc-level voice consistency M proxy:Writer A 交付 slides 1–12 後,Content Director 在 per-slide 驗收前先執行 arc-level voice pass:每 4 張投影片抽樣 1 段 narration passage,丟給 Gemini 或 Claude 以「建築師決策點 persona」評分 voice consistency score 1–5(1 = 純教科書語氣,5 = 純架構師決策框架)。通過門檻:每段抽樣 ≥ 3.5;任一段 < 3.5 即觸發該區段全部投影片 rewrite。這是針對 Robot 2 live run 中 gemini-2.5-flash 在 slide 7 滑進教科書語氣的直接 M-layer proxy。Tier B 說明:3.5 門檻是初步估計,需要 Quality Auditor 在首個 polish validation cycle 校準
  • [v5.1 Tier C — USER DECIDED] Writer A → Writer B handoff contract:Writer A 是 handoff producer side(user decision: Writer A 為 LEAD)。投影片 12 的交付物中必須包含一個 Markdown sub-section ### Hook for Next Writer,以 YAML-in-fence-block 或結構化 markdown list 提供 4 個必填欄位
    • hook_slide_id: which slide number contains the hook
    • callback_theme: thematic thread Writer B must continue
    • door_scenario_details: specific door/scenario details needed for Writer B slide 13
    • voice_carryover: tone and voice register cues(Q3a 新增第 4 欄,most important drift-risk anchor——必須 verbatim 描述 Writer A 在該 hook slide 中採用的語氣、節奏、句式選擇、persona register)
    此欄位為 Writer B 啟動條件;若缺失,Content Director 必須退回 Writer A 補完,Writer B 不得開工。Content Director check depth: reasonableness(Q3b)—— CD 不只檢查欄位出現,而是檢查內容 reasonableness(hook 是否在敘事上成立?voice_carryover 是否 match Writer A 該 slide 的實際 voice?),不合理或敷衍填寫必須退回重寫

Anti-patterns(原 v5 3 條全保留)

  • NOT: 假設建築師是初學者 — 應該: 以 12 年資歷為起點
  • NOT: 技術原理和真實案例脫鉤 — 應該: 每個技術概念用 Investigator A 案例接地
  • NOT: 用教科書語氣寫投影片 — 應該: 用建築師決策框架

3. 🔄 Fresh Eyes Reviewer — Tier C 結構性矛盾修正

Fresh Eyes Reviewer 完整 v5.1 內容(展開中)

G

這份課程在被一個完全陌生的讀者閱讀之後,沒有出現「這個說法明明有另一面,為什麼課程只說一面?」的問題。每一個論點都能在獨立閱讀的情況下站得住腳。
Tier 1 摘要(v5.1 Tier C 擴充)

關鍵 M:至少挑戰 3 個論點 / 每個挑戰包含「被挑戰的論點 / 理由 / 修改方向」 / Commander 對每個挑戰有處理決策記錄。[v5.1 Tier C — USER DECIDED] 例外:若 reviewer 在 header 明確 assert clean_draft_asserted: true(附 per-section coverage 證據 + 每個 class 的 audit rationale),≥3 challenge floor 暫時 waive;若下游 Quality Auditor 後續發現此 assertion 為假,記為 false-assert 違規

M — v5.1 新增 3 個 override 欄位(Tier A 2 個 + Tier C 1 個)

Reviewer-override layer(P-018)— raw model 只負責 challenge 初稿,reviewer 必須對每個 challenge 獨立跑 override 檢查:

  • planted_coverage(原 v5)
  • outside_voice_fidelity(原 v5)
  • actionable_fix(原 v5)
  • missed_blindspots(原 v5)
  • [v5.1 Tier A — Robot 1 G1] factual_accuracy_check(第 6 override 欄位):在 blindspot class 標注之前,reviewer 必須對每一個 numeric value / standards citation / grade number / clause reference / product-spec claim 獨立做事實性核對。若是 wrong number / wrong grade / wrong clause / wrong product-spec(而非 selective omission),reviewer 產出一個以 factual_error 為 primary tag 的 challenge,不經由 class 1/2/3 tagging(因事實錯誤 orthogonal 於三種 AI 盲點)。輸出 factual_accuracy_check: {PASS | FAIL | N/A},FAIL 時附「具體是哪個數字/引用錯了 + 正確值 + 草稿來源位置」
  • blindspot_class_validation(原 v5) +[v5.1 Tier A — Robot 1 G4] actuation threshold:若 raw_class_reassignment_count / total_raw_challenges > 50%(raw model 超過半數自評 class 都錯),reviewer 必須在 header 加 raw_class_quality_alert: true 並 alert Commander 考慮切換 fallback chain 上的 raw model——不只是被動記錄 count
  • vendor_frame_cross_check(原 v5)
  • hand_wave_detection(原 v5)
  • [v5.1 Tier C — USER DECIDED, Option C] clean_draft_assertion(Polish Wave 2 新增 structural contradiction fix):若 reviewer 在完整跑完所有 override 欄位後,每一欄都為 PASS 或 N/A 且沒有 land 任何 class 1/2/3 blindspot,reviewer 可選擇 assert clean_draft_asserted: true 作為 ≥3 challenge floor 的 exit path。Header 必須輸出:
    • clean_draft_asserted: true
    • per_section_coverage:列出每一個課程 section ID + 已檢查的 classes + 每個 class 的 audit rationale 一句話(例「§4.2: class_1 N/A 無循環論述;class_2 PASS 兩個 sources 互相 reconcile;class_3 N/A 無 vendor mention;factual_accuracy PASS」)
    • clean_draft_rationale:一段敘事說明為何該 draft 真正 clean
    Quality Auditor 必須獨立抽檢此 assertion:發現任何 blindspot 本應 land 但未 land,宣告 false_clean_assert: true 並強制 Fresh Eyes re-run。此 escape path 解決 ≥3 floor(line 731/745)vs vacuous-pass-detected(line 759)之間的 structural contradiction——clean draft 不再需要被迫 fabricate

下游 enforcement teeth(同 batch 處理 per Q4 Option A):Quality Auditor 的 v5.1 patch 包含一個 addendum,明確規範 false_clean_assert 的審核程序:每份 Fresh Eyes deliverable 帶 clean_draft_asserted: true 者,QA 必須獨立讀對應 draft sections 並重新分類;mismatch → BLOCKER、Wave 3 硬阻斷;獨立稽核檔 audit-002-fresh-eyes-clean-assertions.md

其他 16 個 agent 的 v5.1 變更摘要

完整內容在 v5.md 原檔(1728 行)。這裡只列重點:

Agentv5.1 主要變更
🔍 Investigator AP-015 WebSearch migration;P-016 escalation chain 升為 primary;URL authenticity post-process check
🔎 Investigator BP-019 NEW-03 forbidden phrase list(code+cost 版本);line 1039 raw gemini → wrapper+WebSearch;5 州 AHJ delta 驗證
✍️ Writer BTier C handoff consumer side:slide 13 必須 consume handoff.md,缺檔 escalate Commander 拒絕 cold-start
🎨 Engagement Designer (v2)改用 Compliance canonical 功能類別(hanging/securing/closing/controlling/protective);self-derive slide roles from Writer A/B + slide_role_derivation.md
📋 Content Directorper-phase pacing M (≤10% deviation);narrative_through_line 顯式 section;NOT/INSTEAD recommendation format
✅ Compliance ReviewerProvider # 位置稽核;HSW 75% 門檻 rubric;primary-frame classification rule;20% 分鐘基單位;Gate 4 Puppeteer pointer
📝 Copy Editor角度單位 ° 慣例;<<SME-REVIEW>> marker 強制
🔢 Fact CheckerP-015 WebSearch primary;P-019 NEW-03 7-phrase list + first-party URL 結構規則
📎 Source Revieweropinion vs empirical 判別(first-person 必要但不充分);<p class="source-note"> 強制;reconciliation table 顯式 M
🎯 Project Architect AdvisorCanonical persona file 引用;Q2 Option B: Gemini Pro 維持 primary(新 API key),Opus 降為 documented degraded-mode fallback
💼 Sales Rep AdvisorLine 689 inline 刪除純 pointer;line 1044 唯一真相
💻 Engineer (HTML)Cadence 繼承 Engagement Designer handoff;16px 標為 Waterson house rule;post-test Phase-2 fallback 規則化
📊 Performance Supervisor (v2)Hard systemic 定義綁 (same-agent, same-failure-class);skill-invocation-gap three-condition lock
🔍 Quality AuditorTestable claim 定義;reverse-index check (lane-scoped);2 新 anti-patterns;Fresh Eyes enforcement teeth addendum
🎓 Learning Outcome Validator (v2)Coverage matrix LO×Q + per-persona score schema 含 prior_belief_seedhalt_gate: <int> flag;4 drift modes 含 persona recalibration
🗃️ Candidate Collector3 新 CLI metadata flag + auto-fill 契約豁免非-CC callers + shell-escape idiom

下一步

v5.1 機器人已經準備好上崗。下一個里程碑是 實際 production 跑 HSW-006 或新課程——那才是 polish loop 的真正驗證。v5.2 polish loop 的已知 follow-ups: