Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
f661dfe
chore: close ledger items and guard upload limits
BigSimmo Jul 30, 2026
6717a18
Merge origin/main into issue-ledger upload parity
BigSimmo Jul 30, 2026
c298432
Merge remote-tracking branch 'origin/main' into codex/review-pr1441
BigSimmo Jul 30, 2026
6f5777a
docs: record upload parity review
BigSimmo Jul 30, 2026
e3aa9c8
fix: complete upload parity and CircleCI cleanup
BigSimmo Jul 30, 2026
d8bd221
Merge remote-tracking branch 'origin/codex/issue-ledger-upload-parity…
BigSimmo Jul 30, 2026
b5b9a1e
docs: record refreshed PR review
BigSimmo Jul 30, 2026
6208032
Merge remote-tracking branch 'origin/main' into codex/review-pr1441
BigSimmo Jul 30, 2026
899497f
test: execute PR aggregate portably
BigSimmo Jul 30, 2026
727ed55
Merge remote-tracking branch 'origin/codex/issue-ledger-upload-parity…
BigSimmo Jul 30, 2026
59cdce4
Merge latest origin/main into issue-ledger upload parity
BigSimmo Jul 30, 2026
0b17e84
Merge latest issue ledger closure from origin/main
BigSimmo Jul 30, 2026
f97b2dd
docs: record final PR readiness review
BigSimmo Jul 30, 2026
55d0401
Merge remote-tracking branch 'origin/main' into codex/issue-ledger-up…
BigSimmo Jul 30, 2026
97ef180
Merge remote-tracking branch 'origin/main' into codex/issue-ledger-up…
BigSimmo Jul 30, 2026
bba0496
docs: normalize PR review ledger merge
BigSimmo Jul 30, 2026
f0f466e
fix: mirror Next production env precedence
BigSimmo Jul 30, 2026
f121a2b
Merge remote-tracking branch 'origin/main' into codex/issue-ledger-up…
BigSimmo Jul 30, 2026
1a7a63d
fix: validate upload limits in production builds
BigSimmo Jul 30, 2026
bf0a49b
Merge remote-tracking branch 'origin/main' into codex/review-pr1441-v3
BigSimmo Jul 30, 2026
3b0dadf
docs: preserve pending latency verification
BigSimmo Jul 30, 2026
b59df15
docs: record upload parity review
BigSimmo Jul 30, 2026
288f453
docs: record final PR 1441 review
BigSimmo Jul 30, 2026
af0e46d
chore: refresh hosted PR checks
BigSimmo Jul 30, 2026
5b76668
Merge remote PR updates into upload parity repair
BigSimmo Jul 30, 2026
51c4fc4
Merge current main into upload parity repair
BigSimmo Jul 30, 2026
140d044
fix: keep upload parity server limit build-scoped
BigSimmo Jul 30, 2026
788d906
docs: record final upload parity review
BigSimmo Jul 30, 2026
3f7c89f
fix: isolate Docker upload parity input
BigSimmo Jul 30, 2026
8b021d7
docs: record Docker parity follow-up review
BigSimmo Jul 30, 2026
38cc02e
fix: tolerate Dockerfile-excluded build contexts
BigSimmo Jul 30, 2026
78da786
docs: record build-context follow-up review
BigSimmo Jul 30, 2026
f35a4ca
Merge current main after adaptive-refine mockup
BigSimmo Jul 30, 2026
1d2c823
docs: record final current-main sync review
BigSimmo Jul 30, 2026
dc80685
Merge current main after catalogue payload disposition
BigSimmo Jul 30, 2026
dbfd306
docs: record catalogue-sync review
BigSimmo Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/skills/gates/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Check these before believing any result.
for exactly this reason — if installed packages do not match `package-lock.json`, treat any test,
lint, or typecheck result as void until `npm ci` has run. Its own failure message says as much.
- **`verify:cheap` stops at the first failing check.** Everything after that point never ran. Do not
describe the change as broadly verified when the gate died at check 2 of 30.
describe the change as broadly verified when the gate died at check 2 of 31.
- **`format:check` is required in CI but is not part of `verify:cheap`.** A locally green
`verify:cheap` can still fail CI on formatting. Run `npx prettier --write <changed files>` before
pushing — scoped to your files, never `prettier --write .`, which sweeps the whole tree.
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,9 @@ jobs:
- name: Installed dependency parity
run: npm run check:installed-lock-parity

