Files
headroom/openspec/changes/archive/2026-03-08-enhanced-allocation/specs/resource-allocation/spec.md
Santhosh Janardhanan b8262bbcaf docs(openspec): archive completed changes and sync main specs
Archive three completed changes to archive/:
- api-resource-standard (70 tasks, 14 resource classes)
- capacity-expert-mode (68 tasks, expert mode planning grid)
- enhanced-allocation (62 tasks, planning fidelity + reporting)

Sync all delta specs to main specs/:
- api-resource-standard: API response standardization
- capacity-expert-mode: Expert mode toggle, grid, KPIs, batch API
- resource-allocation: Month execution comparison, bulk, untracked
- untracked-allocation: Null team member support
- allocation-indicators: Variance indicators (red/amber/neutral)
- monthly-budget: Explicit project-month planning

All changes verified and tested (157 tests passing).
2026-03-08 19:13:28 -04:00

48 lines
1.7 KiB
Markdown

# Resource Allocation - Delta Specification
This delta documents required updates to existing resource allocation behavior for fidelity with explicit month planning.
## MODIFIED Requirements
### Requirement: Month execution comparison target
**Original behavior:** month execution was compared against derived or lifecycle assumptions.
**Updated behavior:** selected month project allocation is compared against explicit project-month planned hours.
#### Scenario: Compare row total to month plan
- **GIVEN** selected month plan for project is 1200h
- **AND** project allocations total 1300h
- **THEN** project row variance is +100h
- **AND** row status is `OVER`
#### Scenario: Blank month plan comparison
- **GIVEN** selected month has no plan value set
- **AND** project allocations total 50h
- **THEN** comparison target is 0h
- **AND** row status is `OVER`
- **AND** allocation remains allowed
### Requirement: Bulk allocation behavior
**Original behavior:** all-or-nothing transaction semantics.
**Updated behavior:** valid items SHALL be saved even if some items fail.
#### Scenario: Partial bulk success
- **WHEN** 10 allocation items are submitted and 2 fail validation
- **THEN** 8 valid items are persisted
- **AND** failed items return per-index validation errors
- **AND** response includes summary created/failed counts
### Requirement: Untracked execution semantics
**Original behavior:** untracked support was ambiguous/incomplete.
**Updated behavior:** `team_member_id = null` is valid and treated as untracked effort.
#### Scenario: Untracked counted in project, excluded from capacity
- **WHEN** untracked allocation exists for selected month
- **THEN** project totals include it
- **AND** member capacity/utilization computations exclude it