Expand description
Resource Leveling Algorithm
Detects and resolves resource over-allocation by shifting tasks within their slack.
§RFC-0003 Compliance
This module implements deterministic, explainable resource leveling:
- Explicit opt-in only (
--levelflag) - Every delay has a structured reason (
LevelingReason) - Original schedule preserved alongside leveled schedule
- L001-L004 diagnostics emitted for transparency
Structs§
- DayUsage
- Resource usage on a specific day
- Leveling
Metrics - Metrics summarizing the leveling transformation
- Leveling
Options - Leveling configuration (explicit user choice)
- Leveling
Result - Result of resource leveling (RFC-0003 compliant)
- Overallocation
Period - A period of resource over-allocation
- Resource
Timeline - Timeline of resource usage
- Resource
Utilization - Utilization statistics for a single resource
- Shifted
Task - A task that was shifted during leveling
- Unresolved
Conflict - A conflict that could not be resolved
- Utilization
Summary - Summary of resource utilization across all resources
Enums§
- Leveling
Reason - Structured reason for a leveling delay
- Leveling
Strategy - Strategy for selecting which tasks to delay during leveling
Functions§
- calculate_
utilization - Calculate resource utilization for a schedule
- detect_
overallocations - Detect resource over-allocations without resolving them
- level_
resources - Perform resource leveling on a schedule (RFC-0003 compliant)
- level_
resources_ with_ options - Perform resource leveling with explicit options