feat(P3): IHF Phase 3 complete — Governance and Decision Linkage
Implements the full governance layer: - Schema: requirements, decision_records, policy_references, implementation_change_references; requirement_candidates gets requirement_id back-reference - RequirementsController (index/show; promotion-only create) - DecisionRecordsController (CRUD + policy/impl ref management) - GovernanceDashboardAction on HubsController (AutoRefresh) - PromoteToRequirementAction + LinkToDecisionAction on candidates - Outcome immutability enforced at controller level (fill excludes outcome) - Full six-outcome vocabulary with Tailwind color roles - Integration tests for all Phase 3 paths - FrontController: registers Phase 2 missing controllers + all Phase 3 - SCOPE.md + docs/phase3-summary.md updated Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
840b0e5c7b
commit
7f9a8dd441
23 changed files with 2039 additions and 19 deletions
|
|
@ -4,7 +4,7 @@ type: workplan
|
|||
title: "IHF Phase 3 — Governance and Decision Linkage"
|
||||
domain: inter_hub
|
||||
repo: inter-hub
|
||||
status: active
|
||||
status: done
|
||||
owner: custodian
|
||||
topic_slug: inter_hub
|
||||
created: "2026-03-28"
|
||||
|
|
@ -69,7 +69,7 @@ Also extends: `RequirementCandidate` (adds `requirement_id` back-reference)
|
|||
|
||||
```task
|
||||
id: IHUB-WP-0003-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "829b1121-bde6-4d8e-8c82-2a2e2064f520"
|
||||
```
|
||||
|
|
@ -144,7 +144,7 @@ ALTER TABLE requirement_candidates ADD COLUMN requirement_id UUID REFERENCES req
|
|||
|
||||
```task
|
||||
id: IHUB-WP-0003-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "9d1edd55-628c-4354-82c3-2bf273f1b827"
|
||||
```
|
||||
|
|
@ -165,7 +165,7 @@ state_hub_task_id: "9d1edd55-628c-4354-82c3-2bf273f1b827"
|
|||
|
||||
```task
|
||||
id: IHUB-WP-0003-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "171b38ab-c6e7-4b0e-94c0-ebc35f07488a"
|
||||
```
|
||||
|
|
@ -184,7 +184,7 @@ state_hub_task_id: "171b38ab-c6e7-4b0e-94c0-ebc35f07488a"
|
|||
|
||||
```task
|
||||
id: IHUB-WP-0003-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "eb45a76b-fd75-4a6c-bec6-e47095d5fa36"
|
||||
```
|
||||
|
|
@ -206,7 +206,7 @@ state_hub_task_id: "eb45a76b-fd75-4a6c-bec6-e47095d5fa36"
|
|||
|
||||
```task
|
||||
id: IHUB-WP-0003-T05
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "4ef86992-d35e-4f62-a601-bd19e3ef63d3"
|
||||
```
|
||||
|
|
@ -225,7 +225,7 @@ state_hub_task_id: "4ef86992-d35e-4f62-a601-bd19e3ef63d3"
|
|||
|
||||
```task
|
||||
id: IHUB-WP-0003-T06
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "eac1baf2-9df7-48fd-880e-68d07e22a337"
|
||||
```
|
||||
|
|
@ -244,7 +244,7 @@ state_hub_task_id: "eac1baf2-9df7-48fd-880e-68d07e22a337"
|
|||
|
||||
```task
|
||||
id: IHUB-WP-0003-T07
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "eaa425b3-42a7-4498-8aa6-1610959ce16b"
|
||||
```
|
||||
|
|
@ -269,7 +269,7 @@ state_hub_task_id: "eaa425b3-42a7-4498-8aa6-1610959ce16b"
|
|||
|
||||
```task
|
||||
id: IHUB-WP-0003-T08
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "6bd3f8f2-13c1-4f95-a1cf-53a210b8e366"
|
||||
```
|
||||
|
|
@ -290,7 +290,7 @@ state_hub_task_id: "6bd3f8f2-13c1-4f95-a1cf-53a210b8e366"
|
|||
|
||||
```task
|
||||
id: IHUB-WP-0003-T09
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "6f1a08f1-c114-4a19-bf71-cbb2421171e1"
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue