Captured retroactively. This project shipped before the roadmap surface existed. The credit value is a post-hoc estimate per the methodology in Entry 017 and is subject to revision under G-038's calibration mechanism. Note: only the infrastructure (loader, components, routes) is captured here — the ongoing authoring of individual journal entries is governance work, not project work, per the boundary set in Entry 017.
What shipped
src/lib/journal.tsloader: gray-matter frontmatter parsing, ID + slug + body extraction, slug map utilities for the cross-link plugin.- File-based corpus at
src/content/journal/with one markdown file per entry; ID-prefixed filenames sort chronologically. src/app/journal/page.tsx— index of all entries.src/app/journal/[slug]/page.tsx— single-entry view with generateStaticParams for build-time generation and metadata generation for SEO.- Components:
EntryHeader(id, title, date, status),EntryNav(prev / next / index), andJournalRenderer(react-markdown stack with remark-gfm and remark-journal-refs).
Why this is its own project
Phase 1 stood up the shell. Phase 2 was the first content surface to ship on top of it, and it became the template that every later corpus (Register, Roadmap) mirrored. Capturing it as one project rather than folding it into the shell preserves the pattern that the Journal, Register, and Roadmap are first-class siblings — visible in the ledger as such.