Implements website feature branch `407-msp-mittelstand-use-case-pages` into `website-dev`. Summary: - add German and English MSP and internal IT use-case landing pages - expose localized buyer-path teasers from the homepage and platform page - extend smoke coverage for the new routes, navigation links, metadata, and conservative claim checks - include the aligned Spec Kit artifacts under `specs/407-msp-mittelstand-use-case-pages` Validation: - `cd apps/website && corepack pnpm build` - `cd apps/website && corepack pnpm test -- tests/smoke/public-routes.spec.ts tests/smoke/interaction.spec.ts` Follow-up integration path after merge: `website-dev` -> `dev`. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #402
16 KiB
Tasks: MSP & Mittelstand Use-Case Pages
Input: Design documents from /specs/407-msp-mittelstand-use-case-pages/
Prerequisites: plan.md (required), spec.md (required)
Tests: Runtime behavior changes are in scope for apps/website, so browser smoke and route/metadata assertions are required.
Test Governance Checklist
- Lane assignment is named and is the narrowest sufficient proof for the changed behavior.
- New or changed tests stay in the smallest honest family, and any browser addition is explicit.
- Shared helpers and fixtures stay cheap by default; any widening is isolated or documented.
- Planned validation commands cover the change without unrelated lane cost.
- Surface test profile is explicit (
Browser,public website). - Any escalation or follow-up spec decision is documented in the PR notes.
Phase 1: Setup (Shared Infrastructure)
Purpose: Confirm repository contracts, discover concrete website integration points, and define scope-safe implementation boundaries.
- T001 Confirm active feature branch and clean target scope in
specs/407-msp-mittelstand-use-case-pages/spec.md - T002 Verify root workspace contracts in
package.json - T003 Verify workspace package contracts in
apps/website/package.json - T004 Map current route and locale entrypoints in
apps/website/src/pages/index.astroandapps/website/src/pages/en/index.astro - T005 [P] Map homepage composition surface in
apps/website/src/components/pages/HomePage.astro - T006 [P] Map navigation/footer source of truth in
apps/website/src/data_files/site-copy.tsandapps/website/src/utils/navigation.ts
Phase 2: Foundational (Blocking Prerequisites)
Purpose: Establish IA decision, shared copy scaffolding, and smoke-test hooks used by all user stories.
⚠️ CRITICAL: No user story work should begin before this phase is complete.
- T007 Decide and document route family in
specs/407-msp-mittelstand-use-case-pages/plan.md(selected:/use-cases/...) - T008 Add use-case copy schema for DE locale in
apps/website/src/data_files/site-copy.ts - T009 [P] Add use-case copy schema for EN locale in
apps/website/src/data_files/site-copy.ts - T010 Add nav/footer link slots for use-case discoverability in
apps/website/src/data_files/site-copy.ts - T011 [P] Extend route smoke inventory for new pages in
apps/website/tests/smoke/smoke-helpers.ts - T012 Add baseline route metadata placeholders for new pages in
apps/website/tests/smoke/public-routes.spec.ts - T013 Capture static-claim scan command set in
specs/407-msp-mittelstand-use-case-pages/plan.md
Checkpoint: Foundation is ready for story implementation.
Phase 3: User Story 1 - MSP Buyer Self-Qualifies Fast (Priority: P1) 🎯 MVP
Goal: Deliver an MSP-specific page that clearly sells repeatable Microsoft 365 governance services and boundaries.
Independent Test: Open /use-cases/msp, verify hero/pain/outcomes/workflow/capabilities/boundary/final CTA, and confirm real links plus no unsupported claims.
Tests for User Story 1
- T014 [P] [US1] Add MSP route title/description assertions in
apps/website/tests/smoke/public-routes.spec.ts - T015 [P] [US1] Add MSP content-intent assertions in
apps/website/tests/smoke/interaction.spec.ts
Implementation for User Story 1
- T016 [US1] Create MSP route page in
apps/website/src/pages/use-cases/msp.astro - T017 [US1] Create EN MSP route page in
apps/website/src/pages/en/use-cases/msp.astro - T018 [US1] Implement MSP hero copy and primary CTAs in
apps/website/src/data_files/site-copy.ts - T019 [US1] Implement MSP pain section cards in
apps/website/src/data_files/site-copy.ts - T020 [US1] Implement MSP outcomes section in
apps/website/src/data_files/site-copy.ts - T021 [US1] Implement MSP workflow steps in
apps/website/src/data_files/site-copy.ts - T022 [US1] Implement MSP capability cards and PSA boundary copy in
apps/website/src/data_files/site-copy.ts - T023 [US1] Implement MSP trust teaser and final CTA with real destinations in
apps/website/src/data_files/site-copy.ts - T024 [US1] Complete MSP page section rendering directly in
apps/website/src/pages/use-cases/msp.astro
Checkpoint: User Story 1 is independently functional and demonstrable.
Phase 4: User Story 2 - Internal IT Buyer Understands Control Value (Priority: P1)
Goal: Deliver a Mittelstand/Enterprise IT page focused on internal control, auditability, drift visibility, and recovery context.
Independent Test: Open /use-cases/mittelstand, verify stakeholder-specific value framing and differentiation from admin-center/helpdesk/automation tools.
Tests for User Story 2
- T025 [P] [US2] Add Mittelstand route title/description assertions in
apps/website/tests/smoke/public-routes.spec.ts - T026 [P] [US2] Add Mittelstand content-intent assertions in
apps/website/tests/smoke/interaction.spec.ts
Implementation for User Story 2
- T027 [US2] Create Mittelstand route page in
apps/website/src/pages/use-cases/mittelstand.astro - T028 [US2] Create EN Mittelstand route page in
apps/website/src/pages/en/use-cases/mittelstand.astro - T029 [US2] Implement Mittelstand hero copy and CTAs in
apps/website/src/data_files/site-copy.ts - T030 [US2] Implement Mittelstand pain section cards in
apps/website/src/data_files/site-copy.ts - T031 [US2] Implement Mittelstand outcomes section in
apps/website/src/data_files/site-copy.ts - T032 [US2] Implement stakeholder cards (IT Ops, Security, IT-Leitung, Audit/Datenschutz) in
apps/website/src/data_files/site-copy.ts - T033 [US2] Implement Mittelstand workflow steps in
apps/website/src/data_files/site-copy.ts - T034 [US2] Implement differentiation and trust teaser copy in
apps/website/src/data_files/site-copy.ts - T035 [US2] Implement Mittelstand final CTA with real destinations in
apps/website/src/data_files/site-copy.ts
Checkpoint: User Story 2 is independently functional and demonstrable.
Phase 5: User Story 3 - Public Visitors Reach Both Buyer Paths (Priority: P2)
Goal: Ensure both use-case pages are discoverable through homepage and existing IA without placeholder links.
Independent Test: From homepage plus nav/footer entry points, both use-case routes are reachable on desktop/mobile and all links resolve intentionally.
Tests for User Story 3
- T036 [P] [US3] Add homepage teaser-link assertions in
apps/website/tests/smoke/interaction.spec.ts - T037 [P] [US3] Add navigation/footer intentional-link assertions for use-case routes in
apps/website/tests/smoke/public-routes.spec.ts
Implementation for User Story 3
- T038 [US3] Add homepage use-case teaser section structure in
apps/website/src/components/pages/HomePage.astro - T039 [US3] Add homepage MSP teaser copy and route mapping in
apps/website/src/data_files/site-copy.ts - T040 [US3] Add homepage Mittelstand teaser copy and route mapping in
apps/website/src/data_files/site-copy.ts - T041 [US3] Add DE navigation links for use cases in
apps/website/src/data_files/site-copy.ts - T042 [US3] Add EN navigation links for use cases in
apps/website/src/data_files/site-copy.ts - T043 [US3] Add DE footer links for use cases in
apps/website/src/data_files/site-copy.ts - T044 [US3] Add EN footer links for use cases in
apps/website/src/data_files/site-copy.ts - T045 [US3] Ensure localized href handling for new routes in
apps/website/src/i18n.ts - T046 [US3] Validate no
href="#"is introduced in use-case entrypoints by scanningapps/website/src - T068 [US3] Decide whether to add a compact platform teaser for use cases and record decision for FR-030 in
specs/407-msp-mittelstand-use-case-pages/plan.md - T069 [US3] If platform teaser is enabled, add concise MSP/Enterprise links in
apps/website/src/components/pages/PlatformPage.astrowithout duplicating full use-case copy
Checkpoint: User Story 3 is independently functional and demonstrable.
Phase 6: User Story 4 - Buyers See Safe Claim Boundaries (Priority: P2)
Goal: Enforce copy and metadata guardrails so pages remain commercial but do not overclaim.
Independent Test: Source and rendered pages pass forbidden-term scans and metadata/title checks for both use-case routes.
Tests for User Story 4
- T047 [P] [US4] Add forbidden-claim assertions for use-case routes in
apps/website/tests/smoke/public-routes.spec.ts - T048 [P] [US4] Extend reusable forbidden-claim patterns if needed in
apps/website/tests/smoke/smoke-helpers.ts
Implementation for User Story 4
- T049 [US4] Add DE metadata title/description strings for MSP and Mittelstand in
apps/website/src/data_files/site-copy.ts - T050 [US4] Add EN metadata title/description strings for MSP and Mittelstand in
apps/website/src/data_files/site-copy.ts - T051 [US4] Remove weak/internal phrasing from new copy sections in
apps/website/src/data_files/site-copy.ts - T052 [US4] Enforce MSP boundary claims in route content at
apps/website/src/pages/use-cases/msp.astro - T053 [US4] Enforce Mittelstand boundary claims in route content at
apps/website/src/pages/use-cases/mittelstand.astro - T054 [US4] Run static forbidden-term scans on
apps/website/srcandapps/website/public - T055 [US4] If
apps/website/distis updated, run forbidden-term scans onapps/website/dist - T056 [US4] Document any intentional scan hit rationale in
specs/407-msp-mittelstand-use-case-pages/plan.md - T057 [US4] Confirm no fake proof artifacts were added by reviewing
apps/website/publicandapps/website/src/images - T058 [US4] Confirm Intune remains first strong domain but not full category story in new use-case copy within
apps/website/src/data_files/site-copy.ts - T070 [US4] Execute a 60-second MSP comprehension check (SC-001) and record pass/fail notes in
specs/407-msp-mittelstand-use-case-pages/plan.md - T071 [US4] Execute a 60-second Enterprise IT comprehension check (SC-002) and record pass/fail notes in
specs/407-msp-mittelstand-use-case-pages/plan.md
Checkpoint: User Story 4 is independently functional and demonstrable.
Phase 7: Polish & Cross-Cutting Concerns
Purpose: Final validation, formatting, build/test execution, and close-out reporting.
- T059 [P] Run formatting check using scripts in
apps/website/package.jsonviapnpm --filter @tenantatlas/website format:check - T060 Run Astro/build validation for routes under
apps/website/src/pagesviapnpm --filter @tenantatlas/website build - T061 Run smoke suite defined in
apps/website/playwright.config.tsviapnpm --filter @tenantatlas/website test -- --grep smoke - T062 Run route-level smoke in
apps/website/tests/smoke/public-routes.spec.tsviapnpm --filter @tenantatlas/website test tests/smoke/public-routes.spec.ts - T063 Perform desktop browser smoke for
/use-cases/mspand/use-cases/mittelstandinapps/website/tests/smoke/interaction.spec.ts - T064 Perform mobile viewport smoke for
/use-cases/mspand/use-cases/mittelstandinapps/website/tests/smoke/interaction.spec.ts - T065 Confirm changed-file scope excludes
apps/platform/**by reviewingspecs/407-msp-mittelstand-use-case-pages/tasks.mdagainstgit status --short - T066 Record command results, route decision, and residual follow-ups in
specs/407-msp-mittelstand-use-case-pages/plan.md - T067 Record active feature close-out summary in
specs/407-msp-mittelstand-use-case-pages/checklists/requirements.md
Dependencies & Execution Order
Phase Dependencies
- Setup (Phase 1): No dependencies, starts immediately.
- Foundational (Phase 2): Depends on Setup completion and blocks story work.
- User Stories (Phases 3-6): Depend on Foundational completion; US1 and US2 can run in parallel, then US3 and US4.
- Polish (Phase 7): Depends on all selected user stories being complete.
User Story Dependencies
- US1 (P1): Starts after Phase 2, no dependency on other stories.
- US2 (P1): Starts after Phase 2, no dependency on other stories.
- US3 (P2): Depends on US1 and US2 routes existing.
- US4 (P2): Depends on US1 and US2 content existing; can overlap with late US3 work.
Within Each User Story
- Tests/tasks defining assertions are created before or alongside implementation and must fail before final pass.
- Route files and copy schema come before link wiring.
- Implementation completes before build/smoke validation.
Parallel Opportunities
- Setup tasks marked
[P]can run in parallel. - Foundational test-hook and locale-copy tasks marked
[P]can run in parallel. - US1 and US2 can be developed in parallel once foundational tasks complete.
- US3 nav and footer link tasks can run in parallel across locales.
- US4 metadata and forbidden-term scan tasks marked
[P]can run in parallel.
Parallel Example: User Story 1
Task: "T014 [US1] Add MSP route title/description assertions in apps/website/tests/smoke/public-routes.spec.ts"
Task: "T015 [US1] Add MSP content-intent assertions in apps/website/tests/smoke/interaction.spec.ts"
Task: "T016 [US1] Create MSP route page in apps/website/src/pages/use-cases/msp.astro"
Task: "T017 [US1] Create EN MSP route page in apps/website/src/pages/en/use-cases/msp.astro"
Parallel Example: User Story 2
Task: "T025 [US2] Add Mittelstand route title/description assertions in apps/website/tests/smoke/public-routes.spec.ts"
Task: "T026 [US2] Add Mittelstand content-intent assertions in apps/website/tests/smoke/interaction.spec.ts"
Task: "T027 [US2] Create Mittelstand route page in apps/website/src/pages/use-cases/mittelstand.astro"
Task: "T028 [US2] Create EN Mittelstand route page in apps/website/src/pages/en/use-cases/mittelstand.astro"
Parallel Example: User Story 3
Task: "T041 [US3] Add DE navigation links for use cases in apps/website/src/data_files/site-copy.ts"
Task: "T042 [US3] Add EN navigation links for use cases in apps/website/src/data_files/site-copy.ts"
Task: "T043 [US3] Add DE footer links for use cases in apps/website/src/data_files/site-copy.ts"
Task: "T044 [US3] Add EN footer links for use cases in apps/website/src/data_files/site-copy.ts"
Parallel Example: User Story 4
Task: "T047 [US4] Add forbidden-claim assertions for use-case routes in apps/website/tests/smoke/public-routes.spec.ts"
Task: "T048 [US4] Extend reusable forbidden-claim patterns if needed in apps/website/tests/smoke/smoke-helpers.ts"
Task: "T049 [US4] Add DE metadata title/description strings for MSP and Mittelstand in apps/website/src/data_files/site-copy.ts"
Task: "T050 [US4] Add EN metadata title/description strings for MSP and Mittelstand in apps/website/src/data_files/site-copy.ts"
Implementation Strategy
MVP First (US1 Only)
- Complete Phase 1 (Setup).
- Complete Phase 2 (Foundational).
- Complete Phase 3 (US1).
- Validate US1 independently with route metadata plus smoke assertions.
- Demo/deploy MVP slice if desired.
Incremental Delivery
- Finish Setup + Foundational once.
- Deliver US1 (MSP page), validate, and ship.
- Deliver US2 (Mittelstand page), validate, and ship.
- Deliver US3 (discoverability), validate, and ship.
- Deliver US4 (claim boundaries), validate, and ship.
Suggested MVP Scope
- MVP: User Story 1 only (MSP use-case page), because it delivers a complete buyer-facing value slice with independent validation.
Notes
[P]tasks touch different files and can run in parallel.[USx]tags map every story-phase task to a specific user story.- All file paths target
apps/websiteorspecs/407-msp-mittelstand-use-case-pagesto preserve scope. - No task introduces
apps/platformruntime changes or root workspace contract changes.