ci: enforce mockup import boundary + enable dependency report (maturity X1, N2)#986
Conversation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019Jc1ZYHFjXjn6mE6U6riVU
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019Jc1ZYHFjXjn6mE6U6riVU
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
📝 WalkthroughWalkthroughThe dependency report workflow now runs twice monthly, and ESLint enforces production import boundaries that prevent mockup modules from being imported outside permitted mockup locations. Documentation describes the restriction and exceptions. ChangesProduction mockup import boundaries
Dependency report scheduling
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Summary
Phase 2 of the maturity backlog (
docs/maturity-backlog-workorders.md, landing via #985): the two items that were scoped and safe to execute now.no-restricted-importsrule toeslint.config.mjsthat fences design-scratch mockup modules out of production code, converting a prose rule (docs/frontend-architecture.md: "Production routes must not import fixture/mockup modules") into a CI gate. Scoped to exempt exactly the legitimate mockup sources:src/app/mockups/**(all 404 in production) and the*-mockupscomponent dirs. Verified against every current mockup importer — zero false positives..github/workflows/dependency-report.yml(previouslyworkflow_dispatch-only). Report-only — it surfaces outdated direct deps +npm auditinto a rolling issue; it never updates dependencies.Both were verified
READY/recommended in the Phase 1 work-order doc.Verification
npm run lint— exit 0 (full repo; zero new violations from the rule).@/components/tools-page-mockupsis correctly rejected by the rule (no-restricted-imports), confirming it fires.npm run check:github-actions— pass (validates thedependency-report.ymledit).npm run format:check— pass.npm run docs:check-links— pass (944 refs).no-restricted-imports);package.json/package-lock.jsonunchanged.Risk and rollout
npm audit+ posts a GitHub issue on a cron; no deps changed).Clinical Governance Preflight
N/A — no ingestion, answer generation, search/ranking, source rendering, document access, privacy, production-env, or clinical-output behaviour changed.
Notes
Phase 1 (#985) carries the audit + work-order docs and is auto-merging. The remaining higher-risk backlog items (
src/lib/ragextraction, monolith decomposition, SAST-blocking, ACL-migration consolidation, coverage floors) stay as their own dedicated work orders — each needs a full-suite/provider-gated verification pass, so they are not bundled here.Generated by Claude Code
Summary by CodeRabbit
Chores
Documentation