Schedule independent checks without exceeding the worker limit
Two independent application tests could run together, but shared compilation must finish first. Add bounded scheduling and explicit blocked states for dependent tasks.
- Focused work estimate
- 2h 30m + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Scheduling · Concurrency · State machines
Estimated field mix
- Developer tooling100%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
A product team waits for every package to rebuild after small changes. An experimental cache is faster but occasionally returns success after a shared type changed. Build a small, auditable task runner around fixture packages.
Setup prerequisites
- Prepare four fixture packages with one shared library and two applications.
- Use only trusted fixture commands in local tests.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
Acceptance criteria
- A task starts only after every prerequisite succeeds.
- Active process count never exceeds the configured positive concurrency limit.
- A failed prerequisite marks descendants blocked while unrelated tasks may finish.
Implementation constraints
- Detect cycles before execution and return the cycle path.
- Store task transitions through one scheduler boundary.
Verification to include
- Run a diamond graph with barrier-controlled fixture tasks and assert start order and concurrency.
- Fail the shared task and verify descendants never start while an independent task completes.
Deliverables
- Bounded scheduler and graph execution trace
Rollout and recovery
Default concurrency to one; increase only after the scheduling trace demonstrates the limit.
Value of the work
For the engineer: Practice incremental computation, dependency scheduling, cache correctness, and cancellation.
For the team: Inspect whether faster checks preserve the guarantees reviewers depend on.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.