## Summary - add the localized review-pack product story routes at `/platform/review-packs` and `/en/platform/review-packs` with shared page composition, evidence/decision framing, audience sections, trust handoff, and footer/use-case/home/platform discovery - extend `site-copy`, smoke coverage, and Spec Kit artifacts for feature 408 so the public website contract, tests, research, plan, quickstart, and checklist stay aligned - polish the public presentation with a cleaner review-pack comparison surface, a more opaque navbar to remove homepage logo bleed-through, a higher-contrast secondary CTA, unique homepage feature icons, and less repetitive homepage use-case copy ## Validation - `corepack pnpm --filter @tenantatlas/website build` - `corepack pnpm --filter @tenantatlas/website test tests/smoke/public-routes.spec.ts` - `corepack pnpm --filter @tenantatlas/website test tests/smoke/interaction.spec.ts` - source/dist claim scans plus manual browser comprehension checks are recorded in `specs/408-review-evidence-decision/checklists/requirements.md` - current touched website files are free of editor diagnostics; live browser console check on the homepage returned no errors ## Notes - trust/proof messaging remains intentionally honest; this PR does not add fabricated customer logos, certifications, or unsupported compliance claims - `origin/website-dev` is the review base for this PR Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #405
91 lines
6.6 KiB
Markdown
91 lines
6.6 KiB
Markdown
# Research: Customer-safe Review, Evidence & Decision Story
|
|
|
|
## Decision: Use `/platform/review-packs` and `/en/platform/review-packs`
|
|
|
|
**Rationale**: The current public website already uses `/platform` and `/en/platform` as the product-story entry points, and the route inventory already contains nested platform-facing public routes such as `/platform/evidence-review/`. A nested `platform` route keeps the new page attached to the product narrative without adding a new top-level IA family.
|
|
|
|
**Alternatives considered**:
|
|
|
|
- `/review-packs`: clearer in isolation, but weaker IA connection to the platform story and less consistent with existing product routing.
|
|
- `/platform/evidence-reviews`: too close to the docs-facing evidence-review route and weaker on the buyer-facing Review Pack framing.
|
|
- `/products/review-packs`: conflicts with the current `/product` and `/products` redirect expectations to `/platform`.
|
|
|
|
## Decision: Reuse the localized page-component pattern instead of duplicating large route files
|
|
|
|
**Rationale**: Existing product-level routes already support a thin-route plus shared-page-component pattern via `/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/pages/platform.astro` and `/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/PlatformPage.astro`. The Review Pack page is section-heavy in both German and English, so a shared `ReviewPacksPage.astro` is the narrowest way to avoid duplicating large amounts of localized markup.
|
|
|
|
**Alternatives considered**:
|
|
|
|
- Duplicate `de` and `en` route markup like the use-case pages: acceptable, but needlessly repetitive for a dense product-story page.
|
|
- MDX/docs content route: mismatched with the current marketing-page CTA and metadata pattern.
|
|
- Inline-only platform section: lower route overhead, but weaker SEO, weaker smoke coverage, and weaker discoverability.
|
|
|
|
## Decision: Keep all localized page copy in `site-copy.ts`
|
|
|
|
**Rationale**: The website already centralizes public copy, metadata, navigation labels, footer links, homepage copy, platform copy, trust copy, and use-case copy in `/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts`. Adding a dedicated `reviewPacks` section there keeps the new page aligned with the existing locale strategy and avoids a second content source.
|
|
|
|
**Alternatives considered**:
|
|
|
|
- Page-local constants: simpler for one file, but weaker for German/English parity and CTA consistency.
|
|
- Separate JSON or YAML content file: splits public copy away from the existing marketing-content source of truth.
|
|
- Runtime content source or CMS: out of scope for a website-only spec.
|
|
|
|
## Decision: Prefer contextual discovery plus footer exposure, but not a main-nav item
|
|
|
|
**Rationale**: The current nav already contains Start, Plattform, MSPs, Interne IT, Preise, Vertrauen, Docs, and Kontakt. Adding another main-nav entry would over-densify the top bar. The stronger discovery path is contextual: homepage teaser, platform-page teaser, MSP page crosslink, Mittelstand page crosslink, and a footer link for global reachability.
|
|
|
|
**Alternatives considered**:
|
|
|
|
- Main-nav item: globally visible, but too expensive for current IA density.
|
|
- Footer only: too weak for the commercial importance of this page.
|
|
- Homepage/platform only: better than nothing, but weaker for audience-specific discovery.
|
|
|
|
## Decision: Reuse existing section primitives and card-grid patterns
|
|
|
|
**Rationale**: The website already has a stable `HeroSection` plus repeated card-grid and section patterns in `/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/PlatformPage.astro` and the use-case routes. The new page can stay visually aligned by composing those primitives rather than introducing a new website design language.
|
|
|
|
**Alternatives considered**:
|
|
|
|
- New bespoke layout system for this page: unnecessary for one bounded route.
|
|
- Fully copy-paste the MSP page structure: workable, but less reusable than a shared page component that maps new content arrays.
|
|
- Docs-like narrative layout: weaker for CTA hierarchy and product marketing cadence.
|
|
|
|
## Decision: Use the existing smoke helpers and route metadata inventory as the narrowest proof
|
|
|
|
**Rationale**: `/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts` and `/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts` already validate route rendering, metadata, placeholder-link bans, forbidden public claims, and layout stability. Extending those tests is the narrowest proof for this feature.
|
|
|
|
**Alternatives considered**:
|
|
|
|
- Manual-only browser review: insufficient for metadata and claim-guardrail regressions.
|
|
- New unit tests for copy objects: more brittle than public-route smoke for this use case.
|
|
- Platform-side tests: wrong layer because `apps/platform` is explicitly out of scope.
|
|
|
|
## Decision: Validate only with scripts that currently exist in `apps/website/package.json`
|
|
|
|
**Rationale**: `/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/package.json` currently exposes `build`, `test`, `test:smoke`, `format:check`, and `preview`. The plan must not invent `check`; `astro check` already runs inside the `build` script.
|
|
|
|
**Alternatives considered**:
|
|
|
|
- `pnpm --filter @tenantatlas/website check`: not present.
|
|
- Root script changes: out of scope and would break workspace contracts.
|
|
- Platform/Sail validation: wrong scope for a static website-only page.
|
|
|
|
## Decision: Treat static claim scans as implementation blockers
|
|
|
|
**Rationale**: The core risk in this feature is overclaiming. Static scans over `apps/website/src`, `apps/website/public`, and optionally `apps/website/dist` should block terms such as `href="#"`, internal architecture jargon, false compliance claims, fake portal/export claims, and unsupported provider language.
|
|
|
|
**Alternatives considered**:
|
|
|
|
- Code review only: too easy to miss metadata or generated-output regressions.
|
|
- New custom linter: too heavy for one bounded website feature.
|
|
- Narrow placeholder-link scan only: insufficient because the main risk is claim language, not just broken links.
|
|
|
|
## Decision: Link the trust teaser to the existing `/trust` route
|
|
|
|
**Rationale**: `/trust` and `/en/trust` already exist as public routes and are already covered in smoke tests. They are the safest real destinations for privacy, disclosure, and security follow-up questions from the new page.
|
|
|
|
**Alternatives considered**:
|
|
|
|
- Omit the trust teaser: safe, but weaker than the spec goal of connecting review-story claims to trust context.
|
|
- Link to docs only: weaker for commercial trust handoff.
|
|
- Invent a download/proof route: explicitly forbidden. |