TenantAtlas/specs/226-astrodeck-inventory-planning/inventory/components.md
ahmido ccd4a17209
Some checks failed
Main Confidence / confidence (push) Failing after 1m36s
spec: finalize 226 astrodeck inventory planning artifacts (#263)
## Summary
- finalize Spec 226 artifacts for AstroDeck inventory planning
- include completed planning set: spec, plan, research, data model, quickstart, tasks, checklist, contracts, and inventory outputs
- apply consistency fixes from the project analysis review

## Included changes
- updated `.github/agents/copilot-instructions.md` from agent-context sync
- added/updated all files under `specs/226-astrodeck-inventory-planning/`

## Notes
- docs/spec workflow changes only
- no runtime code paths changed

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #263
2026-04-22 11:52:09 +00:00

18 KiB

Component Inventory

  • catalog_id: astrodeck-226-baseline
  • primitive_class: Component
  • entry_count: 30

Primitives

component.button

  • entry_id: component.button
  • identifier: Button
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Button.astro
  • functional_role: Shared interaction primitive for links and buttons across CTA surfaces.
  • default_semantics: Reusable primary, secondary, or ghost action control with shared size variants.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Foundational CTA primitive used throughout the site shell and surface sections.

component.card

  • entry_id: component.card
  • identifier: Card
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Card.astro
  • functional_role: Wraps grouped content inside consistent rounded surface treatments.
  • default_semantics: Generic surface container with default, accent, and subtle variants plus optional hover behavior.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Central structural primitive for nearly every section family.

component.container

  • entry_id: component.container
  • identifier: Container
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Container.astro
  • functional_role: Constrains horizontal width and page gutters.
  • default_semantics: Layout wrapper for content, measure, and wide-width surfaces.
  • default_visual_character: minimal
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Core layout primitive that stays valid regardless of final surface composition.

component.grid

  • entry_id: component.grid
  • identifier: Grid
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Grid.astro
  • functional_role: Provides the standard responsive card and content grid behavior.
  • default_semantics: Responsive grid helper with fixed column presets and shared gap sizing.
  • default_visual_character: minimal
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Generic layout utility already proven across product, trust, and contact surfaces.

component.stack

  • entry_id: component.stack
  • identifier: Stack
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Stack.astro
  • functional_role: Offers vertical spacing control for simple stacked layouts.
  • default_semantics: Flex-column spacing helper with small through extra-large gap presets.
  • default_visual_character: minimal
  • tenantatlas_relevance: medium
  • suitability_class: B
  • markers: []
  • notes: Useful as a narrow layout helper, but it is not currently exercised by the shipped route set.

component.section

  • entry_id: component.section
  • identifier: Section
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Section.astro
  • functional_role: Normalizes vertical rhythm, tone, and disclosure layering for page sections.
  • default_semantics: Section shell primitive with density, tone, and disclosure-layer options.
  • default_visual_character: minimal
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Required base primitive for keeping section spacing and surface shells consistent.

component.section-header

  • entry_id: component.section-header
  • identifier: SectionHeader
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/SectionHeader.astro
  • functional_role: Standardizes eyebrow, headline, and supporting copy for section intros.
  • default_semantics: Content header primitive with alignment and width controls.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Direct fit for any rebuild surface that needs consistent section framing.

component.cluster

  • entry_id: component.cluster
  • identifier: Cluster
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Cluster.astro
  • functional_role: Groups inline items such as CTA pairs and small metadata sets.
  • default_semantics: Flexible inline cluster helper with gap and justification presets.
  • default_visual_character: minimal
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Reusable utility for CTAs, badges, and compact link groups.

component.badge

  • entry_id: component.badge
  • identifier: Badge
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Badge.astro
  • functional_role: Applies small signal labels for eyebrows, dates, and metadata accents.
  • default_semantics: Pill-style label primitive with accent, neutral, signal, and warm tones.
  • default_visual_character: minimal
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Lightweight signaling primitive used in hero, progress, and ecosystem contexts.

component.input

  • entry_id: component.input
  • identifier: Input
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Input.astro
  • functional_role: Provides a text-input shell for the static contact preview.
  • default_semantics: Single-line form-control primitive with readonly support but no labels, validation, or submission wiring.
  • default_visual_character: utility-dense
  • tenantatlas_relevance: medium
  • suitability_class: B
  • markers: []
  • notes: Structurally reusable, but interactive contact flows would need labels, errors, and submission states layered around it.

component.textarea

  • entry_id: component.textarea
  • identifier: Textarea
  • primitive_class: Component
  • file_ref: apps/website/src/components/primitives/Textarea.astro
  • functional_role: Provides a multiline text shell for the static contact preview.
  • default_semantics: Multiline form-control primitive with readonly support but no validation or helper-state system.
  • default_visual_character: utility-dense
  • tenantatlas_relevance: medium
  • suitability_class: B
  • markers: []
  • notes: Reusable if the rebuild keeps a preview-only contact pattern; richer interaction would need additional semantics.

Content

component.headline

  • entry_id: component.headline
  • identifier: Headline
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/Headline.astro
  • functional_role: Provides the shared heading scale across hero, section, and card contexts.
  • default_semantics: Typography primitive for display, page, section, and card-level headings.
  • default_visual_character: minimal
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Core type primitive for the current visual system and likely any close rebuild variant.

component.lead

  • entry_id: component.lead
  • identifier: Lead
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/Lead.astro
  • functional_role: Renders supporting descriptive copy with a shared size scale.
  • default_semantics: Body-copy primitive for hero, card, and legal-prose support text.
  • default_visual_character: minimal
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Generic copy primitive used across every page family.

component.eyebrow

  • entry_id: component.eyebrow
  • identifier: Eyebrow
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/Eyebrow.astro
  • functional_role: Introduces sections and cards with compact uppercase framing labels.
  • default_semantics: Small-type label primitive with accent, neutral, and signal tones.
  • default_visual_character: minimal
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Shared content primitive that anchors information hierarchy without adding structural complexity.

component.metric

  • entry_id: component.metric
  • identifier: Metric
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/Metric.astro
  • functional_role: Packages hero-supporting metrics into small card surfaces.
  • default_semantics: Metric card with a numeric or label-like headline, eyebrow label, and support copy.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely, hero-candidate]
  • notes: Directly useful for hero-adjacent proof or product framing when the rebuild keeps quantified support signals.

