# Evidence: single-react-chat-application-usecase ## Code and Contract Evidence - `DiagnosisHarnessCore`/`RunContext` 已提供 Run ID、预算、取消和 first-terminal-wins,应用用例无需创建第二套生命周期。 - `GuardModelCall`/`HarnessRetryExecutor` 提供单轮模型 timeout、Token 记账和两次 Router attempt。 - `HarnessEvidenceTools`/`RagToolResult` 提供 Knowledge 路径唯一 lookup 和有界 projection。 - `DiagnosisAgentUseCase`/`DiagnosisReleaseUseCase` 已形成 Diagnosis Draft 与安全发布边界。 - `DiagnosisRun`/`DiagnosisRunRepository`/V011 提供既有 Run 持久化,V012 以 nullable additive 字段扩展。 ## Confirmed Boundaries - Router 输入只含原始 Query、可选 last intent 和 last user query;最终失败不得默认进入 Diagnosis。 - 三类 executor 不互相调用,所有路径接收未改写 Query。 - PreviousTurn 只来自同 Session 最近 `DIAGNOSIS + SUCCESS + published_result`,且必须在保存当前 Run 前读取。 - Knowledge 公开内容只保留 stable document metadata,不发布 direct Tool Call ID。 - `PublishedResult` 不保存 Tool ID、raw evidence、完整 Draft 或 SemanticGuard reason;Fallback/Failed/Cancelled 不写安全历史。 - Controller/SSE/前端切换属于阶段 6B,本阶段保持公开协议不变。 ## Diagnosis Finding - 综合回归暴露 `SemanticGuardTest` 的负载竞态:第二个 Future 可能在获得线程前被取消,因而不会产生第二次 interrupt。 - 生产代码已对每次 timeout 调用 `Future.cancel(true)`;测试改为验证两次 TIMEOUT attempt、两次模型预算预留,以及至少一个运行中调用被中断。 - 分类为测试假设偏差,不是生产代码或 OpenSpec 偏离。 ## Verification Evidence - Stage 6A focused tests:13 tests 通过。 - Stage 2-5 与 6A 综合回归:18 suites / 76 tests,0 failure/error/skipped。 - Maven compile 与 change strict validation 通过。 - 公开 Controller/前端零 diff;Router/System executor 无 Tool、ReactAgent、ThreadLocal 或手写 loop。