chore: repo policy compliance sweep — test rerun pattern, yarn/npx, frozen lockfile, undocumented targets #166
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
A full audit against
REPO_POLICIES.mdandprompts/EXISTING_REPO_CHECKLIST.mdfound no blockers — hash pinning isclean (Dockerfile pinned by
@sha256with a version/date comment; the Giteaworkflow action pinned to a full commit SHA;
script/bootstrapfetches apinned, hash-verified nvm archive with no
curl | sh; all 412yarn.lockentries carry integrity hashes), all twelve
script/entrypoints exist and arePOSIX-clean with
main()functions,.gitignoreis a superset of thecanonical one, and
make checkdoes not mutate the tree.This issue collects the remaining small divergences. Note this repo is
Go-free (no
.gofiles, nogo.mod), so all Go policies — including theorg-standard
.golangci.yml— are correctly N/A and must not be added.Items to fix
1.
make testis missing the conditional verbose rerun pattern (MAJOR).REPO_POLICIES.md:196-229requires running tests without-vfirst andautomatically rerunning with
-von failure, thenexit 1.script/test:7-11is just:
Add the rerun. The jest invocation is
jest --forceExit(package.json:9), sothe verbose form is
jest --forceExit --verbose. Keep the existing 30-secondtimeout, which is already correct.2.
build.js:65shells out tonpx(MINOR).REPO_POLICIES.md:268says "Useyarn, notnpm", andnpxwill fetch fromthe registry if the local binary is absent — an unpinned network fetch during
build. It only resolves locally today because
@tailwindcss/cliis adevDependency. Replace with
yarn runor a directnode_modules/.binpath.3.
make installdoes not use--frozen-lockfile(MINOR).Makefile:13-14runs bareyarn install, whilescript/bootstrap:121-128correctly uses
yarn install --frozen-lockfile. Worse,README.md:31-35Getting Started steers new users to
make install+make buildrather thanthe policy-canonical
make setup— so a fresh clone following the README neverinstalls the pre-commit hook and can silently mutate
yarn.lock.Fix both: make
make installfrozen, and update the README Getting Started touse
make setup.4.
make cleanandmake devare undocumented (MINOR).Makefile:41-46defines both; neither appears inREADME.md.REPO_POLICIES.md:83-90makes the Makefile authoritative documentation andrequires a contributor to be able to understand the whole workflow from it.
Document them in the README Entrypoints section (or a Makefile-targets
section), noting they are Makefile-only conveniences.
5.
script/check,script/precommit,script/setupcomputeSCRIPT_DIRbut never
cdto the repo root (MINOR).REPO_POLICIES.md:47-49requires locating the root andcd-ing there beforeacting. Harmless today because each child script does
cd "$ROOT"itself, andthese three are byte-identical to the canonical templates upstream. Fix only
if it can be done without diverging from the canonical templates — if the
upstream
promptstemplates have the same shape, leave them alone and say soin the PR rather than creating a local fork of a shared file.
Explicitly out of scope
script/bootstrap:113-118'snpm install -g yarn@…fallback: version-pinnedand identical to the canonical upstream template. Leave it; it is an upstream
concern.
.dockerignoreomitting.git: this is deliberate and load-bearing —build.js:20,28shells out togit rev-parsefor build-info stamping andDockerfile:17runsmake build, so excluding.gitwould make every builtextension report
commitHash: "unknown". Do not "fix" this. Add aone-line comment to
.dockerignorerecording why.gitis intentionallypresent, so nobody removes it later.
build.jsliving in the repo root, andTODO.md/RULES.mdnot being on theroot-cleanliness allowlist: raised separately; do not move files here.
runs-on: ubuntu-latestin the workflow: matches the canonical template.Definition of done
script/testimplements the verbose rerun pattern and still exitsnon-zero on failure. Demonstrate in the PR with a deliberately failing
test that the rerun output appears and the target fails.
make teststill completes within 30 seconds on success.npxinvocation remains inbuild.js; the build still producesworking Tailwind CSS output for both targets.
make installuses--frozen-lockfile.make setup.make cleanandmake devare documented in the README..dockerignorecarries a comment explaining why.gitis included.SCRIPT_DIRitem is either fixed or explicitly deferred with thetemplate-divergence reasoning stated in the PR.
make checkpasses and modifies no files.make buildstill produces workingdist/chromeanddist/firefoxartifacts.
TODO.mdupdated in the same commit.clawbot referenced this issue2026-08-09 07:08:12 +02:00