component.primary-cta

  • entry_id: component.primary-cta
  • identifier: PrimaryCTA
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/PrimaryCTA.astro
  • functional_role: Wraps the primary button treatment used across hero and closing CTA surfaces.
  • default_semantics: Primary action wrapper with optional helper copy and size variants.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Stable CTA wrapper used across hero, progress, footer, and closing conversion surfaces.

component.secondary-cta

  • entry_id: component.secondary-cta
  • identifier: SecondaryCTA
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/SecondaryCTA.astro
  • functional_role: Provides the supporting secondary action pattern for route handoffs.
  • default_semantics: Secondary action wrapper with optional helper text and size variants.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Pairs cleanly with the primary CTA pattern and is already part of the approved route handoff model.

component.feature-item

  • entry_id: component.feature-item
  • identifier: FeatureItem
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/FeatureItem.astro
  • functional_role: Renders feature or rule cards with optional iconography, metadata, and link treatment.
  • default_semantics: Card-based feature explanation primitive for product, solutions, and integration rule surfaces.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely, product-explainer-candidate]
  • notes: Strong product-explainer building block for any rebuild surface that needs repeatable explanatory cards.

component.callout

  • entry_id: component.callout
  • identifier: Callout
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/Callout.astro
  • functional_role: Shows compact narrative or trust-supporting callouts in card form.
  • default_semantics: Callout card with optional eyebrow, headline, supporting copy, and tone selection.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely, trust-candidate]
  • notes: Works well for trust or product-support narratives without demanding a new section pattern.

component.rich-text

  • entry_id: component.rich-text
  • identifier: RichText
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/RichText.astro
  • functional_role: Renders structured legal or policy prose as a stack of readable cards.
  • default_semantics: Rich text wrapper for titled legal sections with paragraphs and optional bullet lists.
  • default_visual_character: content-heavy
  • tenantatlas_relevance: medium
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Strong direct-fit primitive for the retained legal and policy routes.

component.trust-principle-card

  • entry_id: component.trust-principle-card
  • identifier: TrustPrincipleCard
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/TrustPrincipleCard.astro
  • functional_role: Packages trust claims into a consistent proof-card treatment.
  • default_semantics: Trust card with title, supporting copy, and optional note.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely, trust-candidate]
  • notes: Canonical trust-content primitive already aligned with the explicit trust posture route.

component.demo-prompt

  • entry_id: component.demo-prompt
  • identifier: DemoPrompt
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/DemoPrompt.astro
  • functional_role: Highlights suggested conversation prompts for the first contact exchange.
  • default_semantics: Simple supporting card for contact/demo preparation prompts.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: medium
  • suitability_class: B
  • markers: [contact-candidate]
  • notes: Useful for the contact path, but it is tied to a specific conversation-prep pattern rather than a universal route need.

component.hero-dashboard

  • entry_id: component.hero-dashboard
  • identifier: HeroDashboard
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/HeroDashboard.astro
  • functional_role: Supplies the product-near illustrative UI mock used in hero compositions.
  • default_semantics: Decorative but content-bearing product mock that implies change history, restore preview, and review queue behavior.
  • default_visual_character: bold-visual
  • tenantatlas_relevance: high
  • suitability_class: C
  • markers: [needs-heavy-adaptation, visual-risk, hero-candidate]
  • notes: The mock is strongly tied to the current TenantAtlas governance narrative and would require coordinated visual and narrative updates before reuse.

component.integration-badge

  • entry_id: component.integration-badge
  • identifier: IntegrationBadge
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/IntegrationBadge.astro
  • functional_role: Compresses ecosystem, partner, or integration signals into compact badge cards.
  • default_semantics: Small proof card for ecosystem-fit lists and supporting strips.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: medium
  • suitability_class: C
  • markers: [needs-heavy-adaptation, semantic-risk]
  • notes: Reusable only when the rebuild can substantiate the ecosystem claim; otherwise the component risks overstating platform breadth.

component.audience-row

  • entry_id: component.audience-row
  • identifier: AudienceRow
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/AudienceRow.astro
  • functional_role: Shows audience-specific fit through bullets and an optional secondary CTA.
  • default_semantics: Audience-fit card primitive used on the solutions route.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: medium
  • suitability_class: B
  • markers: [tenantatlas-likely]
  • notes: Structurally useful, but the audience framing is supporting rather than core to the first-pass route model.

component.contact-panel

  • entry_id: component.contact-panel
  • identifier: ContactPanel
  • primitive_class: Component
  • file_ref: apps/website/src/components/content/ContactPanel.astro
  • functional_role: Frames qualified outreach with a short list of who should contact the team and one primary CTA.
  • default_semantics: Accent card for the contact route that packages qualification points and a primary action.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely, contact-candidate]
  • notes: Directly useful for the contact and demo surface because it keeps outreach intent explicit without building a form workflow.

Layout

component.page-shell

  • entry_id: component.page-shell
  • identifier: PageShell
  • primitive_class: Component
  • file_ref: apps/website/src/components/layout/PageShell.astro
  • functional_role: Wraps every page with SEO metadata, shell attributes, navigation, and footer.
  • default_semantics: Canonical page-shell orchestrator that binds route metadata to the shared layout and shell components.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Central shell component for any rebuild that preserves the current route architecture.

component.navbar

  • entry_id: component.navbar
  • identifier: Navbar
  • primitive_class: Component
  • file_ref: apps/website/src/components/layout/Navbar.astro
  • functional_role: Provides the sticky primary navigation with desktop and mobile variants.
  • default_semantics: Top-level navigation shell with brand lockup, route links, and a secondary CTA.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely, navigation-candidate]
  • notes: Canonical navigation surface for the current website route set.

component.footer

  • entry_id: component.footer
  • identifier: Footer
  • primitive_class: Component
  • file_ref: apps/website/src/components/layout/Footer.astro
  • functional_role: Provides the closing navigation, trustful footer copy, and final CTA.
  • default_semantics: Footer surface with route-group navigation, lead copy, and a small CTA.
  • default_visual_character: enterprise-neutral
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely, footer-candidate]
  • notes: Canonical footer surface and an explicit part of the rebuild inventory.

component.base-layout

  • entry_id: component.base-layout
  • identifier: BaseLayout
  • primitive_class: Component
  • file_ref: apps/website/src/layouts/BaseLayout.astro
  • functional_role: Owns the document shell, metadata tags, font includes, and global CSS import.
  • default_semantics: Top-level HTML layout wrapper for the static Astro site.
  • default_visual_character: minimal
  • tenantatlas_relevance: high
  • suitability_class: A
  • markers: [tenantatlas-likely]
  • notes: Included even though it sits outside the T002 discovery command because PageShell depends on it to render any route.