TenantAtlas/specs/345-platform-productization-readiness-roadmap-reconciliation-gate/candidate-reconciliation.md
ahmido 1f3a8b5ed9 docs: platform productization readiness and roadmap reconciliation (spec 345) (#417)
Added comprehensive documentation and planning artifacts for the platform productization readiness and roadmap reconciliation.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #417
2026-06-02 10:47:29 +00:00

64 lines
15 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Candidate Reconciliation — Spec 345
**Branch**: `345-platform-productization-readiness-roadmap-reconciliation-gate`
**Date**: 2026-06-02
## Buckets
- A — Now platform-critical
- B — Platform productization
- C — Feature expansion
- D — Customer Portal (`/customerportal`)
- E — Website / marketing (`/website`)
- F — Covered / obsolete / duplicate
- G — Research / roadmap only
## Candidate Table
| Candidate | Source file | Current status | Bucket (AG) | Reason | Keep / Merge / Defer / Drop / Move | Target app | Suggested spec # / roadmap group |
|---|---|---|---|---|---|---|---|
| `decision-based-governance-inbox-v1` | `docs/product/spec-candidates.md` | open gap; first-wave runtime exists in `specs/327-*` | A | Biggest remaining operator workflow gap after shell and customer-review closure. Decision register proof/history already exists; the missing piece is queue-clearing operator flow. | Keep as the primary active lane. Narrow it to workflow closure over existing governance truth. | `/platform` | New follow-up over `specs/327-*`, `specs/265-*`, `specs/306-*`, `specs/307-*`, `specs/308-*` |
| `Governance Inbox decision experience` | `docs/ui-ux-enterprise-audit/follow-up-specs/325-strategic-target-image-implementation-candidates.md` | open design-follow-up lane | A | Matches the same remaining gap as `decision-based-governance-inbox-v1`. | Merge into the same next spec; do not create a parallel design-only runtime lane. | `/platform` | Same as above |
| `Governance Artifact Lifecycle & Retention v1` | `docs/product/spec-candidates.md`; `docs/product/roadmap.md` | prepared package exists; runtime gap still open | B | Important retained-output trust and auditability follow-through, but not the immediate operator queue blocker. | Keep and implement from the existing prepared package when governance workflow closure lands or when retained-artifact clarity becomes release pressure. | `/platform` | `specs/267-artifact-lifecycle-retention/` |
| `Provider onboarding/readiness UX cleanup` | `docs/ui-ux-enterprise-audit/follow-up-specs/325-strategic-target-image-implementation-candidates.md` | open design-follow-up lane over repo-real provider surfaces | B | Trust-critical setup surface still needs calmer summary, next action, and safer dangerous-action framing. | Keep as later productization follow-through after governance inbox. | `/platform` | New follow-up over `specs/339-*` and `specs/281-*` |
| `environment-resource-context-follow-through` | `docs/product/spec-candidates.md` | conditional open gap | B | Shell and canonical routes are stable, but this still exists as a targeted anti-hidden-context cleanup lane if fresh drift appears inside selected resources. | Keep only as a narrow residual hardening candidate; do not reopen broad shell work. | `/platform` | Existing follow-through candidate, only if fresh evidence appears |
| `Cross-Domain Progress / Indicator Semantics candidate group` | `docs/product/spec-candidates.md`; `specs/278-cross-domain-indicator-audit/spec.md` | docs-only audit completed; runtime follow-through still open | B | Product has the audit and follow-up map, but not yet a bounded runtime adoption pass. | Keep as later productization guardrail, not as the next spec. | `/platform` | Follow-up over `specs/278-cross-domain-indicator-audit/` |
| `Operations Hub productization` | `docs/ui-ux-enterprise-audit/follow-up-specs/325-strategic-target-image-implementation-candidates.md` | broad lane mostly covered; residual semantics/polish remain | F | The main operations-hub productization already moved through `specs/328-*`; the live residual issue is shared indicator/semantics drift, not a missing hub. | Merge any remaining need into the indicator-semantics follow-up instead of reopening a broad hub lane. | `/platform` | Covered by `specs/328-*` plus later indicator follow-through |
| `Restore safety UX productization` | `docs/ui-ux-enterprise-audit/follow-up-specs/325-strategic-target-image-implementation-candidates.md` | later safety/workflow polish lane | C | Restore is already a strong core capability; this target-image lane is valuable but not the immediate productization gate. | Defer behind governance workflow and provider/artifact trust work. | `/platform` | Backup/restore follow-up lane |
| `Drift/Baseline decision experience` | `docs/ui-ux-enterprise-audit/follow-up-specs/325-strategic-target-image-implementation-candidates.md` | later decision/polish lane over strong core runtime | C | Drift/baseline core is already sellable; this lane is a later UX deepening of assignment/evidence hierarchy, not a blocking missing foundation. | Defer. | `/platform` | Drift/findings follow-up lane |
| `Workspace and Environment dashboard productization` | `docs/ui-ux-enterprise-audit/follow-up-specs/325-strategic-target-image-implementation-candidates.md` | residual design-follow-up lane | B | Runtime shell/dashboard truth is already strong; remaining need is bounded polish, not a foundational rebuild. | Defer until real operator pain appears. | `/platform` | Dashboard polish backlog |
| `Evidence and review pack consumption productization` | `docs/ui-ux-enterprise-audit/follow-up-specs/325-strategic-target-image-implementation-candidates.md` | partially covered by later specs; residual retained-artifact gap remains | B | Core evidence/review-pack flow is strong; the remaining gap is retained-artifact/state clarity, not the original broad lane. | Merge residual need into artifact lifecycle or stored-report follow-through. | `/platform` | `specs/267-artifact-lifecycle-retention/` or retained-artifact follow-up |
| `Stored Reports Surface v1` | `docs/product/spec-candidates.md` | later runtime package exists with completed task checklist markers | F | Candidate wording is stale relative to `specs/277-stored-reports-surface/` and the current `StoredReportResource`. | Drop from active candidate queue; keep only as historical context. | `/platform` | Covered by `specs/277-stored-reports-surface/` |
| `customer-review-workspace-v1-completion` | `docs/product/spec-candidates.md` | stale open candidate; later runtime follow-through exists | F | Covered by `specs/312-*`, `specs/342-*`, `specs/343-*`, and `specs/344-*`. The lane is no longer the next open gap. | Drop from active queue; keep historical note only. | `/platform` | Covered by Specs `312`, `342`, `343`, `344` |
| `Customer Review Workspace productization` | `docs/ui-ux-enterprise-audit/follow-up-specs/325-strategic-target-image-implementation-candidates.md` | design lane closed by later runtime work | F | Same gap as above; target-image lane is now mostly historical context. | Drop as an active implementation lane. | `/platform` | Covered by Specs `312`, `342`, `343`, `344` |
| `provider-connection-scope-hardening` | `docs/product/spec-candidates.md` | stale open candidate; later runtime follow-through exists | F | Covered by `specs/339-provider-connection-scope-hardening/` and later provider-scope package `specs/281-provider-connection-scope/`. | Drop from active queue; retain historical reference only. | `/platform` | Covered by Specs `339` and `281` |
| `canonical-link-query-cleanup` | `docs/product/spec-candidates.md` | stale open candidate; implemented follow-through exists | F | Covered by `specs/341-canonical-link-query-cleanup/`. | Drop from active queue. | `/platform` | Covered by Spec `341` |
| `product-truth-docs-drift-cleanup` | `docs/product/spec-candidates.md` | stale open candidate; docs/product-truth follow-through exists | F | Covered by `specs/310-product-truth-docs-drift-reconciliation/`. | Drop from active queue. | `/platform` | Covered by Spec `310` |
| `legacy-compatibility-dead-code-retirement` | `docs/product/spec-candidates.md` | mostly historical after tenant-panel cleanup | F | Main tenant-panel / `/admin/t` dead-code retirement already moved through `specs/304-*`; any further cleanup should require fresh proof. | Drop as a standing candidate; reopen only on concrete regression. | `/platform` | Covered by `specs/304-tenant-panel-dead-code-retirement/` |
| `Admin Workspace Navigation & Tenant-owned Surface Repair candidate group` | `docs/product/spec-candidates.md` | historical sequencing group; most items promoted and implemented | F | Inventory cutover, route audit, groups cutover, and tenant-panel retirement already moved through Specs `301`-`304`. Only `navigation-contract-split` remains conditional. | Keep only as historical grouping plus one conditional residual. | `/platform` | Covered by Specs `301`-`304`; conditional residual only |
| `Decision Register Evidence / OperationRun Link Polish` | `docs/product/spec-candidates.md` | historical item, implemented | F | Explicitly marked historical and covered by `specs/307-*`. | Drop from active candidate logic. | `/platform` | Covered by Spec `307` |
| `Decision Register Customer-Safe Summary / Review-Pack Inclusion` | `docs/product/spec-candidates.md` | historical item, implemented | F | Explicitly historical and covered by `specs/308-*`. | Drop from active candidate logic. | `/platform` | Covered by Spec `308` |
| `Commercial Entitlements & Billing-State Lifecycle v1` / `Billing & Subscription Truth Layer v1` | `docs/product/spec-candidates.md` | stale open candidate; later package exists with completed task markers | F | The remaining commercial truth lane has already been turned into `specs/274-billing-subscription-truth/` over the earlier 247/251 foundation. | Drop from candidate queue; treat future portal/self-serve work separately. | `/platform` | Covered by `specs/274-billing-subscription-truth/` |
| `Customer-Facing Localization v1` / `Customer-Facing Localization Adoption v1` | `docs/product/spec-candidates.md` | stale open candidate; later packages exist with completed task markers | F | Covered by `specs/275-customer-facing-localization-adoption/` and neutralization follow-through in `specs/286-ui-copy-ia-localization-neutralization/`. | Drop from active queue; future external-surface wording belongs elsewhere. | `/platform` | Covered by Specs `275` and `286` |
| `External Support Desk / PSA Handoff v1` | `docs/product/spec-candidates.md` | v1 candidate already promoted; broader sync still separate | F | Bounded v1 is already covered by `specs/256-external-support-desk-handoff/`. Remaining ITSM sync ambitions are a separate expansion lane. | Drop the v1 candidate; keep later sync only as future feature-expansion work. | `/platform` | Covered by Spec `256` |
| `Cross-Tenant Compare & Promotion with Lineage v1` | `docs/product/spec-candidates.md` | split across existing compare and promotion packages | F | Compare preview/preflight and promotion execution already live in `specs/043-*` and `specs/264-*`. | Drop as a standing candidate; use the existing spec packages instead. | `/platform` | Covered by Specs `043` and `264` |
| `Governance Service Packaging v1` | `docs/product/spec-candidates.md` | v1 candidate already promoted and implemented in bounded form | F | Covered by `specs/260-governance-service-packaging/`. | Drop the v1 candidate; keep only later recurring-delivery expansion if needed. | `/platform` | Covered by Spec `260` |
| `Enterprise Access Boundary & Support Access Governance v1` | `docs/product/spec-candidates.md` | stale open candidate; later package exists with completed task markers | F | Support-access governance moved into `specs/276-support-access-governance/`. | Drop from active queue. | `/system` | Covered by Spec `276` |
| `Private AI Execution Governance Foundation v1` | `docs/product/spec-candidates.md` | foundation already spec-backed and repo-real | F | Covered by `specs/248-private-ai-policy-foundation/`; the real open question is a first governed runtime consumer. | Drop the foundation candidate; keep runtime-consumer follow-up separately. | `/platform` | Covered by Spec `248` |
| `Workspace, Tenant & Managed Object Lifecycle Governance v1` | `docs/product/spec-candidates.md` | historical/manual-promotion item already promoted to taxonomy-first package | F | Explicitly superseded by `specs/262-lifecycle-governance-taxonomy/`. | Drop from active candidate logic. | `/platform` | Covered by Spec `262` |
| `Workspace-first / ManagedEnvironment Core Cutover candidate pack` | `docs/product/spec-candidates.md` | candidate pack has already been split into concrete spec series | F | As a single candidate pack it is obsolete; the real work now lives in prepared/implemented packages `279`-`287`. | Replace pack-level queue entry with the concrete spec-series truth. | `/platform` | Covered/split into Specs `279`-`287` |
| `OperationRun Activity Feedback & UI Governance candidate group` | `docs/product/spec-candidates.md` | umbrella lane partly split into concrete specs and audit packages | F | Core follow-through already split into `specs/268-*`, `specs/270-*`, `specs/271-*`, `specs/272-*`, and the docs-only audit `specs/278-*`. | Do not keep the umbrella candidate active; use the split follow-up lanes only. | `/platform` | Covered/split |
| `environment-helper-naming-follow-through` / `tenant-helper-naming-cleanup` | `docs/product/spec-candidates.md` | low-value cleanup candidate | G | Cleanup is real but not a productization gate. It should only move if it unblocks fresh implementation or prevents proven drift. | Defer. | `/platform` | Cleanup backlog only |
| `First Governed AI Runtime Consumer v1` | `docs/product/spec-candidates.md` | valid but later strategic follow-up | G | The foundation exists, but this is not required before the current platform productization gaps close. | Defer behind platform-critical operator workflow work. | `/platform` | Later AI roadmap |
| `291 Virtual Consultant / External Portal Guidance v1` | `docs/product/spec-candidates.md`; `docs/product/roadmap.md` | roadmap-only external-surface idea | D | This is explicitly an external/portal concept, not the next Filament platform slice. | Move to a future `/customerportal` roadmap line. | `/customerportal` | Deferred customer-portal line |
| customer-facing review history / evidence download center / accepted-risk self-serve | boundary inferred from repeated portal non-goals across `specs/259-*`, `specs/260-*`, `specs/326-*`, `specs/342-*`, `specs/343-*`, `specs/344-*` | not an active platform candidate; repeatedly deferred | D | Repo history consistently says these should not be smuggled into `/platform` while the operator plane is still being productized. | Defer explicitly to `/customerportal`. | `/customerportal` | Future portal roadmap, not current platform queue |
| website pricing / public docs / lead capture | roadmap-adjacent, not active product candidate queue | not a platform candidate | E | Public marketing, pricing, and lead-gen belong to the separate website app, not the Filament control plane. | Move to `/website` planning only. | `/website` | Website roadmap only |
## Coverage Notes
- The table above classifies:
- current manual-promotion candidates from `docs/product/spec-candidates.md`,
- grouped UI-audit implementation lanes from `docs/ui-ux-enterprise-audit/grouped-follow-up-candidates.md` and `docs/ui-ux-enterprise-audit/follow-up-specs/325-strategic-target-image-implementation-candidates.md`,
- explicit external-surface ideas that must not drift into `/platform`.
- Historical `Promoted to Spec` entries in `docs/product/spec-candidates.md` were not re-listed one by one because the source file already classifies them as historical promotions rather than open candidates. Where an item still appeared open elsewhere, this report reclassified it explicitly.