# Case: `council-report-rejects-before-tally-through-bundled-cli` ## Test Type This is a `forward-test` and an invalid-state council workflow validation. The goal is to verify that a leader using the packaged `council-review` skill sees the expected stable error when report is attempted before grouped recommendations have been persisted. ## Purpose Validate that all of the following can be true at the same time: - the leader can start a council run through the bundled council-review skill - the leader can attempt report without tally - the command returns the stable invalid-state contract rather than fabricating an empty report ## Preconditions - council-review skill path exists: `COUNCIL_SKILL_PATH=skills/council-review` - bundled CLI executable exists at `COUNCIL_SKILL_PATH/assets/orch` - inbox skill path exists: `INBOX_SKILL_PATH=skills/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` ## 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_004 with a short review target, 2) attempt council report immediately without running tally, 3) stop after reporting RUN_ID, exit code, and error payload. Do not use ordinary chat to simulate reviewer output. ``` ## 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. Point the leader at the database path `TMPDIR/coord.db` 4. Launch the leader 5. Wait for the leader to finish 6. 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_004 ``` ## Expected Outcomes - the leader successfully starts `council_skill_004` - the report command exits with the stable invalid-state contract - the error message indicates that council tally must run first ## Assertions - command exit code is `30` - error code is `invalid_state` - the error message mentions that grouped recommendations are not available yet or that `council tally` must run first ## 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