docs(openspec): mark enhanced-allocation tasks complete

Update OpenSpec artifacts to reflect completion:
- design.md: Add decisions D8 (modal-primary) and D9 (single endpoint)
- tasks.md: Mark all 52 tasks complete
- Document intentionally skipped tasks (grid-first editing)
- Update progress to 100%

Change is ready for archive.
This commit is contained in:
2026-03-08 18:23:27 -04:00
parent b9775f2f5a
commit 72db9c2004
2 changed files with 132 additions and 62 deletions

View File

@@ -76,6 +76,35 @@ Status emphasis belongs on row/column summary edges and variance cells; avoid no
- `projects.forecasted_effort` is deprecated for this planning workflow.
- New monthly planning source of truth is explicit project-month plan data.
### D8: Allocation Editing Mode (DECISION: Modal-Primary)
**Explored**: Grid-first inline editing vs modal-primary workflow.
**Decision**: Modal-primary editing is acceptable for this release.
**Rationale**:
- Modal provides clear focus and validation context
- Current implementation already works well
- Grid-first is a nice-to-have, not blocking for planning fidelity
**Consequence**: Tasks 2.12-2.13 (grid-first editing) intentionally skipped.
### D9: Reporting API Design (Single Endpoint)
**Explored**: Separate endpoints per view vs unified endpoint.
**Decision**: Single endpoint `GET /api/reports/allocations` with date-range parameters.
**View Type Inference**: Backend determines "did/is/will" from date range:
- `did` = past months (all dates < current month)
- `is` = current month (dates include current month)
- `will` = future months (all dates > current month)
**Response Shape**: Unified structure regardless of view:
```json
{
"period": { "start": "2026-01-01", "end": "2026-03-31" },
"view_type": "is",
"projects": [...],
"members": [...],
"aggregates": { "total_planned", "total_allocated", "total_variance", "status" }
}
```
## Data Model
### New Table: `project_month_plans`