## Summary - apply public website launch readiness updates across the Astro site shell, content, and navigation - refine website components, metadata, and localization-related structure for launch prep - update docs/content paths and smoke coverage to match the launch-ready public site state ## Scope - touches the website app and related spec artifacts for feature 403 - does not modify `apps/platform` ## Testing - not run in this step Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #394
115 lines
5.2 KiB
Markdown
115 lines
5.2 KiB
Markdown
# Data Model: `apps/website` Public Website Launch Readiness
|
|
|
|
This feature introduces no database tables, product runtime models, persisted entities, enums, status families, provider contracts, or shared product taxonomy.
|
|
|
|
The records below are planning and validation concepts for static website artifacts only.
|
|
|
|
## Public Route
|
|
|
|
Represents an intentional public URL exposed by the static website.
|
|
|
|
**Fields**
|
|
|
|
- `path`: public URL path, such as `/`, `/platform`, or `/welcome-to-docs/`
|
|
- `routeKind`: `rendered`, `redirect`, `static`, or `docs`
|
|
- `canonicalTarget`: canonical page path when applicable
|
|
- `sitemapPolicy`: included or excluded from generated sitemap
|
|
- `navigationPolicy`: primary nav, footer nav, docs nav, hidden, or redirect-only
|
|
- `metadataRequired`: whether route-specific title and description must be reviewed
|
|
- `claimReviewRequired`: whether visible copy and metadata require proof-safety review
|
|
|
|
**Validation Rules**
|
|
|
|
- Rendered canonical routes must return successful HTML.
|
|
- Redirect-only aliases must resolve intentionally and be excluded from sitemap output.
|
|
- Static routes such as `/robots.txt` and `/sitemap-index.xml` must be available after build.
|
|
- Public route copy and metadata must not contain forbidden residue terms listed in Spec 403.
|
|
|
|
## CTA Link
|
|
|
|
Represents a public call-to-action, navigation item, footer link, docs link, or visible interactive route target.
|
|
|
|
**Fields**
|
|
|
|
- `label`: visible CTA or link text
|
|
- `sourceSurface`: page or component where the CTA appears
|
|
- `href`: route, anchor, or external URL target
|
|
- `targetType`: rendered route, anchor, static asset, external proof link, or redirect alias
|
|
- `supportedWorkflow`: contact/demo, product explanation, pricing review, trust/legal review, docs review, or navigation
|
|
- `claimRisk`: whether the CTA could imply login, billing, checkout, provisioning, account creation, backend submission, or unsupported workflow
|
|
|
|
**Validation Rules**
|
|
|
|
- Public CTAs must resolve to intentional routes or anchors.
|
|
- Public CTAs must not use `href="#"` placeholders.
|
|
- Demo/contact CTAs must lead to `/contact` or an intentional contact section.
|
|
- CTAs must not imply login, account creation, billing, checkout, backend submission, or automated onboarding unless implemented.
|
|
|
|
## Public Claim
|
|
|
|
Represents visible copy or metadata that could create a trust, compliance, product, pricing, or proof claim.
|
|
|
|
**Fields**
|
|
|
|
- `surface`: route, docs page, component, metadata source, or generated HTML surface
|
|
- `claimText`: reviewed copy or metadata phrase
|
|
- `claimCategory`: product positioning, trust, pricing, legal, preview framing, social proof, or deployment
|
|
- `proofStatus`: supplied proof, conservative placeholder, unsupported, or remove
|
|
- `forbiddenResidueCheck`: whether the phrase contains forbidden public residue terms
|
|
|
|
**Validation Rules**
|
|
|
|
- No unsupported SOC 2, ISO, Microsoft endorsement, uptime, recovery, compliance, or customer adoption claims.
|
|
- No fake customer logos, fake testimonials, or fake "trusted by" claims.
|
|
- Pricing copy must avoid self-serve subscription, billing, checkout, and entitlement claims unless workflow exists.
|
|
- Metadata must stay Tenantial-specific and route-appropriate.
|
|
|
|
## Static Product Preview
|
|
|
|
Represents product-like static/demo content shown on public pages.
|
|
|
|
**Fields**
|
|
|
|
- `surface`: route/component where preview appears
|
|
- `previewName`: human-readable preview name
|
|
- `framingCopy`: text that identifies the preview as static, illustrative, or demo
|
|
- `capabilityShown`: backup, restore, drift detection, findings, evidence, auditability, exceptions, reviews, or related product positioning
|
|
- `dataProvenance`: static/demo only
|
|
- `colorMeaningSupport`: text/icon/label support so meaning does not rely on color alone
|
|
|
|
**Validation Rules**
|
|
|
|
- Preview content must not imply live tenant data.
|
|
- Preview status-like values must not become shared product taxonomy.
|
|
- Preview meaning must not rely on color alone.
|
|
- Preview wording must avoid internal Laravel/Filament implementation details.
|
|
|
|
## Launch Readiness Note
|
|
|
|
Represents the implementation handoff artifact required by FR-034.
|
|
|
|
**Fields**
|
|
|
|
- `routeExposure`: canonical routes, docs routes, static routes, redirect aliases, and hidden routes
|
|
- `ctaAssumptions`: supported public CTA paths and intentionally absent workflows
|
|
- `trustPricingPosture`: conservative claim posture and unsupported claims avoided
|
|
- `sitemapBehavior`: sitemap inclusion/exclusion and robots entrypoint
|
|
- `deploymentExpectations`: build, smoke, static output, and deploy notes
|
|
- `platformScopeCheck`: recorded confirmation that `apps/platform` remains untouched
|
|
|
|
**Validation Rules**
|
|
|
|
- Must be stored inside the feature's website-local implementation or release handoff path.
|
|
- Must not introduce product runtime truth.
|
|
- Must document the exact validation commands reviewers should run.
|
|
|
|
## Relationships
|
|
|
|
- A `Public Route` may contain many `CTA Link` and `Public Claim` review points.
|
|
- A `Static Product Preview` belongs to one public route or docs route.
|
|
- The `Launch Readiness Note` summarizes all reviewed public routes, CTAs, claims, sitemap behavior, and deployment expectations.
|
|
|
|
## State Transitions
|
|
|
|
No product state transitions are introduced. Review progress may be tracked in tasks or checklists during implementation, but it must not become a product runtime status family.
|