I4006 — Machine.slot is a counting machine-wide slot for heavy work
machine.slot: a counting slot, N and the disk floor read from rule data, taken by pre-push, coverage and builds; a full queue answers a bounded wait naming its holders.
READY wave 0 · p1 · implementation profile · parallel safe
Ready. Every dependency is done, so majordomus plan start I4006 will be accepted.
Objective
machine.slot: a counting slot, N and the disk floor read from rule data, taken by pre-push, coverage and builds; a full queue answers a bounded wait naming its holders.
Why
Heavy work serialises on one lock or starves on it; nine sessions make the machine the bottleneck and a waiter cannot tell who holds it.
Current state
Not built: this issue is planned by the milestone a-session-proceeds-through-the-mesh and nothing of it exists.
Desired state
The acceptance criteria below hold and case 4006 proves them.
Scope
- apps/majordomus-cli/src/capability/builtin
- apps/majordomus-cli/src/machine
- docs/MACHINE.md
- test/cases/4006_machine_slot_shares_heavy_work.sh
- .ai/repo/project/issues/I4006.yaml
Dependencies
None. This issue is a root of the graph.
Acceptance criteria
- At most N holders run at once and below the disk floor none starts
- A full queue answers within a deadline naming each holder, never waits unbounded
- A holder that died releases its slot by deadline, and the slot adds no new store
Validation
- env -u MAJORDOMUS_SHARE -u MAJORDOMUS_HTTP_HOST -u MJ_ROOT bash test/run.sh 4006_machine_slot_shares_heavy_work
Evidence required
- case_4006_machine_slot_shares_heavy_work
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I4006.yaml. Read it back with majordomus plan show I4006.