Implement router assignment and lease retries
This commit is contained in:
+7
-10
@@ -24,15 +24,11 @@ This is the implementation-oriented breakdown of the specification. It is a proj
|
||||
- Done: hard project machine-affinity resolution; candidates are restricted to configured, reachable herdrs on allowed machines.
|
||||
- Done: optional `ORCHESTRA_CONFIG` startup validation.
|
||||
|
||||
4. **Router and leases** — **partial groundwork**
|
||||
4. **Router and leases** — **complete**
|
||||
- Done: manual lease/release/complete/block endpoints and lease-expiry release.
|
||||
- Remaining:
|
||||
- Assignment on `TaskCreated`
|
||||
- Assignment on release/expiry
|
||||
- Capability matching
|
||||
- Availability and concurrency filtering
|
||||
- Importance ordering
|
||||
- Retry/backoff and eventual `TaskFailed`
|
||||
- Done: assignment on `TaskCreated` and lease release/expiry.
|
||||
- Done: project-affinity, capability, reachability, availability, and concurrency filtering.
|
||||
- Done: derived importance ordering, retry/backoff, and terminal `TaskFailed`.
|
||||
|
||||
5. **Herdr integration** — **not started**
|
||||
- Herdr socket client
|
||||
@@ -79,6 +75,7 @@ This is the implementation-oriented breakdown of the specification. It is a proj
|
||||
- Finished item 2: JSONL watching, authenticated Gitea webhook/poll ingestion, and terminal-state reflection.
|
||||
- Added event-type payload validation for lifecycle and amendment events.
|
||||
- Unit tests pass with `go test ./...`.
|
||||
- Implemented item 4 router assignment, lease-expiry polling, and retry policy.
|
||||
|
||||
## Current API additions
|
||||
|
||||
@@ -101,10 +98,10 @@ Item 1 (task schema + provider port + JSONL adapter) is implemented as the basel
|
||||
|
||||
## Important limitations
|
||||
|
||||
- This is still a Layer 1 prototype. No router, project/machine/herdr registries, harness adapters, herdr socket integration, rotation, handoff validation, provider interface, Gitea adapter, approvals, TUI/web, quota projection, or morning brief exists yet.
|
||||
- This is still a Layer 1 prototype. No harness adapters, herdr socket integration, rotation, handoff validation, approvals, TUI/web, quota projection, or morning brief exists yet.
|
||||
- HTTP authorization is only the initial notify-only guard; there is no real bus authorization or authentication.
|
||||
- Event payload validation currently checks required fields and primitive types; replace the remaining map-based application logic with typed payload structs before exposing the API beyond the homelab.
|
||||
- Lease expiry currently releases tasks but does not yet implement retry counts/backoff or emit `TaskFailed` after a configured limit.
|
||||
- Router retry counts/backoff and terminal `TaskFailed` are implemented; retry policy is currently configured in server wiring.
|
||||
|
||||
## Next agent: recommended order
|
||||
|
||||
|
||||
Reference in New Issue
Block a user