Skip to content

docs(adr): ADR-002 content system of record - #26

Open
nwalker85 wants to merge 3 commits into
developfrom
docs/adr-002-content-system-of-record
Open

docs(adr): ADR-002 content system of record#26
nwalker85 wants to merge 3 commits into
developfrom
docs/adr-002-content-system-of-record

Conversation

@nwalker85

Copy link
Copy Markdown
Owner

Binds Phase 1 doctrine for the content pipeline. Decision only — no code, no behaviour change.

What this decides

  • Git is the system of record for content. No CMS database, no vendor-hosted content.
  • Plain markdown, not MDX. Deferred until a post genuinely needs an inline component.
  • Two persistent repos: drafts (Forgejo, private) → published (GitHub, public).
  • Promotion is the ratification act. A Forgejo Action opens a PR here carrying the source commit SHA; the merge is the receipt that content became canonical.
  • The CMS points at drafts only. This repo is written by the promotion Action and nothing else.
  • Editorial gates on the promotion PR. Leak / name / number / link checks fail; voice conformance and prose review warn.
  • @nwalker/token-forge is the visual source of truth.
  • n8n automates around publishing, never stores or moves content.

Release notes

Addeddocs/adr/ADR-002-content-system-of-record.md.

Why it matters — the site has no content pipeline. /writing exists only on an unmerged branch and its single post is a hand-authored 234-line React component, so publishing a second post means writing a second component. This ADR sets the model that replaces that.

Breaking — none. ADR-001's develop→staging and tag→production model is unchanged; content PRs ride the existing release path.

Migration — none required by this PR. Implementation follows as WP0–WP3.

Operators should know:

  1. main is stale and slated for retirement. 53 commits behind develop and not the default branch, so git clone -b main or any tool assuming main gets a months-old tree.
  2. The Checkout Custody Standard was waived for this work under explicit break-glass authorization, scoped to this repo and this phase. Receipt and follow-up: ~/docs/30-projects/web-estate-restructure/BREAK-GLASS-2026-08-18-custody-waiver.md.
  3. Publishing will require a commit and a deploy, not a web editor button. Deliberate — it is what makes content diffable, greppable and reviewable.

Context

Prior art: walkerwire.com on WordPress at 20k followers. The failure modes were structural — content in a database that could not be diffed, no grep across the corpus, no review path, structure owned by the CMS.

The 2026-08-17 launch produced four near-miss defects caught only by human attention at the last moment. All four are mechanically detectable, which is what the editorial gates in decision 6 exist for.

Not in scope

Assistant demo (own PRD), source recovery for ravenhelm.ai, infrastructure repairs, canonical-URL migration off Substack.

Binds Phase 1 doctrine for the content pipeline: git as SoR, plain
markdown, drafts(Forgejo,private) -> published(GitHub,public) with
promotion as the ratification act, CMS pointed at drafts only,
token-forge as the visual source of truth, and editorial gates on the
promotion PR.

Records the stale `main` branch and the break-glass custody waiver as
consequences.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JfznWqx1RABdKWLLXPEY6v
@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 997b75fd-54ff-4fa7-adfd-601e16402c33


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

nwalker85 and others added 2 commits August 22, 2026 13:09
Separates site, drafts, published, and demos repos with Bragi Phase 1B bindings.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
docs(adr): amend ADR-002 for four-repo nwalker.cc topology
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant