Implementation Constraints (Copilot Guardrail)
Purpose
This section defines strict architectural constraints for this PR.
No Hardcoded Thresholds
All comparisons must use:
SCHEDULING_CONFIG.loadThresholdHigh
SCHEDULING_CONFIG.loadThresholdOver
Literal values are not permitted in UI or logic.
Strict Responsibility Separation
| File |
Responsibility |
| config.ts |
Behavioral constants |
| timeUtils.ts |
Snapping |
| load.ts |
Load math |
| overlap.ts |
Structural validation |
| suggestions.ts |
Guidance logic |
| UI components |
Rendering only |
UI must not compute scheduling math.
Effective Interval Rule
Overlap must use:
effectiveStart = start - prep - travel
effectiveEnd = end
Main duration alone is insufficient.
Deterministic Suggestions
Suggestions must:
- Use snap interval
- Respect structural rules
- Remain deterministic
- Avoid randomness
- Stay within visible range
Accessibility
- Indicator must include aria-label
- Modal must manage focus
- No animated warning states
Performance
- Load memoized
- Suggestions bounded
- No infinite iteration
- No modal during drag
Implementation Constraints (Copilot Guardrail)
Purpose
This section defines strict architectural constraints for this PR.
No Hardcoded Thresholds
All comparisons must use:
Literal values are not permitted in UI or logic.
Strict Responsibility Separation
UI must not compute scheduling math.
Effective Interval Rule
Overlap must use:
Main duration alone is insufficient.
Deterministic Suggestions
Suggestions must:
Accessibility
Performance