- Resources as universal base unit (equipment, people, facilities, materials)
- people update resource state regularly and document resource movement through the systems
- Task system split into human identification and algorithmic assignment
task creation drivers
1. Emergency/Critical needs
2. Waste prevention
3. Routine requirements
4. Community improvements
Key Assumptions
- Daily time intervals
- Measurable resource states
- Clear quality metrics
- Definable dependencies
simulation benefits
- Reveals hidden dependencies/bottlenecks
- Tests system resilience
- Validates labor estimates
- Supports planning decisions
```mermaid
erDiagram
RESOURCE {
string id PK
string name
enum type "equipment|person|facility|material"
float functionality
enum condition "good|needs_attention|critical"
enum readiness "ready|pending|unavailable"
float quality
json projected_states
json constraints
datetime last_updated
}
TASK {
string id PK
string name
string description
enum priority "emergency|waste_prevention|routine|improvement"
float est_duration_mean
float est_duration_std_dev
enum frequency "on_demand|scheduled|state_triggered"
json trigger_conditions
datetime created_at
}
TASK_HISTORY {
string id PK
string task_id FK
string performer_id FK
datetime start_time
datetime end_time
float duration
json resource_states_before
json resource_states_after
}
SYSTEM {
string id PK
string name
json guarantees
datetime last_updated
}
TASK_RESOURCE_REQ {
string task_id FK
string resource_id FK
float quantity
json required_state
}
SYSTEM_TASK {
string system_id FK
string task_id FK
}
RESOURCE ||--o{ TASK_RESOURCE_REQ : "required_by"
TASK ||--o{ TASK_RESOURCE_REQ : "requires"
TASK ||--o{ TASK_HISTORY : "records"
SYSTEM ||--o{ SYSTEM_TASK : "contains"
TASK ||--o{ SYSTEM_TASK : "belongs_to"
```