{ "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": "乱序。" } } ] }