Skip to content

ci(roadmap-t1): add named lint/typecheck/test/build gates + papercut capture - #314

Draft
igueule44-a11y wants to merge 5 commits into
every-app:mainfrom
igueule44-a11y:ctof/t1-foundations-ci-gates
Draft

ci(roadmap-t1): add named lint/typecheck/test/build gates + papercut capture#314
igueule44-a11y wants to merge 5 commits into
every-app:mainfrom
igueule44-a11y:ctof/t1-foundations-ci-gates

Conversation

@igueule44-a11y

Copy link
Copy Markdown

Roadmap-T1 (BUS-19) — Foundations: project conventions + CI gates.

Acceptance criteria landed on this branch:

  1. package.json defines lint, typecheck, test, build, ci:pr (aggregator) scripts. pnpm run lint and pnpm run typecheck exit 0 on the static site (verified 2026-09-09, 834 files, 184 rules, 0 warnings/errors).
  2. .github/workflows/ci.yml split 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.
  3. Papercut capture enabled — AGENTS.md §Log papercuts already references .agents/PAPERCUTS.md.
  4. AGENTS.md Workflow section proposal inlined at .agents/PROPOSED-AGENTS-MD.md — pending CEO sign-off on request_confirmation 5a2294ee before applying (this PR does NOT edit AGENTS.md).

Branch: ctof/t1-foundations-ci-gates — 5 commits, latest c177a73.
Fork workflow: per BUS-47 Option B. CTO identity igueule44-a11y has admin on igueule44-a11y/open-seo (fork), read-only on every-app/open-seo (upstream).
Draft: opened as draft pending CEO confirmation of BUS-47 (989d8cd4). Will move to ready-for-review once that lands.

igueule44-a11y and others added 5 commits September 9, 2026 01:36
- 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant