fix(scheduler): re-queue undispatchable intake tasks + de-flake board tests #352
No reviewers
Labels
No labels
doctor-fix
first-proof blocker
hardening
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
clawdie/colibri!352
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-scheduler-drop-and-flaky-tests"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Does both #1 (deterministic tests) and #3 (fix the intake drop) from the flaky-test discussion — the deadline bump was abandoned because it didn't actually fix the flake.
#3 — production: stop silently dropping intake tasks
The scheduler's intake path drained its queue and dropped any request that found no capable/present agent that tick. The task stayed
queuedin the store but was never re-routed — a silent orphan. Now an undispatchable request is re-queued so a later tick routes it once a capable agent registers/returns. A claim that loses the race (task already handled) is still dropped, so there's no spin.intake_requeues_until_a_capable_agent_appears.#1 — tests: drive the scheduler deterministically
Two
multi_agent_boardtests were flaky undercargo testparallel load. Diagnosis (the deadline was a red herring — 15s still failed 2/8):scheduler_routes_intake_tasks_by_capability: the 50ms background loop got CPU-starved past the poll deadline. It's contention, not slowness.one_agent_handles_two_tasks_isolated_sessions:run_loop's startup agent-prune (#348) deleted the manually-registered agent (it has no spawn handle) before the manualclaim-task, so the claim came back a conflict →ok=false.Both now run without a background loop: the routing test drives one explicit
scheduler.tick()and checks once; the manual-claim test needs no loop at all. Neither races a timed loop or the startup prune.Verification
-D warningsclean; scheduler unit tests green.🤖 Generated with Claude Code