Build and deploy / build-and-deploy (push) Failing after 4s
Five items of Pouya's production run, 2026-09-01.
Q61 — scroll-padding-top becomes a max() ramp on `10lh - 83px`, with the
plain calc() first as the fallback for engines without `lh`. Hidden focus
stops under minimumFontSize=32: 290 of 1,455 -> 0, control build still
290. Default settings byte-identical (0 differences over 352 page-widths x
17 fields). The 12 residual cells at minimumFontSize=16/20 are pre-existing
and unchanged-or-better; reported, not widened, per instruction.
Intake backend + CloudFront — docs/09-cutover-runbook.md is the
copy-paste sequence for admin execution: every command followed by its
verification and expected output, rollback per part, and Part 10 is Q60's
TTL test. infra/cloudfront/router.js is the trailing-slash function
(30-case suite; 8 fail against the pre-review version, incl. a
protocol-relative open redirect). infra/cloudfront/configure.mjs is
dry-run-by-default and idempotent. scripts/intake-env.mjs emits the six
Lambda env vars from src/data/site.ts.
Four launch blockers found by reading the running system:
- handler.mjs wrote pk/sk; the live table's key is submissionId with no
sort key, so every submission would have failed validation silently
- the Lambda invoke permission is scoped to the old route path
- 22 of 23 pages 403 without the router function
- there was no 404 page; src/pages/404.astro adds it
Claims audit (D20 cutover pass) — five gloss over-reaches corrected on
/practice/energy/, /practice/insurance/ (x2), /practice/technology/ and
/med-arb/. Three findings left open for Pouya: Q62, the /med-arb/ gloss,
and Q60.
Q62 — one frozen-tripwire pattern added under the freeze's own breach
exception, with a probe and four negative fixtures. check:claims exits 1
until the false /legal/privacy/ sentence is corrected, so both deploy
paths are blocked by a mechanism rather than by memory.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Md3GndFqWPzK78xAoebsg5
55 lines
848 B
Plaintext
55 lines
848 B
Plaintext
# dependencies
|
|
node_modules/
|
|
.pnp
|
|
.pnp.js
|
|
|
|
# build output
|
|
dist/
|
|
.output/
|
|
.vercel/
|
|
.netlify/
|
|
|
|
# astro
|
|
.astro/
|
|
|
|
# environment — never commit
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
# credentials — never commit
|
|
*.pem
|
|
*.key
|
|
aws-credentials*
|
|
.aws/
|
|
|
|
# logs
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
pnpm-debug.log*
|
|
|
|
# editor / os
|
|
.vscode/*
|
|
!.vscode/extensions.json
|
|
.idea/
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# test / tooling caches
|
|
coverage/
|
|
.eslintcache
|
|
.cache/
|
|
playwright-report/
|
|
test-results/
|
|
|
|
# generated inventory — safe to share, but not tracked
|
|
aws-inventory.txt
|
|
|
|
# The pre-cutover archive of the old single-file build (docs/09 Part 8.1).
|
|
# NOT committed: it is ~3.3 MB of the page that carried the fabricated founder
|
|
# and the invented matter values, and Part 8.3 runs `git tag` eleven lines later.
|
|
# `docs/06` says to keep it, not to version it.
|
|
_archive/
|