ci(roadmap-t1): add named lint/typecheck/test/build gates + papercut capture - #314
Draft
igueule44-a11y wants to merge 5 commits into
Draft
ci(roadmap-t1): add named lint/typecheck/test/build gates + papercut capture#314igueule44-a11y wants to merge 5 commits into
igueule44-a11y wants to merge 5 commits into
Conversation
- package.json: add `typecheck` alias (`tsc --noEmit`) and `ci:pr` aggregator that runs lint -> typecheck -> test:ci -> build. - .github/workflows/ci.yml: split the single CI job into three named jobs (root gates, web gates, self-host docker) so each one is a GitHub branch-protection check. Add explicit `pnpm run lint`, `pnpm run typecheck`, `pnpm run test:ci`, `pnpm run build` for the root; the web job runs format:check, types:check, and build. Branch-protection comment at the top of the file lists the required checks a maintainer must enable. - .agents/PROPOSED-AGENTS-MD.md: proposed additions for the AGENTS.md Workflow section (branch naming, PR convention, static-HTML file-touch rules). AGENTS.md itself is a control-plane file and is not modified in this commit; see BUS-19 request_confirmation for the approval flow. Wave-1 gate per BUS-19.
The web job added in the previous commit ('ci(roadmap-t1): add named
lint/typecheck/test/build gates') included a 'pnpm --dir web run
format:check' step. Running that step locally returns 252 formatting
violations across web/ — pre-existing drift on main, not introduced by
this branch.
Shipping the format gate now would turn the web job red on every PR
until someone runs 'prettier --write web/', which is a separate
foundation-task scope.
Decision: revert the format gate, leave an in-file comment that names
the drift and tells the next maintainer exactly what to do (run
prettier --write web/, then drop the comment and add the gate back).
Verified locally:
- pnpm run lint → 0 errors, 834 files
- pnpm run typecheck → tsc --noEmit, clean
- pnpm run test:ci → 1165/1165 tests pass
- pnpm run build → worker bundle + audit worker, clean
- pnpm run ci:check inner steps
- tsc --noEmit (root) → clean
- tsc --noEmit -p badseo/... → clean
- oxlint . --type-aware → 0 errors
- knip → clean
- sync-plugin-skills → no changes
- plugins/openseo/skills → porcelain empty
- prettier --check . → 1 file: PROPOSED-AGENTS-MD.md
(committed unformatted by the previous CTO commit; papercut)
- web/:
- fumadocs-mdx + tsc --noEmit → clean
- vite build → rc0 (chunk-size advisory, pre-existing)
- prettier --check web/ → 252 violations, NOT GATED
Follow-up tracked in PAPERCUTS + new child issue.
Refs: BUS-27
The previous commit ('ci(roadmap-t1): add named lint/typecheck/test/
build gates') introduced .agents/PROPOSED-AGENTS-MD.md without a
trailing newline, which fails 'prettier --check .' and therefore
fails the new Aggregated checks step on every PR until fixed.
This is purely a papercut-grade formatting fix so the ci:check gate
the previous commit added actually passes on main.
Refs: BUS-27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Roadmap-T1 (BUS-19) — Foundations: project conventions + CI gates.
Acceptance criteria landed on this branch:
package.jsondefineslint,typecheck,test,build,ci:pr(aggregator) scripts.pnpm run lintandpnpm run typecheckexit 0 on the static site (verified 2026-09-09, 834 files, 184 rules, 0 warnings/errors)..github/workflows/ci.ymlsplit into three named jobs:Lint / Typecheck / Test / Build (root),Website typecheck + build,Self-host Docker image build. Branch-protection comment in the file lists the required checks a maintainer must enable in branch-protection UI..agents/PAPERCUTS.md..agents/PROPOSED-AGENTS-MD.md— pending CEO sign-off onrequest_confirmation5a2294eebefore applying (this PR does NOT edit AGENTS.md).Branch:
ctof/t1-foundations-ci-gates— 5 commits, latestc177a73.Fork workflow: per BUS-47 Option B. CTO identity
igueule44-a11yhas admin onigueule44-a11y/open-seo(fork), read-only onevery-app/open-seo(upstream).Draft: opened as draft pending CEO confirmation of BUS-47 (
989d8cd4). Will move to ready-for-review once that lands.