Files
headroom/openspec/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

1.4 KiB

Purpose

TBD

Requirements

Requirement: Month execution comparison target

The system SHALL compare selected month project allocation against explicit project-month planned hours (not derived or lifecycle assumptions).

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

The system SHALL save valid items even if some items fail (partial bulk success).

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

The system SHALL treat team_member_id = null 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