fix(profile): declare a setup command so the build gate installs deps first
QA runs clear frontend/ before each run, taking node_modules with it. With #263 making the terminal build gate actually fire, the gate would fail on absent dependencies instead of on the code it exists to verify. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,10 @@ epic-status = "bash scripts/epic-status.sh"
|
||||
# The gate runner is whitespace-split / no-shell and runs at workspace_root (the repo), so `--prefix
|
||||
# frontend` targets the Node subproject without a `cd`. `npm run build` = `tsc && vite build` (npm's
|
||||
# own shell handles the &&), which fails on a dangling asset import — exactly the COMPLETED-lie hole.
|
||||
# QA runs clear frontend/ before each run, so node_modules is absent when the terminal build gate
|
||||
# fires. Without this the gate fails on missing deps instead of on the code it exists to verify.
|
||||
# `install`, not `ci`: a fresh scaffold has no package-lock.json yet.
|
||||
setup = "npm --prefix frontend install"
|
||||
typecheck = "npm --prefix frontend run build"
|
||||
build = "npm --prefix frontend run build"
|
||||
test = "npm --prefix frontend test"
|
||||
|
||||
@@ -103,12 +103,14 @@
|
||||
**Goal 1 remaining: #267** — the acceptance live run. Fold the unverified #312/#313 trailing-mandate
|
||||
check into the same run.
|
||||
|
||||
**Precondition, filed as #314.** #191 (dependency resolution before scaffold accept) closed on
|
||||
2026-07-21: `runSetupCommand` runs the profile alias `setup` before every build gate and #40 resolves
|
||||
it per toolchain. But `setup` is operator-declared in `.correx/project.toml`, and a freestyle run
|
||||
scaffolding into an empty workspace has no profile — so `npm run build` runs with no `node_modules`.
|
||||
Invisible until now; #263 making the terminal gate actually fire is what surfaces it. For #267,
|
||||
hand-write a `project.toml` in the QA workspace; the general fix (toolchain-default `setup`) is #314.
|
||||
**Precondition, handled.** #191 (dependency resolution before scaffold accept) closed on 2026-07-21:
|
||||
`runSetupCommand` runs the profile alias `setup` before every build gate and #40 resolves it per
|
||||
toolchain. But `setup` is operator-declared, and the repo profile didn't declare one — so with
|
||||
`frontend/` cleared before each QA run, the now-firing terminal gate would run `npm run build` against
|
||||
an absent `node_modules` and fail on deps instead of on the code. Added
|
||||
`setup = "npm --prefix frontend install"` to `.correx/project.toml` (install, not `ci` — a fresh
|
||||
scaffold has no lockfile). #267 needs nothing further. The general case — a workspace whose operator
|
||||
declared no `setup` — is **#314** (toolchain-default fallback).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user