Source-driven content on withamplifier.com
withamplifier.com's homepage tells 8 story sections — HERO, PROBLEM, DIFFERENTIATION, PLATFORM, DEMO, BUNDLE, ECOSYSTEM, CTA. The ECOSYSTEM showcase was hand-authored right into the page, so it could drift the moment a real repo moved.
And drift it did — measurably.
Commit 0afc6ca (Samuel Lee, 2026-02-04) states verbatim: “Previously 15 of 21 URLs were returning 404 errors due to incorrect repo name formats.”
And the 404s weren't even the first crack.
Commit 60f00f0 (Alex Lopez, 2026-02-02) replaced “fake community cards with real Forge modules,” its message flagging the made-up modules as “a serious credibility issue for the site.”
This wasn't a typo — it was a pattern. So what caused it?
Before the fix, the showcase was 21 repoUrl entries typed straight into the page component — with wrong formats like robotdad/app-transcribe instead of robotdad/amplifier-app-transcribe (missing the amplifier- prefix).
With nothing to check against, drift was inevitable. The fix: give it a source.
Commit 0afc6ca removed 187 lines from app/page.tsx and added data/community-showcase.ts (+273 lines): 25 items in one file, labeled “Single source of truth,” regenerable from MODULES.md.
Content now traces to a file. But how do you stop it drifting again?
The same fix added scripts/validate-showcase.ts and an npm run validate:showcase script. It HTTP HEAD-checks every repoUrl; on any failure it prints “VALIDATION FAILED” and calls process.exit(1).
A broken link now breaks the build — drift can't ship. Did it work?
npm run validate:showcase before deployrepoUrl (10s timeout)process.exit(1)Re-tested live at research time: 7 of 7 sampled old-format URLs return HTTP 404, while 6 of 6 sampled current data-driven URLs return HTTP 200. The drift is measurable — and it's gone.
That split is the whole point. Now make it the rule everywhere.
The deck catalog is generated the same way: generate-deck-metadata.js extracts title, description and category straight from the HTML files into lib/deck-data.ts. CONTENT_OPERATIONS.md codifies it — content must be accurate/current and links must resolve.
Make content derive from a source of truth. Don't hand-copy it.
Fix shipped · PR #1 merged 2026-02-04data/community-showcase.ts from MODULES.mdlib/deck-data.ts from HTML source filesPrimary source: anderlpz/withamplifier (public, branch main; cloned to /tmp/withamplifier)
Data as of: 2026-02-04 (URLs re-tested live at research time)
Feature status: Implemented & merged (PR #1)
Commands run:
git log -1 --format='%ci %an%n%B' 0afc6ca — “15 of 21 URLs… 404”git log -1 --format='%ci %an%n%B' 60f00f0 — “serious credibility issue”git show 0afc6ca^:app/page.tsx | grep -c 'repoUrl:' = 21grep -c 'repoUrl:' data/community-showcase.ts = 25grep -n 'process.exit(1)' scripts/validate-showcase.ts; grep 'validate:showcase' package.jsoncurl -s -o /dev/null -w "%{http_code}" -L https://github.com/<repo> — old 7/7 = 404, current 6/6 = 200head -40 scripts/generate-deck-metadata.js; grep 'sync-decks' package.jsonsed -n '1,140p' CONTENT_OPERATIONS.md (Last Updated 2026-02-26)Contributors: Samuel Lee (source-driven fix, PR #1); Alex Lopez (first credibility fix, 60f00f0); anderlpz (repo owner)
Gaps: The website-content-generation recipe is named in a comment but the recipe file was not found in the repo; MODULES.md is referenced but not present in the cloned tree. Live HTTP status can change over time.