61 lines
1.7 KiB
Markdown
61 lines
1.7 KiB
Markdown
# Orch Wait
|
|
|
|
## Status
|
|
|
|
- `completed`
|
|
|
|
## Owner
|
|
|
|
- codex
|
|
|
|
## Started At
|
|
|
|
- `2026-03-19`
|
|
|
|
## Goal
|
|
|
|
- implement `orch wait` so the leader can block on run-scoped task events instead of manual sleep loops
|
|
|
|
## Scope
|
|
|
|
- add store support for waiting on run-scoped events with event-type filters and timeout behavior
|
|
- make `orch wait` reconcile inbox state while polling so worker transitions can surface as `task_*` events
|
|
- add integration tests for wake and timeout behavior
|
|
- update the implementation roadmap and archive this workstream when complete
|
|
|
|
## Checklist
|
|
|
|
- [x] inspect `orch wait` docs and current event/reconcile behavior
|
|
- [x] implement `orch wait` store and CLI layers
|
|
- [x] add integration coverage for wake and timeout paths
|
|
- [x] run `go test ./...`
|
|
- [x] update `docs/implementation-roadmap.md`
|
|
- [x] archive this roadmap with a completion summary
|
|
|
|
## Files
|
|
|
|
- `docs/roadmaps/archive/orch-wait.md`
|
|
- `docs/implementation-roadmap.md`
|
|
- `internal/cli/orch/root.go`
|
|
- `internal/cli/orch/wait.go`
|
|
- `internal/cli/orch/integration_test.go`
|
|
- `internal/store/orch.go`
|
|
|
|
## Decisions
|
|
|
|
- let `orch wait` perform reconcile while polling so a leader can wait directly on `task_*` events without a separate manual reconcile loop
|
|
|
|
## Blockers
|
|
|
|
- none
|
|
|
|
## Next Step
|
|
|
|
- implement the remaining leader-side scheduler controls: `retry`, `reassign`, `cancel`, and `cleanup`
|
|
|
|
## Completion Summary
|
|
|
|
- `orch wait` now blocks on run-scoped `task_*` events with `--for`, `--after-event`, and timeout support
|
|
- the wait loop reconciles inbox state while polling, so worker thread transitions can wake the leader without a separate manual reconcile step
|
|
- integration tests now cover both wake-on-blocked and timeout behavior
|