e688d805ea
總管 08-01 抽驗要求(正確):ON_CASE/ON_CATCH grep=0,我用 ON_BRANCH 通用承接,
但既有測試是用 Input 節點**手餵分支形狀**——那只證明「引擎依標籤選邊」,
**沒證明「真零件吐的標籤對得上」**。leo 特別點名 switch/try_catch,故補實測。
真零件實跑(wasmtime 跑 .component-builds/*.wasm,原文抄進測試當 given):
if_control active → {"data":{"branch":"true","result":true},"success":true}
if_control inactive → {"data":{"branch":"false","result":false},"success":true}
switch case1 → {"data":{"branch":"branch_active"},"success":true}
switch case3 → {"data":{"branch":"branch_pending"},"success":true}
switch 無匹配 → {"data":{"branch":"branch_default"},"success":true}
try_catch 成功 → {"data":{"branch":"try","result":{"value":42}},"success":true}
try_catch 失敗 → {"data":{"branch":"catch","error":"boom"},"success":true}
⇒ 三顆的標籤與 readBranch 讀的 data.branch **完全對得上**,非「理論上支援」。
新增 tests/branch-real-components.test.ts(8 項綠):把上列真輸出送進引擎,
驗 if 兩路/switch 多路(含**第 3 條 case** 證明第 N 路走對)+default/
try_catch ok 與 catch 兩路,每項都驗「該走的走、不該走的沒走」。
新增 tests/branch-hint-response.test.ts(7 項綠):驗逐顆查三顆的回應
自帶 branch_field/branches/edge_types/usage/example,並把 AI 實際看到的內容印出來
(總管要求「貼回應」)。另驗不分岔零件(http_request/code)無此欄=不加噪音。
全套 227 passed(前 212 +15),失敗數維持既有 9 筆未變;tsc --noEmit 綠。
SDD: workflow-discovery 3.11|CP: arcrun-usable 步驟 5
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>