# Case: `council-report-json-shape-is-stable` ## 用例意义 验证 `council report --json` 返回稳定 JSON 契约,包含 `show`、`summary`、过滤后的 grouped recommendations,以及 report artifact 元数据。 ## 前置条件 - 已按 `council-report-defaults-to-consensus-and-majority` 的前置流程完成 reviewer 输出与 `council tally` - 运行 ID 为 `council_blog_report_003` ## 输入 ```bash orch --db TMPDIR/coord.db --json council report \ --run council_blog_report_003 ``` ## 预期输出 - 退出码为 `0` - `ok == true` - `command == "council report"` - `data.run_id == "council_blog_report_003"` - `data.show == ["consensus","majority"]` - `data.summary.consensus == 1` - `data.summary.majority == 1` - `data.summary.minority == 1` - `data.report_artifacts` 长度为 `1` - 首个 artifact 的 `kind == "markdown"` - `data.grouped_recommendations` 长度为 `2` - 第一组 recommendation 的 `bucket == "consensus"` ## 断言结论 - `--json` 模式返回的是 leader 可继续消费的稳定 machine-readable contract - 默认 JSON 输出只返回被当前 `show` 过滤后的 recommendation,而 summary 仍保留全量 bucket 统计 ## 补充约束 - 即使 `--json` 模式返回 artifact path,markdown artifact 仍应实际落盘