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

432 lines
18 KiB
Markdown

# 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.