Skip to content

Slice 5: Component metadata rollout (all 31 components) #6

Description

@qwerkilo

Parent

#1 — context2html Framework

What to build

Add YAML front matter to the remaining 30 components (component #26 was done in Slice 2 as the pilot). Each .md file under components/ gains a front matter block with id, name, dependencies, compat_types, degrade_to, and requires_3d.

The registry already handles batch listing — this slice proves it works at scale by loading and validating all 31 components.

Metadata rules:

  • id: numeric, matches filename prefix (01-31)
  • name: human-readable name from the file
  • dependencies: list of lib file names needed; empty list if none
  • compat_types: which content types this component is appropriate for (most are all 5)
  • degrade_to: component ID string to fall back to, or empty if none
  • requires_3d: true if the component needs WebGL/WebGPU

Bulk validation: write a script (scripts/validate-components.py) or a test that:

  • Loads all 31 components via the registry
  • Asserts every component has valid metadata (id matches filename, dependencies exist in libs/, compat_types are valid enums)
  • Reports any parse failures or missing fields

Acceptance criteria

  • All 31 components have valid YAML front matter
  • ComponentRegistry.list_components() returns all 31
  • registry.resolve_dependencies([1, 2, 3, ... 31]) returns deduplicated list of all required lib files
  • Validation script/tests pass without errors
  • All 376 existing tests still pass

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions