Build Log · August 12, 2026

MedinaCHF Template Extraction + ForgeKit Site Reposition

Templatized MedinaCHF into a reusable community-org scaffold, then rebuilt the public site around 'ForgeKit is a local software studio, assurance is how it builds' instead of leading with assurance as the product.

  • ForgeKit Website
  • MedinaCHF
  • Template Extraction
  • Positioning
Anvil/Strike pairs recorded — template-vs-engine evidence bar, assurance-as-method reposition
2

Anvil/Strike pairs recorded — template-vs-engine evidence bar, assurance-as-method reposition

reusable patterns harvested into Pattern Registry
8

reusable patterns harvested into Pattern Registry

real config-layer bugs found by independent architecture review, all fixed
5

real config-layer bugs found by independent architecture review, all fixed

production deploys to forgekits.build this session
3

production deploys to forgekits.build this session

Timeline

  1. Start

    MedinaCHF template review

    Audited MedinaCHF for template-extraction viability; initial recommendation was to wait for a second customer

  2. Reframe

    Zeb overrides the wait-for-two-consumers call

    First live production app is itself the signal to extract, not a reason to wait — Anvil/Strike recorded

  3. Build

    packages/templates/community-org/ scaffolded

    Copy of MedinaCHF, zero risk to the live app — config layer, brand tokens, patterns harvested

  4. Review

    Independent architecture review + fixes

    Found config declared-but-not-wired in 5 places (dues, membership requirement, brand tokens, manifest, welcome messages) — all fixed, tsc clean

  5. Pivot

    Site reposition Charge

    Zeb brought an external analysis arguing assurance should be the studio's method, not its market category

  6. Ship

    Homepage, Nav, Footer, /labs, /medinachf, /design-partners rebuilt

    Deployed to production 3x, each verified live before moving on

  7. Close

    Concurrent-session discovery

    Found real in-progress medinaCHF work from another session mid-commit; left it untouched throughout per concurrency rules

What shipped

  • packages/templates/community-org/ — a genericized copy of products/medinaCHF, config layer (lib/config/), brand tokens driven from config at render time, real .env.example and README

  • 8 reusable patterns added to forgekit-os/patterns.md (intent-vs-outcome tracking, audit-logged intake, tiered auto-response, ack-tracked broadcast, photo-upload component, chip-select, diff-two-sets query idiom, plus the plain-Clerk auth pattern already tracked)

  • app/manifest.ts (Next.js native route) replacing a broken static manifest.json with literal unsubstituted placeholder tokens

  • forgekit-website: full homepage rewrite (5-question structure: what do you do / is this for me / what could you build / have you done this / why ForgeKit)

  • forgekit-website: new /medinachf product page — MedinaCHF as the studio's live proof point

  • forgekit-website: Nav, Footer, /labs reframed to match the new positioning

  • forgekit-website: /design-partners fully rewritten (was still targeting 'technology-risk and internal-audit leaders', missed in the first reposition pass)

  • forgekit-website: unified CTA copy site-wide ('Tell us what's held together with duct tape')

  • forgekit-website: short first-person founder note (Zeb's own words, interviewed live in-session, not drafted then attributed)

  • Two Anvil/Strike pairs recorded in forgekit-os/journal/anvils.md and strikes.md