Skip to content

Evaluation report · Content pipeline

Content Loader Contract ​

Pass·VitePress 1.6.4

TL;DR ​

A single createContentLoader now reads three collections and emits one normalized card shape. The contract is deliberately strict: directory indexes, templates and drafts are excluded, verdicts are enum-checked, and every URL is unique. A malformed entry should disappear with a null, not render a broken card.

Claim under test ​

Every card rendered by <CardGrid> comes from one loader, and every frontmatter record that reaches the client satisfies the same schema.

Schema ​

FieldRuleFailure mode
urlNon-empty, unique, no trailing slashDuplicate keys, index pages as cards
kindDerived from path: work / case / evalWrong badge and wrong index filter
langDerived from /zh/ prefixEnglish cards leaking into Chinese pages
titleNon-empty stringBlank card heading
tldrOptional stringMissing summary
capabilitiesOptional string listTag list collapse
metricsOptional { label, value } listMetric row renders undefined
verdictpass / conditional / failFalse authority badge
dateOptional ISO YYYY-MM-DDInvalid <time> value
drafttrue excludes the entryUnfinished content published

Checks ​

  1. Read all six globs (work, case, eval × en, zh).
  2. Exclude URLs ending in / (index pages) and the template slug.
  3. Verify every entry has a non-empty title and a recognized kind.
  4. Verify verdict is one of the three allowed values or null.
  5. Verify metric objects always carry both label and value.
  6. Assert URL uniqueness across locales.
  7. Render both section indexes and confirm every card links to a built page.

Evidence ​

CheckResult
Collections loaded3
Schema errors0
Duplicate URLs0
Index / template leaks0
Verdict values outside enum0
Broken card links0

Verdict ​

Pass. The loader is the only producer of card data, and both indexes render from it without page-specific mapping code.

Residual risk: the loader normalizes frontmatter but does not validate prose. A card can be truthful in shape and still make an unsupported claim. That is why every report also carries a body with reproduction steps.

Crystaria (with Paw and Kyle)