Overtime & Trade Rules/Allocation Kernel
OTRAK is a management tool for distributing overtime across a large construction workforce (~200 people) with multiple trades, collective agreements, and complex scheduling constraints.
- Allocate overtime fairly and compliantly across trade-specific agreements.
- Prioritize critical-path work orders and coverage needs.
- Respect shift rules (10/12 hour, start times, rotation, rest windows).
- Support worker preferences while keeping operations efficient.
- Produce auditable decisions (who, why, and which rules applied).
- Rules-first: trade-specific contract rules are explicit and testable.
- Priority-aware: critical-path coverage comes before discretionary fills.
- Preference-aware: try to place workers in their usual roles when possible.
- Explainable: every assignment records the rules and constraints used.
- Product brief
- Rules & constraints
- Data model
- System architecture
- Scoring model
- Process & checklist · Checklist
- How to run
- Phase 2: Agreement RAG plan
- Contract facts schema
- Simple Flask app:
app/app.py - Docker:
docker compose up --build
- Scaffolded + v0 allocation script + local embeddings + Flask UI.