# Orch Council Report ## Status - `completed` ## Owner - codex ## Started At - `2026-03-19` ## Goal - implement `orch council report` so persisted grouped recommendations can be rendered as a final council report in human-readable markdown and stable JSON output ## Scope - add `orch council report` with `--run`, `--show`, and `--json` - read grouped recommendations from persisted `council_groups` - render a markdown report for the requested buckets and persist report metadata if needed by the existing design - add integration coverage for default output, `--show all`, and JSON shape - run `go test ./...`, update the implementation roadmap, and archive this workstream when complete ## Checklist - [x] inspect council report requirements, current council store, and CLI/test patterns - [x] implement council report store and CLI command - [x] add integration coverage for default buckets, `--show all`, and JSON output - [x] run `go test ./...` - [x] update `docs/implementation-roadmap.md` - [x] archive this roadmap with a completion summary ## Files - `docs/roadmaps/archive/orch-council-report.md` - `docs/implementation-roadmap.md` - `docs/council-review.md` - `internal/store/council.go` - `internal/cli/orch/council.go` - `internal/cli/orch/council_report.go` - `internal/cli/orch/integration_test.go` - `internal/db/schema/007_council_reports.sql` ## Decisions - keep the scope limited to report rendering on top of existing persisted council data - persist final report metadata in a dedicated `council_reports` table so the last rendered report artifact path can be recovered without re-reading files - place markdown artifacts under a `.orch/reports/` tree rooted next to the active database context so tests and non-default databases do not dirty the repository root ## Blockers - none ## Next Step - none ## Completion Summary - added `orch council report` with `--run`, `--show`, and `--json` on top of persisted `council_groups` - report rendering now produces human-readable markdown, writes a markdown artifact, and persists final report metadata in `council_reports` - integration coverage now verifies default `consensus,majority` output, `--show all`, and the JSON response shape