Front-Office Roadmap — Beyond-Spec Features

This document tracks the maturity and remaining work for every feature in the FO that was built beyond the Technical Architecture specification. These features are not blockers for v1.0 (spec compliance) but represent significant investment and business value. They should be tracked, maintained, and brought to completion where justified.
Companion documents: Beyond-Spec Inventory (full feature list), FO Roadmap (spec-required work to v1.0), and FO Coverage Analysis (spec gap status).

Maturity overview

Design Token Engine         ██████████████████████████████████████████████████  98%
Atom Component Library      █████████████████████████████████████████████████   95%
Advanced Caching (3-Layer)  █████████████████████████████████████████████████   95%
Dark Mode                   █████████████████████████████████████████████████   95%
Cross-Tab Sync              █████████████████████████████████████████████████   95%
Template Manifests + Contract████████████████████████████████████████████████   90%
Client-Side Plugins Suite   █████████████████████████████████████████████████   90%
Prerender Routes Plugin     █████████████████████████████████████████████████   90%
Unlayer HTML Parser         █████████████████████████████████████████████████   90%
Visual Page Builder         ████████████████████████████████████████████░░░░░   85%
Block Multi-Variant System  ████████████████████████████████████████████░░░░░   85%
Performance Optimizations   ████████████████████████████████████████████░░░░░   85%
Security Extras             ████████████████████████████████████████████░░░░░   85%
E2E Test Suite              ████████████████████████████████████████████░░░░░   85%
Dev Utilities + Build Scripts████████████████████████████████████████████░░░░░  85%
Token Editor Components     ████████████████████████████████████████░░░░░░░░░   80%
Block Management Tool       █████████████████████████████████████░░░░░░░░░░░░   75%
Form System                 ████████████████████████████████████░░░░░░░░░░░░░   60%
Extra Content Types         █████████████████████████████░░░░░░░░░░░░░░░░░░░░  50%
RTL Support                 ████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░  40%
Storybook                   █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  10%

Feature status and remaining tasks

1. Visual Page Builder — 85%

What works: Drag-and-drop, block tree, property editing, undo/redo, validation, import/export, auto-save, template switching.
#Remaining taskFile(s)EffortPriority
B1.1Migrate persistence from local JSON to CMS APIserver/api/homepage-blocks.get.ts, server/api/homepage-blocks.put.ts1dHigh (also in spec roadmap 2.3)
B1.2Implement contact form submission endpointcomposables/useContactForm.ts0.5dMedium (blocked by API)
B1.3Add builder access control (Keycloak role check)pages/blocs/index.vue0.5dMedium
B1.4Add collaborative editing guard (lock mechanism)composables/useBuilderLock.ts (new)1dLow
B1.5Write unit tests for builder storetests/unit/stores/builder.spec.ts1dMedium
Blocked by: API team (homepage-blocks endpoint, contact form endpoint).

2. Atom Component Library — 95%

What works: All 27 atoms implemented, typed, used by blocks and builder.
#Remaining taskFile(s)EffortPriority
B2.1Add Storybook stories for all atoms.storybook/stories/atoms/*.stories.ts2dLow
B2.2Audit accessibility of form atoms (label association, ARIA)components/atoms/Form*.vue0.5dMedium

3. Block Multi-Variant System — 85%

What works: 6 block types have per-template variants. Resolution chain (useBlockVariantvariantResolverBlockTemplateWrapper) is solid.
#Remaining taskFile(s)EffortPriority
B3.1Add variants for PricingTableBlockcomponents/dynamic-blocks/pricing_table/ (new)1dMedium
B3.2Add variants for TestimonialsBlockcomponents/dynamic-blocks/testimonials/ (new)1dMedium
B3.3Add variants for StatsBlockcomponents/dynamic-blocks/stats/ (new)0.5dLow
B3.4Add variants for AccordionBlockcomponents/dynamic-blocks/accordion/ (new)0.5dLow
B3.5Document variant authoring guidedocs/variant-authoring.md (in cms-doc)0.5dLow

4. Design Token Engine — 98%

What works: 4 templates, palette generation, semantic tokens, dark mode tokens, SSR injection, BroadcastChannel sync, draft system, build-time generation.
#Remaining taskFile(s)EffortPriority
B4.1Add token validation (ensure contrast ratios meet WCAG AA)utils/paletteGenerator.ts0.5dMedium
B4.2Add token documentation page (visual reference)pages/tokens.vue or Storybook1dLow

5. Dark Mode — 95%

What works: Toggle, persistence, cross-tab sync, token-based dark palette.
#Remaining taskFile(s)EffortPriority
B5.1Add prefers-color-scheme system preference detectioncomposables/useTheme.ts0.25dMedium
B5.2Verify all 95+ blocks render correctly in dark modeManual audit1dMedium

6. RTL Support — 40%

What works: State management (setRtl), auto-detection for Arabic locale, dir="rtl" on HTML.
#Remaining taskFile(s)EffortPriority
B6.1Migrate CSS to logical propertiesAll component CSS3–5dLow
B6.2Add RTLcss PostCSS plugin (or Tailwind RTL plugin)nuxt.config.ts, package.json0.5dLow
B6.3Add Arabic locale (ar.json)i18n/locales/ar.json1dLow
B6.4Visual regression test for RTLtests/e2e/rtl.spec.ts0.5dLow
Note: No Arabic tenants planned for v1.0. Defer unless business need arises.

7. Advanced Caching (3-Layer ETag) — 95%

What works: ETag validation, memory cache, localStorage, Nitro storage, request priority, connection error recovery, stale-while-revalidate, retry with backoff.
#Remaining taskFile(s)EffortPriority
B7.1Add cache-hit/miss metrics to Prometheus endpointutils/cache.ts, server/routes/metrics.get.ts0.5dMedium (also in spec roadmap 3.3)
B7.2Add cache warm-up on deploy (prime critical routes)scripts/cache-warmup.sh (new)0.25dLow

8. Unlayer HTML Parser — 90%

What works: Dual-mode parsing (DOM + regex), block extraction, markup cleaning, SSR compatibility.
#Remaining taskFile(s)EffortPriority
B8.1Add unit tests for edge cases (nested blocks, malformed HTML)tests/unit/utils/unlayerParser.spec.ts1dMedium
B8.2Evaluate replacing regex SSR parser with linkedom or jsdomutils/unlayerParser.ts1dLow

9. Performance Optimizations — 85%

What works: Blurhash, lazy hydration (3 strategies), above-fold detection, delay hydration, vendor splitting, font optimization, image optimization, preconnect.
#Remaining taskFile(s)EffortPriority
B9.1Connect cache-metrics page to Prometheus metricspages/cache-metrics.vue, composables/useCacheMetrics.ts0.5dLow
B9.2Add performance budget enforcement via bundlesize or size-limitpackage.json, CI config0.5dMedium
B9.3Verify blurhash SSR compatibility (canvas not available server-side)utils/blurhash.ts0.25dMedium

10. Form System — 60%

What works: Form atoms, validation, error handling, stepper, multilingual errors. Blocked: useContactForm.ts submission is disabled (endpoint not implemented).
#Remaining taskFile(s)EffortPriority
B10.1Implement contact form API endpoint proxyserver/api/contact.post.ts (new)0.5dHigh (blocked by API)
B10.2Enable contact form submissioncomposables/useContactForm.ts0.25dHigh (after B10.1)
B10.3Add CAPTCHA or honeypot for spam protectioncomponents/dynamic-blocks/ContactFormBlock.vue0.5dMedium
B10.4Add newsletter signup endpointserver/api/newsletter.post.ts (new)0.5dLow
B10.5Write E2E tests for form submissiontests/e2e/forms.spec.ts0.5dMedium
Blocked by: API team (contact form endpoint, newsletter endpoint).

11. Extra Content Types — 50%

What works: Routes for gallery, events, archive. API integration unclear.
#Remaining taskFile(s)EffortPriority
B11.1Verify gallery API endpoint exists and workspages/gallery/[slug].vue0.25dLow
B11.2Verify events API endpoint exists and workspages/events/[slug].vue0.25dLow
B11.3Add composables if missing (useGallery, useEvents)composables/useGallery.ts, composables/useEvents.ts (new)1dLow
B11.4Add these routes to the sitemapserver/routes/sitemap.xml.get.ts0.25dLow
Note: Remove routes if API does not support these content types to avoid 404s.

12. Cross-Tab Synchronization — 95%

What works: BroadcastChannel for theme and settings, localStorage fallback, polling, window focus refresh.
#Remaining taskFile(s)EffortPriority
B12.1Add cross-tab sync for consent state (Matomo)composables/useConsent.ts0.25dLow

13. Prerender Routes Plugin — 90%

What works: Fetches all published pages/articles/categories/tags from API at build time. Pagination, multilingual slugs, graceful fallback.
#Remaining taskFile(s)EffortPriority
B13.1Add gallery and events routes to prerenderserver/utils/prerender-helper.ts0.25dLow
B13.2Add build-time logging summary to CI outputserver/plugins/prerender-routes.ts0.1dLow

14. Security Extras — 85%

What works: Authorization logging, preview anti-unfurl, HTML sanitization, public header validation.
#Remaining taskFile(s)EffortPriority
B14.1Rotate authorization log files (add max file count / age)server/api/log/authorization.post.ts0.25dLow
B14.2Add rate limiting to log endpoint (prevent log flooding)server/api/log/authorization.post.ts0.25dMedium
B14.3Forward security logs to structured logger (when Phase 3 done)server/api/log/authorization.post.ts0.25dLow

15. E2E Test Suite — 85%

What works: 14 test files covering versions v0.1–v0.12, performance tests, consolidated regression suite.
#Remaining taskFile(s)EffortPriority
B15.1Add E2E tests for builder (drag-and-drop, save, undo)tests/e2e/builder.spec.ts1dMedium
B15.2Add E2E tests for dark mode toggletests/e2e/dark-mode.spec.ts0.5dLow
B15.3Add E2E tests for consent bannertests/e2e/consent.spec.ts0.5dMedium (also in spec roadmap 2.5.9)
B15.4Audit and update stale tests (v0.1–v0.6)tests/e2e/v0.*-spec.ts1dMedium

16. Storybook — 10%

What works: Config file exists (Storybook 8.6, Vue3-Vite).
#Remaining taskFile(s)EffortPriority
B16.1Write stories for all 27 atoms.storybook/stories/atoms/*.stories.ts2dLow
B16.2Write stories for key dynamic blocks (Hero, CTA, Features).storybook/stories/blocks/*.stories.ts2dLow
B16.3Add Storybook to CI (build check)CI config0.25dLow
Decision needed: Is Storybook worth maintaining? If the team prefers pages/blocs/preview/[type].vue for block previews, Storybook can be removed to reduce maintenance.

17. Template Manifest System & Token Contract — 90%

What works: 4 template manifests with typed sections, central registry, DESIGN_TOKENS_CONTRACT.md as architectural reference.
#Remaining taskFile(s)EffortPriority
B17.1Add runtime validation: verify CSS tokens match manifest requirementssrc/templates/index.ts, build script0.5dMedium
B17.2Add a 5th template manifest (e.g., “UrbanMinimal”) to validate extensibilitysrc/templates/urbanMinimal.ts (new)1dLow
B17.3Generate template documentation page from manifestsscripts/generate-template-docs.mjs (new)0.5dLow

18. Token Editor Components — 80%

What works: A11yStatus contrast reports, TokenColorPicker, TokenSlider with dual input. Used in internal token editing UI.
#Remaining taskFile(s)EffortPriority
B18.1Add semantic token editors (typography family/weight, shadow, border)components/tokens/TokenTypography.vue (new)1dMedium
B18.2Add undo/redo for token editsToken editor parent component0.5dLow
B18.3Connect A11yStatus suggestions to auto-apply (one-click fix)components/tokens/A11yStatus.vue0.25dMedium

19. Block Management Tool — 75%

What works: Zone-based editor (sidebar/content/right_sidebar), block CRUD, drag-and-drop reordering, config modal with accessible keyboard nav.
#Remaining taskFile(s)EffortPriority
B19.1Remove verbose debug logging (console.log)components/blocs/BlockZonesEditor.vue0.25dMedium
B19.2Evaluate consolidation with components/builder/ (reduce duplication)Architecture decision0.5dMedium
B19.3Add block preview thumbnails in zone editorcomponents/blocs/BlockZonesEditor.vue0.5dLow

20. Client-Side Plugins Suite — 90%

What works: i18n prefix blocking, critical CSS injection, design token initialization, preview iframe token messaging.
#Remaining taskFile(s)EffortPriority
B20.1Automate critical CSS extraction from Lighthouse dataplugins/critical-css.ts, build script1dLow
B20.2Add unit tests for preview-tokens postMessage handlertests/unit/plugins/preview-tokens.spec.ts0.5dMedium
B20.3Add message origin validation in preview-tokens (security)plugins/preview-tokens.client.ts0.25dHigh

21. Developer Utilities & Build Scripts — 85%

What works: Google Fonts loader, toast notifications, i18n normalization, content config API, URL mapper, debug utils, dual preview, build scripts, plain layout, site scaffold, saved blocks.
#Remaining taskFile(s)EffortPriority
B21.1Consolidate dual preview system (usePreview + useIsPreviewMode)composables/usePreview.ts, composables/useIsPreviewMode.ts0.5dMedium
B21.2Add toast notification display component (currently composable-only)components/ui/ToastContainer.vue (new)0.5dMedium
B21.3Add block change detection to CI pipelinescripts/detect-block-changes.mjs, CI config0.25dLow
B21.4Migrate saved blocks from localStorage to API persistencecomposables/useSavedBlocks.ts0.5dLow (after B1.1)

Summary by priority

High priority (business value, short-term)

TaskFeatureEffortBlocker
B1.1Builder → API persistence1dAPI team
B10.1Contact form endpoint0.5dAPI team
B10.2Enable contact form submission0.25dB10.1
B1.3Builder access control0.5d
B20.3Preview-tokens origin validation (security)0.25d

Medium priority (quality, near-term)

TaskFeatureEffortBlocker
B2.2Form atoms a11y audit0.5d
B3.1–3.2Variant for Pricing + Testimonials2d
B4.1Token contrast validation0.5d
B5.1System color scheme preference0.25d
B5.2Dark mode visual audit (all blocks)1d
B7.1Cache metrics → Prometheus0.5dPhase 3
B8.1Unlayer parser unit tests1d
B9.2Bundle size enforcement0.5d
B9.3Blurhash SSR audit0.25d
B10.3CAPTCHA / honeypot0.5d
B14.2Rate limit security logs0.25d
B15.1Builder E2E tests1d
B15.4Audit stale tests1d
B1.5Builder store unit tests1d
B17.1Manifest-to-CSS token validation0.5d
B18.1Semantic token editors (typography, shadow)1d
B18.3A11yStatus one-click fix0.25d
B19.1Remove debug logging from BlockZonesEditor0.25d
B19.2Evaluate builder/blocs consolidation0.5d
B20.2Preview-tokens unit tests0.5d
B21.1Consolidate dual preview system0.5d
B21.2Toast notification display component0.5d

Low priority (nice-to-have, long-term)

TaskFeatureEffortBlocker
B3.3–3.5More block variants + docs1.5d
B4.2Token visual doc page1d
B6.1–6.4RTL full support5–7dBusiness need
B7.2Cache warm-up script0.25d
B8.2Replace regex parser with DOM lib1d
B9.1Cache metrics page → Prometheus0.5d
B10.4Newsletter endpoint0.5dAPI team
B11.1–11.4Gallery/Events completion or removal1.75dAPI team
B12.1Consent cross-tab sync0.25d
B13.1–13.2Prerender extras0.35d
B14.1, B14.3Log rotation + forwarding0.5dPhase 3
B15.2–15.3Dark mode + consent E2E tests1d
B16.1–16.3Storybook stories4.25dDecision
B17.25th template manifest1d
B17.3Generate template docs from manifests0.5d
B18.2Token edit undo/redo0.5d
B19.3Block preview thumbnails in zone editor0.5d
B20.1Automate critical CSS from Lighthouse1d
B21.3Block change detection in CI0.25d
B21.4Saved blocks → API persistence0.5dB1.1

Effort totals

PriorityTasksEffort
High5 tasks~2.5d
Medium22 tasks~13.25d
Low20 tasks~21.6d
Total47 tasks~37d
These tasks are not required for v1.0 spec compliance. They should be scheduled alongside or after the spec roadmap based on team capacity and business priorities.

Further reading