SOP-003 — Run Dispatch (10-minute tick) · sop-003-run-dispatch
Owner directive (2026-07-10), canonical. "Create a Dispatch, Wake you up every 10 minutes, check if all capability is allocated, check the conclusion of particles and atoms and if the run is moving." [src: wiki/development/prompts-archive/by-topic/knowledge-management-and-concept-modeling.md:646]
Content
This SOP is the contract for the dispatch tick that supervises RUN-016 (squad-schematic), RUN-017 (squad-eggtech) and RUN-018 (squad-instance). The dispatcher also enforces rule compliance: "create a dispatch and always optimize the performance and the delivery, checking if the rules are being followed and refusing/accepts." [src: …/knowledge-management-and-concept-modeling.md:620]
Tick contract — every 10 minutes
- Read state. Load
dispatch.json(validated against schema-dispatch-json) and the active playbook rows of all open runs (pb-001-spatial-site-loop, pb-002-library-authoring, pb-003-run-dispatch). - Capability check. Every open row must have (a) a seated datan per squad-roles and (b) an equipped gear-set per gear-sets. An unallocated row is a finding.
- Particle/atom completion check. Compare delivered work-particles and assembled atoms (work-units, matter-hierarchy) against the previous tick. Deliveries must satisfy sop-001-loop-execution step 6.
- Run-movement check. Each open run must show movement since the last tick: ≥1 particle delivered, a gate passed, or a row state transition. A run with none is stalled this tick.
- Rule check (refuse/accept). Spot-check the tick's deliveries against their gates (bm-001-web-perf, bm-002-splat-budget, sop-004-library-authoring zero-orphan). Non-compliant deliveries are refused — the row reopens; compliant ones are accepted.
- Write. Append the heartbeat entry (per-run: rows open/blocked, particles delivered, gear swaps logged per SOP-001, refusals) and one tick line (timestamp, runs checked, verdict). Commit — the tick itself is a loop, and every loop has a commit [src: …/knowledge-management-and-concept-modeling.md:586].
Stall rule
A row or run with no movement for more than 2 consecutive ticks (>20 minutes) raises a queue item naming: the blocked row, the responsible seat, the last error, and the proposed remedy — a gear swap within family (sop-001-loop-execution academy rule), a re-dispatch by RUN Leadership, or an owner escalation when the blocker is an open ruling (sop-002-conflict-resolution step 6).
Interval
The 10-minute interval is fixed by the owner directive. Ticks may be cheap (checks only) but may not be skipped while any run is open; a missed tick is itself logged as a finding on the next tick.
Composition
- uses: schema-dispatch-json (state file contract) · gear-sets / squad-roles (capability check) · sop-001-loop-execution (delivery + swap semantics) · bm-001-web-perf / bm-002-splat-budget (accept/refuse gates) · pb-003-run-dispatch (the playbook wiring this SOP)
- used-by: okrs-2026-h2 (KR2/KR4 evidence) · squad-eggtech · squad-schematic · squad-instance (all supervised runs) · bpmn-neural-engine-run (the tick appears as a lane)
See also
- neural-engine — the runtime the dispatcher wakes
- sc-002-neural-engine-run — schematic of a full run under dispatch