36 lines
2.2 KiB
Markdown
36 lines
2.2 KiB
Markdown
# 支付超时诊断验收用例
|
||
|
||
## 1. 目标
|
||
|
||
验证当前单 Diagnosis Agent 能诊断支付超时问题,并为一次精确 Run 暴露安全、可核对的 Trace。
|
||
|
||
## 2. 输入
|
||
|
||
- `session_id`:`mvp-demo-payment-timeout-001`
|
||
- 问题:结合知识库和日志证据诊断支付超时,并给出有边界的修复建议
|
||
- Profile:`mvp-demo`
|
||
|
||
## 3. 验收标准
|
||
|
||
1. `POST /api/chat` 按 `metadata -> status* -> content|failure -> done` 顺序发送 named SSE;`content` 与 `failure` 必须互斥且只出现一次。
|
||
2. `metadata.session_id` 和 `metadata.run_id` 非空;该精确 ID 对能唯一定位持久化 Run 与 Trace。
|
||
3. Run 的 `intent=DIAGNOSIS`,终态、`release_outcome` 与 SSE `done` outcome 一致。
|
||
4. `agent_step.agent_name` 只出现 `diagnosis_agent`。AgentStep 只保存消息数量/角色、输出是否存在、Tool 名称等 metadata,不保存 Prompt、消息正文、模型正文或 Thought。
|
||
5. 每条 `tool_invocation` 都属于精确 `run_id`,Tool 名称属于 ACI allowlist,只保存有界的身份、状态、错误码、耗时和字节数 metadata;不得包含 SQL、日志查询正文、raw response、凭据或 evidence body。
|
||
6. `content` 只在 Harness guards 与 Release Policy 完成后发布;guard 或技术失败只能发布固定安全 fallback,不能泄漏 Agent 或 Tool 原始 JSON。
|
||
7. `query_logs` 明确标记为 Mock。`query_mysql` 只针对配置的隔离只读数据源验证;本验收不声称接入真实 CLS 或生产业务 MySQL。
|
||
|
||
## 4. 需要检查的 Trace 字段
|
||
|
||
- `data.runId` 与 `data.run.runId`
|
||
- `data.session.sessionId`、`data.session.intent`、`data.session.releaseOutcome`
|
||
- `data.steps[*].agentName`、`data.steps[*].thought` 与 metadata 字段
|
||
- `data.toolInvocations[*].toolName`、identity、status、error code、duration 与 size 字段
|
||
- `data.summary`
|
||
|
||
## 5. 已知边界
|
||
|
||
- 这是一次真实应用 E2E 验收,不能替代确定性的单元与契约测试。
|
||
- 外部模型、Redis、Milvus 和隔离数据源的可用性可能影响 live Run;失败时必须记录精确 session/run identity。
|
||
- 敏感配置治理和生产 CLS/业务 MySQL 接入不属于本次 MVP 验收范围。
|