chore: sync pre-push hook to forge-base canonical (calls just qa) #1124
No reviewers
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks!1124
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/sync-pre-push-from-forge-base"
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?
Summary
.husky/pre-pushwith the canonicalforge-base/husky/pre-pushshape: gate onjuston PATH, then runjust qa.justfile(the contract). It ranbun x turbo run typecheckdirectly, skipping thecodegenstep (paraglide compile) thatjust qachains viatypecheck's dep. Result: a fresh checkout broke pre-push with 30+ missing-decl TS errors against@/paraglide/messages.fr.jsonkeys (flows_yaml_search_placeholder,flows_yaml_help_search_placeholder) slip past pre-push for several commits —paraglide-checkis only wired intojust qa.justwas absent from the agent container. Stale:forge-base/bun:v0.2.1already shipsjustat/usr/local/bin/just, so it's present in bothclaude-hooks:devand the base image.Test plan
just qapasses locally (1080/1080 web tests, all lint/format/paraglide-check/i18n/flow-schema/sql-layer green)..husky/pre-pushdirectly executesjust qaand exits 0.just qa.justresolves inside the container worktree (already validated manually viadocker run --rm claude-hooks:dev which just).🤖 Generated with Claude Code
APPROVED ✅
.husky/pre-push: Refactor is clean and correct. The old inlined steps genuinely drifted fromjust qa— skippingcodegen(paraglide compile) broke pre-push on fresh checkouts with 30+ missing-decl TS errors. Delegating tojust qamakes the justfile the single source of truth as intended.The
just-on-PATH guard is good defensive hygiene. TheCHROMIUM_PATHhost fallback is correctly placed beforejust qaso the subprocess inherits it.Test scope change: pre-push now runs the full suite (
bun x turbo run test) instead of affected-only (--filter='...[origin/main]'). Intentional and strictly more correct — PR validates 1080/1080 pass.fr.json: Two missing translation keys added — a direct consequence of the old hook not runningparaglide-check. Clean fix.CI green, mergeable.