# Chat Diagnosis StateGraph Test Suite Evidence ## Requirement-to-test Matrix | ISS-011 路径/边界 | 权威测试 | 辅助证据 | |---|---|---| | PASS 与精确 event/transition | `DiagnosisGraphWorkflowTest.normalPassPathUsesCompiledGraphAndPreservesEventOrder` | `DiagnosisGraphNodeContractTest.compiledRealNodeGraphCompletesPassPathInExactOrder` | | Planner 一次技术重试/耗尽/非重试失败 | `DiagnosisGraphWorkflowTest.planner*` | Planner adapter focused test | | Executor FAILED/TOOL_BLOCKED/INVALID/no-evidence | `DiagnosisGraphWorkflowTest.executor*` | `DiagnosisGraphNodeContractTest.legalSnapshotAfterToolFailureRemainsCompletedAndReachesGatekeeper` | | Gatekeeper PASS/LOW/REJECT/unknown | `DiagnosisGraphWorkflowTest.gatekeeper*` | Gatekeeper Node/service tests | | partial-pass REJECT 不泄漏 claim | Workflow unsafe route | `DiagnosisGraphNodeContractTest.gatekeeperRejectSkipsVerifierAndUsesPreVerificationFallback` | | verified-only passed-binding projection | Workflow VerifiedInput route | `VerifiedInputNodeTest` + Verifier adapter test | | Verifier 技术重试/耗尽/非重试失败 | `DiagnosisGraphWorkflowTest.verifier*` | `DiagnosisGraphNodeContractTest.verifierInvalidOutputSetsExecutionStatusWithoutFabricatedVerdict` | | critical evidence retry、无 gap、non-critical、ceiling、第二次 LOW | `DiagnosisGraphWorkflowTest.*LowConfidence*` / `secondLowConfidence*` | EvidenceRetryPrepareNodeTest + real full-snapshot integration | | 第二轮完整 snapshot 再验真 | Workflow evidence retry | `DiagnosisGraphNodeContractTest.criticalGapPerformsOneIncrementalRoundAndRevalidatesCompleteSnapshot` | | Verifier REJECT 安全表达 | `DiagnosisGraphWorkflowTest.verifierRejectStillRunsComposerWithSafeMaterial` | ComposerSafeInputBuilderTest | | Composer retry/耗尽/非重试/安全 Fallback | `DiagnosisGraphWorkflowTest.composer*` | ComposerNodeAdapterTest + FallbackNodeTest | | ChatResult/Run/Trace/evaluation/cleanup | `ChatServiceGraphIntegrationTest` | Controller/Trace/Repository/Eval tests | | 同 session 多 run 隔离 | `ChatServiceGraphIntegrationTest.sameSessionCreatesDistinctRunIdsAndKeepsTracePerRun` | Run repository/Trace exact-run tests | | 三层结构与旧实现测试退役 | `DiagnosisGraphTestSuiteStructureTest` | source inventory command | ## 旧 Hook test 安全映射 | 旧行为 | 新真理源 | |---|---| | fenced/prefixed/malformed Executor JSON | `ExecutorEvidenceParserTest` | | invocation/raw_path/evidence excerpt真实性 | `ExecutorGatekeeperServiceTest` | | Gatekeeper status/severity/audit | `GatekeeperNodeTest` | | passed binding 精确投影 | `VerifiedInputNodeTest` | | Verifier verified-only payload | `VerifierNodeAdapterTest` + `ChatVerifierPromptContractTest` | ## 验证证据 - 31 suites / 126 tests:0 failures、0 errors、0 skipped。 - test compilation、当前 change strict、主 specs 15/15、diff check 全通过。 - `src/main` diff=0;三个权威类存在;旧 Sequential/Hook tests不存在;Scripted fixture 定义唯一。 ## Intentional overlap and limits - Workflow 与 Node Contract 都覆盖 PASS/REJECT,但前者验证 route/event,后者验证真实输入/安全材料;这是分层证据,不是复制 fixture。 - 细粒度 component tests 保留以定位失败,不要求全部搬进三个权威类。 - 真实模型/工具、日志和数据库行为未在阶段 4验证,统一由阶段 5 live E2E承担。