init project

This commit is contained in:
root
2026-06-25 19:06:59 -04:00
parent c5dfee6efb
commit 5d017f533a
349 changed files with 31330 additions and 0 deletions
@@ -0,0 +1,7 @@
# Phase 13 Component Variant Update
## ProductPreview semantic heading level
`ProductPreview` now accepts an optional `headingLevel` prop using the existing `HeadingLevel` type. The default remains level 3, preserving all Phase 12 consumers. Phase 13 passes level 2 in the hero so the document outline moves from the page level-1 heading to the preview heading without skipping a semantic level.
This is a backward-compatible semantic variant. It does not add styling, raw tokens, duplicate components, or page-specific behavior to the component.
@@ -0,0 +1,39 @@
# Phase 13 Homepage Content Model
## Purpose
`src/content/homepage-model.ts` converts each locale catalog into one typed route-level object. The route consumes component semantics rather than translation-array positions or presentation-only flags.
## Inputs
- `src/content/locales/{en,fr,ar}/homepage.json`
- `src/content/locales/{en,fr,ar}/shell.json`
- Phase 12 component contracts for icons, preview rows, actions, cards, workflow, comparison, and CTA behavior
## Main types
- `HomepageContent`: complete route composition contract.
- `HomepageAction`: action label plus mandatory unavailable reason for unresolved destinations.
- `TitledDescription`: stable ID, title, description, and optional approved icon.
- `HomepageWorkflowStep`: stable ID, ordinal, title, and description.
- `HomepageFaqItem`: stable ID, question, and answer.
## Content transformation rules
1. Catalog messages remain complete localized strings. No runtime concatenation creates translatable sentences.
2. Pair and triple helpers fail closed when required tuple content is absent.
3. Product preview rows use fictional operational fixtures already present in locale catalogs.
4. Vehicle identifiers remain separate `secondary` fields so `ProductPreview` isolates them with `BidiText`.
5. Demo, tour, pricing, and sales actions remain disabled and carry localized reasons from the shell contract.
6. Outcome metrics are represented as measurement definitions and methodology, not invented numeric values.
7. Integrations, security certifications, pricing values, customer names, logos, and testimonials remain absent until governed approval exists.
## Route responsibilities
`src/app/[locale]/page.tsx` owns section order, headings, anchors, and composition. Components remain content-independent. Locale prefixes are generated with `localizedPath`; raw or guessed destinations are not permitted.
## Validation
- `tests/unit/homepage-content.test.ts` verifies locale completeness, unresolved destination behavior, and identifier isolation.
- `scripts/validate-phase13-homepage.mjs` verifies approved composition, anchors, semantic tokens, route helpers, and required test artifacts.
- Browser, accessibility, and visual scenarios are authored under `tests/browser`, `tests/a11y`, and `tests/visual`.
@@ -0,0 +1,13 @@
Order,Section,Anchor,Primary_components,Content_source,Evidence_policy,Destination_policy,Responsive_notes,Status
1,Hero,product,"Heading; Text; ActionLink; ProductPreview",homepage.hero and homepage.preview,Illustrative preview only; no production capture,Demo and tour actions disabled until approved,"Two-column to single-column; 320px safe",Implemented
2,Operational coverage,,"SectionHeader; FeatureGrid; FeatureCard",homepage.trust,Describes workflow coverage; not customer proof,None,"Four-card responsive grid",Implemented
3,Fragmented versus connected,,"SectionHeader; Comparison",homepage.comparison,No quantified claims,None,"Two columns stack below 768px",Implemented
4,Rental workflow,workflow,"SectionHeader; Workflow",homepage.workflow,No performance claims,None,"Horizontal adaptive workflow; stacked mobile",Implemented
5,Operating roles,,"SectionHeader; FeatureGrid; FeatureCard",homepage.roles,No market-size claim,None,"Four-card responsive grid",Implemented
6,Product modules,modules,"SectionHeader; FeatureGrid; FeatureCard",homepage.modules,Capability wording remains subject to product approval,None,"Six-card responsive grid",Implemented
7,Measurement framework,,"SectionHeader; FeatureGrid; FeatureCard; Callout",homepage.results,Definitions and methodology only; no outcome values,None,"Cards reflow; methodology remains readable",Implemented
8,Integrations,,"SectionHeader; Card; Icon list",homepage.integrations,Named partners suppressed until verified,None,"Two-column split to single-column",Implemented
9,Security evaluation,,"SectionHeader; FeatureGrid; FeatureCard",homepage.security,No certification or SLA claims,None,"Four-card responsive grid",Implemented
10,Pricing preview,pricing,"SectionHeader; Card; ActionLink",homepage.pricing,No public prices or discounts,Request-pricing action disabled until destination approval,"Two-column split to single-column",Implemented
11,FAQ,faq,"SectionHeader; Accordion",homepage.faq,Answers preserve open qualification language,None,"Native details disclosures; reading-width container",Implemented
12,Final CTA,,CTA,homepage.final,No unsupported conversion promise,Demo and sales actions disabled until approved,"Actions stack full-width on mobile",Implemented
1 Order Section Anchor Primary_components Content_source Evidence_policy Destination_policy Responsive_notes Status
2 1 Hero product Heading; Text; ActionLink; ProductPreview homepage.hero and homepage.preview Illustrative preview only; no production capture Demo and tour actions disabled until approved Two-column to single-column; 320px safe Implemented
3 2 Operational coverage SectionHeader; FeatureGrid; FeatureCard homepage.trust Describes workflow coverage; not customer proof None Four-card responsive grid Implemented
4 3 Fragmented versus connected SectionHeader; Comparison homepage.comparison No quantified claims None Two columns stack below 768px Implemented
5 4 Rental workflow workflow SectionHeader; Workflow homepage.workflow No performance claims None Horizontal adaptive workflow; stacked mobile Implemented
6 5 Operating roles SectionHeader; FeatureGrid; FeatureCard homepage.roles No market-size claim None Four-card responsive grid Implemented
7 6 Product modules modules SectionHeader; FeatureGrid; FeatureCard homepage.modules Capability wording remains subject to product approval None Six-card responsive grid Implemented
8 7 Measurement framework SectionHeader; FeatureGrid; FeatureCard; Callout homepage.results Definitions and methodology only; no outcome values None Cards reflow; methodology remains readable Implemented
9 8 Integrations SectionHeader; Card; Icon list homepage.integrations Named partners suppressed until verified None Two-column split to single-column Implemented
10 9 Security evaluation SectionHeader; FeatureGrid; FeatureCard homepage.security No certification or SLA claims None Four-card responsive grid Implemented
11 10 Pricing preview pricing SectionHeader; Card; ActionLink homepage.pricing No public prices or discounts Request-pricing action disabled until destination approval Two-column split to single-column Implemented
12 11 FAQ faq SectionHeader; Accordion homepage.faq Answers preserve open qualification language None Native details disclosures; reading-width container Implemented
13 12 Final CTA CTA homepage.final No unsupported conversion promise Demo and sales actions disabled until approved Actions stack full-width on mobile Implemented