Files
SuperBizAgent-java/devflow/projects/2026-07-21-single-react-chat-application-usecase/evidence.md
T

2.0 KiB
Raw Blame History

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。