No pre-merge frontend typecheck: no Node on the authoring box, no lockfile, CI only on main #207

Open
opened 2026-10-04 17:59:22 -04:00 by logan · 0 comments
Owner

Found 2026-10-04 finishing the live ops wall (feat/live-ops-wall).

What: there is no way to typecheck the frontend before merge.

  • The authoring box (now macOS) has no Node.js/npm at all (which node -> not found; no Homebrew/nvm/volta node).
  • drb-frontend/ has no package-lock.json, so npm ci cannot run anywhere; npm install resolves unpinned ^ ranges fresh each time.
  • No PR-time CI: .gitea/workflows/deploy.yml runs only on push to main. The first typecheck a change ever gets is next build inside the frontend Docker build after merge, which then fails the deploy instead of the PR.
  • The verify skill section 4 already says frontend typecheck is unverified, and still describes the box as Linux.

Impact: every frontend PR (e.g. the live ops wall, ~2,000 TS lines) merges with zero type checking; a type error surfaces as a failed main build.

Fix shape (pick one): (a) a pull_request workflow job that runs npm install && npx tsc --noEmit in drb-frontend (no deploy, no secrets); or (b) owner installs Node on the authoring box and commits a lockfile so npm ci + npm run typecheck is reproducible. Update the verify skill either way.

Found 2026-10-04 finishing the live ops wall (feat/live-ops-wall). **What:** there is no way to typecheck the frontend before merge. - The authoring box (now macOS) has no Node.js/npm at all (`which node` -> not found; no Homebrew/nvm/volta node). - `drb-frontend/` has no `package-lock.json`, so `npm ci` cannot run anywhere; `npm install` resolves unpinned `^` ranges fresh each time. - No PR-time CI: `.gitea/workflows/deploy.yml` runs only on push to `main`. The first typecheck a change ever gets is `next build` inside the frontend Docker build **after merge**, which then fails the deploy instead of the PR. - The `verify` skill section 4 already says frontend typecheck is unverified, and still describes the box as Linux. **Impact:** every frontend PR (e.g. the live ops wall, ~2,000 TS lines) merges with zero type checking; a type error surfaces as a failed main build. **Fix shape (pick one):** (a) a `pull_request` workflow job that runs `npm install && npx tsc --noEmit` in `drb-frontend` (no deploy, no secrets); or (b) owner installs Node on the authoring box and commits a lockfile so `npm ci` + `npm run typecheck` is reproducible. Update the `verify` skill either way.
logan added the area/frontendarea/infra-deploy
priority
p2
type
chore
labels 2026-10-05 02:05:02 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: logan/server-26#207