- name: Upload-limit parity
run: npm run check:upload-limit-parity

- name: GitHub Actions pin check
run: npm run check:github-actions

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ jobs:
NEXT_PUBLIC_SUPABASE_URL=https://sjrfecxgysukkwxsowpy.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=placeholder-ci-publishable-key
NEXT_PUBLIC_MAX_UPLOAD_MB=
MAX_UPLOAD_MB=
ALLOW_LOW_RAM_BUILD=1

worker-image:
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ Verification pyramid — run the **smallest gate that covers the change**, then
| Gate | What it is |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `npm run test:focused -- --files <paths>` | Source-only iteration. Fails closed for deleted files and test infrastructure — then run `npm run test`. |
| `npm run verify:cheap` | The broad local gate: 27 static/consistency gates + `lint` + `typecheck` + full offline unit suite |
| `npm run verify:cheap` | The broad local gate: 28 static/consistency gates + `lint` + `typecheck` + full offline unit suite |
| `npm run verify:pr-local` | Closest local mirror of the PR gate; adds format and conditional build / client-bundle scan / RAG fixture validation. `-- --dry-run --files <paths>` shows selection without running. |
| `npm run verify:ui` | Chromium production journeys. Run `npm run ensure` first. |
| `npm run verify:phone-chrome` | Phone-chrome changes; selects affected owners/journeys before escalating to `verify:ui` |
Expand Down
13 changes: 9 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
# production image:
# docker build \
# --build-arg NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=sb_publishable_... \
# --build-arg MAX_UPLOAD_MB=150 \
# --build-arg NEXT_PUBLIC_MAX_UPLOAD_MB=150 \
# -t clinical-kb-app .
# Server-side secrets (SUPABASE_SERVICE_ROLE_KEY, OPENAI_API_KEY, ...) are
Expand All @@ -34,10 +35,10 @@ COPY --from=deps /app/node_modules ./node_modules
COPY . .
ARG NEXT_PUBLIC_SUPABASE_URL=https://sjrfecxgysukkwxsowpy.supabase.co
ARG NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=placeholder-build-publishable-key
# Optional browser upload-limit mirror (clamped client-side). Must be set at
# build time to inline into the client bundle — runtime Railway vars alone are
# not enough when operators lower MAX_UPLOAD_MB.
# The server value is also exposed to the build so the parity guard can compare
# the runtime configuration Railway supplies with the public value Next inlines.
ARG NEXT_PUBLIC_MAX_UPLOAD_MB=
ARG MAX_UPLOAD_MB=
ENV NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL}
ENV NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=${NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY}
ENV NEXT_PUBLIC_MAX_UPLOAD_MB=${NEXT_PUBLIC_MAX_UPLOAD_MB}
Expand All @@ -47,7 +48,11 @@ ENV NEXT_PUBLIC_MAX_UPLOAD_MB=${NEXT_PUBLIC_MAX_UPLOAD_MB}
# while still completing this Next build.
ARG ALLOW_LOW_RAM_BUILD=0
ENV ALLOW_LOW_RAM_BUILD=${ALLOW_LOW_RAM_BUILD}
RUN npm run build
# MAX_UPLOAD_MB remains a runtime-only server variable. Copy its build argument
# into the parity guard's checker-only name, then remove MAX_UPLOAD_MB from the
# Next build process so application env validation cannot mistake an empty
# build argument for a runtime value.
RUN UPLOAD_LIMIT_PARITY_SERVER_MB="${MAX_UPLOAD_MB}" env -u MAX_UPLOAD_MB npm run build

FROM node:24-bookworm-slim AS prod-deps
WORKDIR /app
Expand Down
Loading
Loading