Back to Plate

fix ci

docs/plans/2026-06-01-fix-ci.md

53.0.84.0 KB
Original Source

fix ci

Objective: Fix the failing GitHub PR CI check for PR #4981 by resolving the local bun check failures and proving the same command passes in /Users/zbeyens/git/plate.

Completion threshold: bun check exits 0 locally after the CI-root formatting, lint, typecheck, and test failures are fixed.

Verification surface:

  • GitHub CI log for PR #4981, run 26766845587, identified the failing bun check stage.
  • Local focused Biome checks on failing paths.
  • Local root pnpm lint.
  • Local root bun check.
  • Browser smoke on http://localhost:3002/docs/footnote.

Constraints:

  • Do not commit, push, or create/update a PR unless explicitly requested.
  • Keep the fix scoped to CI blockers exposed by the PR workflow.
  • Preserve docs/search behavior while replacing lint-hostile code patterns.

Boundaries:

  • Source of truth: GitHub Actions CI workflow .github/workflows/ci.yml and PR #4981 check logs.
  • Allowed edit scope: CI-blocking formatting/lint fixes in app docs/search, eslint ignore config, and sync-shadcn formatter drift.
  • Browser surface: docs app route /docs/footnote.
  • Tracker sync: N/A, no external issue was provided.
  • Non-goals: no feature work, no PR push, no unrelated cleanup.

Blocked condition: Blocked only if local bun check still fails after the CI log root cause is patched, or browser verification cannot reach the local docs app.

Start Gates:

GateAppliesEvidence
CI source readyesRead PR #4981 check log and .github/workflows/ci.yml; PR path runs bun check.
Repo instructions readyesAGENTS.md instructions loaded in thread context.
Browser decisionyesBrowser smoke required because apps/www changed.
PR mutation decisionyesNo push/commit/PR mutation because user asked to fix, not publish.

Completion Gates:

GateAppliesEvidence
Formatting fixedyespnpm exec biome check ... passed on focused files, then root lint passed Biome.
Lint fixedyespnpm lint exited 0 with one existing warning only.
CI command fixedyesbun check exited 0.
Browser smokeyesBrowser loaded /docs/footnote, found one Footnote H1, and logged no browser errors.

Work Checklist:

  • CI failure source identified from PR #4981 logs.
  • Biome formatter failures fixed on the reported files and the follow-up sync-shadcn script drift.
  • Search route lint fixed with a top-level line-break regex and a non-map heading collector.
  • Unused command-menu import removed.
  • Generated .contentlayer output ignored by ESLint.
  • Potion lazy block locale derived during render instead of set synchronously in an effect.
  • Local CI command verified with bun check.
  • Browser smoke verified the affected docs route.
  • Release artifact requirement recorded: N/A, CI-only formatting/lint fix.
  • Branch handling recorded: N/A, no branch mutation requested.

Phase / pass table:

PhaseStatusEvidence
IntakecompletePR #4981 failing CI log inspected.
ImplementationcompleteCI-blocking files patched and formatted.
Verificationcompletepnpm lint, bun check, and Browser smoke passed.
HandoffcompleteNo publish action taken because not requested.

Verification evidence:

  • pnpm exec biome check apps/www/source.config.ts 'apps/www/src/app/(view)/layout.tsx' apps/www/src/app/api/search/route.ts apps/www/src/components/block-viewer.tsx apps/www/src/components/command-menu.tsx docs/sync/shadcn/dashboard.json exited 0.
  • pnpm lint exited 0; remaining sidebar hook dependency warning does not fail lint.
  • bun check exited 0, including lint, package build/typecheck, test:all, and test:slowest.
  • Browser smoke: http://localhost:3002/docs/footnote, title Footnote - Plate, one Footnote H1, no console errors.

Reboot status: Current thread has enough state to resume from this plan; final status is ready for handoff.

Open risks: Remote CI has not rerun because no commit/push was requested.