~bigbes/sr-ht-spec: 305bb09f

feat: doc — warren's vault+render absorbed onto the git-object read path

warren scanned a directory (filepath.WalkDir + os.ReadFile). There is no
checkout here, so Scan walks a git tree through gitx instead and feeds the
FromPages seam: the approved head, a pinned sha and a proposal branch are one
code path with a different revision, and nothing downstream of Archive knows
where its pages came from.

Frontmatter is core's, not warren's. Front embeds core.Frontmatter and adds
only what core deliberately does not model — parent, aliases, planned, and the
ordered key list used for display and search text. Two parsers that disagree
about a document header is a bug that surfaces in the ID registry months later.

Documents key on their frontmatter id, falling back to their path: paths move
and ids do not, and a duplicated id resolves to neither document rather than
letting one win silently, matching what the merge already does with the
approved branch. A header core rejects degrades to "no frontmatter" instead of
failing, because --push-option=skip-validation means such a document can exist
and refusing to render it would turn a typo into an outage.

Eugene Blikh <bigbes@gmail.com> — 2026-07-22 11:03:06 UTC

Commit 305bb09f7218d363c63a7d21d75e49c8df33a0cfview raw patch

Parent(s): 64488fc9

15 changed file(s)

FileStatus+
doc/archive.go A +426
doc/archive_test.go A +195
doc/doc.go A +112
doc/fixture_test.go A +102
doc/front.go A +177
doc/front_test.go A +164
doc/log.go A +95
doc/log_test.go A +99
doc/render.go A +249
doc/render_test.go A +185
doc/scan.go A +230
doc/scan_test.go A +224
doc/table.go A +50
doc/table_test.go A +53
doc/wikilink.go A +220