Add council review wait command
This commit is contained in:
@@ -143,6 +143,11 @@ Suggested flags:
|
||||
- `--run RUN_ID`
|
||||
- `--timeout-seconds N`
|
||||
|
||||
Behavior:
|
||||
|
||||
- waits until all three reviewer tasks reach terminal task states
|
||||
- returns current reviewer task statuses on both wake and timeout
|
||||
|
||||
### `orch council tally`
|
||||
|
||||
Group similar suggestions and count supporting reviewers.
|
||||
|
||||
@@ -29,9 +29,10 @@ As of now:
|
||||
- `orch dispatch` now supports `--repo-path`, `--workspace-root`, and `--strict-worktree`, auto-enables strict worktree mode for code-like tasks inferred from task metadata, resolves committed base revisions, records workspace metadata on attempts, and writes that metadata into inbox task payloads
|
||||
- `orch wait` now blocks on run-scoped task events and reconciles inbox state while polling so leader waits can wake on worker progress without manual sleep loops
|
||||
- `orch council start` now creates a dedicated council run, persists council target input metadata, and dispatches the three fixed reviewer roles through the existing scheduler
|
||||
- automated integration tests now cover the main `orch` scheduler slice, including dependency gating, dispatch, blocked-answer flow, retry, reassign, cancel, cleanup, strict worktree creation, automatic code-task worktree enablement, dirty-repo rejection rules, wait wake/timeout behavior, and council start dispatch
|
||||
- `orch council wait` now blocks until the three reviewer tasks reach terminal states or a timeout is reached
|
||||
- automated integration tests now cover the main `orch` scheduler slice, including dependency gating, dispatch, blocked-answer flow, retry, reassign, cancel, cleanup, strict worktree creation, automatic code-task worktree enablement, dirty-repo rejection rules, wait wake/timeout behavior, and council start/wait behavior
|
||||
|
||||
This means the project now has a working `orch` core scheduler with automatic worktree selection for code-like tasks, strict worktree-backed dispatch, the main leader-side control loop, and the first council workflow slice.
|
||||
This means the project now has a working `orch` core scheduler with automatic worktree selection for code-like tasks, strict worktree-backed dispatch, the main leader-side control loop, and the first two council workflow slices.
|
||||
|
||||
## Source Of Truth
|
||||
|
||||
@@ -74,9 +75,9 @@ Current implementation status:
|
||||
- `Milestone 4: Orch Core Scheduling` is complete for the current non-worktree scheduler scope
|
||||
- `Milestone 5: Strict Worktree Support` is complete
|
||||
- `Milestone 6: Waiting Primitives` is complete
|
||||
- `Milestone 7: Council Review` is partially complete through `orch council start`
|
||||
- `Milestone 7: Council Review` is partially complete through `orch council start` and `orch council wait`
|
||||
|
||||
The next practical coding target is the next `Milestone 7` slice: `orch council wait`.
|
||||
The next practical coding target is the next `Milestone 7` slice: `orch council tally`.
|
||||
|
||||
### Milestone 1: Go Skeleton
|
||||
|
||||
@@ -341,12 +342,13 @@ Completed so far:
|
||||
|
||||
- council-specific storage now includes run metadata, reviewer assignment rows, reviewer findings/groups tables, and persisted council input references
|
||||
- `orch council start`
|
||||
- `orch council wait`
|
||||
- council start creates a dedicated run, stores council target input metadata, creates reviewer tasks `CR1` through `CR3`, and dispatches the fixed reviewer roles `architecture-reviewer`, `implementation-reviewer`, and `risk-reviewer`
|
||||
- CLI integration tests cover council start dispatch and metadata persistence
|
||||
- council wait blocks until all three reviewer tasks reach terminal states or timeout
|
||||
- CLI integration tests cover council start dispatch, metadata persistence, and council wait wake/timeout behavior
|
||||
|
||||
Remaining:
|
||||
|
||||
- `orch council wait`
|
||||
- `orch council tally`
|
||||
- `orch council report`
|
||||
|
||||
@@ -354,11 +356,11 @@ Remaining:
|
||||
|
||||
If a new agent is taking over now, the next concrete step should be:
|
||||
|
||||
1. continue `Milestone 7: Council Review` with `orch council wait`
|
||||
2. define the council completion check that determines when all reviewer outputs are ready for tally
|
||||
1. continue `Milestone 7: Council Review` with `orch council tally`
|
||||
2. define how reviewer findings are parsed from completed reviewer outputs into `council_findings`
|
||||
3. keep the authored inbox test-plan set in `docs/tests/inbox/` synchronized if CLI behavior changes during further `orch` work
|
||||
|
||||
The inbox implementation and its human-readable test-plan set are already in place, and `orch` now supports the main scheduler loop plus the first council workflow slice, so the next meaningful project step is finishing council wait, tally, and report.
|
||||
The inbox implementation and its human-readable test-plan set are already in place, and `orch` now supports the main scheduler loop plus council start/wait, so the next meaningful project step is parsing reviewer outputs and implementing tally/report.
|
||||
|
||||
## Recommended Driver Choices
|
||||
|
||||
@@ -385,6 +387,7 @@ Completed so far:
|
||||
- orch wait wake and timeout coverage
|
||||
- orch retry, reassign, cancel, and cleanup coverage
|
||||
- orch council start dispatch and persistence coverage
|
||||
- orch council wait wake and timeout coverage
|
||||
|
||||
Still recommended before the codebase grows too much:
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
# Orch Council Wait
|
||||
|
||||
## Status
|
||||
|
||||
- `completed`
|
||||
|
||||
## Owner
|
||||
|
||||
- codex
|
||||
|
||||
## Started At
|
||||
|
||||
- `2026-03-19`
|
||||
|
||||
## Goal
|
||||
|
||||
- implement `orch council wait` so the leader can block until all three reviewer tasks finish or a timeout is reached
|
||||
|
||||
## Scope
|
||||
|
||||
- add council wait status queries and blocking wait behavior on top of existing council reviewer rows
|
||||
- add CLI support for `orch council wait`
|
||||
- add integration tests for wake and timeout behavior
|
||||
- update the implementation roadmap and archive this workstream when complete
|
||||
|
||||
## Checklist
|
||||
|
||||
- [x] inspect council wait docs and current council storage
|
||||
- [x] implement council wait store and CLI command
|
||||
- [x] add integration coverage for council wait wake and timeout
|
||||
- [x] run `go test ./...`
|
||||
- [x] update `docs/implementation-roadmap.md`
|
||||
- [x] archive this roadmap with a completion summary
|
||||
|
||||
## Files
|
||||
|
||||
- `docs/roadmaps/archive/orch-council-wait.md`
|
||||
- `docs/implementation-roadmap.md`
|
||||
- `internal/store/council.go`
|
||||
- `internal/cli/orch/council.go`
|
||||
- `internal/cli/orch/council_wait.go`
|
||||
- `internal/cli/orch/integration_test.go`
|
||||
|
||||
## Decisions
|
||||
|
||||
- treat reviewer completion as all council reviewer tasks reaching terminal task states
|
||||
- reuse the existing `orch wait`/reconcile polling model rather than introducing a separate push mechanism for councils
|
||||
|
||||
## Blockers
|
||||
|
||||
- none
|
||||
|
||||
## Next Step
|
||||
|
||||
- implement `orch council tally` by parsing completed reviewer outputs into `council_findings` and grouping similar proposals
|
||||
|
||||
## Completion Summary
|
||||
|
||||
- `orch council wait` now blocks until all council reviewer tasks reach terminal task states or a timeout is reached
|
||||
- wait responses return reviewer task statuses on both wake and timeout paths
|
||||
- integration tests now cover council wait wake and timeout behavior
|
||||
Reference in New Issue
Block a user