Build Log · September 12, 2026

Consolidating the Duplicated Predeploy Scanners

Moved 2 monorepo-wide predeploy checks out of 16 hand-copied package.json entries into one shared gate:predeploy:repo command, per an explicit design review.

  • ForgeKit OS
  • Gates
  • Deploy
predeploy scripts consolidated
16

predeploy scripts consolidated

shared root command
1

shared root command

new regression tests
21

new regression tests

Timeline

  1. Start

    Design review received

    Two reservations accepted: monorepo-wide checks duplicated across 16 predeploy scripts, and evidence-collapsing in the prior close ('live' used as a blanket claim)

  2. Correction

    Bounded close verification

    3 commits confirmed reachable from origin/master via merge-base --is-ancestor; build-log publication re-verified via a real HTTP fetch, not git show

  3. Build

    check-predeploy-repo.mjs written and wired

    16 apps' predeploy scripts each reduced to a single reference

  4. Proof

    21 regression tests

    Enumeration + a real behavioral swap test proving centralization

  5. Close

    Committed, retro'd, pushed, deployed

What shipped

  • forgekit-os/scripts/check-predeploy-repo.mjs — the single shared definition of which monorepo-wide checks run at predeploy time

  • npm run gate:predeploy:repo — the root-level command every app's predeploy now references

  • All 16 apps' predeploy scripts edited to reference the shared gate once instead of duplicating the 2-command sequence

  • forgekit-os/scripts/tests/predeploy-repo-consolidation.test.mjs — 21 tests: per-app enumeration, a regression against the old direct-invocation shape, and a real behavioral proof that swapping the root script changes enforcement everywhere with zero app-file edits