Files
headroom/openspec/changes/archive/2026-03-08-enhanced-allocation/specs/untracked-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

2.0 KiB

Untracked Allocation Specification

Overview

This capability supports external/unassigned effort by allowing allocations without a team member association.

ADDED 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

MODIFIED Requirements

Requirement: Capacity validation

Original behavior: all allocations were assumed team-member-bound for capacity checks.

Updated behavior: capacity validation is skipped for untracked allocations (team_member_id = null).