Sprint history — Allocation engine
What shipped
The rules engine that decides who can fill each demand line — built up rule by rule.
- Allocation rules framework (MIQ-021) — the rule-set / rule / scope model and the 12-type rule-type catalog (system rows); dispatch by
RuleTypeCode. - Soft scoring rules — Skill Priority (MIQ-022), Terminal Priority (MIQ-023), Working Hours + Equalization (MIQ-024/024a, with
WorkingHoursPriorityreal logic). - Hard validation rules (MIQ-025) — the hard-rule framework; later filled with real logic in MIQ-029 (RestHours + DoubleBooking) and MIQ-031 (HourLimit).
- Rule-set scope + full CRUD UI (MIQ-026) — scoping rules to terminals/nodes/etc. and the management UI.
Key decisions
- All 7 hard + 7 soft rules are LIVE — the early MIQ-025 fail-open stubs were replaced; only the test-only
NoOpAllocationRuleis a stub (Phase-0 headline correction, reversing the handover's "mostly stubs" claim). - Dispatch is by
RuleTypeCode— the catalog'shandler_class_nameis display-only. allocation_rule.writeis SYS_ADMIN + HR_ADMIN only — a Planner runs the engine but can't edit rule sets.- Critical hard rules are protected — you can't delete the last rule of a critical type (
400 CRITICAL_HARD_RULE_REQUIRED).
Build status
Available — the full rule engine (14 live rules, scoping, CRUD) ships. See Allocation rules (concept) and the Allocation rules API.
Related
- Rosters & runs — running the engine. · Equalization — the fairness rules.
- Fact sheets 07 (allocation rules), 14 (equalization); reports MIQ-021–026, 029, 031.