# Acceptance: single-react-cleanup-e2e ## Result Accepted. 阶段 7 的清理、Harness-native audit、文档收口和 live E2E 已完成;最终发布为安全 `FALLBACK`,没有释放未验证 Draft。 ## Static Verification - `openspec validate --all --strict`: 22/22 passed。 - `node --check src/main/resources/static/app.js`: passed。 - `git diff --check`: passed。 - production legacy path、旧 Agent-facing Tool contract 和持久化敏感 payload 扫描:0 matches。 - 最终 Tool 时间窗日志扫描:原始 query、request/response、Tool Call ID、Prompt、stack、debug instrumentation 均为 0;只保留有界 metadata。 ## Script Verification - Deterministic Maven regression: 60 suites / 221 tests,0 failures,0 errors,3 skipped。 - `mvn -q -DskipTests compile`: passed。 - `mvn -q -DskipTests package`: passed。 - `mvn -q -Dtest=QueryLogsToolsTest,QueryLogsResultProjectorTest,CanonicalInvocationStoreTest test`: passed。 - Flyway 9.22.3 repair + migrate: V012 checksum repaired,V013 applied,schema current version 013。 - Maven `spring-boot:run` with `mvp-demo`: Flyway 13 migrations validated,JPA schema validation passed,Tomcat 9900 started,Harness/Audit wiring active。 - `run-payment-timeout-demo.ps1`: strict named SSE validation passed for exact final session/run。 - `scripts/query_mysql.py`: exact diagnosis_run、agent_step、tool_invocation queries passed。 ## Final Live Evidence - sessionId: `mvp-demo-payment-timeout-stage7-20260722-1741` - runId: `363f481c-33b8-42e7-8699-428a6ec61806` - SSE: `metadata -> status -> status -> status -> content -> done` - diagnosis_run: `status=SUCCESS`、`intent=DIAGNOSIS`、`release_outcome=FALLBACK`、`tool_call_count=2`、`total_token_count=11764`。 - AgentStep: 2 exact-run rows,唯一 agent `diagnosis_agent`,`thought IS NULL`,只含角色/数量/Tool name metadata。 - ToolInvocation: `lookup_knowledge` 和 Mock `query_logs` 各 1 行,均 `READY/EVIDENCE_FOUND/success=1`;input/details 只有 framework Tool Call ID、状态和字节数。 ## Browser / Manual Verification - 未执行浏览器点击验收;本阶段公开协议由真实 HTTP SSE 脚本和前端 JavaScript syntax/contract tests 覆盖。 ## Remaining Risks - live 结果为 EvidenceGuard/SemanticGuard 约束下的安全 `FALLBACK`,不是业务根因成功发布;这是允许的最终释放状态。 - `diagnosis_run.step_count` 仍为空,但 exact AgentStep 查询返回 2 行;该历史汇总字段不作为本阶段 release gate。 - `query_logs` 使用 Mock;真实 CLS 与生产业务 `query_mysql` datasource 仍属于后续接入范围。 - `application-local.yml` 含本地内部配置且被 Git 忽略;未 stage、未提交、未输出凭据。 ## Migration And Rollback - L4 endpoint/frontend cleanup 必须整体回滚阶段 7 commit,不恢复双轨 endpoint 或旧 Tool annotations。 - V013 仅幂等增加缺失列/索引;应用回滚时保留新增 nullable 列,避免破坏已写数据,不执行 destructive down migration。 - Flyway repair 已将远端 V012 checksum 对齐当前迁移;V013 保证旧库与 fresh database 最终 schema 一致。 ## Archive - OpenSpec archive: completed at `openspec/changes/archive/2026-07-22-single-react-cleanup-e2e`。 - Delta specs synced: created main `single-react-cleanup-e2e` spec and removed the temporary AiOps-preservation requirement from `single-react-chat-sse-cutover`。 - Parent Issue `ISS-014` was closed and moved to `mvp/issues/archived/` after the stage 7 E2E evidence was accepted. - Post-E2E runtime-quality findings are tracked by active `ISS-015`; they do not reopen this completed cleanup change.