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).
1.7 KiB
1.7 KiB
Purpose
TBD
Requirements
Requirement: Support null team member in allocation APIs
The system SHALL allow allocation records with team_member_id = null.
Scenario: Create untracked allocation
- GIVEN user has allocation create permission
- WHEN POST /api/allocations with
team_member_id = null - THEN allocation is created successfully
Scenario: Bulk create with mixed tracked/untracked
- GIVEN a bulk payload contains tracked and untracked entries
- WHEN POST /api/allocations/bulk is executed
- THEN untracked entries with valid data are processed successfully
Requirement: Include untracked in project totals
Untracked hours SHALL contribute to project-level and grand totals.
Scenario: Project total includes untracked
- GIVEN project has tracked 80h and untracked 20h in selected month
- WHEN project row total is computed
- THEN row total is 100h
Requirement: Exclude untracked from member capacity metrics
Untracked allocations SHALL NOT contribute to any team member utilization/capacity variance.
Scenario: Member utilization ignores untracked
- GIVEN selected month has untracked allocations
- WHEN member column totals and capacity variance are computed
- THEN untracked rows are excluded from member computations
Requirement: Present untracked in execution grid
The allocation grid SHALL expose untracked as a first-class execution bucket.
Scenario: Untracked column visible
- WHEN manager opens allocation execution grid
- THEN untracked column/bucket is visible and editable
Requirement: Capacity validation
Capacity validation SHALL be skipped for untracked allocations (team_member_id = null).