108 lines
4.7 KiB
Markdown
108 lines
4.7 KiB
Markdown
# Case: `council-report-show-all-includes-minority-through-bundled-cli`
|
|
|
|
## Test Type
|
|
|
|
This is a `forward-test` and an explicit report-filter validation.
|
|
|
|
The goal is to verify that a leader using the packaged `council-review` skill can override the default report buckets and explicitly request the minority group through the bundled CLI.
|
|
|
|
## Purpose
|
|
|
|
Validate that all of the following can be true at the same time:
|
|
|
|
- the leader can drive a complete `start -> wait -> tally -> report` council flow through the bundled council-review skill
|
|
- three reviewer agents can complete their tasks through the packaged inbox skill
|
|
- the leader can request `council report --show all`
|
|
- the final report includes `consensus`, `majority`, and `minority`
|
|
|
|
## Preconditions
|
|
|
|
- council-review skill path exists: `COUNCIL_SKILL_PATH=skills/council-review`
|
|
- inbox skill path exists: `INBOX_SKILL_PATH=skills/inbox`
|
|
- bundled CLI executables exist at `COUNCIL_SKILL_PATH/assets/orch` and `INBOX_SKILL_PATH/assets/inbox`
|
|
- use an empty temporary directory `TMPDIR`
|
|
- initialize `TMPDIR/coord.db` before launching role agents through `INBOX_SKILL_PATH/assets/inbox --db TMPDIR/coord.db --json init`
|
|
|
|
## Agent Topology
|
|
|
|
- `leader`
|
|
- `architecture-reviewer`
|
|
- `implementation-reviewer`
|
|
- `risk-reviewer`
|
|
|
|
## Inputs
|
|
|
|
### Leader Prompt
|
|
|
|
```text
|
|
Use $council-review at COUNCIL_SKILL_PATH to act as leader on the already initialized SQLite DB TMPDIR/coord.db. Only coordinate through the bundled orch CLI from the skill. Workflow: 1) start council run council_skill_005 with a short architecture review prompt, 2) wait until all three reviewers complete, 3) tally with normal similarity, 4) report with --show all, 5) stop after reporting RUN_ID, REPORT_PATH, and the show buckets you observed. Do not use ordinary chat to coordinate with the reviewers.
|
|
```
|
|
|
|
### Reviewer Prompts
|
|
|
|
- Reuse the same reviewer body JSON and inbox-only workflow as in [council-brainstorm-end-to-end-through-bundled-cli.md](./council-brainstorm-end-to-end-through-bundled-cli.md), but target run `council_skill_005`.
|
|
|
|
## Execution Parameters
|
|
|
|
- use the shared execution contract from [README.md](./README.md)
|
|
- use the shared timeout defaults from [README.md](./README.md)
|
|
- do not override the default cleanup policy
|
|
|
|
## Execution Steps
|
|
|
|
1. Initialize `TMPDIR/coord.db` once through the bundled inbox CLI before launching agents
|
|
2. Inject `skills/council-review/` into `leader`
|
|
3. Inject `skills/inbox/` into the three reviewer agents
|
|
4. Point all agents at the same database path `TMPDIR/coord.db`
|
|
5. Launch `leader`, `architecture-reviewer`, `implementation-reviewer`, and `risk-reviewer` in parallel
|
|
6. Wait for all agents to finish
|
|
7. Resolve `RUN_ID=council_skill_005` and `REPORT_PATH` from the agent outputs
|
|
8. Independently run the validation commands from the main thread
|
|
|
|
## Validation Commands
|
|
|
|
```bash
|
|
COUNCIL_SKILL_PATH/assets/orch --db TMPDIR/coord.db --json council report --run council_skill_005 --show all
|
|
test -f REPORT_PATH
|
|
```
|
|
|
|
## Expected Outcomes
|
|
|
|
- the leader successfully starts `council_skill_005`
|
|
- all three reviewers complete their fixed-role tasks
|
|
- the report succeeds with explicit `show == ["consensus","majority","minority"]`
|
|
- the minority recommendation is present in `grouped_recommendations`
|
|
- a markdown report artifact exists on disk
|
|
|
|
## Assertions
|
|
|
|
- `report.data.show == ["consensus","majority","minority"]`
|
|
- `report.data.summary.consensus == 1`
|
|
- `report.data.summary.majority == 1`
|
|
- `report.data.summary.minority == 1`
|
|
- `report.data.grouped_recommendations` length is `3`
|
|
- at least one returned recommendation has `bucket == "minority"`
|
|
- `REPORT_PATH` exists
|
|
|
|
## Cleanup
|
|
|
|
- use the default cleanup policy from [README.md](./README.md)
|
|
- if the run fails, retain `TMPDIR` and `coord.db` for replay and manual inspection
|
|
|
|
## Recorded Real Forward Run
|
|
|
|
- recorded on: `2026-03-19`
|
|
- execution mode: `real_subagent_forward_test`
|
|
- result: `pass`
|
|
- evidence root: `/tmp/council-skill-show-all-narrow.Uk0ThB`
|
|
- observed run id: `council_skill_005`
|
|
- observed thread ids:
|
|
- `architecture-reviewer`: `thr_c4cb0a9a5dd142619e854fc0f3864ea8`
|
|
- `implementation-reviewer`: `thr_3a54f2e1bc6945f38627958f7f6b4728`
|
|
- `risk-reviewer`: `thr_16765453dedf45b4a6ccf4ecfab710db`
|
|
- observed report path: `/tmp/council-skill-show-all-narrow.Uk0ThB/.orch/reports/council_skill_005.md`
|
|
- evidence summary:
|
|
- main-thread `status --run council_skill_005 --json` returned `run.status == "done"` and `task_counts.done == 3`
|
|
- main-thread `council report --run council_skill_005 --show all --json` returned `show == ["consensus","majority","minority"]`, summary counts `1/1/1`, and `grouped_recommendations` length `3`
|
|
- the returned groups included a `minority` bucket and the markdown artifact existed on disk
|