Repo hygiene: gate /mockups out of production, CI audit gate, untrack scratch, archive stale docs#328
Merged
Merged
Conversation
24 capture scripts and screenshots had been committed; .tmp-visual/ is local investigation output (already Prettier-ignored) and now git-ignored. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XPVNBVo4cg9PEYtNhJZBQY
Move to docs/archive/: root COLOR_REDESIGN_PLAN.md (marked superseded), TOOLS_CONTEXT_FOR_NEW_CHAT.md and design-qa.md (chat handoffs referencing machine-local paths), the completed search-rag phase 0-5.5b series, and the completed clinical-chat-ui phase docs. Living docs (search-rag-master-plan, search-rag-master-context, clinical-chat-ui-component-map) stay in docs/. No inbound references existed; relative links inside moved files retargeted. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XPVNBVo4cg9PEYtNhJZBQY
The 27-page /mockups tree shipped in production builds, hidden only by a robots.ts disallow. The mockups layout now returns 404 unless mockupsEnabled(): always reachable in dev/test, production requires an explicit NEXT_PUBLIC_MOCKUPS_ENABLED=true opt-in (mirrors the isLocalNoAuthMode production guard). Verified against a production build: mockup routes serve HTTP 404, real routes 200. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XPVNBVo4cg9PEYtNhJZBQY
npm audit --omit=dev --audit-level=high now blocks merges on high/critical advisories in the production tree. The document parsers (pdf-parse, pdfjs-dist, mammoth, exceljs, jszip) process untrusted uploads, so vulnerability response should not wait for the weekly Dependabot pass. Verified passing locally (0 vulnerabilities). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XPVNBVo4cg9PEYtNhJZBQY
…iene pass canListenOnHost treated EAFNOSUPPORT/EADDRNOTAVAIL on ::1/:: binds as 'port busy', so verify:ui reported every port in the range taken and could not start in containers without IPv6. An unsupported address family now counts as available for that host. Also records the 2026-07-06 hygiene + production-surface pass in docs/process-hardening.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XPVNBVo4cg9PEYtNhJZBQY
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
…iew-e09e6o # Conflicts: # docs/process-hardening.md # scripts/run-playwright.mjs
BigSimmo
marked this pull request as ready for review
July 6, 2026 13:46
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Owner
Author
|
@copilot resolve the merge conflicts in this pull request |
Contributor
Conflicts resolved in 9eaad91. Two files had conflicts:
The PR |
BigSimmo
enabled auto-merge
July 6, 2026 14:12
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.
Summary
/mockups/*design-exploration route tree out of production builds:src/app/mockups/layout.tsxnow callsnotFound()unlessmockupsEnabled()(src/lib/env.ts) — always reachable in dev/test, production requires explicitNEXT_PUBLIC_MOCKUPS_ENABLED=true(previously these shipped in production hidden only by a robots.txt disallow). Newtests/env-mockups-gate.test.tsguards the flag logic.npm audit --omit=dev --audit-level=highin theverifyjob) — the document parsers (pdf-parse,pdfjs-dist,mammoth,exceljs,jszip) process untrusted uploads, so high/critical advisories should block merges rather than wait for weekly Dependabot. Currently passes with 0 vulnerabilities..tmp-visual/visual-QA scratch files (capture scripts + PNGs) and add.tmp-visual/to.gitignore.docs/archive/: rootCOLOR_REDESIGN_PLAN.md(marked SUPERSEDED),TOOLS_CONTEXT_FOR_NEW_CHAT.md,design-qa.md, the completedsearch-rag-phase-0…5.5bseries, and the completedclinical-chat-ui-*phase docs. No inbound references were broken (repo-wide grep); relative links inside moved files retargeted. Living docs (search-rag-master-plan/context, component map) stay.scripts/run-playwright.mjsport-finder for IPv6-less containers:EAFNOSUPPORT/EADDRNOTAVAILon::1/::binds now counts as available instead of marking every port busy (previouslyverify:uicould not start in such environments).docs/process-hardening.md(dated 2026-07-06 entry).Verification
npm run verify:cheap— pass (runtime, sitemap, lint, typecheck, 1,097 unit tests)npm run verify:ui— 103/103 passed (includes the specs that exercise/mockupsroutes in dev, proving the gate leaves dev/test behavior unchanged)npm run verify:releasebefore release or handoff confidence claimsnpm run format:check— passnpm run eval:retrieval:quality— N/A: no retrieval, ranking, selection, chunking, or scoring behavior changednpm run eval:rag/eval:quality— N/A: no answer-generation changenpm run check:production-readiness— not run here (no live keys in this environment); the change to production behavior is route-gating only, additionally verified end-to-end: production build serves HTTP 404 on/mockups/*and 200 on real routesnpm run check:deployment-readiness— N/A: no deployment startup/hosting changeClinical Governance Preflight
Touches production env behavior (route gating) only; no ingestion/answer/search/source changes.
Clinical KB Database(sjrfecxgysukkwxsowpy)Notes
/mockupsgate is reversible per deploy viaNEXT_PUBLIC_MOCKUPS_ENABLED=true(documented in.env.example).docs/site-map.mdintentionally unchanged: the route segments still exist; they 404 at request time in production.🤖 Generated with Claude Code
https://claude.ai/code/session_01XPVNBVo4cg9PEYtNhJZBQY
Generated by Claude Code