diff --git a/docs/product/implementation-ledger.md b/docs/product/implementation-ledger.md index efc3f648..3f76cc3a 100644 --- a/docs/product/implementation-ledger.md +++ b/docs/product/implementation-ledger.md @@ -1,7 +1,7 @@ # TenantPilot Implementation Ledger > **Status:** Active -> **Last reviewed:** 2026-05-12 +> **Last reviewed:** 2026-05-15 > **Use for:** Repo-based implementation status and product-surface maturity assessment > **Do not use for:** Roadmap priority, spec priority, or proof that tests were executed in the current branch > **Scoped maintenance:** 2026-05-15 Decision Register proof-link implementation update after Spec 307; 2026-05-15 Decision Register reconciliation update after Spec 306; 2026-05-15 Tenant Panel dead-code retirement guardrail update after Spec 304; 2026-05-12 roadmap/ledger alignment after the admin workspace navigation and tenant-owned surface repair candidate intake from the repo-verified navigation/panel audit; 2026-05-06 ledger conflict cleanup plus alignment with `docs/product/roadmap.md` and `docs/product/spec-candidates.md` after the cross-domain indicator candidate intake and the current manual-promotion backlog review. @@ -230,7 +230,7 @@ ## Open Gaps & Blockers | Decision Register customer-safe/review-pack inclusion is still missing | Productization gap | The operator register now exposes scoped proof/run links, but customer-safe consumption and review-pack inclusion remain separate product choices | Decision-based operating | `decision-register-review-pack-inclusion` or `decision-register-customer-safe-summary` | | Governance-artifact lifecycle runtime is still missing | Trust / auditability blocker | Lifecycle taxonomy and point retention rules exist, but governance artifacts still lack immutable-reference, hold, export, delete, and suspended/read-only runtime semantics | Lifecycle governance / enterprise trust | `Governance Artifact Lifecycle & Retention v1` | | Cross-domain progress and indicator semantics guardrail is still missing | UX / trust guardrail | Bars, percentages, scores, readiness, risk, usage, and generation-state hints still lack one shared taxonomy and standards layer above the OperationRun-specific rules | UI semantics / product trust | `Cross-Domain Progress / Indicator Semantics candidate group` | -| Admin workspace navigation and tenant-owned surface contract drift remains open | UX / IA repair blocker | Inventory and adjacent tenant-owned admin surfaces still conflict between workspace-home clean-sidebar rules and valid environment-bound admin access, leaving active product breaks and stale hide-first assumptions in place | UI maturity / admin runtime contract | `admin-inventory-navigation-cutover` from the `Admin Workspace Navigation & Tenant-owned Surface Repair candidate group` | +| Residual admin workspace navigation contract drift may remain | UX / IA repair follow-through | Specs 301-304 now cover Inventory cutover, the tenant-owned surface audit, Entra Groups cutover, and tenant-panel dead-code retirement. The remaining risk is shared contract drift between workspace-home cleanliness and environment-bound admin visibility if new regressions appear. | UI maturity / admin runtime contract | `navigation-contract-split`, only if post-Spec 301-304 drift remains | | Customer-facing localization adoption is incomplete | Productization blocker | Locale groundwork is repo-real, but customer-safe adoption remains incomplete | Localization / review productization | `Customer-Facing Localization Adoption v1` | | Billing and subscription truth is missing | Commercial blocker | Entitlements and lifecycle state handling stop short of a durable billing/subscription truth layer | Commercial readiness | `Billing & Subscription Truth Layer v1` | | Stored reports still lack a clear product surface | Product blocker | Retained evidence and review artifacts remain harder to consume than they should be | Reports / evidence consumption | `Stored Reports Surface v1` | @@ -241,7 +241,7 @@ ## Open Gaps & Blockers ## Recommended Manual Promotions - `Cross-Domain Progress / Indicator Semantics candidate group` -> anchored by `specs/268-operationrun-activity-feedback/spec.md`, `specs/270-operationrun-progress-contract/spec.md`, `specs/271-counted-progress-rollout/spec.md`, `specs/272-operationrun-phase-composite-progress/spec.md`, `docs/ui/tenantpilot-enterprise-ui-standards.md`, and the current progress-like UI seams called out in `docs/product/spec-candidates.md` -- `Admin Workspace Navigation & Tenant-owned Surface Repair candidate group` -> anchored by `apps/platform/app/Filament/Clusters/Inventory/InventoryCluster.php`, `apps/platform/app/Filament/Pages/InventoryCoverage.php`, `apps/platform/app/Filament/Resources/InventoryItemResource.php`, `apps/platform/app/Filament/Resources/EntraGroupResource.php`, `apps/platform/app/Filament/Concerns/WorkspaceScopedTenantRoutes.php`, `apps/platform/app/Support/OperateHub/OperateHubShell.php`, and the navigation/runtime tests called out in `docs/product/spec-candidates.md`; promote `admin-inventory-navigation-cutover` first, then keep the route audit, groups cutover, contract split, and tenant-panel dead-code retirement as separate sequenced follow-through +- `Admin Workspace Navigation & Tenant-owned Surface Repair candidate group` -> anchored by `apps/platform/app/Filament/Clusters/Inventory/InventoryCluster.php`, `apps/platform/app/Filament/Pages/InventoryCoverage.php`, `apps/platform/app/Filament/Resources/InventoryItemResource.php`, `apps/platform/app/Filament/Resources/EntraGroupResource.php`, `apps/platform/app/Filament/Concerns/WorkspaceScopedTenantRoutes.php`, `apps/platform/app/Support/OperateHub/OperateHubShell.php`, and the navigation/runtime tests called out in `docs/product/spec-candidates.md`; Specs 301-304 now cover Inventory cutover, route-audit prep, groups cutover, and tenant-panel dead-code retirement, so only `navigation-contract-split` remains as a conditional follow-through if drift persists - `Workspace-first / ManagedEnvironment Core Cutover` pack -> anchored by `docs/product/spec-candidates.md`, `docs/product/roadmap.md`, `docs/product/implementation-ledger.md`, and the tenant-centric platform seams already visible across review, support, portfolio, and governance surfaces; keep it as a clean development-stage cutover pack rather than a compatibility-layer program - `decision-register-review-pack-inclusion` / `decision-register-customer-safe-summary` -> anchored by `specs/265-decision-register-approval/spec.md`, `specs/306-decision-register-reconciliation/decision-register-reconciliation.md`, `specs/307-decision-register-evidence-operationrun-link-polish/spec.md`, `apps/platform/app/Filament/Pages/Governance/DecisionRegister.php`, `apps/platform/app/Support/GovernanceDecisions/GovernanceDecisionRegisterBuilder.php`, and the focused Decision Register tests - `Governance Artifact Lifecycle & Retention v1` -> anchored by `specs/158-artifact-truth-semantics/spec.md`, `specs/262-lifecycle-governance-taxonomy/spec.md`, and `docs/product/standards/lifecycle-governance.md` @@ -254,7 +254,7 @@ ## Recommended Manual Promotions ## Roadmap Drift Notes -- `docs/product/roadmap.md` and `docs/product/spec-candidates.md` are aligned through 2026-05-12, including the admin workspace navigation / tenant-owned surface repair candidate intake, the earlier cross-domain indicator candidate intake, the current manual-promotion backlog, and the resolved ledger conflict state. +- `docs/product/roadmap.md` and `docs/product/spec-candidates.md` are aligned through 2026-05-15, including Spec 304 tenant-panel dead-code retirement, Spec 306 Decision Register reconciliation, Spec 307 proof-link polish, the earlier admin workspace navigation / tenant-owned surface repair candidate intake, the cross-domain indicator candidate intake, the current manual-promotion backlog, and the resolved ledger conflict state. - The remaining documentation risk is no longer queue drift alone; it is understating or overstating still-open follow-through slices such as admin workspace navigation repair, auditor-ready export, promotion execution, governance decision workflow, cross-domain indicator semantics, billing/subscription truth, stored reports surface, and the first governed AI runtime consumer. - This ledger therefore treats review-driven governance and portfolio preparation as `fast sellable` or `implemented but not productized`, not `sellable`, until those explicit manual-promotion slices land. - Tests referenced here remain repo-present only. They were not executed for this ledger update. diff --git a/docs/product/roadmap.md b/docs/product/roadmap.md index 6e9ce4e8..6dfb0595 100644 --- a/docs/product/roadmap.md +++ b/docs/product/roadmap.md @@ -1,10 +1,10 @@ # Product Roadmap > **Status:** Active -> **Last reviewed:** 2026-05-12 +> **Last reviewed:** 2026-05-15 > **Use for:** Current product roadmap, release themes, and prioritization context > **Do not use for:** Implementation truth, spec completion status, or delivery guarantees without repo verification -> **Scoped maintenance:** 2026-05-15 Decision Register reconciliation update after Spec 306; 2026-05-12 roadmap alignment after the admin workspace navigation and tenant-owned surface repair candidate intake from the repo-verified navigation/panel audit; 2026-05-06 roadmap cleanup after ledger conflict resolution and cross-domain progress / indicator semantics candidate intake; 2026-05-02 repo-based roadmap drift correction, manual-promotion backlog alignment, and enterprise-SaaS deep-research calibration against current specs, standards, and product-truth docs. +> **Scoped maintenance:** 2026-05-15 Decision Register proof-link update after Spec 307; 2026-05-15 Decision Register reconciliation update after Spec 306; 2026-05-15 tenant-owned admin surface follow-through sync after Specs 301-304; 2026-05-12 roadmap alignment after the admin workspace navigation and tenant-owned surface repair candidate intake from the repo-verified navigation/panel audit; 2026-05-06 roadmap cleanup after ledger conflict resolution and cross-domain progress / indicator semantics candidate intake; 2026-05-02 repo-based roadmap drift correction, manual-promotion backlog alignment, and enterprise-SaaS deep-research calibration against current specs, standards, and product-truth docs. > > Strategic thematic blocks and release trajectory. > This is the "big picture" — not individual specs. @@ -29,7 +29,7 @@ ## Current Productization & Moat Priorities | Order | Theme | Alignment status | Repo truth | Why now | Queue posture | |---|---|---|---|---|---| | 1 | Customer Review Workspace Productization v1 | repo-verified, productization gap | Customer-safe review consumption is repo-real through Specs 249, 258, 259, 260, and 263, but the calm sellable surface still needs final productization discipline | clearest sellability lever for Governance-of-Record without creating a parallel customer portal | spec-backed follow-through | -| 2 | Decision-Based Governance Inbox + Decision Register follow-up | repo-verified, productization gap, roadmap recommendation | Governance inbox, findings queues, alerts, review follow-up, Specs 250/257, and the Spec 265 operator Decision Register are repo-verified; only narrow proof-link and customer-safe follow-through remain open | biggest remaining operator workflow gap and the cleanest defense against admin-tool sprawl | no Greenfield v1; manual promotion only for the narrow follow-up | +| 2 | Decision-Based Governance Inbox + Decision Register follow-up | repo-verified, productization gap, roadmap recommendation | Governance inbox, findings queues, alerts, review follow-up, Spec 265 operator Decision Register, Spec 306 reconciliation, and Spec 307 proof-link polish are repo-verified; only customer-safe/review-pack follow-through remains open | biggest remaining operator workflow gap and the cleanest defense against admin-tool sprawl | no Greenfield v1; manual promotion only for customer-safe/review-pack follow-through | | 3 | Governance Artifact Lifecycle & Retention v1 | foundation-only, roadmap recommendation, spec candidate | Spec 262 and the lifecycle-governance standard provide taxonomy-first guardrails, but governance-artifact runtime semantics are not yet productized | new trust, auditability, export, and retention lever for evidence snapshots, stored reports, review packs, and decision records | manual promotion only | | 4 | Commercial Entitlements & Billing-State Lifecycle v1 | repo-verified, foundation-only, productization gap | Specs 247 and 251 already resolve plan and lifecycle posture, but broader commercial-state-to-artifact-access rules and later billing truth remain open | SaaS trust and lifecycle maturity matter before broader packaging, scale, or AI work | spec-backed follow-through plus narrower billing follow-through | | 5 | External Support Desk / PSA Handoff v1 | repo-verified, productization gap | Spec 256 and the current bounded handoff service already exist, but the portfolio-safe handoff story is still not fully productized | MSP integration should compress follow-through work without turning TenantPilot into a helpdesk | spec-backed follow-through | @@ -67,7 +67,7 @@ ### UI & Product Maturity Polish Parallel manual-promotion guardrail: `docs/product/spec-candidates.md` now carries a dedicated Cross-Domain Progress / Indicator Semantics candidate group so progress, coverage, readiness, risk, usage, score, and generation-state surfaces do not keep drifting behind OperationRun-specific rules. Spec 278 is the docs-first audit slice; its follow-up lanes stay split into standards patch, metric/indicator contract foundation, shared indicator component system, quality gate, and domain migration. -Parallel immediate repair lane: `docs/product/spec-candidates.md` now also carries an Admin Workspace Navigation & Tenant-owned Surface Repair candidate group so workspace-home clean-sidebar rules stay separate from valid environment-bound admin navigation. The first promotion target is `admin-inventory-navigation-cutover`; the tenant-owned surface route audit, groups cutover, contract split, and tenant-panel dead-code retirement remain sequenced manual follow-through rather than one bundled migration. +Parallel immediate repair lane: `docs/product/spec-candidates.md` still carries the Admin Workspace Navigation & Tenant-owned Surface Repair candidate group as the sequencing record for workspace-home clean-sidebar versus environment-bound admin navigation. Specs 301, 302, 303, and 304 now cover the Inventory cutover, tenant-owned surface audit, Entra Groups cutover, and tenant-panel dead-code retirement. Only `navigation-contract-split` remains as a conditional manual follow-through if fresh repo evidence still shows shared contract drift. **Active specs**: 122, 121, 112 @@ -444,8 +444,8 @@ ## Infrastructure & Platform Debt | No formal security trust pack yet | Enterprise sales and customer security reviews require repeated manual explanations | Covered by Solo-Founder SaaS Automation & Operating Readiness | | Auditor-ready executive export is not yet productized | Review truth still stops short of calm auditor-/executive-ready delivery even though the spec package now exists | Covered by `specs/263-auditor-pack-executive-export/spec.md` | | Cross-tenant promotion execution is missing | Compare preview and preflight stop short of the actual portfolio action even though the execution spec package now exists on this branch | Covered by `specs/264-cross-tenant-promotion-execution/spec.md` | -| Admin workspace navigation contract drift remains open | Inventory and adjacent tenant-owned admin surfaces can still conflict between workspace-home clean-sidebar rules and valid environment-bound admin routing, which risks product breaks and stale hide-first test assumptions | Covered by the Admin Workspace Navigation & Tenant-owned Surface Repair candidate group in `docs/product/spec-candidates.md` | -| Decision Register proof-link productization is still pending | The Spec 265 operator register exists; direct evidence/report, `OperationRun`, and review-pack proof links are not fully productized on the register path | Covered by the narrow manual-promotion follow-up in `docs/product/spec-candidates.md` | +| Residual admin workspace navigation contract drift may remain | Specs 301-304 closed the Inventory cutover, route audit, groups cutover, and tenant-panel dead-code cleanup; only a later contract split may still be needed if new repo evidence shows workspace-home and environment-bound navigation rules colliding again | Covered by the conditional `navigation-contract-split` follow-up in `docs/product/spec-candidates.md` | +| Decision Register customer-safe/review-pack follow-through is still pending | The Spec 265 operator register, Spec 306 reconciliation, and Spec 307 proof/run-link polish exist, but customer-safe consumption and explicit review-pack inclusion remain unproductized | Covered by the narrow manual-promotion follow-up in `docs/product/spec-candidates.md` | | Customer-facing localization adoption is incomplete | Repo-real locale groundwork is not yet fully productized across customer-safe governance surfaces | Covered by the manual-promotion backlog in `docs/product/spec-candidates.md` | | Billing and subscription truth is missing | Commercial readiness still stops short of a durable billing/subscription truth layer | Covered by the manual-promotion backlog in `docs/product/spec-candidates.md` | | Stored reports still lack a clear product surface | Retained evidence and review artifacts remain harder to consume than they should be | Covered by the manual-promotion backlog in `docs/product/spec-candidates.md` | @@ -469,9 +469,9 @@ ## Priority Ranking (Current Manual Promotion Order) Parallel immediate guardrail lane: the Cross-Domain Progress / Indicator Semantics candidate group in `docs/product/spec-candidates.md` should be promoted alongside OperationRun maturity when UI semantic drift is the active concern. Spec 278 provides the audit inventory and standards-delta input; the remaining follow-up remains split across contract, component, quality-gate, and migration lanes. It stays outside the main sellability ordering below because it is a cross-cutting semantics and standards package rather than a standalone customer-facing delivery lane. -Parallel immediate repair lane: the Admin Workspace Navigation & Tenant-owned Surface Repair candidate group in `docs/product/spec-candidates.md` should be promoted when Inventory or adjacent tenant-owned admin surfaces drift behind stale hide-first navigation contracts. `admin-inventory-navigation-cutover` is the immediate repair slice; the repo-wide route audit, groups cutover, navigation-contract split, and tenant-panel dead-code retirement stay sequenced manual follow-through outside the main sellability ordering. +Parallel immediate repair lane: the Admin Workspace Navigation & Tenant-owned Surface Repair candidate group in `docs/product/spec-candidates.md` is now mostly historical sequencing context after Specs 301-304. Promote only `navigation-contract-split`, and only when fresh repo evidence shows residual shared-contract drift between workspace-home cleanliness and environment-bound admin visibility. -1. Decision Register evidence / OperationRun link polish +1. Decision Register customer-safe summary / review-pack inclusion 2. Governance Artifact Lifecycle & Retention v1 3. Billing & Subscription Truth Layer v1 4. Customer-Facing Localization Adoption v1 diff --git a/docs/product/spec-candidates.md b/docs/product/spec-candidates.md index a59a3df4..5eb1bc79 100644 --- a/docs/product/spec-candidates.md +++ b/docs/product/spec-candidates.md @@ -1,8 +1,8 @@ # Spec Candidates -> **Status:** Active -> **Last reviewed:** 2026-05-12 -> **Use for:** The active repo-based queue of spec candidates that may still need new or refreshed specs +> **Status:** Active +> **Last reviewed:** 2026-05-15 +> **Use for:** The active repo-based queue of spec candidates that may still need new or refreshed specs > **Do not use for:** Proof that a candidate is already specced, implemented, or prioritized above the roadmap without repo verification > **Scoped maintenance:** 2026-05-15 Spec 307 Decision Register proof-link implementation update; 2026-05-15 Spec 306 Decision Register reconciliation update; 2026-05-15 Spec 304 Tenant Panel dead-code retirement guardrail update; 2026-05-12 admin workspace navigation and tenant-owned surface repair candidate intake after the repo-verified navigation/panel audit; 2026-05-06 cross-domain progress and indicator semantics candidate intake; 2026-05-04 OperationRun progress maturity plus Tenant Dashboard active-operations summary candidate intake; 2026-05-03 OperationRun activity feedback candidate intake plus the 2026-05-02 repo-based queue re-audit and enterprise-SaaS deep-research alignment against current `specs/` truth, including Specs 263 and current-branch 264. > @@ -872,10 +872,10 @@ #### 287 — Cutover Quality Gates & No-Legacy Enforcement ### Admin Workspace Navigation & Tenant-owned Surface Repair candidate group -- **Priority posture**: immediate manual promotion for the Inventory repair slice, then bounded audit prep, then product-sensitive follow-up cutovers, and only then legacy retirement cleanup -- **Repo truth**: the current runtime is already `admin` plus `system`, workspace-first environment routing is repo-real, and several tenant-owned admin surfaces already resolve context through the workspace shell. At the same time, Inventory and Entra Groups still carry admin-hidden navigation contracts that conflict with their repo-real admin runtime access, while the workspace-home clean-sidebar rule remains a separate intentional contract. -- **Why promotable now**: this is the clearest current repo-verified navigation and panel drift seam. Inventory is an active product break, and the adjacent route-audit, groups, contract, and dead-code follow-through should be tracked explicitly instead of living only in audit prose. -- **Why manual promotion only**: only the Inventory slice is immediate implementation-ready. The rest depend on either a repo-wide audit pass, an explicit information-architecture decision, or post-migration cleanup, so they should not be bundled into one repair umbrella or auto-prepped out of order. +- **Priority posture**: historical promotion sequence now runs through Specs 301-304; only the conditional `navigation-contract-split` follow-up remains if post-cutover drift still shows one shared test/registration contract fighting both workspace-home cleanliness and environment-bound admin visibility. +- **Repo truth**: the current runtime is already `admin` plus `system`, workspace-first environment routing is repo-real, and Specs 301, 302, 303, and 304 now cover the Inventory cutover, tenant-owned surface audit, Entra Groups cutover, and tenant-panel dead-code guardrail cleanup. The remaining question is whether any residual shared navigation-contract drift still justifies a dedicated split. +- **Why promotable now**: this group remains useful as historical sequencing context and as the home for one bounded residual follow-through candidate. The immediate Inventory break is no longer the active next slice. +- **Why manual promotion only**: any further work should happen only if fresh repo evidence proves the remaining drift. It should stay narrower than reopening the earlier migration sequence or bundling unrelated admin IA decisions. - **Anchors**: - `docs/product/implementation-ledger.md` - `apps/platform/app/Filament/Clusters/Inventory/InventoryCluster.php` @@ -888,14 +888,16 @@ ### Admin Workspace Navigation & Tenant-owned Surface Repair candidate group - `apps/platform/tests/Feature/Filament/InventoryCoverageAdminTenantParityTest.php` - `apps/platform/tests/Feature/Filament/EntraGroupAdminScopeTest.php` - **Recommended promotion order**: - 1. `admin-inventory-navigation-cutover` - 2. `tenant-owned-surface-route-audit` - 3. `admin-directory-groups-cutover` - 4. `navigation-contract-split`, only if drift remains after the first three candidates - 5. `tenant-panel-dead-code-retirement` -> Spec 304 + 1. `admin-inventory-navigation-cutover` -> Spec 301 + 2. `tenant-owned-surface-route-audit` -> Spec 302 + 3. `admin-directory-groups-cutover` -> Spec 303 + 4. `tenant-panel-dead-code-retirement` -> Spec 304 + 5. `navigation-contract-split`, only if drift remains after Specs 301-304 #### `admin-inventory-navigation-cutover` +- **Status**: promoted to Spec 301 on 2026-05-14. Keep this entry as historical sequencing context unless the Inventory visibility contract regresses. + - **Goal**: restore Inventory as a workspace-environment-scoped admin surface without reopening the workspace-home sidebar or broadening the repair into other tenant-owned domains. - **Scope**: - remove the blanket admin-hidden navigation behavior for Inventory only where a real admin workspace environment context exists @@ -915,6 +917,8 @@ #### `admin-inventory-navigation-cutover` #### `tenant-owned-surface-route-audit` +- **Status**: promoted to Spec 302 on 2026-05-14. Keep this entry as historical sequencing context unless the audit findings need a refreshed follow-up after new tenant-owned surfaces land. + - **Goal**: produce a repo-verified audit and repair-prep inventory of admin-reachable tenant-owned surfaces that are fully migrated, partially migrated, stale-nav hidden, product-decision blocked, or still legacy dependent. - **Scope**: - audit routes, `shouldRegisterNavigation()`, context resolution, global search, and high-signal runtime tests across tenant-owned admin surfaces @@ -932,6 +936,8 @@ #### `tenant-owned-surface-route-audit` #### `admin-directory-groups-cutover` +- **Status**: promoted to Spec 303 on 2026-05-14. Keep this entry as historical sequencing context unless the chosen Directory/Groups contract regresses. + - **Goal**: decide and implement the correct admin workspace role for Directory / Entra Groups after an explicit information-architecture decision. - **Scope**: - decide whether groups belong in primary navigation, a secondary Identity/Directory lane, or only contextual entry points from diagnostics, permissions, providers, or policy detail @@ -949,6 +955,8 @@ #### `admin-directory-groups-cutover` #### `navigation-contract-split` +- **Status**: conditional follow-up only after Specs 301-304. Promote this only if fresh repo evidence still shows workspace-home cleanliness and environment-bound admin visibility fighting through one shared contract. + - **Goal**: separate workspace-home clean-sidebar rules from environment-bound tenant-owned navigation rules so future repairs do not keep fighting one shared test contract. - **Scope**: - split tests and guards for workspace-home navigation, environment-shell navigation, and surface-specific registration behavior @@ -982,7 +990,7 @@ #### `tenant-panel-dead-code-retirement` ### Decision Register Evidence / OperationRun Link Polish -- **Priority**: 1 +- **Historical priority**: 1 - **Status**: promoted to Spec 307 and implemented as a narrow productization follow-up on 2026-05-15; keep this entry as historical sequencing context unless proof/run link polish regresses. - **Repo truth**: Spec 265, Spec 307, `DecisionRegister`, `GovernanceDecisionRegisterBuilder`, FindingException detail handoff, evidence/report proof links, source/evidence `OperationRun` links, and focused tests are repo-verified. The broad Decision Register & Approval Workflow v1 candidate is no longer an open Greenfield candidate. - **Why promoted**: Spec 306 classified the current register as partial productization and identified the narrowest next step as proof-link polish, not a rebuild. @@ -995,6 +1003,22 @@ ### Decision Register Evidence / OperationRun Link Polish - `specs/257-governance-decision-convergence/spec.md` - `docs/product/roadmap.md` +### Decision Register Customer-Safe Summary / Review-Pack Inclusion + +- **Priority**: 1 +- **Status**: open manual-promotion follow-up after Spec 307. Do not reopen Spec 265 or repackage the proof-link polish as a broader Decision Register rebuild. +- **Repo truth**: Spec 265 proves the bounded operator Decision Register, Spec 306 reconciles the current runtime, and Spec 307 closes direct evidence/report plus source/evidence `OperationRun` proof-link polish. `CustomerReviewWorkspace`, review-pack foundations, and governance-package delivery already summarize accepted-risk decisions, but there is still no explicit customer-safe Decision Register surface or review-pack inclusion contract. +- **Why promotable now**: the proof/run-link follow-up is complete, so the next remaining Decision Register productization question is whether accepted-risk decisions need a bounded customer-safe summary and/or explicit review-pack inclusion. +- **Why manual promotion only**: this is product-sensitive and must stay narrower than a new Decision Register v1. Reuse existing decision truth, customer-review foundations, and review-pack packaging instead of introducing a new workflow engine, duplicate decision summary, or customer portal. +- **Anchors**: + - `specs/265-decision-register-approval/spec.md` + - `specs/306-decision-register-reconciliation/decision-register-reconciliation.md` + - `specs/307-decision-register-evidence-operationrun-link-polish/spec.md` + - `specs/258-customer-review-productization/spec.md` + - `specs/260-governance-service-packaging/spec.md` + - `apps/platform/app/Filament/Pages/Governance/DecisionRegister.php` + - `apps/platform/app/Support/GovernanceDecisions/GovernanceDecisionRegisterBuilder.php` + ### Governance Artifact Lifecycle & Retention v1 - **Priority**: 2