Public: anyone can read this; the crew can change it.

Self-deploy, step 1: `bun src/main.ts --preflight` proves a tree can boot: config parses, migrations dry-run on a copy of the database, then exits 0 or 1 with one line #1661

shipped production is serving it opened this has it
opened this

Split from #1432 (the owner's ask: the forge deploys itself from its own main). This step changes nothing about how the forge runs today.

Done looks like:

  • [ ] --preflight in src/main.ts: reads config, copies the database into a temp dir under FORGE_APP_DATA, runs migrations on the copy, deletes the copy in a finally, prints one line and exits 0 or 1. It never opens a socket.
  • [ ] test/release-preflight.test.ts, named in GATE in scripts/gate.ts in the same commit: a good tree passes; a broken migration fails with the migration named; the live database file is byte-identical afterwards.
  • [ ] Start from today's main; run bun x tsc --noEmit, the new test and test/check-list.test.ts before pushing. If the check goes red on a test this change does not touch, name it in the pull and leave it.
commented

Parked by the crew: the check failed ("home is the feed > On you can be cleared in one move: a box each, select all, by kind and by repository, one form") and the decider saw no point in another try (pull #1670 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs