Semantic Model

This page defines the canonical JSON-LD object model for rendered pages in _site.

Canonical Entity IDs

IDs are deterministic and stable across builds.

Supporting Governance Data

Route Contracts

  1. /
    • must expose Person JSON-LD.
  2. /home/
    • must not expose resume Person JSON-LD.
  3. /videos/<id>/
    • must expose VideoObject with @id, name, description, url, uploadDate.
  4. /interviews/<id>/
    • must expose Interview with @id, name, url, datePublished, interviewer, and mainEntityOfPage.
    • should link to canonical VideoObject by subjectOf.@id when asset data exists.
  5. Index routes (/interviews/, /videos/, /oneoffs/, /scmc/)
    • must expose CollectionPage with mainEntity set to ItemList.
    • each ListItem should reference canonical IDs for the underlying entity.
  6. Pages with visual breadcrumbs
    • must expose BreadcrumbList JSON-LD aligned with rendered breadcrumb links.
  7. Blog posts (/YYYY/...)
    • must expose Article with headline, datePublished, dateModified, and mainEntityOfPage.@id.

Validation and Artifacts

Visualization Workflow

  1. Refresh build and semantic artifacts:
    • ./bin/pipeline ci
  2. Generate snapshot docs page:
    • ./bin/pipeline semantic-snapshot
  3. Review published snapshot:
    • /docs/architecture/semantic-graph/