## Summary - rename the website product page to `/platform` - add a redirect from `/product` to `/platform` and update navigation/content links - refresh footer/layout metadata and align smoke tests with the new route - add spec artifacts for 401-tenantial-platform-page ## Testing - not run in this step Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #391
22 KiB
Tasks: Tenantial Platform Page
Input: Design documents from /Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/
Prerequisites: /Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/plan.md, /Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/spec.md, /Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/research.md, /Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/data-model.md, /Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/contracts/public-routes.openapi.yaml, /Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/quickstart.md
Tests: Required. Spec 401 changes the public website runtime route and test surface; use focused Playwright smoke coverage in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke.
Scope Boundary: Work is limited to /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website plus this spec directory. Do not modify /Users/ahmeddarrazi/Documents/projects/wt-website/apps/platform.
Constitution Gate: Finalization includes the repository-wide targeted Pest and Pint close-out commands documented in /Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/plan.md without treating Laravel behavior as the feature proof.
Phase 1: Setup (Shared Infrastructure)
Purpose: Confirm website-only implementation boundaries and the existing route/content patterns before changing code.
- T001 Review existing public page patterns in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/product.astro,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/product.ts,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/lib/site.ts, and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts - T002 [P] Confirm no dependency or script changes are needed in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/package.jsonand/Users/ahmeddarrazi/Documents/projects/wt-website/package.json - T003 [P] Confirm Tailwind v4 styling conventions and existing surface classes in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/styles/tokens.css,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/styles/global.css, and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/sections/PageHero.astro
Phase 2: Foundational (Blocking Prerequisites)
Purpose: Add route-level foundation needed before user-story implementation can compile and be tested.
Critical: No user-story implementation should start until /platform exists in route metadata and typed site definitions, and T007 confirms the repository-wide quality-gate commands are explicit.
- T004 Add
/platformtoSitePath,PageRole, route unions, and related public website route typing in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/types/site.ts - T005 Add
/platformpage definition, canonical route membership, sitemap inclusion, and/productredirect compatibility classification in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/lib/site.ts - T006 Update smoke helper route constants to recognize
/platformand preserve/productredirect compatibility expectations in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts - T007 Confirm the repository-wide targeted Pest and Pint close-out commands are explicit in
/Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/plan.md
Checkpoint: Website route metadata is ready; user story implementation can proceed.
Phase 3: User Story 1 - Understand The Platform Model (Priority: P1) MVP
Goal: A first-time buyer or stakeholder opens /platform and understands Tenantial as an evidence-first governance platform for Microsoft tenant environments.
Independent Test: Open /platform and verify the first viewport shows Tenantial Platform positioning, Microsoft tenant context, a governance headline, static product-oriented visual, "Book a demo", and "See the governance loop".
Tests for User Story 1
- T008 [US1] Add failing
/platformhero smoke test titled "platform hero explains Tenantial governance model" for shell, oneh1, "TENANTIAL PLATFORM", governance headline, primary CTA, secondary CTA, and static visual in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts - T009 [US1] Add failing
/platformmetadata smoke test titled "platform metadata is Tenantial clean" for title, description, canonical URL, and absence of stale public-brand terms in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts
Implementation for User Story 1
- T010 [US1] Create Platform page static hero, SEO, CTA, and first-viewport visual content exports in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/platform.ts - T011 [US1] Create canonical Platform page route using
PageShell, existing section primitives, hero content, and static visual markup in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro - T012 [US1] Ensure
/platformuses Tenantial-specific metadata, canonical/platform, exactly one primary heading, keyboard-accessible CTAs, and no live tenant-data language in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro - T013 [US1] Run
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke --grep "platform hero|platform metadata"from/Users/ahmeddarrazi/Documents/projects/wt-website
Checkpoint: /platform is usable as the MVP public Platform page with a clear first-viewport product model.
Phase 4: User Story 2 - See How Governance Work Flows (Priority: P2)
Goal: A stakeholder understands how raw tenant change becomes reviewable governance evidence.
Independent Test: Review the operating model and governance loop sections and verify required steps, operator-led language, evidence preservation, and no automatic remediation or guaranteed recovery claims.
Tests for User Story 2
- T014 [US2] Add failing
/platformsmoke test titled "platform governance flow explains reviewable evidence" for operating model steps, governance loop labels, operator review wording, evidence preservation wording, and auditability wording in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts - T015 [US2] Add failing
/platformsmoke test titled "platform governance flow avoids automation guarantees" that does not imply automatic remediation, guaranteed recovery, live device actions, or real-time tenant operations in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts
Implementation for User Story 2
- T016 [US2] Add ordered operating model and governance loop content arrays to
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/platform.ts - T017 [US2] Render the operating model overview with the required sequence in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro - T018 [US2] Render the governance loop section with accessible text equivalents and mobile-stacking behavior in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro - T019 [US2] Run
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke --grep "platform governance flow"from/Users/ahmeddarrazi/Documents/projects/wt-website
Checkpoint: The Platform page explains the governance flow independently of later capability and navigation cleanup work.
Phase 5: User Story 3 - Evaluate Capabilities And Boundaries (Priority: P3)
Goal: A stakeholder can evaluate Tenantial's core capabilities and distinguish them from helpdesk, SIEM, device-action, or Microsoft admin center replacement promises.
Independent Test: Review /platform for all eight capabilities, truth-layer or workflow explanation, boundary language, and absence of unsupported customer, certification, partnership, uptime, recovery, security, or compliance claims.
Tests for User Story 3
- T020 [US3] Add failing
/platformsmoke test titled "platform capabilities cover governance primitives" for Backup, Restore, Drift Detection, Findings, Evidence, Audit Trail, Exceptions, and Governance Reviews in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts - T021 [US3] Add failing
/platformsmoke test titled "platform boundaries keep claims conservative" for platform boundary copy and unsupported-claim absence on/platformin/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts - T022 [US3] Add failing
/platformmobile smoke test titled "platform mobile layout stays readable without overflow" for readable capability cards, boundary content, no color-only meaning, and no body-level horizontal overflow in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts
Implementation for User Story 3
- T023 [US3] Add capability, truth-layer, operator-workflow, platform-boundary, and final CTA content exports to
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/platform.ts - T024 [US3] Render the capability grid using existing website primitives and lucide-compatible icon names in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro - T025 [US3] Render truth-layer and operator-workflow sections with concise public copy in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro - T026 [US3] Render platform boundary and final CTA sections with conservative claim language and working
/contactdemo CTA in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro - T027 [US3] Run
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke --grep "platform capabilities|platform boundaries|platform mobile"from/Users/ahmeddarrazi/Documents/projects/wt-website
Checkpoint: Stakeholders can evaluate the platform capabilities and boundaries without unsupported claims.
Phase 6: User Story 4 - Navigate A Brand-Clean Public Site (Priority: P4)
Goal: Website owners can confirm that homepage, header, footer, metadata, and /product compatibility all support /platform without stale brand or template residue.
Independent Test: Follow homepage "Explore the platform", header Platform, footer Platform, and /product; verify they resolve to canonical /platform behavior, with /product redirecting to /platform.
Tests for User Story 4
- T028 [US4] Update homepage hero route-target smoke assertions from
/productto/platformin/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts - T029 [US4] Update primary navigation, footer navigation, and onward-route smoke expectations for Platform links to
/platformin/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts - T030 [US4] Add
/productcompatibility smoke test titled "product redirects to platform" for redirect-to-/platformbehavior and absence of stale public copy in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts
Implementation for User Story 4
- T031 [US4] Update homepage "Explore the platform" CTA and final CTA destinations to
/platformin/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/home.ts - T032 [US4] Update primary navigation and footer Platform link destinations to
/platformin/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/lib/site.ts - T033 [US4] Convert
/productto a redirect-only compatibility route pointing to/platformin/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/product.astro - T034 [US4] Retire stale product content usage so
/productno longer imports or renders conflicting public copy from/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/product.ts - T035 [US4] Update sitemap and canonical route behavior for
/platformand/productredirect compatibility in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/lib/site.ts - T036 [US4] Run
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke --grep "homepage.*platform|primary navigation|footer|product redirects"from/Users/ahmeddarrazi/Documents/projects/wt-website
Checkpoint: The public site journey consistently routes Platform intent to /platform.
Phase 7: Polish & Cross-Cutting Concerns
Purpose: Validate quality, accessibility, claim safety, and repo boundaries after all user stories are complete.
- T037 [P] Run
corepack pnpm build:websitefrom/Users/ahmeddarrazi/Documents/projects/wt-website - T038 [P] Run
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smokefrom/Users/ahmeddarrazi/Documents/projects/wt-website - T039 [P] Run
git diff --checkfrom/Users/ahmeddarrazi/Documents/projects/wt-website - T040 Review
/platformat mobile, tablet, desktop, and wide desktop sizes for no body-level horizontal overflow in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro - T041 Review visible copy and metadata for forbidden public-brand residue and unsupported claims in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/platform.ts - T042 Confirm no files under
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/platformwere changed for this website-only feature - T043 Run
cd /Users/ahmeddarrazi/Documents/projects/wt-website/apps/platform && ./vendor/bin/sail bin pint --dirtyfrom/Users/ahmeddarrazi/Documents/projects/wt-website/apps/platform - T044 Run
cd /Users/ahmeddarrazi/Documents/projects/wt-website/apps/platform && ./vendor/bin/sail artisan test --compact tests/Deprecation/IsPlatformSuperadminDeprecationTest.phpfrom/Users/ahmeddarrazi/Documents/projects/wt-website/apps/platform - T045 Confirm no Playwright helper change introduces platform, database, auth, provider, session, workspace, or tenant setup in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts - T046 Confirm no unrelated Laravel, Filament, or Livewire product test family is introduced solely for Spec 401 website smoke proof in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke - T047 Confirm final validation commands include
corepack pnpm build:website,WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke,git diff --check, and the constitution close-out commands from T043/T044 in/Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/tasks.md - T048 Review static website files for no third-party tracking scripts, backend fetches, platform API calls, auth/session coupling, or live tenant-data dependencies in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/platform.ts, and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/lib/site.ts
Phase 8: Mockup-Aligned Visual Refactor Follow-Up
Purpose: Apply the follow-up visual refactor request so /platform is much closer to the supplied mockup target rather than the initial card-heavy implementation.
- T049 Update Spec 401 artifacts for the follow-up visual target in
/Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/spec.md,/Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/plan.md,/Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/data-model.md, and/Users/ahmeddarrazi/Documents/projects/wt-website/specs/401-tenantial-platform-page/quickstart.md - T050 Replace
/platformstatic content with mockup-aligned hero trust signals, six-step operating model, governance loop diagram copy, asymmetric capability content, truth layers, workflows, boundaries, and focused CTA in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/platform.ts - T051 Refactor
/platformpage composition into split dashboard hero, compact Operating Model flow, central Governance Loop diagram, asymmetric Capabilities, Truth Layers visual, warmer Operator Workflows, Boundaries band, and focused CTA in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro - T052 Add quiet footer behavior for
/platformso the final CTA and footer are not two equally heavy closing sections in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/layout/Footer.astro - T053 Update website smoke coverage for the new visual structure, grouped capabilities, truth-layer visual, boundaries wording, and quiet footer in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts - T054 Run
corepack pnpm build:websitefrom/Users/ahmeddarrazi/Documents/projects/wt-website - T055 Run
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smokefrom/Users/ahmeddarrazi/Documents/projects/wt-website - T056 Run
git diff --checkfrom/Users/ahmeddarrazi/Documents/projects/wt-website - T057 Review desktop and mobile
/platformscreenshots for mockup proximity, no body-level horizontal overflow, and no incoherent text overlap - T058 Confirm the visual refactor remains limited to
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/websiteand Spec 401 artifacts, with no/Users/ahmeddarrazi/Documents/projects/wt-website/apps/platformchanges
Dependencies & Execution Order
Phase Dependencies
- Phase 1 must complete before Phase 2.
- Phase 2 must complete before any user story implementation.
- US1 is the MVP and should complete before US2, US3, and US4 because it creates the canonical
/platformroute. - US2 can proceed after US1 because it expands the same page with operating model and governance loop sections.
- US3 can proceed after US1 and can run in parallel with US2 if file-level coordination is handled for
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astroand/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/pages/platform.ts. - US4 should complete after US1 because homepage/header/footer links need a real canonical route target.
- Phase 7 runs after all selected user stories.
User Story Dependency Graph
Setup -> Foundation -> US1 (MVP)
|-> US2
|-> US3
`-> US4
US2 + US3 + US4 -> Polish
Story Completion Order
- US1 - Understand The Platform Model
- US2 - See How Governance Work Flows
- US3 - Evaluate Capabilities And Boundaries
- US4 - Navigate A Brand-Clean Public Site
Parallel Execution Examples
Setup / Foundation
T002 can run alongside T003 after T001 starts.
T004 and T005 should be coordinated because both affect route typing and route definitions.
T006 can run after T004/T005 interfaces are known.
User Story 1
T008 and T009 both edit /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts, so coordinate them in one test-edit pass.
T010 and T011 should be sequential because the page route imports the content module.
User Story 2
T014 and T015 can be drafted together in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts before implementation.
T016 should complete before T017 and T018 render the new content.
User Story 3
T020, T021, and T022 can be drafted in one test-edit pass.
T023 can proceed before T024, T025, and T026 render the new sections.
User Story 4
T028 and T030 both edit /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/home-product.spec.ts and should be coordinated.
T031 can run in parallel with T032 because they edit different files.
T033 and T034 should be coordinated because both define /product compatibility behavior.
Final Validation
T037, T038, and T039 are independent validation commands and can run in parallel if local resources allow.
T040, T041, T042, T045, T046, and T048 can run after validation commands finish.
T043 and T044 close the repository-wide constitution gates and should finish before T047.
Implementation Strategy
MVP First
Deliver US1 first. This creates the canonical /platform page with Tenantial Platform metadata, first-viewport positioning, static product-oriented visual, and primary/secondary CTA hierarchy. At that point the feature has a usable public destination even before deeper sections and compatibility cleanup land.
Incremental Delivery
- Complete Setup and Foundational phases.
- Complete US1 and verify
/platformindependently. - Add US2 to explain the operating model and governance loop.
- Add US3 to cover capabilities, truth layers, workflows, boundaries, and claim safety.
- Add US4 to align homepage/header/footer navigation and redirect
/productto/platform. - Run Phase 7 validation and record smoke coverage close-out.