ci / vet-and-test (pull_request) Successful in 42s
Why: Q3 WP5 requires a same-batch dual-run harness (direct vs squad compiled graph) that records differences without demanding byte-identical output, feeding DecideSwitch evidence for the runtime.entry default-switch decision. Evidence: eval/ab_test.go mechanics (theme-based scoring, status/theme/ latency diff notes, P50, DecideSwitch wiring, RunFunc error tolerance, empty batch); wfcompile TestABDemoBriefDualRun runs the demo.brief scenario on both entries (direct = scripted single-agent answer; squad = real RunCompiled with stub backend and judge) and logs the report: both sides 100/100, summary-form difference recorded, decision '切换条件已满足…合入前 需要产品确认'. Full backend suite green (SELF); CI authoritative (GATE). Impact: new eval/ab.go harness (pure mechanics, no runtime dependency); no product default is flipped - runtime.entry stays direct until product confirmation per the DecideSwitch report semantics (evidence recorded in the task card and PR). Refs: Q3 plan WP5 (2026-10-07-agent-stack-q2q3-plans.md); task card .task/feature-agent-stack-q3.md