muse-agent-example/tests/夹具/模型事件.json
zizi f76c3cd04a docs(架构): 归档R2历史留痕并清理过程计划与实施分期标签
- 归档并收敛 R2 历史留痕至 docs/实现回顾/R2改造历史留痕.md,删除已退出生命周期的改造计划、旧文件处置及验证过程文档
- 现行测试用例身份收敛至 tests/用例清单.json(1358条扁平登记),适配 conftest、索引维护与测试执行验证
- 清理源码、配置、SQL迁移头、测试夹具及规则文档中的 Wxx 实施分期标签与过时过程描述
- 同步重新打包构建资源清单,通过全量离线测试、模块边界、类型检查与索引双向强核验
2026-09-16 19:09:14 +08:00

306 lines
7.5 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"schema_version": "muse-fixture-model-events-v1",
"来源": "合成样例;provider/model 均为占位符,不指向真实服务",
"合同": "docs/系统架构/新版设计/接口契约/任务工具与事件.md",
"语义": "terminal_state 取 completed/truncated/failed/no_completion_basis;usage_state 取 known/unknown",
"scenarios": [
{
"scenario_id": "model-normal-completion",
"说明": "分片输出→finish(stop)→回执含用量:构成有效完成",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "夜色"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "渐深。"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "stop"
}
}
}
},
{
"type": "assistant/message",
"data": {
"turn": 1,
"step": 1,
"message": {
"source": {
"provider": "synthetic",
"model": "fixture-model"
},
"content": [
{
"type": "text",
"text": "夜色渐深。"
}
]
},
"usage": {
"inputTokens": 100,
"outputTokens": 8,
"costUsd": 0.001
}
}
}
],
"expected": {
"terminal_state": "completed",
"finish_reason": "stop",
"usage_state": "known",
"final_text": "夜色渐深。"
}
},
{
"scenario_id": "model-truncated-by-length",
"说明": "finish(length):明确终态=截断,不是成功完成",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "长文未完"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "length"
}
}
}
},
{
"type": "assistant/message",
"data": {
"turn": 1,
"step": 1,
"message": {
"source": {
"provider": "synthetic",
"model": "fixture-model"
},
"content": [
{
"type": "text",
"text": "长文未完"
}
]
},
"usage": {
"inputTokens": 100,
"outputTokens": 4096
}
}
}
],
"expected": {
"terminal_state": "truncated",
"finish_reason": "length",
"usage_state": "known"
}
},
{
"scenario_id": "model-stream-close-without-finish",
"说明": "流关闭但无完成信号:无有效完成依据,不得判成功",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "半句"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "话"
}
}
}
],
"expected": {
"terminal_state": "no_completion_basis",
"usage_state": "unknown",
"notes": "保留部分输出或失败,不得计为完成;文本片段不是完成事件"
}
},
{
"scenario_id": "model-midstream-error",
"说明": "分片后错误事件:终态=失败,错误可见",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "开始"
}
}
},
{
"type": "assistant/error",
"data": {
"turn": 1,
"step": 1,
"error": {
"code": "provider_unavailable",
"message": "合成错误:上游不可用"
}
}
}
],
"expected": {
"terminal_state": "failed",
"error_code": "provider_unavailable",
"usage_state": "unknown"
}
},
{
"scenario_id": "model-unknown-usage",
"说明": "finish(stop) 与回执均出现,但用量缺失:完成与用量未知分别表示",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "完成句子。"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "stop"
}
}
}
},
{
"type": "assistant/message",
"data": {
"turn": 1,
"step": 1,
"message": {
"source": {
"provider": "synthetic",
"model": "fixture-model"
},
"content": [
{
"type": "text",
"text": "完成句子。"
}
]
}
}
}
],
"expected": {
"terminal_state": "completed",
"finish_reason": "stop",
"usage_state": "unknown",
"notes": "未知用量单独表示,不填 0、不猜测、不冒充已结算"
}
},
{
"scenario_id": "model-finish-after-message",
"说明": "回执先到、finish 信号后到(乱序容错反例):仍可判完成,但依据是两者齐备",
"events": [
{
"type": "assistant/message",
"data": {
"turn": 1,
"step": 1,
"message": {
"source": {
"provider": "synthetic",
"model": "fixture-model"
},
"content": [
{
"type": "text",
"text": "乱序。"
}
]
},
"usage": {
"inputTokens": 10,
"outputTokens": 2
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "stop"
}
}
}
}
],
"expected": {
"terminal_state": "completed",
"finish_reason": "stop",
"usage_state": "known",
"final_text": "乱序。"
}
}
]
}