V0.33.0
Name:v0.33.0Status:active

v0.33.0 — Generated reference docs

Reference documentation stops being hand-copied. Every page in the docs that claims to enumerate a complete set — configuration fields, frontmatter fields, a rune's attributes — renders from the source that already knows the answer, guarded by a test that fails when the two diverge.

Not enough history yet — burndown needs at least one completed day of activity.

Progress 11/11 work items

Work Items

Done 11
WORK-541 main
Split the config types out of theme.ts
RefraktConfig, SiteConfig, PlanConfig, XrefPattern, EntityRoute, and RouteRule live in packages/types/src/theme.ts, which is not about themes. Move them to config.ts, leave the theme-system types behind, and stop index.ts re-exporting the whole batch under one // Theme system types comment.The file was created by c3fe915 (v0.25.0), a mechanical split of one types module into fifteen files. The same commit left packages/types/src/types.ts as a zero-line file that is still empty and still unreferenced.This matters because SPEC-126 claims the docs are generated from the schema and the schema is drift-tested against the types. A reader following that chain should not land in a file whose name says it is about something else.
medium simple
7/7 criteria
WORK-542 main
Backfill the missing descriptions in refrakt.config.schema.json
Only 10 of 22 SiteConfig fields carry a description. These have none:
high moderate
4/4 criteria
WORK-543 main
Per-row templates for the data rune
Give {% data %} an optional body, transformed once per row with $row bound, so a data file can drive arbitrary Markdoc rather than only table cells.
high moderate
10/10 criteria
WORK-544 main
Generate the configuration reference
A repo script flattens refrakt.config.schema.json into a committed JSON artifact; a docs page renders it with {% data %}. The configuration pages stop carrying hand-written field tables.
high moderate
9/9 criteria
WORK-545 main
Add a frontmatter schema
Frontmatter has no machine-readable description. Add packages/content/frontmatter.schema.json, publish it on the versioned routes BUG-004 built, and make Frontmatter derive its documented members from it.
high moderate
8/8 criteria
WORK-546 main
Generate the frontmatter reference and trim the configuration prose pages
The last part of SPEC-126: point the generator at the frontmatter schema, and delete the hand-written field tables the generated references replace.
medium simple
7/7 criteria
WORK-547 main
Decide which rune pages should carry an attribute table
Only 13 of ~115 rune pages have an ## Attributes section. Before generating anything, work out why — the answer sets the scope of WORK-548 and nothing sensible can be estimated without it.Two possibilities, with very different consequences:
high simple
6/6 criteria
WORK-548 main
Generate rune attribute tables
Rune pages render their attribute tables from the reference data refrakt reference --format json already produces, instead of hand-copying schemas. Extends scripts/check-rune-docs.mjs from page coverage to page content.
high complex
18/18 criteria
WORK-551 main
An inline code rune
An inline rune that renders its body as code, so a variable can be code-styled. Backticks cannot do it: a code span is literal by definition, so the Markdoc syntax inside one is never parsed.
medium simple
6/6 criteria
WORK-552 main
Suppress an accordion's schema.org emission
{% accordion schema="none" %} emits no structured data — not on the accordion, not on its items.Narrow on purpose. The general answer is SPEC-130; this is the one value that is needed now, and "none" stays valid under whatever that spec settles, so shipping it forecloses nothing.
medium simple
8/8 criteria
WORK-553 main
Nested data queries
A {% data %} inside another one's body should resolve, with $row bound to the nearest enclosing query — a correlated subquery, parameterised by the outer row.
high moderate
8/8 criteria