From 8c40313980c4e384f042696c72044bd908948d1b Mon Sep 17 00:00:00 2001 From: Amruth Pillai Date: Sat, 26 Sep 2026 02:37:22 +0200 Subject: [PATCH] feat(deploy): support Vercel Hobby alongside Docker (#3541) * feat(deploy): support Vercel Hobby alongside Docker * fix(deploy): include PDFKit runtime font assets * docs(deploy): document Vercel and Docker setup * docs(deploy): record storage persistence checks * refactor(deploy): drop scheduled staging cleanup Staging uploads are deleted after finalization and expired ones are swept on each new upload, so the Vercel cron job, its route, and CRON_SECRET are no longer needed. The Deploy with Vercel wizard now asks for two secrets. * docs(deploy): restructure Vercel guides Split the Vercel page into a how-to with its environment reference, move the large RPC staging protocol to an API reference page, and move CI deployment checks to the contributing section. Point Deploy with Vercel buttons at main. * chore: remove agent planning records and fix web app description Delete superpowers plans/specs, ADRs, issue plans, execution briefs, domain context maps, and Europass research. Describe apps/web as a TanStack Router SPA served by apps/server. * refactor(deploy): simplify Vercel support code - Share one Redis client and key namespace through @reactive-resume/db/redis for API and auth instead of a second auth-only client. - Drop the auth seeding retry; the provider already treats concurrent inserts as no-ops and deployment preparation seeds before runtime. - Detect staging support from POST /api/storage/stage (404 on Docker) instead of a separate GET probe. - Read staged bodies directly; the signed upload already caps their size. - Close per-subscription Redis connections with disconnect() alone. - Check Blob health with one list call instead of write/read/delete. - Remove redundant tsdown onlyBundle list, dead namespace fallbacks, and the conditional spread in the health status. * fix(deploy): heal stopped runs with dead owners and keep auth up without Redis - Run owners refresh a Redis heartbeat until they release their claim. Stop requests reap the run immediately when the owner has stopped heartbeating, instead of leaving the thread blocked until the 15-minute TTL reaper. - Auth and oRPC rate limiters fall back to per-instance memory limits when Redis errors, instead of rejecting every login or failing requests. * ci: allow esbuild build for Vercel CLI and register deployment deps with knip pnpm 12 fails dlx installs with ignored build scripts, so allow esbuild explicitly. The server bundle keeps @vercel/blob, ioredis, and jose external, and api/index.mjs is the Vercel Function entry. * fix(web): send buffered RPC bodies instead of teed streams Reading a request clone turned the original body into a stream, which browsers send without inspectable request data and which needs duplex mode. Send the already buffered Blob for direct requests. * fix(web): send direct RPC bodies as bytes Blob request bodies are sent as data pipes, so browser tooling cannot inspect them. Buffer the original request as an ArrayBuffer and send those bytes; this restores the e2e save assertions that match on request data. --- .env.example | 20 +- .github/workflows/vercel.yml | 99 + .vercelignore | 27 + AGENTS.md | 10 +- CONTEXT-MAP.md | 3 - README.md | 10 +- api/index.mjs | 1 + apps/server/package.json | 4 + apps/server/src/http/app.ts | 22 +- apps/server/src/http/health.ts | 20 +- apps/server/src/http/public-resume-pdf.ts | 1 + apps/server/src/index.test.ts | 8 +- apps/server/src/index.ts | 5 +- apps/server/src/prepare-deployment.ts | 20 + apps/server/src/startup/checks.ts | 56 +- apps/server/src/vercel.test.ts | 99 + apps/server/src/vercel.ts | 29 + apps/server/tsdown.config.ts | 35 +- apps/web/src/libs/orpc/client.ts | 5 +- apps/web/src/libs/orpc/fetch.test.ts | 92 + apps/web/src/libs/orpc/fetch.ts | 49 + docs/.mintignore | 2 - docs/adr/0001-workspace-boundaries.md | 44 - docs/adr/0002-agent-ai-sdk-adoption.md | 111 - docs/adr/0003-postgresql-remains-separate.md | 3 - docs/agents/domain.md | 42 - docs/contributing/architecture.mdx | 8 +- docs/contributing/deployment-checks.mdx | 52 + docs/contributing/development.mdx | 2 +- docs/docs.json | 9 +- docs/execution/approved-issue-plans-ledger.md | 307 -- .../briefs/fix-review-plan-02-round2.md | 21 - .../briefs/fix-review-plan-02-round3.md | 32 - docs/execution/briefs/fix-review-plan-02.md | 25 - .../briefs/fix-review-plan-07-round2.md | 21 - docs/execution/briefs/fix-review-plan-07.md | 16 - .../briefs/fix-review-plan-09-round2.md | 14 - docs/execution/briefs/fix-review-plan-09.md | 18 - docs/execution/briefs/fix-review-plan-11.md | 18 - docs/execution/briefs/fix-review-plan-16.md | 27 - .../implement-plan-02-synthetic-recovery.md | 43 - docs/execution/briefs/implement-plan-07.md | 42 - docs/execution/briefs/implement-plan-09.md | 36 - docs/execution/briefs/implement-plan-10.md | 43 - docs/execution/briefs/implement-plan-11.md | 29 - docs/execution/briefs/implement-plan-15a.md | 34 - docs/execution/briefs/implement-plan-16.md | 36 - docs/execution/briefs/implement-plan-19.md | 37 - docs/execution/briefs/implement-plan-20a.md | 37 - docs/execution/briefs/implement-plan-23a.md | 33 - docs/execution/briefs/implement-plan-32.md | 36 - .../briefs/rereview-plan-02-hosted.md | 27 - .../briefs/rereview-plan-02-round3.md | 15 - .../rereview-plan-07-hosted-comments.md | 21 - .../briefs/rereview-plan-07-round2.md | 17 - .../rereview-plan-09-hosted-comments.md | 15 - .../briefs/rereview-plan-09-round3.md | 15 - .../briefs/rereview-plan-09-round4.md | 19 - .../rereview-plan-11-hosted-comments.md | 15 - docs/execution/briefs/rereview-plan-11.md | 15 - docs/execution/briefs/rereview-plan-15a.md | 27 - .../briefs/revalidate-backend-01-06.md | 35 - .../briefs/revalidate-backend-07-11-35.md | 29 - .../briefs/revalidate-builder-20-34.md | 29 - .../briefs/revalidate-rendering-12-19.md | 29 - .../briefs/review-plan-02-autofix.md | 16 - docs/execution/briefs/review-plan-02-final.md | 19 - .../execution/briefs/review-plan-02-round5.md | 25 - docs/execution/briefs/review-plan-02.md | 25 - docs/execution/briefs/review-plan-07.md | 25 - docs/execution/briefs/review-plan-09.md | 26 - docs/execution/briefs/review-plan-11.md | 23 - .../briefs/review-plan-15a-hosted.md | 22 - docs/execution/briefs/review-plan-15a.md | 24 - docs/execution/briefs/review-plan-16.md | 25 - docs/execution/briefs/review-plan-20a.md | 28 - docs/guides/large-rpc-requests.mdx | 87 + docs/research/europass/README.md | 120 - .../research/europass/artifacts/PROVENANCE.md | 53 - .../europass/artifacts/concept-one-page.png | Bin 963522 -> 0 bytes docs/research/europass/artifacts/one-page.svg | 44 - .../europass/artifacts/overflow-1.svg | 50 - .../europass/artifacts/overflow-2.svg | 45 - .../europass/artifacts/overflow-3.svg | 32 - .../artifacts/reference-comparison.svg | 88 - docs/research/europass/mapping.md | 133 - .../research/europass/synthetic-fixtures.json | 768 ----- docs/self-hosting/docker.mdx | 8 +- docs/self-hosting/vercel.mdx | 159 + .../2026-07-28-semantic-css-stylesheet.md | 2702 ----------------- .../plans/2026-07-28-seo-aeo-performance.md | 697 ----- ...26-07-28-seo-comparison-content-cluster.md | 1005 ------ ...antic-css-reference-and-docs-generation.md | 1388 --------- .../2026-08-13-implicit-social-signup.md | 152 - .../plans/2026-09-05-cover-letter-library.md | 106 - .../plans/2026-09-05-open-issue-audit.md | 1960 ------------ ...26-07-28-semantic-css-stylesheet-design.md | 667 ---- .../2026-07-28-seo-aeo-performance-design.md | 110 - ...8-seo-comparison-content-cluster-design.md | 235 -- ...ss-reference-and-docs-generation-design.md | 298 -- ...-30-semantic-css-complete-rename-design.md | 83 - ...026-08-13-implicit-social-signup-design.md | 24 - knip.json | 6 + package.json | 2 +- packages/api/package.json | 5 +- .../src/features/agent/cancellation.test.ts | 128 + .../api/src/features/agent/cancellation.ts | 51 + packages/api/src/features/agent/runs.ts | 4 +- .../api/src/features/agent/service.test.ts | 501 ++- packages/api/src/features/agent/service.ts | 298 +- .../api/src/features/agent/streams.test.ts | 4 + packages/api/src/features/agent/streams.ts | 19 +- .../api/src/features/resume/events.test.ts | 81 +- packages/api/src/features/resume/events.ts | 49 +- .../resume/public-render-rate-limit.ts | 4 +- packages/api/src/features/resume/service.ts | 2 +- .../src/features/resume/view-dedup.test.ts | 18 +- .../api/src/features/resume/view-dedup.ts | 9 +- .../api/src/features/storage/blob.test.ts | 106 + packages/api/src/features/storage/blob.ts | 71 + packages/api/src/features/storage/service.ts | 15 +- .../src/features/storage/transport.test.ts | 192 ++ .../api/src/features/storage/transport.ts | 123 + .../api/src/middleware/rate-limit/index.ts | 19 +- packages/api/src/redis.test.ts | 43 + packages/api/src/redis.ts | 27 + packages/auth/src/config-lifecycle.test.ts | 80 + packages/auth/src/config.ts | 43 +- packages/auth/src/rate-limit.test.ts | 53 + packages/auth/src/rate-limit.ts | 46 + packages/db/package.json | 4 + packages/db/src/client.ts | 7 +- packages/db/src/redis.test.ts | 51 + packages/db/src/redis.ts | 23 + packages/env/src/deployment.test.ts | 40 + packages/env/src/deployment.ts | 28 + packages/env/src/server.ts | 9 +- packages/resume/CONTEXT.md | 17 - plans/01-account-login-recovery.md | 119 - plans/02-hosted-v4-account-recovery.md | 118 - plans/03-mcp-registration.md | 128 - plans/04-ai-provider-compatibility.md | 152 - plans/05-ai-provider-migrations.md | 131 - plans/06-image-storage-delivery.md | 124 - plans/07-aio-deployment.md | 85 - plans/08-root-public-resume.md | 127 - plans/09-external-version-backup.md | 116 - plans/10-legacy-link-routing.md | 138 - plans/11-job-search-policy.md | 99 - plans/12-preview-and-export-failures.md | 129 - plans/13-font-glyph-and-spacing.md | 125 - plans/14-rtl-export-layout.md | 99 - plans/15-picture-fitting-and-style.md | 136 - plans/16-imported-table-borders.md | 167 - plans/17-list-and-skill-pagination.md | 99 - plans/18-preview-export-geometry.md | 89 - plans/19-literal-rich-text-whitespace.md | 125 - plans/20-section-restoration.md | 160 - plans/21-section-heading-visibility.md | 69 - plans/22-skill-keyword-presentation.md | 74 - plans/23-pagination-controls.md | 77 - plans/24-date-layout.md | 59 - plans/25-entry-company-logos.md | 62 - plans/26-secondary-color.md | 63 - plans/27-offline-fonts.md | 62 - plans/28-basics-custom-styles.md | 62 - plans/29-onyx-profile-header.md | 62 - plans/30-ats-export-evaluation.md | 63 - plans/31-document-accessibility.md | 70 - plans/32-section-date-sorting.md | 63 - plans/33-europass-template.md | 66 - plans/34-gengar-skill-layout.md | 62 - plans/35-resume-import-errors.md | 75 - plans/DECISIONS.md | 73 - plans/ORCHESTRATOR.md | 34 - plans/PR-HANDOFF.md | 54 - plans/README.md | 61 - plans/inventory.json | 218 -- pnpm-lock.yaml | 174 +- tooling/deployment/smoke.mjs | 135 + turbo.json | 19 +- vercel.json | 33 + 182 files changed, 3061 insertions(+), 16746 deletions(-) create mode 100644 .github/workflows/vercel.yml create mode 100644 .vercelignore delete mode 100644 CONTEXT-MAP.md create mode 100644 api/index.mjs create mode 100644 apps/server/src/prepare-deployment.ts create mode 100644 apps/server/src/vercel.test.ts create mode 100644 apps/server/src/vercel.ts create mode 100644 apps/web/src/libs/orpc/fetch.test.ts create mode 100644 apps/web/src/libs/orpc/fetch.ts delete mode 100644 docs/.mintignore delete mode 100644 docs/adr/0001-workspace-boundaries.md delete mode 100644 docs/adr/0002-agent-ai-sdk-adoption.md delete mode 100644 docs/adr/0003-postgresql-remains-separate.md delete mode 100644 docs/agents/domain.md create mode 100644 docs/contributing/deployment-checks.mdx delete mode 100644 docs/execution/approved-issue-plans-ledger.md delete mode 100644 docs/execution/briefs/fix-review-plan-02-round2.md delete mode 100644 docs/execution/briefs/fix-review-plan-02-round3.md delete mode 100644 docs/execution/briefs/fix-review-plan-02.md delete mode 100644 docs/execution/briefs/fix-review-plan-07-round2.md delete mode 100644 docs/execution/briefs/fix-review-plan-07.md delete mode 100644 docs/execution/briefs/fix-review-plan-09-round2.md delete mode 100644 docs/execution/briefs/fix-review-plan-09.md delete mode 100644 docs/execution/briefs/fix-review-plan-11.md delete mode 100644 docs/execution/briefs/fix-review-plan-16.md delete mode 100644 docs/execution/briefs/implement-plan-02-synthetic-recovery.md delete mode 100644 docs/execution/briefs/implement-plan-07.md delete mode 100644 docs/execution/briefs/implement-plan-09.md delete mode 100644 docs/execution/briefs/implement-plan-10.md delete mode 100644 docs/execution/briefs/implement-plan-11.md delete mode 100644 docs/execution/briefs/implement-plan-15a.md delete mode 100644 docs/execution/briefs/implement-plan-16.md delete mode 100644 docs/execution/briefs/implement-plan-19.md delete mode 100644 docs/execution/briefs/implement-plan-20a.md delete mode 100644 docs/execution/briefs/implement-plan-23a.md delete mode 100644 docs/execution/briefs/implement-plan-32.md delete mode 100644 docs/execution/briefs/rereview-plan-02-hosted.md delete mode 100644 docs/execution/briefs/rereview-plan-02-round3.md delete mode 100644 docs/execution/briefs/rereview-plan-07-hosted-comments.md delete mode 100644 docs/execution/briefs/rereview-plan-07-round2.md delete mode 100644 docs/execution/briefs/rereview-plan-09-hosted-comments.md delete mode 100644 docs/execution/briefs/rereview-plan-09-round3.md delete mode 100644 docs/execution/briefs/rereview-plan-09-round4.md delete mode 100644 docs/execution/briefs/rereview-plan-11-hosted-comments.md delete mode 100644 docs/execution/briefs/rereview-plan-11.md delete mode 100644 docs/execution/briefs/rereview-plan-15a.md delete mode 100644 docs/execution/briefs/revalidate-backend-01-06.md delete mode 100644 docs/execution/briefs/revalidate-backend-07-11-35.md delete mode 100644 docs/execution/briefs/revalidate-builder-20-34.md delete mode 100644 docs/execution/briefs/revalidate-rendering-12-19.md delete mode 100644 docs/execution/briefs/review-plan-02-autofix.md delete mode 100644 docs/execution/briefs/review-plan-02-final.md delete mode 100644 docs/execution/briefs/review-plan-02-round5.md delete mode 100644 docs/execution/briefs/review-plan-02.md delete mode 100644 docs/execution/briefs/review-plan-07.md delete mode 100644 docs/execution/briefs/review-plan-09.md delete mode 100644 docs/execution/briefs/review-plan-11.md delete mode 100644 docs/execution/briefs/review-plan-15a-hosted.md delete mode 100644 docs/execution/briefs/review-plan-15a.md delete mode 100644 docs/execution/briefs/review-plan-16.md delete mode 100644 docs/execution/briefs/review-plan-20a.md create mode 100644 docs/guides/large-rpc-requests.mdx delete mode 100644 docs/research/europass/README.md delete mode 100644 docs/research/europass/artifacts/PROVENANCE.md delete mode 100644 docs/research/europass/artifacts/concept-one-page.png delete mode 100644 docs/research/europass/artifacts/one-page.svg delete mode 100644 docs/research/europass/artifacts/overflow-1.svg delete mode 100644 docs/research/europass/artifacts/overflow-2.svg delete mode 100644 docs/research/europass/artifacts/overflow-3.svg delete mode 100644 docs/research/europass/artifacts/reference-comparison.svg delete mode 100644 docs/research/europass/mapping.md delete mode 100644 docs/research/europass/synthetic-fixtures.json create mode 100644 docs/self-hosting/vercel.mdx delete mode 100644 docs/superpowers/plans/2026-07-28-semantic-css-stylesheet.md delete mode 100644 docs/superpowers/plans/2026-07-28-seo-aeo-performance.md delete mode 100644 docs/superpowers/plans/2026-07-28-seo-comparison-content-cluster.md delete mode 100644 docs/superpowers/plans/2026-07-29-semantic-css-reference-and-docs-generation.md delete mode 100644 docs/superpowers/plans/2026-08-13-implicit-social-signup.md delete mode 100644 docs/superpowers/plans/2026-09-05-cover-letter-library.md delete mode 100644 docs/superpowers/plans/2026-09-05-open-issue-audit.md delete mode 100644 docs/superpowers/specs/2026-07-28-semantic-css-stylesheet-design.md delete mode 100644 docs/superpowers/specs/2026-07-28-seo-aeo-performance-design.md delete mode 100644 docs/superpowers/specs/2026-07-28-seo-comparison-content-cluster-design.md delete mode 100644 docs/superpowers/specs/2026-07-29-semantic-css-reference-and-docs-generation-design.md delete mode 100644 docs/superpowers/specs/2026-07-30-semantic-css-complete-rename-design.md delete mode 100644 docs/superpowers/specs/2026-08-13-implicit-social-signup-design.md create mode 100644 packages/api/src/features/agent/cancellation.test.ts create mode 100644 packages/api/src/features/agent/cancellation.ts create mode 100644 packages/api/src/features/storage/blob.test.ts create mode 100644 packages/api/src/features/storage/blob.ts create mode 100644 packages/api/src/features/storage/transport.test.ts create mode 100644 packages/api/src/features/storage/transport.ts create mode 100644 packages/api/src/redis.test.ts create mode 100644 packages/api/src/redis.ts create mode 100644 packages/auth/src/config-lifecycle.test.ts create mode 100644 packages/auth/src/rate-limit.test.ts create mode 100644 packages/auth/src/rate-limit.ts create mode 100644 packages/db/src/redis.test.ts create mode 100644 packages/db/src/redis.ts create mode 100644 packages/env/src/deployment.test.ts create mode 100644 packages/env/src/deployment.ts delete mode 100644 packages/resume/CONTEXT.md delete mode 100644 plans/01-account-login-recovery.md delete mode 100644 plans/02-hosted-v4-account-recovery.md delete mode 100644 plans/03-mcp-registration.md delete mode 100644 plans/04-ai-provider-compatibility.md delete mode 100644 plans/05-ai-provider-migrations.md delete mode 100644 plans/06-image-storage-delivery.md delete mode 100644 plans/07-aio-deployment.md delete mode 100644 plans/08-root-public-resume.md delete mode 100644 plans/09-external-version-backup.md delete mode 100644 plans/10-legacy-link-routing.md delete mode 100644 plans/11-job-search-policy.md delete mode 100644 plans/12-preview-and-export-failures.md delete mode 100644 plans/13-font-glyph-and-spacing.md delete mode 100644 plans/14-rtl-export-layout.md delete mode 100644 plans/15-picture-fitting-and-style.md delete mode 100644 plans/16-imported-table-borders.md delete mode 100644 plans/17-list-and-skill-pagination.md delete mode 100644 plans/18-preview-export-geometry.md delete mode 100644 plans/19-literal-rich-text-whitespace.md delete mode 100644 plans/20-section-restoration.md delete mode 100644 plans/21-section-heading-visibility.md delete mode 100644 plans/22-skill-keyword-presentation.md delete mode 100644 plans/23-pagination-controls.md delete mode 100644 plans/24-date-layout.md delete mode 100644 plans/25-entry-company-logos.md delete mode 100644 plans/26-secondary-color.md delete mode 100644 plans/27-offline-fonts.md delete mode 100644 plans/28-basics-custom-styles.md delete mode 100644 plans/29-onyx-profile-header.md delete mode 100644 plans/30-ats-export-evaluation.md delete mode 100644 plans/31-document-accessibility.md delete mode 100644 plans/32-section-date-sorting.md delete mode 100644 plans/33-europass-template.md delete mode 100644 plans/34-gengar-skill-layout.md delete mode 100644 plans/35-resume-import-errors.md delete mode 100644 plans/DECISIONS.md delete mode 100644 plans/ORCHESTRATOR.md delete mode 100644 plans/PR-HANDOFF.md delete mode 100644 plans/README.md delete mode 100644 plans/inventory.json create mode 100644 tooling/deployment/smoke.mjs create mode 100644 vercel.json diff --git a/.env.example b/.env.example index 1587e32c4..cff7817cc 100644 --- a/.env.example +++ b/.env.example @@ -13,11 +13,17 @@ APP_URL="http://localhost:3000" # Unset or blank keeps the marketing home. Restart after changes. # ROOT_RESUME_ID= +# Vercel: APP_URL can be omitted; production uses VERCEL_PROJECT_PRODUCTION_URL. + # --- Database (PostgreSQL) --- # PostgreSQL connection URL. In Docker Compose, the hostname is usually `postgres`; # when running directly on your machine, `localhost` is typical. DATABASE_URL="postgresql://postgres:postgres@postgres:5432/postgres" +# Optional direct connection for migrations (Neon: DATABASE_URL_UNPOOLED alias). +# DATABASE_MIGRATION_URL="" +# DATABASE_POOL_MAX="10" + # When "true", the server refuses to boot if the live database schema has drifted from # the migration ledger (e.g. a table dropped outside migrations). Default "false" logs # the drift loudly at startup and continues. @@ -71,7 +77,15 @@ SMTP_FROM="Reactive Resume " SMTP_SECURE="false" # --- Storage (optional) --- -# If all S3 keys are disabled, the app uses local filesystem storage instead. +# Backend defaults to S3 when all credentials are present, otherwise local. +# Vercel defaults to private Blob. Explicit selection: local, s3, blob. +# STORAGE_BACKEND="local" +# BLOB_READ_WRITE_TOKEN="" +# BLOB_STORE_ID="" +# DEPLOYMENT_NAMESPACE="default" +# Vercel previews need isolated resources before setting ALLOW_PREVIEW_MIGRATIONS=true. + +# If all S3 keys are disabled, Docker uses local filesystem storage instead. # Make sure to mount this directory to a volume or the host filesystem to ensure data integrity. # LOCAL_STORAGE_PATH overrides where local uploads/cache are written. # Defaults to /app/data in the official Docker image; in dev, defaults to /data. @@ -86,7 +100,9 @@ S3_BUCKET="reactive-resume" S3_FORCE_PATH_STYLE="true" # --- AI Agent Workspace (optional) --- -# Required only for the authenticated /agent workspace and saved AI providers. +# Required for the authenticated /agent workspace and saved AI providers. +# Redis also shares rate limits, resume events, cancellation and view deduplication. +# Vercel Upstash KV_URL is accepted as an alias for REDIS_URL. REDIS_URL="redis://redis:6379" ENCRYPTION_SECRET="change-me-to-a-secure-agent-secret-in-production" diff --git a/.github/workflows/vercel.yml b/.github/workflows/vercel.yml new file mode 100644 index 000000000..6e5a3b5ef --- /dev/null +++ b/.github/workflows/vercel.yml @@ -0,0 +1,99 @@ +name: Vercel compatibility + +on: + pull_request: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + +jobs: + artifact: + runs-on: ${{ vars.CI_RUNNER_X64 || 'ubuntu-latest' }} + timeout-minutes: 20 + services: + postgres: + image: postgres:17-alpine + env: + POSTGRES_PASSWORD: postgres + ports: [5432:5432] + options: >- + --health-cmd "pg_isready -U postgres" + --health-interval 5s --health-timeout 5s --health-retries 10 + env: + APP_URL: http://localhost:3000 + DATABASE_URL: postgresql://postgres:postgres@localhost:5432/postgres + AUTH_SECRET: isolated-ci-auth-secret-32-characters + ENCRYPTION_SECRET: isolated-ci-encryption-secret-32-characters + REDIS_URL: redis://localhost:6379 + STORAGE_BACKEND: blob + BLOB_READ_WRITE_TOKEN: vercel_blob_rw_ci_fake_build_only + VERCEL: "1" + VERCEL_ENV: production + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v6 + with: + node-version-file: .nvmrc + cache: pnpm + - run: pnpm install --frozen-lockfile + # Local project settings avoid authentication and API calls. Forks receive no cloud credentials. + - name: Build Vercel artifact against isolated PostgreSQL + run: | + mkdir -p .vercel + node --input-type=module - <<'JS' + import { writeFileSync } from 'node:fs'; + writeFileSync('.vercel/project.json', JSON.stringify({ + projectId: 'prj_ci', orgId: 'team_ci', projectName: 'reactive-resume-ci', + settings: { framework: null, nodeVersion: '24.x', createdAt: 0 } + })); + JS + pnpm dlx --allow-build=esbuild vercel@60.0.1 build --prod --yes --global-config "$RUNNER_TEMP/vercel-offline" + - name: Check Lambda module loading and function budget + run: | + node --no-experimental-require-module --input-type=module - <<'JS' + import assert from 'node:assert/strict'; + import { readFileSync, readdirSync } from 'node:fs'; + const config = JSON.parse(readFileSync('.vercel/output/functions/api/index.func/.vc-config.json')); + assert.equal(config.runtime, 'nodejs24.x'); + assert.equal(config.maxDuration, 300); + const tracedFiles = Object.keys(config.filePathMap ?? {}); + assert.ok(tracedFiles.some((path) => path.endsWith('/pdfkit/js/standard-fonts/Helvetica.cjs'))); + assert.ok(tracedFiles.some((path) => path.endsWith('/pdfkit/js/data/Helvetica.afm'))); + for (const name of readdirSync('apps/server/dist')) { + if (name.endsWith('.mjs') && !['index.mjs', 'prepare-deployment.mjs'].includes(name)) { + await import(`./apps/server/dist/${name}`); + } + } + const { default: app } = await import('./apps/server/dist/vercel.mjs'); + const response = await app.fetch(new Request('http://localhost:3000/api/storage/stage', { method: 'POST', body: '{}' })); + assert.equal(response.status, 401); + process.exit(0); + JS + + live-smoke: + if: github.event_name == 'workflow_dispatch' + runs-on: ${{ vars.CI_RUNNER_X64 || 'ubuntu-latest' }} + environment: vercel-smoke + timeout-minutes: 10 + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + - uses: actions/setup-node@v6 + with: + node-version-file: .nvmrc + - name: Smoke-test dedicated deployment + env: + SMOKE_URL: ${{ vars.VERCEL_SMOKE_URL }} + SMOKE_AI_BASE_URL: ${{ vars.VERCEL_SMOKE_AI_BASE_URL }} + SMOKE_AI_API_KEY: ${{ secrets.VERCEL_SMOKE_AI_API_KEY }} + run: node tooling/deployment/smoke.mjs diff --git a/.vercelignore b/.vercelignore new file mode 100644 index 000000000..3e6877a7c --- /dev/null +++ b/.vercelignore @@ -0,0 +1,27 @@ +.env* +!.env.example +.git +.codegraph +.superpowers +.agents +.codex +.claude +.turbo +**/node_modules +**/dist +**/coverage +**/reports +data +apps/web/data +screenshots +.vercel +.wrangler +.tanstack +.worktrees +.migration +.supermemory +.cache +tmp +temp +**/test-results +**/playwright-report diff --git a/AGENTS.md b/AGENTS.md index dd5602124..9b2cc51a1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -30,11 +30,10 @@ Boundaries: code/commits/PRs written normal. ## Agent skills - Issues and specs: GitHub Issues for `reactive-resume/reactive-resume`. See `docs/agents/issue-tracker.md`. -- Domain docs use a multi-context layout. See `docs/agents/domain.md`. ## Overview -Reactive Resume is a pnpm monorepo (Turborepo) with two deployable apps: `apps/web` (TanStack Start / React 19 / Vite) and `apps/server` (Hono / Node.js). The production Docker image runs a single Node.js process on port 3000; `apps/server` mounts the API/auth/MCP/static routes and serves the built web app. +Reactive Resume is a pnpm monorepo (Turborepo) with two deployable apps: `apps/web` (React 19 SPA with TanStack Router and Vite) and `apps/server` (Hono / Node.js). The production Docker image runs a single Node.js process on port 3000; `apps/server` mounts the API/auth/MCP/static routes and serves the built web app. Internal packages are source-consumed through `package.json` export maps pointing at `src` files. Do not assume package-local `dist` output exists unless a package explicitly adds it. @@ -67,9 +66,10 @@ Narrow cross-cutting helpers go in `packages/utils` only after checking no domai ## Web app conventions - `apps/web/src/router.tsx` initializes router context with `queryClient`, `orpc`, `theme`, `locale`, `session`, and `flags`. Reuse route context instead of refetching these ad hoc. -- Builder shell: `apps/web/src/routes/builder/$resumeId`. Its nested preview route is client-only (`ssr: false`); the public resume route `apps/web/src/routes/$username/$slug.tsx` uses `ssr: "data-only"`. -- Browser-only preview code: `apps/web/src/features/resume/preview`. Public PDF viewer: `apps/web/src/features/resume/public`. Keep PDF.js/canvas/browser APIs out of SSR paths. -- Isomorphic oRPC client: `apps/web/src/libs/orpc/client.ts` — server calls use an in-process router client, browser calls use `/api/rpc` with credentials included. +- The web app is a client-rendered SPA. `apps/server` serves `index.html` and injects page metadata (OpenGraph, canonical, JSON-LD) in `apps/server/src/static/web.ts`; there is no React SSR. +- Builder shell: `apps/web/src/routes/builder/$resumeId`. Public resume route: `apps/web/src/routes/$username/$slug.tsx`. +- Browser-only preview code: `apps/web/src/features/resume/preview`. Public PDF viewer: `apps/web/src/features/resume/public`. Keep PDF.js/canvas code in these features, not in `packages/pdf`. +- oRPC client: `apps/web/src/libs/orpc/client.ts` calls `/api/rpc` with credentials included. `apps/web/src/libs/orpc/fetch.ts` stages large request bodies through Blob on Vercel. - For React components with explicit props, use a named props type (e.g. `type FooProps = {...}` with `function Foo(props: FooProps)`) rather than inline object annotations, especially with more than one field or with generics. ## Package boundaries diff --git a/CONTEXT-MAP.md b/CONTEXT-MAP.md deleted file mode 100644 index 24144802b..000000000 --- a/CONTEXT-MAP.md +++ /dev/null @@ -1,3 +0,0 @@ -# Domain contexts - -- [Resume](packages/resume/CONTEXT.md): authored resume content and presentation concepts shared by the builder and exporters. diff --git a/README.md b/README.md index 6250aaf16..a4d8187fd 100644 --- a/README.md +++ b/README.md @@ -165,7 +165,7 @@ For detailed setup instructions, environment configuration, and self-hosting gui | Category | Technology | | ---------------- | ------------------------------- | -| Framework | TanStack Start (React 19, Vite) | +| Framework | TanStack Router (React 19, Vite) | | Runtime | Node.js | | Language | TypeScript | | Database | PostgreSQL with Drizzle ORM | @@ -189,7 +189,13 @@ The full documentation lives at [docs.rxresu.me](https://docs.rxresu.me): ## Self-Hosting -Reactive Resume can be self-hosted using Docker. The stack includes: +Reactive Resume supports Docker and Vercel Hobby. + +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Freactive-resume%2Freactive-resume&project-name=reactive-resume&repository-name=reactive-resume&env=AUTH_SECRET%2CENCRYPTION_SECRET&envDescription=Generate+two+independent+secrets+with+openssl+rand+-hex+32.+Keep+these+values+across+deployments.&envLink=https%3A%2F%2Fdocs.rxresu.me%2Fself-hosting%2Fvercel&stores=%5B%7B%22type%22%3A%22integration%22%2C%22protocol%22%3A%22storage%22%2C%22integrationSlug%22%3A%22neon%22%2C%22productSlug%22%3A%22neon%22%7D%2C%7B%22type%22%3A%22integration%22%2C%22protocol%22%3A%22storage%22%2C%22integrationSlug%22%3A%22upstash%22%2C%22productSlug%22%3A%22upstash-kv%22%7D%2C%7B%22type%22%3A%22blob%22%2C%22access%22%3A%22private%22%7D%5D) + +Vercel provisions Neon PostgreSQL, private Blob storage, and Upstash Redis through its deployment wizard. Supply two persistent secrets, then deploy. See the [Vercel guide](docs/self-hosting/vercel.mdx) for setup, limits, and optional SMTP/OAuth configuration. + +For Docker, the stack includes: - **PostgreSQL** — Database for storing user data and resumes - **SeaweedFS** (optional) — S3-compatible storage for file uploads diff --git a/api/index.mjs b/api/index.mjs new file mode 100644 index 000000000..bb5ac4e79 --- /dev/null +++ b/api/index.mjs @@ -0,0 +1 @@ +export { default } from "../apps/server/dist/vercel.mjs"; diff --git a/apps/server/package.json b/apps/server/package.json index 541bbe570..421f7a0aa 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -58,6 +58,8 @@ "@sindresorhus/slugify": "^3.0.1", "@t3-oss/env-core": "^0.13.11", "@uiw/color-convert": "^2.10.3", + "@vercel/blob": "^2.8.0", + "@vercel/functions": "^3.9.9", "ai": "^7.0.107", "bcrypt": "^6.0.0", "better-auth": "1.7.5", @@ -70,6 +72,8 @@ "fast-json-patch": "^3.1.1", "fast-png": "^8.0.0", "hono": "^4.13.8", + "ioredis": "^6.0.0", + "jose": "^6.2.12", "jsonrepair": "^3.15.0", "node-html-parser": "^9.0.4", "nodemailer": "^10.0.10", diff --git a/apps/server/src/http/app.ts b/apps/server/src/http/app.ts index a53e56763..d554b7cda 100644 --- a/apps/server/src/http/app.ts +++ b/apps/server/src/http/app.ts @@ -3,6 +3,7 @@ import type { Context } from "hono"; import { isIP } from "node:net"; import { getConnInfo } from "@hono/node-server/conninfo"; import { Hono } from "hono"; +import { prepareStagedBody, withStagedBody } from "@reactive-resume/api/features/storage/transport"; import { handleMcp } from "../mcp/handler"; import { handleOpenApi } from "../openapi/handler"; import { @@ -33,8 +34,14 @@ const getTrustedClient = (context: Context): string => { } }; -export function createApp() { +type AppOptions = { + serveStatic?: boolean; + trustedClient?: (request: Request) => string; +}; + +export function createApp(options: AppOptions = {}) { const app = new Hono(); + const client = (c: Context) => options.trustedClient?.(c.req.raw) ?? getTrustedClient(c); app.use("/auth/*", async (c, next) => { await next(); @@ -44,15 +51,16 @@ export function createApp() { c.header("Cache-Control", "no-store"); }); - app.all("/api/rpc", (c) => handleRpc(c.req.raw, getTrustedClient(c))); - app.all("/api/rpc/*", (c) => handleRpc(c.req.raw, getTrustedClient(c))); - app.all("/api/openapi", (c) => handleOpenApi(c.req.raw, getTrustedClient(c))); - app.all("/api/openapi/*", (c) => handleOpenApi(c.req.raw, getTrustedClient(c))); + app.post("/api/storage/stage", (c) => prepareStagedBody(c.req.raw)); + app.all("/api/rpc", (c) => withStagedBody(c.req.raw, (request) => handleRpc(request, client(c)))); + app.all("/api/rpc/*", (c) => withStagedBody(c.req.raw, (request) => handleRpc(request, client(c)))); + app.all("/api/openapi", (c) => handleOpenApi(c.req.raw, client(c))); + app.all("/api/openapi/*", (c) => handleOpenApi(c.req.raw, client(c))); app.get("/api/auth/oauth", (c) => handleOAuth(c.req.raw)); app.all("/api/auth/*", (c) => handleAuth(c.req.raw)); app.get("/api/health", () => handleHealth()); app.get("/api/resumes/:username/:slug/pdf", (c) => - handlePublicResumePdf(c.req.raw, c.req.param("username"), c.req.param("slug"), getTrustedClient(c)), + handlePublicResumePdf(c.req.raw, c.req.param("username"), c.req.param("slug"), client(c)), ); app.get("/api/resumes/:id/pdf", (c) => handleResumePdfDownload(c.req.raw, c.req.param("id"))); app.get("/api/uploads/*", (c) => handleUpload(c.req.raw)); @@ -76,7 +84,7 @@ export function createApp() { // Must precede the static middleware: serveStatic resolves "/" to dist/index.html and would // return it verbatim, skipping the OpenGraph/Twitter/canonical/JSON-LD injection in handleWebApp. app.on(["GET", "HEAD"], "/", (c) => handleWebApp(c.req.raw)); - app.use("/*", serveWebDistStatic); + if (options.serveStatic !== false) app.use("/*", serveWebDistStatic); app.on(["GET", "HEAD"], "/*", (c) => handleWebApp(c.req.raw)); return app; diff --git a/apps/server/src/http/health.ts b/apps/server/src/http/health.ts index 4a044204f..d5ef04a5d 100644 --- a/apps/server/src/http/health.ts +++ b/apps/server/src/http/health.ts @@ -2,6 +2,7 @@ import { sql } from "drizzle-orm"; import { withTimeout } from "es-toolkit"; import { getStorageService } from "@reactive-resume/api/features/storage"; import { db } from "@reactive-resume/db/client"; +import { getRedis } from "@reactive-resume/db/redis"; import { appVersion } from "../app-version"; const HEALTHCHECK_TIMEOUT_MS = 1_500; @@ -32,13 +33,13 @@ async function runCheck(check: () => Promise): Promise { } } -function publicCheck(check: CheckResult, name: "Database" | "Storage"): CheckResult { +function publicCheck(check: CheckResult, name: "Database" | "Storage" | "Redis"): CheckResult { if (check.status === "healthy") return check; return { status: check.status, latencyMs: check.latencyMs, error: `${name} health check failed.`, - ...(check.type === "local" || check.type === "s3" ? { type: check.type } : {}), + ...(check.type === "local" || check.type === "s3" || check.type === "blob" ? { type: check.type } : {}), }; } @@ -51,8 +52,18 @@ async function checkDatabase() { const checkStorage = () => getStorageService().healthcheck(); export async function handleHealth() { - const [database, storage] = await Promise.all([runCheck(checkDatabase), runCheck(checkStorage)]); - const status = [database, storage].some((check) => check.status === "unhealthy") ? "unhealthy" : "healthy"; + const redisClient = getRedis(); + const [database, storage, redis] = await Promise.all([ + runCheck(checkDatabase), + runCheck(checkStorage), + redisClient + ? runCheck(async () => { + await redisClient.ping(); + return { status: "healthy" }; + }) + : undefined, + ]); + const status = [database, storage, redis].some((check) => check?.status === "unhealthy") ? "unhealthy" : "healthy"; const checks = { service: "reactive-resume", @@ -62,6 +73,7 @@ export async function handleHealth() { uptime: `${process.uptime().toFixed(2)}s`, database: publicCheck(database, "Database"), storage: publicCheck(storage, "Storage"), + ...(redis ? { redis: publicCheck(redis, "Redis") } : {}), }; if (status === "unhealthy") { diff --git a/apps/server/src/http/public-resume-pdf.ts b/apps/server/src/http/public-resume-pdf.ts index ae15ee156..4edd2d4d8 100644 --- a/apps/server/src/http/public-resume-pdf.ts +++ b/apps/server/src/http/public-resume-pdf.ts @@ -35,6 +35,7 @@ export async function handlePublicResumePdf( }); } catch (error) { const status = errorStatus(error); + if (status === 500) console.error("Public resume PDF generation failed", error); return noStoreResponse( status === 500 ? "Failed to generate public resume PDF" : "Public resume PDF unavailable", status, diff --git a/apps/server/src/index.test.ts b/apps/server/src/index.test.ts index 094ce6158..a05c6670e 100644 --- a/apps/server/src/index.test.ts +++ b/apps/server/src/index.test.ts @@ -16,6 +16,12 @@ vi.mock("./http/app", () => { }, }; }); +vi.mock("@reactive-resume/auth/config", () => ({ + initializeAuth: async () => { + await Promise.resolve(); + events.push("auth ready"); + }, +})); vi.mock("@hono/node-server", () => ({ serve: () => { events.push("server listening"); @@ -30,6 +36,6 @@ describe("server startup", () => { const entry = await import("./index"); expect(events).toEqual([]); await entry.main(); - expect(events).toEqual(["migrations complete", "auth imported", "app created", "server listening"]); + expect(events).toEqual(["migrations complete", "auth imported", "auth ready", "app created", "server listening"]); }); }); diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index b13631919..f2eb70ef7 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -6,9 +6,10 @@ import { runStartupChecks } from "./startup/checks"; export async function main() { await runStartupChecks(); - // OAuth resource seeding starts when auth is imported, so load the app only - // after migrations have created the provider tables. + // Load and initialize auth only after migrations have created the provider tables. const { createApp } = await import("./http/app"); + const { initializeAuth } = await import("@reactive-resume/auth/config"); + await initializeAuth(); // Safety net: Node 24 crashes the whole process on an unhandled rejection. One request's // stray promise must not take the server down for everyone, so log and keep serving. diff --git a/apps/server/src/prepare-deployment.ts b/apps/server/src/prepare-deployment.ts new file mode 100644 index 000000000..86f98780c --- /dev/null +++ b/apps/server/src/prepare-deployment.ts @@ -0,0 +1,20 @@ +import { initializeAuth } from "@reactive-resume/auth/config"; +import { getPool } from "@reactive-resume/db/client"; +import { env } from "@reactive-resume/env/server"; +import { runDatabaseMigrations } from "./startup/checks"; + +if (process.env.VERCEL_ENV === "preview" && process.env.ALLOW_PREVIEW_MIGRATIONS !== "true") { + throw new Error( + "Preview deployment needs an isolated database. Set ALLOW_PREVIEW_MIGRATIONS=true only after connecting one.", + ); +} + +if (process.env.VERCEL === "1") { + if (env.STORAGE_BACKEND !== "blob") + throw new Error("Vercel requires private Blob storage for direct uploads. Docker supports local, S3, and Blob."); + if (!env.REDIS_URL || !env.ENCRYPTION_SECRET) throw new Error("Vercel requires Redis and ENCRYPTION_SECRET."); +} +await runDatabaseMigrations(); + +await initializeAuth(); +await getPool().end(); diff --git a/apps/server/src/startup/checks.ts b/apps/server/src/startup/checks.ts index 078522c76..62afe3936 100644 --- a/apps/server/src/startup/checks.ts +++ b/apps/server/src/startup/checks.ts @@ -25,32 +25,46 @@ function resolveWorkspaceFolder(folderName: string): string { throw new Error(`Could not locate ${folderName} folder relative to ${resolveFromCurrentModule(".")}`); } -async function runDatabaseMigrations() { +export async function runDatabaseMigrations() { console.info("Running database migrations..."); - const pool = new Pool({ connectionString: env.DATABASE_URL }); - const db = drizzle({ client: pool }); + const pool = new Pool({ + connectionString: env.DATABASE_MIGRATION_URL ?? env.DATABASE_URL, + max: 1, + connectionTimeoutMillis: 10_000, + }); try { + const client = await pool.connect(); try { - await migrate(db, { migrationsFolder: resolveWorkspaceFolder("migrations") }); - console.info("Database migrations completed"); - } catch (error) { - console.error("Database migrations failed", { error }); - throw error; - } + await client.query("SELECT pg_advisory_lock(721830451)"); + const db = drizzle({ client }); + try { + await migrate(db, { migrationsFolder: resolveWorkspaceFolder("migrations") }); + console.info("Database migrations completed"); + } catch (error) { + console.error("Database migrations failed", { error }); + throw error; + } - // Post-migration verification is not a migration failure, so it gets its own log - // message. A drifted schema still lets the server boot; STRICT_SCHEMA_CHECK=true - // makes the drift fatal instead. - try { - await verifyMigratedSchema(pool); - } catch (error) { - console.error("Database schema verification failed", { error }); - if (env.STRICT_SCHEMA_CHECK) throw error; - console.error( - "Continuing with a drifted database schema; set STRICT_SCHEMA_CHECK=true to refuse startup instead.", - ); + // Post-migration verification is not a migration failure, so it gets its own log + // message. A drifted schema still lets the server boot; STRICT_SCHEMA_CHECK=true + // makes the drift fatal instead. + try { + await verifyMigratedSchema(client); + } catch (error) { + console.error("Database schema verification failed", { error }); + if (env.STRICT_SCHEMA_CHECK) throw error; + console.error( + "Continuing with a drifted database schema; set STRICT_SCHEMA_CHECK=true to refuse startup instead.", + ); + } + } finally { + try { + await client.query("SELECT pg_advisory_unlock(721830451)"); + } finally { + client.release(); + } } } finally { await pool.end(); @@ -58,7 +72,7 @@ async function runDatabaseMigrations() { } async function validateLocalStoragePath() { - if (env.S3_ACCESS_KEY_ID && env.S3_SECRET_ACCESS_KEY && env.S3_BUCKET) return; + if (env.STORAGE_BACKEND !== "local") return; const dataDirectory = getLocalDataDirectory(env.LOCAL_STORAGE_PATH); console.info(`Validating local storage path: ${dataDirectory}`); diff --git a/apps/server/src/vercel.test.ts b/apps/server/src/vercel.test.ts new file mode 100644 index 000000000..f11279a46 --- /dev/null +++ b/apps/server/src/vercel.test.ts @@ -0,0 +1,99 @@ +import { beforeEach, describe, expect, it, vi } from "vitest"; +import { TRUSTED_IP_HEADERS } from "@reactive-resume/utils/rate-limit"; + +const mocks = vi.hoisted(() => ({ + ipAddress: vi.fn<(request: Request) => string | undefined>(), + waitUntil: vi.fn(), + initializeAuth: vi.fn(), + attachDatabasePool: vi.fn(), + configureAgentStreamLifetime: vi.fn(), + pool: {}, + getPool: vi.fn(), + createApp: + vi.fn< + (options: { serveStatic: boolean; trustedClient: (request: Request) => string }) => { + fetch: (request: Request) => Promise; + } + >(), + handle: vi.fn<(request: Request) => Promise>(), +})); + +vi.mock("@vercel/functions", () => ({ + ipAddress: mocks.ipAddress, + waitUntil: mocks.waitUntil, + attachDatabasePool: mocks.attachDatabasePool, +})); +vi.mock("@reactive-resume/api/features/agent/streams", () => ({ + configureAgentStreamLifetime: mocks.configureAgentStreamLifetime, +})); +vi.mock("@reactive-resume/auth/config", () => ({ initializeAuth: mocks.initializeAuth })); +vi.mock("@reactive-resume/db/client", () => ({ getPool: mocks.getPool })); +vi.mock("./http/app", () => ({ createApp: mocks.createApp })); + +function spoofedRequest() { + return new Request("https://resume.test/api/rpc?batch=1", { + method: "POST", + body: "original RPC body", + headers: { + ...Object.fromEntries(TRUSTED_IP_HEADERS.map((header) => [header, "192.0.2.66"])), + "x-forwarded-for": "192.0.2.66, 192.0.2.77", + cookie: "session=original", + authorization: "Bearer original", + "content-type": "application/json", + }, + }); +} + +beforeEach(() => { + vi.resetModules(); + vi.clearAllMocks(); + mocks.getPool.mockReturnValue(mocks.pool); + mocks.handle.mockResolvedValue(new Response("handled")); + mocks.createApp.mockReturnValue({ fetch: mocks.handle }); +}); + +describe("Vercel adapter", () => { + it("registers platform lifetime hooks and disables filesystem static serving", async () => { + await import("./vercel"); + expect(mocks.configureAgentStreamLifetime).toHaveBeenCalledExactlyOnceWith(mocks.waitUntil); + expect(mocks.attachDatabasePool).toHaveBeenCalledExactlyOnceWith(mocks.pool); + expect(mocks.createApp).toHaveBeenCalledExactlyOnceWith({ + serveStatic: false, + trustedClient: expect.any(Function), + }); + }); + + it.each(["203.0.113.9", "2001:db8::9"])("replaces all spoofed IP headers with platform IP %s", async (ip) => { + mocks.ipAddress.mockReturnValue(ip); + const { default: adapter } = await import("./vercel"); + const request = spoofedRequest(); + expect(await (await adapter.fetch(request)).text()).toBe("handled"); + expect(mocks.ipAddress).toHaveBeenCalledExactlyOnceWith(request); + const forwarded = mocks.handle.mock.calls[0]?.[0]; + if (!forwarded) throw new Error("Expected forwarded request"); + for (const header of TRUSTED_IP_HEADERS) { + const expected = ["x-real-ip", "x-forwarded-for"].includes(header.toLowerCase()) ? ip : null; + expect(forwarded.headers.get(header)).toBe(expected); + } + expect(mocks.createApp.mock.calls[0]?.[0].trustedClient(forwarded)).toBe(ip); + expect(forwarded.url).toBe(request.url); + expect(forwarded.method).toBe("POST"); + expect(await forwarded.text()).toBe("original RPC body"); + expect(forwarded.headers.get("cookie")).toBe("session=original"); + expect(forwarded.headers.get("authorization")).toBe("Bearer original"); + expect(forwarded.headers.get("content-type")).toBe("application/json"); + }); + + it.each([undefined, "", "invalid-ip", "203.0.113.9, 192.0.2.66"])( + "clears attacker headers when platform IP is missing or invalid: %s", + async (ip) => { + mocks.ipAddress.mockReturnValue(ip); + const { default: adapter } = await import("./vercel"); + await adapter.fetch(spoofedRequest()); + const forwarded = mocks.handle.mock.calls[0]?.[0]; + if (!forwarded) throw new Error("Expected forwarded request"); + for (const header of TRUSTED_IP_HEADERS) expect(forwarded.headers.has(header)).toBe(false); + expect(mocks.createApp.mock.calls[0]?.[0].trustedClient(forwarded)).toBe("unknown"); + }, + ); +}); diff --git a/apps/server/src/vercel.ts b/apps/server/src/vercel.ts new file mode 100644 index 000000000..dbc39ad88 --- /dev/null +++ b/apps/server/src/vercel.ts @@ -0,0 +1,29 @@ +import { isIP } from "node:net"; +import { attachDatabasePool, ipAddress, waitUntil } from "@vercel/functions"; +import { configureAgentStreamLifetime } from "@reactive-resume/api/features/agent/streams"; +import { initializeAuth } from "@reactive-resume/auth/config"; +import { getPool } from "@reactive-resume/db/client"; +import { TRUSTED_IP_HEADERS } from "@reactive-resume/utils/rate-limit"; +import { createApp } from "./http/app"; + +configureAgentStreamLifetime(waitUntil); +attachDatabasePool(getPool()); +const app = createApp({ + serveStatic: false, + trustedClient: (request) => request.headers.get("x-real-ip") ?? "unknown", +}); + +export default { + async fetch(request: Request) { + await initializeAuth(); + const ip = ipAddress(request); + const headers = new Headers(request.headers); + for (const name of TRUSTED_IP_HEADERS) headers.delete(name); + headers.delete("x-real-ip"); + if (ip && isIP(ip)) { + headers.set("x-real-ip", ip); + headers.set("x-forwarded-for", ip); + } + return app.fetch(new Request(request, { headers })); + }, +}; diff --git a/apps/server/tsdown.config.ts b/apps/server/tsdown.config.ts index 254870bc8..bf7d7c8b2 100644 --- a/apps/server/tsdown.config.ts +++ b/apps/server/tsdown.config.ts @@ -8,8 +8,35 @@ const rootPackageJson = JSON.parse(readFileSync(new URL("../../package.json", im version?: string; }; +// Lambda disables require(ESM) and uses stricter CJS export detection than standalone Node. +const bundledInteropPackages = new Set([ + "@uiw/color-convert", + "@babel/runtime", + "sanitize-html", + "htmlparser2", + "domhandler", + "domutils", + "domelementtype", + "dom-serializer", + "entities", + "deepmerge", + "escape-string-regexp", + "is-plain-object", + "parse-srcset", + "postcss", + "nanoid", + "picocolors", + "source-map-js", + "launder", + "dayjs", +]); + const shouldExternalizeThirdParty = (id: string) => { - if (id.startsWith("@reactive-resume/")) return false; + const packageName = id + .split("/") + .slice(0, id.startsWith("@") ? 2 : 1) + .join("/"); + if (id.startsWith("@reactive-resume/") || bundledInteropPackages.has(packageName)) return false; if (id.startsWith("@/") || id.startsWith(".") || id.startsWith("/") || id.startsWith("\0")) return false; return true; @@ -33,7 +60,9 @@ const promptAssetsPlugin: TsdownPlugin = { }; export default defineConfig({ - entry: { index: "src/index.ts" }, + entry: { index: "src/index.ts", vercel: "src/vercel.ts", "prepare-deployment": "src/prepare-deployment.ts" }, + // Keep import.meta.url-based asset lookup adjacent to the entrypoints. + outputOptions: { chunkFileNames: "[name]-[hash].mjs" }, format: "esm", platform: "node", target: "node24", @@ -47,7 +76,7 @@ export default defineConfig({ suppressWarnings: [/dynamic import will not move module into another chunk/], outExtensions: () => ({ js: ".mjs" }), deps: { - alwaysBundle: [/^@reactive-resume\//], + alwaysBundle: [/^@reactive-resume\//, ...bundledInteropPackages], neverBundle: shouldExternalizeThirdParty, }, plugins: [promptAssetsPlugin], diff --git a/apps/web/src/libs/orpc/client.ts b/apps/web/src/libs/orpc/client.ts index 22d294090..cfe76df00 100644 --- a/apps/web/src/libs/orpc/client.ts +++ b/apps/web/src/libs/orpc/client.ts @@ -4,6 +4,7 @@ import { createORPCClient, onError } from "@orpc/client"; import { RPCLink } from "@orpc/client/fetch"; import { BatchLinkPlugin } from "@orpc/client/plugins"; import { createTanstackQueryUtils } from "@orpc/tanstack-query"; +import { rpcFetch } from "./fetch"; const getRpcUrl = () => { if (typeof window === "undefined") return "http://localhost:3000/api/rpc"; @@ -13,7 +14,7 @@ const getRpcUrl = () => { export const client: RouterClient = createORPCClient( new RPCLink({ url: getRpcUrl(), - fetch: (request, init) => fetch(request, { ...init, credentials: "include" }), + fetch: rpcFetch, plugins: [ new BatchLinkPlugin({ mode: "streaming", @@ -32,7 +33,7 @@ export const client: RouterClient = createORPCClient( export const streamClient: RouterClient = createORPCClient( new RPCLink({ url: getRpcUrl(), - fetch: (request, init) => fetch(request, { ...init, credentials: "include" }), + fetch: rpcFetch, interceptors: [ onError((error) => { if (error instanceof DOMException && error.name === "AbortError") return; diff --git a/apps/web/src/libs/orpc/fetch.test.ts b/apps/web/src/libs/orpc/fetch.test.ts new file mode 100644 index 000000000..2f07319ce --- /dev/null +++ b/apps/web/src/libs/orpc/fetch.test.ts @@ -0,0 +1,92 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +const fetchMock = vi.fn(); +const rpcUrl = "https://resume.test/api/rpc/storage/uploadFile?batch=1"; +const contentType = "multipart/form-data; boundary=original-boundary"; +const largeBody = new Uint8Array(5 * 1024 * 1024).fill(173); + +function queueStaging() { + fetchMock + .mockResolvedValueOnce(Response.json({ id: "upload-1", url: "https://blob.test/signed-put" })) + .mockResolvedValueOnce(new Response("uploaded")) + .mockResolvedValueOnce(new Response("rpc-result")); +} + +beforeEach(() => { + vi.resetModules(); + fetchMock.mockReset(); + vi.stubGlobal("fetch", fetchMock); +}); + +afterEach(() => vi.unstubAllGlobals()); + +describe("RPC fetch", () => { + it("sends small requests directly with their body and headers", async () => { + fetchMock.mockResolvedValue(new Response("ok")); + const { rpcFetch } = await import("./fetch"); + await rpcFetch(rpcUrl, { method: "POST", body: "original bytes", headers: { "x-example": "preserved" } }); + expect(fetchMock).toHaveBeenCalledTimes(1); + const [url, sent = {}] = fetchMock.mock.calls[0] ?? []; + expect(url).toBe(rpcUrl); + // Plain bytes (not a stream or Blob) keep the body inspectable and avoid duplex streaming. + expect(sent.body).toBeInstanceOf(ArrayBuffer); + expect(new TextDecoder().decode(sent.body as ArrayBuffer)).toBe("original bytes"); + expect(new Headers(sent.headers).get("x-example")).toBe("preserved"); + expect(sent.credentials).toBe("include"); + }); + + it("uploads large wire bytes to Blob, then sends a tiny reference to the original RPC", async () => { + queueStaging(); + const { rpcFetch } = await import("./fetch"); + const result = await rpcFetch( + new Request(rpcUrl, { + method: "POST", + body: largeBody, + headers: { "content-type": contentType, "x-example": "preserved" }, + }), + ); + expect(await result.text()).toBe("rpc-result"); + expect(fetchMock).toHaveBeenCalledTimes(3); + const [prepareUrl, preparation] = fetchMock.mock.calls[0] ?? []; + expect(prepareUrl).toBe("/api/storage/stage"); + expect(JSON.parse(preparation?.body as string)).toEqual({ + path: "/api/rpc/storage/uploadFile?batch=1", + contentType, + size: largeBody.length, + }); + const [uploadUrl, upload] = fetchMock.mock.calls[1] ?? []; + expect(uploadUrl).toBe("https://blob.test/signed-put"); + expect(upload?.method).toBe("PUT"); + expect(Buffer.from(upload?.body as ArrayBuffer).equals(Buffer.from(largeBody))).toBe(true); + const [finalUrl, finalRequest] = fetchMock.mock.calls[2] ?? []; + expect(finalUrl).toBe(rpcUrl); + expect(finalRequest?.body).toBeUndefined(); + expect(finalRequest?.credentials).toBe("include"); + const headers = new Headers(finalRequest?.headers); + expect(headers.get("x-resume-staged-body")).toBe("upload-1"); + expect(headers.get("content-type")).toBe(contentType); + expect(headers.get("x-example")).toBe("preserved"); + }); + + it("sends large requests directly once staging is unavailable on Docker", async () => { + fetchMock.mockResolvedValueOnce(new Response("Not Found", { status: 404 })).mockResolvedValue(new Response("ok")); + const { rpcFetch } = await import("./fetch"); + await rpcFetch(rpcUrl, { method: "POST", body: largeBody }); + await rpcFetch(rpcUrl, { method: "POST", body: largeBody }); + expect(fetchMock).toHaveBeenCalledTimes(3); + for (const call of [fetchMock.mock.calls[1], fetchMock.mock.calls[2]]) { + const [url, sent = {}] = call ?? []; + expect(url).toBe(rpcUrl); + expect(Buffer.from(sent.body as ArrayBuffer).equals(Buffer.from(largeBody))).toBe(true); + } + }); + + it("does not dispatch the RPC when preparation fails", async () => { + fetchMock.mockResolvedValueOnce(new Response("Unavailable", { status: 503 })); + const { rpcFetch } = await import("./fetch"); + await expect( + rpcFetch(rpcUrl, { method: "POST", body: largeBody, headers: { "content-type": contentType } }), + ).rejects.toThrow(); + expect(fetchMock).toHaveBeenCalledTimes(1); + }); +}); diff --git a/apps/web/src/libs/orpc/fetch.ts b/apps/web/src/libs/orpc/fetch.ts new file mode 100644 index 000000000..be560cdf9 --- /dev/null +++ b/apps/web/src/libs/orpc/fetch.ts @@ -0,0 +1,49 @@ +let stagingUnavailable = false; + +/** Large RPC bodies bypass the hosting ingress limit while retaining their original wire format. */ +export async function rpcFetch(input: RequestInfo | URL, init?: RequestInit): Promise { + const request = new Request(input, { ...init, credentials: "include" }); + if (request.method !== "POST") return fetch(request); + // Buffer as bytes: a teed stream needs duplex mode, and a Blob body is not visible to DevTools/CDP. + const body = await request.arrayBuffer(); + const sendDirect = () => + fetch(request.url, { + method: "POST", + headers: request.headers, + body, + credentials: "include", + signal: request.signal, + }); + if (stagingUnavailable || body.byteLength < 3 * 1024 * 1024) return sendDirect(); + + const url = new URL(request.url); + const prepared = await fetch("/api/storage/stage", { + method: "POST", + credentials: "include", + signal: request.signal, + headers: { "content-type": "application/json" }, + body: JSON.stringify({ + path: `${url.pathname}${url.search}`, + contentType: request.headers.get("content-type"), + size: body.byteLength, + }), + }); + // Docker has no staging endpoint; send large bodies directly from now on. + if (prepared.status === 404) { + stagingUnavailable = true; + return sendDirect(); + } + if (!prepared.ok) throw new Error(`Could not prepare upload (${prepared.status}). Please retry.`); + const stage = (await prepared.json()) as { id: string; url: string }; + const uploaded = await fetch(stage.url, { + method: "PUT", + body, + headers: { "content-type": "application/octet-stream" }, + signal: request.signal, + }); + if (!uploaded.ok) throw new Error(`Upload failed (${uploaded.status}). Please retry.`); + const headers = new Headers(request.headers); + headers.set("x-resume-staged-body", stage.id); + headers.delete("content-length"); + return fetch(request.url, { method: request.method, headers, credentials: "include", signal: request.signal }); +} diff --git a/docs/.mintignore b/docs/.mintignore deleted file mode 100644 index f4bf8244b..000000000 --- a/docs/.mintignore +++ /dev/null @@ -1,2 +0,0 @@ -# Internal issue audit, reviewed in the repository and pull request. -superpowers/plans/2026-09-05-open-issue-audit.md diff --git a/docs/adr/0001-workspace-boundaries.md b/docs/adr/0001-workspace-boundaries.md deleted file mode 100644 index 511773d7b..000000000 --- a/docs/adr/0001-workspace-boundaries.md +++ /dev/null @@ -1,44 +0,0 @@ -# ADR 0001: Workspace Boundaries - -## Status - -Accepted - -## Context - -Reactive Resume had package and app code arranged mostly by technical layer. Some server runtime code imported files from the web app source tree, resume-domain behavior lived in generic utilities, API implementation was split across package-root routers/services/helpers, and browser PDF preview code sat near React PDF generation code. - -That made debugging harder because a feature's route, service, domain behavior, tests, and runtime adapter could be spread across unrelated folders. It also made package boundaries implicit, so regressions such as app-to-app source imports were easy to reintroduce. - -## Decision - -Use a domain-first monorepo structure with executable boundaries. - -- Keep deployable apps in `apps/web` and `apps/server`. -- Keep runtime and domain capabilities in focused internal packages. -- Source-consume internal packages through package export maps. -- Forbid cross-workspace private `src` imports and repository-path imports. -- Use `packages/api/src/features/*` for API features instead of root technical-layer folders. -- Use explicit browser/server package subpaths for runtime-specific code. -- Enforce package direction with `turbo boundaries`. -- Enforce source-path import rules with Biome `noRestrictedImports` and the local GritQL plugin in `tooling/grit/no-cross-workspace-src-imports.grit`. - -## Consequences - -New code needs an owner before it gets a folder. That adds a little up-front friction, but it makes debugging paths predictable. - -Feature-owned API modules can still share code, but shared code needs a named capability and an intentional package export. - -The Turbo tag set is coarse by design. It blocks the current high-risk edges first: package-to-app imports, server-to-browser runtime imports, and universal/domain packages depending on server/app layers. More granular rules can be added as package roles settle. - -The root shared Vitest config remains an intentionally ignored boundary edge for now. Moving it behind a package export is a separate test-infrastructure cleanup. - -## Rejected Alternatives - -Keep the old technical-layer API layout: rejected because it kept feature behavior split across routers, services, and helpers. - -Move every web feature into packages: rejected because route-owned UI and browser-only behavior are easier to evolve inside the web app until they are genuinely reusable. - -Put PDF.js viewer code in `packages/pdf`: rejected because `packages/pdf` owns React PDF generation, while PDF.js viewer/canvas behavior is browser UI. - -Use documentation-only boundaries: rejected because the previous issue was not lack of intent; it was lack of executable enforcement. diff --git a/docs/adr/0002-agent-ai-sdk-adoption.md b/docs/adr/0002-agent-ai-sdk-adoption.md deleted file mode 100644 index 12bd63589..000000000 --- a/docs/adr/0002-agent-ai-sdk-adoption.md +++ /dev/null @@ -1,111 +0,0 @@ -# ADR 0002: Agent AI SDK Adoption - -## Status - -Proposed - -## Context - -The `/agent` workspace (and the builder's in-resume assistant) is a single `ToolLoopAgent` loop in `packages/api/src/features/agent/service.ts` with four tools, resumable Redis streams, Postgres-persisted `UIMessage` history, and snapshot-based undo. - -LangGraph was evaluated and rejected: everything it would add (loop control, persistence, resumability, interrupts) is already built here on the AI SDK. This work instead adopts more of the AI SDK v7 surface (`ai@7.0.66`, already installed) to fix real defects and add the features it makes cheap, plus shadcn's `@shadcn/helpers` ai-sdk fixture library (a deterministic scripted `ChatTransport` for `useChat` — a testing harness, not a runtime HITL implementation) for backend-free UI tests. - -Defects driving this: - -1. Unbounded context growth — every turn replays the full thread, including every full-resume `read_resume` dump; long threads will exceed model context and permanently break. -2. Stale-resume editing — `apply_resume_patch` returns only metadata; subsequent JSON Patch array indexes can silently target wrong items after removes/moves. -3. Crash-unsafe runs — patches commit immediately but the assistant message persists only in `onFinish`; process death orphans applied edits; a stuck `activeRunId` (no reaper; `activeRunStartedAt` written, never read) permanently CONFLICTs the thread. -4. Client-trusted cancellation — `messages.stop` persists a client-authored `partialMessage`. -5. Weak validation — `isUiMessage` checks three fields; arbitrary `parts` get persisted and replayed. -6. No run guards — no timeout, `maxRetries`, or `maxOutputTokens` on the run. -7. Invisible tool activity — `tool-read_resume`/`read_attachment`/`web_search`/`dynamic-tool` parts render as nothing; the patch card is a raw `JSON.stringify` dump; zero token-usage visibility. -8. Latent bug found during design: on an `ask_user_question` continuation, `toUIMessageStream({originalMessages})` continues the existing assistant message (same `uiMessage.id`) but `persistMessage` is insert-only, producing duplicate rows sharing one message id. Fixed by the Phase 1 upsert; regression-tested. - -Verified API surface from published `ai@7.0.66` and `@ai-sdk/react@4.0.69` typings and docs: `prepareStep` and `pruneMessages`; tool-level `needsApproval`, call-level `toolApproval`, `experimental_toolApprovalSecret` (HMAC-signs approval requests); UIMessage tool-part states `approval-requested`/`approval-responded`/`output-denied`; `lastAssistantMessageIsCompleteWithApprovalResponses`; `useChat().addToolApprovalResponse`; `validateUIMessages`/`safeValidateUIMessages`; `repairToolCall`; tool `inputExamples` plus `addToolInputExamplesMiddleware`; `messageMetadata` on `toUIMessageStream` (plus `messageMetadataSchema` on `useChat`); `onStepEnd`; `ToolLoopAgentSettings` extends `LanguageModelCallOptions` so `timeout`/`maxOutputTokens`/`maxRetries` are valid in the constructor; `smoothStream` passed as `agent.stream({ experimental_transform })`; `useChat` `throttle`; `isStepCount`; `InferAgentUIMessage`; `LanguageModelUsage` with cache read/write detail; `totalUsage` on finish events. - -Constraints the implementation must respect: - -- `getAgentModel` silently switches to the OpenAI Responses API for direct-OpenAI web-search models — every model-facing change is QA'd on both a Responses and a chat-completions provider. -- Abort reasons must be `DOMException(label, "AbortError")`; `AbortSignal.timeout()`/`AbortSignal.any()` produce `TimeoutError` and would crash the resumable-stream pump, so the run timeout uses `setTimeout` plus `controller.abort(abortReason("RUN_TIMEOUT"))`. -- The `activeRunControllers` map is single-process; multi-process abort (Redis pub/sub) is explicitly out of scope. -- `service.test.ts` mocks the whole `"ai"` module with a closed factory and scripts DB queries positionally; the test harness is migrated first (Phase 1.0). -- Shared contracts live in `packages/ai` (runtime-universal per ADR 0001): zod-only runtime, `import type` from `"ai"` only, with `ai` added to devDependencies. -- No new environment variables anywhere in this plan (the approval secret derives from `ENCRYPTION_SECRET`), so `turbo.json` `globalEnv` stays untouched. -- `resumeService.patchInTransaction` already accepts `expectedUpdatedAt` and throws `RESUME_VERSION_CONFLICT`; the agent tool just passes it. -- Legacy persisted rows must never hard-fail: validation happens only at the network boundary (schema-less), and the metadata schema is loose and optional. -- Lingui macros for all new user-facing copy; Base UI `render` prop (no Radix `asChild`); `cn` from `@reactive-resume/utils/style`; toasts via `toast.add`. - -## Decision - -Adopt the AI SDK v7 surface in three phases on top of the existing loop, rather than introducing a graph framework. - -### Phase 1 — correctness - -Order: 1.0 → 1.1 → 1.2 → 1.3 → 1.4 → 1.5 → 1.6 (spine: 1.3 → 1.4 → 1.5; 1.6 last because it changes model-visible behavior). - -- **1.0 Test-harness prep (no behavior change).** Replace the closed `vi.mock("ai")` factory with a spread-actual factory so pure helpers (`isStepCount`, `safeValidateUIMessages`, `pruneMessages`, `JsonToSseTransformStream`) stay real and only the scripted seams (`convertToModelMessages`, `ToolLoopAgent`) stay mocked. Adopt the rule that new DB queries on the send path go into separate injectable modules (the `runs.ts` pattern) and are module-mocked wholesale. Gate: suite green with zero source changes. -- **1.1 Run guards, snapshot consistency, misc.** `createAgent` adds `maxOutputTokens: 8_192`, `maxRetries: 2`, `timeout: 120_000` (per provider request). Whole-run wall clock: after run claim, `setTimeout(() => controller.abort(abortReason("RUN_TIMEOUT")), 600_000)`, handle stored in a module map keyed by runId and cleared in `cleanupActiveRun`. `applyResumePatch` passes `expectedUpdatedAt` to `patchInTransaction` and rethrows `RESUME_VERSION_CONFLICT` as a recoverable tool error. `readAttachment` uses a named `MAX_ATTACHMENT_TEXT_CHARS` constant. -- **1.2 Real message validation at the send boundary.** Keep `isUiMessage` as the sync oRPC gate; inside `messages.send`, run `safeValidateUIMessages({ messages: [input.message] })` before `claimActiveAgentRun` and return BAD_REQUEST on failure. Deliberately schema-less so provider-echoed parts pass and replayed history is never re-validated. -- **1.3 Crash-safe incremental persistence (draft row).** New `messages-persistence.ts` (injectable DB): `applyStepToUiMessage` (pure fold), `insertDraftAssistantMessage`, `upsertAssistantUiMessage` (by row id, then by `uiMessage->>'id'`, then insert), `deleteDraftIfEmpty`. The service pre-generates the response message id, inserts a draft before `agent.stream`, folds and upserts on `onStepEnd` (≤30 writes/run), and upserts the SDK's authoritative message with `completed|canceled` in `onFinish`. `apply_resume_patch` threads `toolCallId` through and sets `agentAction.messageId` at INSERT time. The upsert also fixes the duplicate-row continuation bug (defect 8). -- **1.4 Server-side cancellation.** `messages.stop` drops `partialMessage` persistence; the body aborts with `abortReason("USER_STOPPED")`, clears the timeout handle, and clears the run claim. Partial content persists server-side via `onFinish({isAborted: true})`. The router keeps `partialMessage` in the input schema for one release (deprecated, ignored). -- **1.5 Stale-run reaper.** `STALE_AGENT_RUN_TTL_MS = 15 * 60_000` (greater than the run timeout, so live runs always die by their own timeout first; deliberately TTL-only and multi-replica-safe). Wired at server boot, lazily in `messages.send` before the CONFLICT throw, and at the top of `threads.get`. Reap conditionally clears run columns and flips `streaming` draft rows to `canceled`, appending synthetic `tool-apply_resume_patch` parts rebuilt from action rows so replayed history stays provider-valid. Applied actions stay applied — they are real committed edits, individually revertable. -- **1.6 Context growth: fresh-document patch output plus pruning.** `applyResumePatch` returns the full post-patch document plus `changedPaths`, with a tool description telling the model to base further patches on it. New pure `context.ts`: `AGENT_CONTEXT_TOKEN_BUDGET = 40_000`, `estimateTokenCount` (chars/4), `pruneAgentModelContext`. `createAgent` gains `prepareStep` wiring so pruning runs every loop step. - -Pruning tiers (all pure, wired via `prepareStep`): - -- Tier 0, always: supersede resume snapshots — every `read_resume` result and every patch result's embedded `resume` except the last in the conversation becomes a stub note. A stale snapshot is actively harmful (shifted indexes), so this runs even in short threads; exactly one full snapshot survives, positioned where the model last acted. -- Tier 1, over budget: strip reasoning from all but the last assistant message. -- Tier 2, still over: collapse oldest tool call/result pairs (never orphan one side — several BYOK gateways reject unpaired tool messages) into one-line stubs, excluding the last assistant message, unresolved question/approval parts, and the surviving snapshot. -- Tier 3, last resort: attachment parts on non-latest user messages become stubs teaching the `read_attachment` recovery path. -- Never pruned: instructions, latest user message, last assistant message, unresolved interactive parts. - -Full-document patch output was chosen over a `prepareStep`-injected "current resume" reminder because a reminder re-sends a snapshot every step, defeats provider prompt caching, and splits authority into two places; a summarized view invites hallucination and forces a `read_resume` round-trip per edit against a 30-step cap. Output plus Tier 0 bounds cost: N patches do not produce N surviving snapshots. - -### Phase 2 — human-in-the-loop approvals - -Order: 2.1 contracts → 2.2 migration/endpoint → 2.3 tool+secret → 2.4 merge/continuation → 2.5 UI → 2.6 tests. - -- **2.1 Shared typed tool contracts in `packages/ai`.** New `agent-tool-contracts.ts` with zod schemas for tool inputs/outputs and a loose all-optional message metadata schema, plus `AgentTools`/`AgentUIMessage` types. `"ai"` goes in devDependencies, `import type` only; zod stays the only runtime import. -- **2.2 Migration plus thread setting.** `reviewPatches: boolean, default false` on `agentThread` (the plan's only migration), a `threads.update` procedure, and the flag in `toThreadSummary`. Auto-apply stays the default. -- **2.3 `needsApproval` plus HMAC secret.** `getAgentToolApprovalSecret()` derives `sha256(ENCRYPTION_SECRET + ":agent-tool-approval")` — domain-separated from the AES key, no new env var, and deterministic so a signature minted at halt verifies at continuation even across a restart. `buildAgentTools` gains `requirePatchApproval`; `createAgent` reads `thread.reviewPatches` and passes `experimental_toolApprovalSecret`. -- **2.4 Merge generalization plus continuation.** Extract the tool-response merge into `messages-merge.ts` as `mergeClientToolResponses`, handling both `ask_user_question` outputs and `approval-responded` parts in one pass. `{0,0}` maps to BAD_REQUEST, `{0,>0}` to CONFLICT("already handled") before claiming a run. -- **2.5 Client: approval UI, composed auto-send, `useConfirm`.** `sendAutomaticallyWhen` composes `lastAssistantMessageIsCompleteWithToolCalls` with `lastAssistantMessageIsCompleteWithApprovalResponses`. New `patch-approval-card.tsx` (web feature, not `packages/ui`) renders `approval-requested` with Approve/Deny plus optional reason, and `output-denied` as a muted declined card. A "Review edits" toggle lands in the thread menu. `window.confirm` is replaced with the existing `useConfirm()`. -- **2.6 Approval-flow tests with `@shadcn/helpers`.** Component tests for the card, plus a small harness wiring `useChat` to the scripted transport to exercise the composed auto-send and approval state machine with no backend. `AgentChat` is not refactored to accept a transport prop just for tests. - -Approval flow end-to-end: the halt leaves no active run (identical lifecycle to today's `ask_user_question` halt); the client resubmits the last assistant message byte-for-byte through the existing transport; the merge copies approval-response fields onto the stored, signed request part matched by `toolCallId` plus approval id, so a client cannot substitute a forged request; the continuation run replays history, the fresh agent derives the same secret, the signature verifies, and the SDK executes (or denies) the call, streaming into the same message id via the 1.3 upsert — which is load-bearing, so 1.3 ships before 2.4. Idempotency ladder: UI disables buttons on state flip → concurrent sends race the atomic `claimActiveAgentRun` → post-completion resubmits match `alreadyResolved` and CONFLICT before any run is claimed → conflicting approved values are BAD_REQUEST. - -### Phase 3 — visibility and polish - -- **3.1 Usage metadata.** `messageMetadata` on `toUIMessageStream` records `{usage, model}` on finish; it round-trips in the `uiMessage` jsonb with no migration. The client renders a muted per-message token footer and a per-thread aggregate; legacy rows without metadata render fine. -- **3.2 Render the invisible parts plus a real patch card.** New generic `tool-part-card.tsx` (collapsed icon/label/state card with expandable input/output) for `read_resume`/`read_attachment`/`web_search`/`dynamic-tool`; the patch card gains human-readable operation rows with raw JSON demoted to a nested `details` block; consecutive `source-url` parts group into one sources block. -- **3.3 Streaming performance.** `useChat({throttle: 50})`, memoized markdown/message components, and `smoothStream({chunking: "word"})` via `experimental_transform`. -- **3.4 Tool-input robustness.** `inputExamples` on `apply_resume_patch` plus `addToolInputExamplesMiddleware`; a `repairToolCall` callback (`repair.ts`) that runs `jsonrepair`, strips `/data` prefixes and section shortcuts, and re-validates against the shared schema, falling back to the SDK re-ask on `null`. `normalizeAgentResumePatchOperations` stays as last-line defense; the instructions blob shrinks accordingly. -- **3.5 Structured logging plus provider options.** One JSON line per step (`agent.step`) and per tool execution (`agent.tool`) — greppable structured console, no OpenTelemetry dependency. Optionally `anthropic.cacheControl: ephemeral` on the instructions block. - -### Crash-safety design: draft-row upsert over reconciliation-on-read - -The failure that matters is a patch committed plus process death before `onFinish`. Reconciliation would synthesize an assistant message from action rows, but a synthesized message has no model-authored text and no tool call/result pairing that replays validly. The draft row records the real transcript step-by-step (≤30 single-row jsonb upserts per run); a patch executes within a step, so the orphan window shrinks from "entire run" to milliseconds. It also subsumes server-side cancellation partials, `agentAction.messageId` at INSERT time, and the duplicate-row continuation bug. The reaper covers the remaining sliver by appending synthetic tool parts from action rows during reap. - -## Consequences - -- Long threads stop growing without bound; exactly one resume snapshot survives in model context, and patch results carry the fresh document so array indexes never go stale. -- Runs are bounded (per-request timeout, whole-run wall clock, output-token cap, retry cap) and crash-safe (draft-row persistence, boot/lazy/read-path reaping); cancellation is server-authored. -- Users can opt threads into edit review; approvals are HMAC-signed server-side and survive restarts. -- Tool activity, token usage, and patch contents become visible in the UI; streaming is smoother and cheaper to render. -- The send path gains real message validation without breaking legacy rows. -- Test coverage moves toward pure, mock-free modules; the `"ai"` mock keeps real helpers. -- An approval continuation costs a second `send` against the in-process rate limit (20/min) — acceptable, noted for tuning. - -Out of scope, documented as follow-ups: multi-process cancellation via Redis pub/sub; OpenTelemetry; removing the deprecated `partialMessage` input (next release); the legacy non-agent `chat()` in `ai/service.ts`; thread-title generation via a cheap model call. - -## Rejected Alternatives - -LangGraph: rejected — loop control, persistence, resumability, and interrupts are already built here on the AI SDK; a graph framework would add a dependency and a second orchestration model without removing any existing code. - -`prepareStep`-injected "current resume" reminder instead of full-document patch output: rejected — re-sends a snapshot every step, defeats provider prompt caching, and splits document authority. - -Reconciliation-on-read instead of draft-row persistence: rejected — synthesized messages replay invalidly against providers that require call/result pairing. - -Random per-boot approval secret: rejected — it would strand pending approvals across restarts; the deterministic derivation from `ENCRYPTION_SECRET` keeps signatures verifiable. - -New environment variable for the approval secret: rejected — derivation avoids env, `turbo.json`, and deployment churn. diff --git a/docs/adr/0003-postgresql-remains-separate.md b/docs/adr/0003-postgresql-remains-separate.md deleted file mode 100644 index 25a93e86a..000000000 --- a/docs/adr/0003-postgresql-remains-separate.md +++ /dev/null @@ -1,3 +0,0 @@ -# ADR-0003: Keep PostgreSQL separate from the application image - -Reactive Resume does not provide an all-in-one image embedding PostgreSQL. The maintainer rejected that packaging direction on 2026-09-05 because it provides no benefit worth supporting; keep the database lifecycle separate and address setup convenience through existing Compose/Unraid onboarding. diff --git a/docs/agents/domain.md b/docs/agents/domain.md deleted file mode 100644 index c8484181d..000000000 --- a/docs/agents/domain.md +++ /dev/null @@ -1,42 +0,0 @@ -# Domain Docs - -How engineering skills consume this repository’s domain documentation. - -## Before exploring, read these - -- **`CONTEXT-MAP.md`** at repository root. It points to context-specific `CONTEXT.md` files. Read each context relevant to current work. -- **`docs/adr/`** for system-wide decisions touching current area. -- Context-scoped ADR directories referenced by `CONTEXT-MAP.md`. - -If any file does not exist, proceed silently. Do not flag absence or suggest creating it upfront. `/domain-modeling` creates domain documents lazily when terminology or decisions become settled. - -## File structure - -This repository uses a multi-context layout: - -```text -/ -├── CONTEXT-MAP.md -├── docs/adr/ ← system-wide decisions -├── apps/ -│ └── / -│ └── CONTEXT.md -└── packages/ - └── / - ├── CONTEXT.md - └── docs/adr/ ← context-specific decisions -``` - -`CONTEXT-MAP.md` is authoritative for context boundaries. Not every app or package needs a `CONTEXT.md`; create one only when it represents a meaningful domain context. - -## Use glossary vocabulary - -When output names a domain concept—in issue titles, refactor proposals, hypotheses, or test names—use terms defined in relevant `CONTEXT.md`. Do not drift to explicitly avoided synonyms. - -Missing terminology signals either language foreign to project or genuine domain-model gap. Reconsider first; otherwise note gap for `/domain-modeling`. - -## Flag ADR conflicts - -If output contradicts existing ADR, surface conflict explicitly instead of silently overriding: - -> _Contradicts ADR-0007 (event-sourced orders), but worth reopening because…_ diff --git a/docs/contributing/architecture.mdx b/docs/contributing/architecture.mdx index 9d9d0219c..a77d59ac7 100644 --- a/docs/contributing/architecture.mdx +++ b/docs/contributing/architecture.mdx @@ -3,7 +3,7 @@ title: "Project architecture" description: "How the Reactive Resume monorepo is laid out, the runtime boundaries between the web and server apps, and the package ownership model." --- -Reactive Resume is a pnpm/Turborepo monorepo. The product runs as one deployed Node.js process, while the source is split into a full-stack web app, a server adapter, and focused internal packages. +Reactive Resume is a pnpm/Turborepo monorepo. Docker runs one Node.js process. Vercel serves static assets through its CDN and uses a Node.js Function for the same Hono application. Both targets share the web app, API, authentication, renderers, and database schema. Internal packages are source-consumed through their `package.json` export maps. Import package subpaths, not another workspace's private `src` files. @@ -31,11 +31,11 @@ flowchart TD Server --> MCP API --> PDFServer API --> DB["packages/db"] - API --> Storage["File system or S3-compatible storage"] + API --> Storage["Local disk, S3, or private Vercel Blob"] DB --> Postgres["PostgreSQL"] ``` -`apps/web` owns the TanStack Start experience. `apps/server` owns the production Hono process and mounts RPC, auth, OpenAPI, MCP, static uploads, schema JSON, and the built web app. +`apps/web` owns the React SPA with TanStack Router and Vite. `apps/server` owns the Hono application and mounts RPC, auth, OpenAPI, MCP, static uploads, schema JSON, and the built web app. --- @@ -43,7 +43,7 @@ flowchart TD | Workspace | Ownership | | --- | --- | -| `apps/web` | TanStack Start routes, web features, browser PDF.js preview/viewer code, PWA setup, oRPC browser client | +| `apps/web` | TanStack Router routes, web features, browser PDF.js preview/viewer code, PWA setup, oRPC browser client | | `apps/server` | Hono route composition, production HTTP adapters, MCP transport, OpenAPI/well-known handlers, static file serving, startup checks | | `packages/api` | oRPC procedures and feature-owned business behavior under `src/features/*` | | `packages/auth` | Better Auth config, auth helpers, and exported auth types | diff --git a/docs/contributing/deployment-checks.mdx b/docs/contributing/deployment-checks.mdx new file mode 100644 index 000000000..a6ba416f6 --- /dev/null +++ b/docs/contributing/deployment-checks.mdx @@ -0,0 +1,52 @@ +--- +title: "Deployment checks" +description: "How CI verifies the Vercel build artifact, and how to run the deployment smoke test against Vercel or Docker." +--- + +The **Vercel compatibility** workflow (`.github/workflows/vercel.yml`) has two jobs. + +## Artifact build + +Runs on every pull request and every push to `main`. It needs no Vercel account and no secrets, so fork pull requests run it safely. + +The job: + +1. Starts an isolated PostgreSQL service. +2. Writes a local `.vercel/project.json` and runs `vercel build --prod` offline, with placeholder Blob credentials. This also applies migrations to the isolated database. +3. Checks the generated Function: + - runtime is `nodejs24.x` and `maxDuration` is `300`; + - PDFKit standard font files are included in the traced files; + - every emitted server chunk loads with `--no-experimental-require-module`, which matches the Vercel runtime; + - the Vercel entrypoint answers a request. + +If a new server dependency fails the module-loading check, add it to `bundledInteropPackages` in `apps/server/tsdown.config.ts`. + +## Live smoke test + +Runs only when started manually (`workflow_dispatch`). It uses the `vercel-smoke` GitHub environment and runs `tooling/deployment/smoke.mjs` against `VERCEL_SMOKE_URL`. + + + Point the smoke test only at a dedicated test installation. It creates an account, a public resume, and files, then deletes them. + + +The script checks health, public pages, signup, resume CRUD, public PDF rendering, a 10 MiB upload and download, and one-time use of staged requests. + +To also check a 25 MiB agent attachment, configure a deterministic OpenAI-compatible test provider that serves the model `smoke-model`: + +| Name | Kind | Value | +| --- | --- | --- | +| `VERCEL_SMOKE_URL` | Variable | Test installation origin | +| `VERCEL_SMOKE_AI_BASE_URL` | Variable | Test provider base URL | +| `VERCEL_SMOKE_AI_API_KEY` | Secret | Test provider API key | + +No paid AI model is needed. + +## Run the smoke test locally + +Against a local Docker installation: + +```bash +SMOKE_URL=http://localhost:3000 node tooling/deployment/smoke.mjs +``` + +Add `SMOKE_AI_BASE_URL` and `SMOKE_AI_API_KEY` to include the attachment check. diff --git a/docs/contributing/development.mdx b/docs/contributing/development.mdx index 9135f5cc9..1eaf04d96 100644 --- a/docs/contributing/development.mdx +++ b/docs/contributing/development.mdx @@ -156,7 +156,7 @@ The scripts you will use most during development: ``` reactive-resume/ ├── apps/ -│ ├── web/ # TanStack Start routes, web features, and browser UI +│ ├── web/ # TanStack Router routes, web features, and browser UI │ └── server/ # Hono production server, HTTP adapters, static serving ├── packages/ │ ├── api/ # oRPC features and business behavior diff --git a/docs/docs.json b/docs/docs.json index e08a915e4..509d71f7d 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -97,6 +97,7 @@ "group": "Integrations", "pages": [ "guides/using-the-api", + "guides/large-rpc-requests", "guides/using-the-patch-api", "guides/using-the-mcp-server", "guides/using-ai", @@ -142,6 +143,7 @@ "group": "Self-Hosting", "pages": [ "self-hosting/docker", + "self-hosting/vercel", "self-hosting/kubernetes", "self-hosting/examples", "self-hosting/sso", @@ -150,7 +152,12 @@ }, { "group": "Contributing", - "pages": ["contributing/architecture", "contributing/development", "contributing/translations"] + "pages": [ + "contributing/architecture", + "contributing/development", + "contributing/deployment-checks", + "contributing/translations" + ] }, { "group": "Community", diff --git a/docs/execution/approved-issue-plans-ledger.md b/docs/execution/approved-issue-plans-ledger.md deleted file mode 100644 index 265c63f95..000000000 --- a/docs/execution/approved-issue-plans-ledger.md +++ /dev/null @@ -1,307 +0,0 @@ -# Approved issue plans execution ledger - -Coordinator-owned record for plans approved in PR #3455. Completed, mergeable PRs merge as soon as publication gates -pass. Issue comments and state changes are recorded when explicitly directed by maintainer. - -## Run metadata - -- Planning source: PR #3455, bootstrap head `a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; final head - `86e200a4dae0f421d1c96bbd3a2e1a0a6899a959`, merged as `42527ad83bdc5720bd76eef9c9da102384f21f6f` -- Implementation source: `origin/main`, head `7a98f6662ffc6fd5a1a7281c30ab3829fe3722ec` at bootstrap -- Coordinator branch: `codex/issue-execution-ledger` -- Started: 2026-09-05, Europe/Berlin -- Merge policy changed: 2026-09-06; maintainer authorized immediate merge of complete, mergeable PRs -- Current integrated main evidence: `778fd4b7d9a2de07852f32d87713c4a6187cf4d4` after twenty-eight approved - plan-execution merges plus planning PR #3455, ledger PR #3456, and geometry CI regression fix PR #3484 -- Completion snapshot before this finalization update: 35/35 plan units terminal; all 63 inventory issues accounted for; - 6 inventory issues closed and 57 open; 59 repository issues open including excluded residuals #2828 and #3246; - zero executable plan units and zero open PRs -- Status values: `pending`, `diagnosing`, `implementing`, `reviewing`, `published`, `merged`, `no-change`, `blocked`, - `declined`, `skipped` -- Evidence rule: each terminal disposition needs current source/GitHub proof, focused tests or reproduction evidence, and - independent review when code changed. - -## Dependency and ownership rules - -- Every implementation unit starts from refreshed `origin/main` unless this ledger names a true stacked dependency. -- One active owner per overlapping source file. Rich-text ownership coordinates units 16/19; renderer ownership coordinates - 12/13/14/17/18/27/30/31; section/schema/layout ownership coordinates 20–24/31/32; image ownership coordinates 06/15/25; - template ownership coordinates 26/28/29/34. -- Units 24 and 32 have shared-file exclusion, not a preset stacked dependency; stack only if current implementation proves - unit 32 needs schema or interfaces introduced by unit 24. Units 30/31 wait for relevant renderer baselines. Unit 33 stops - after reference research and concrete visual proposal until explicit visual approval. -- Worker reports separate verified facts from uncertainty and include reproduction, first failing boundary, exact commit, - tests run, skipped gates, risks, issue coverage, and PR state. -- Audit disposition mapping: ready, documentation-only, or a split with an executable unit maps to `pending` until dispatch; - active execution maps to `implementing`; diagnostic-only maps to `diagnosing` while evidence work runs and `blocked` when - only external evidence remains; already fixed maps to `no-change`; blocked maps to `blocked`; declined maps to `declined`. - For split outcomes, record executable and blocked portions separately in validity/evidence fields. - -## Units - -| Unit | Issues | Status / current validity | Owner | Worktree / branch | Base → head | Dependencies | Evidence | Tests | PR | Next action | Blockers | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | -| 01 account login/recovery | #3166, #3164, #3078, #3046, #2897, #2837 | blocked | audit `task_855fbee0a803` | `codex-audit-backend-01-06` | `7a98f6662` → no source change | none | zero drift; live issues remain split; #3046/#3078 have merged #3095 candidate only | auth 42, email 6, focused/full API/server suites and affected typechecks/boundaries passed in audit | — | select exact auth/mail/API boundary only after current sanitized trace | current cloud digest, provider/account method, request/status trace, controlled mailbox | -| 02 hosted v4 recovery | #3181, #2760 | merged partial unit | implementation/review chain complete | `codex/issue-3181-recovery-procedure` | `7a98f6662` → `325d1fcd1` → merge `549135bb3` | #2760 identity branch depends on 01 evidence | Unicode format-character IDs rejected across all manifest fields; bot cleanup preserved; scanner extraction and relaxed canonicalization rejected with independent evidence; four hosted threads replied/resolved | fresh coordinator 83 comparator, 381 API, 21 auth tests plus gates green; exhaustive Unicode/mutation rereview clean; all exact-head hosted checks green; approved, mergeable, zero unresolved threads | [#3460](https://github.com/reactive-resume/reactive-resume/pull/3460) | retain external recovery gate | real recovery still needs verified owner, snapshot, mapping, private delivery | -| 03 MCP registration | #3398, #3153 | blocked; historical source fix present | audit `task_855fbee0a803` | `codex-audit-backend-01-06` | `7a98f6662` → no source change | coordinate DB/startup with 05 | merged #3421 (`fe9b59e`) is present on main and current source schema/startup/auth contracts match plan, but deployed behavior is not verified | #3421 hosted checks successful; audit auth/server/API/DB tests, typechecks, boundaries passed | #3421 merged before run | obtain deployed digest/log correlation, then rerun exact Codex/Claude DCR → consent → PKCE → MCP flow | deployed digest/log correlation and exact client retest unavailable; source no-change evidence cannot prove deployment | -| 04 AI provider compatibility | #2732, #2766, #2723, #2708 | blocked | audit `task_855fbee0a803` | `codex-audit-backend-01-06` | `7a98f6662` → no source change | serialize edits to AI service | zero drift; historical #2708 Responses path and #2766 structured Test path absent; remaining tuples differ | focused API 96 and full API suites/typecheck/boundaries passed in audit | — | select wire/state/import/base-path unit only after exact current tuple fails | provider/model/base URL/path/version/action/error tuple and allowed endpoint unavailable | -| 05 AI provider migrations | #3152 | blocked | audit `task_855fbee0a803` | `codex-audit-backend-01-06` | `7a98f6662` → no source change | coordinate DB/startup with 03 | zero drift; table schema, migration, startup ordering, Docker copy path coherent; `42P01` historical cause unresolved | audit API/server/DB tests, typechecks, boundaries passed; no real PostgreSQL migration fixture | — | choose config/packaging/startup/migration repair only after disposable reproduction | affected image layout/digest, working directory, DB schema/search path/journal, fresh+upgrade DB fixture | -| 06 image storage delivery | #2684, #2778 | blocked | audit `task_855fbee0a803` | `codex-audit-backend-01-06` | `7a98f6662` → no source change | coordinate 12/15/25 renderer/image fixtures | #2684 ACL cause fixed by merged #3432 (`35cecf9`); #2778 Browserless path obsolete; current topology unproved | #3432 hosted checks successful; audit storage/upload/PDF tests, typechecks, boundaries passed | #3432 merged before run | deployment retest plus shared real-encoding/backend/render fixture before repair | deployed digest; disposable S3/Garage/SeaweedFS/MinIO/proxy and browser/server raster matrix unavailable | -| 07 AIO deployment | #2722 | docs merged; feature declined | implementation/review chain complete | `codex/issue-2722-postgres-docs` | `7a98f6662` → `171637526` → merge `ee52636c1` | none | image and repository update flows now separate through correct `reactive-resume`/`reactive_resume` log commands; clean rereview | fresh Compose/DB/docs coordinator gates and all exact-head hosted checks green; approved; zero unresolved threads | [#3457](https://github.com/reactive-resume/reactive-resume/pull/3457) | documentation complete; #2722 disposition declined | AIO implementation explicitly declined; optional Unraid host smoke unavailable | -| 08 root public resume | #2669 | merged partial unit | implementation/review chain complete | `codex/issue-2669-root-public-resume` | `38832014b` → `576fad5ef` → merge `744eaa902` | none | optional server-only root mapping is public-only, preserves password identity, rejects hostile target/Host input, and owns canonical/static metadata safely; independent review clean | 1,392 implementation tests plus disabled/enabled production E2E; post-main focused 123 tests and type/lint gates green | [#3470](https://github.com/reactive-resume/reactive-resume/pull/3470) | retain broader custom-domain/TLS issue scope | feature remains narrower than arbitrary domain/TLS registry | -| 09 external version backup | #2705 | merged | implementation/review chain complete | `codex/issue-2705-git-backup-docs` | `7a98f6662` → `4ffdd96bd` → merge `772bf1452` | none | clean round-4 rereview; command-site prose requires unused output; replies document selected revision and fresh-file fixes | fresh coordinator 152 tests plus Markdown/diff/scope and all exact-head hosted checks green; approved; zero unresolved threads | [#3458](https://github.com/reactive-resume/reactive-resume/pull/3458) | complete | DB integration/E2E unavailable; no sync/remote/whole-account restore | -| 10 legacy link routing | #2836 | skipped by maintainer | implementation/review chain complete before cancellation | `codex/issue-2836-retired-link-notices` | `7a98f6662` → hosted `3eac878d` | none | implementation was technically reviewed, then maintainer rejected product scope due redirect-lifecycle and error-handling overhead | PR closed unmerged; issue note records not-planned rationale | [#3463](https://github.com/reactive-resume/reactive-resume/pull/3463) | no further implementation | explicitly out of plan; branch/worktree retained for auditability | -| 11 job search policy | #3010 | merged | implementation/review chain complete | `codex/issue-3010-jsearch-docs` | `7a98f6662` → `1d0397884` → merge `8c5804ed0` | none | two valid wording comments fixed; independent full-diff re-review found no issues; replies carry commit evidence | 52 focused tests plus Markdown/link/diff/base/scope and all exact-head hosted checks green; approved; zero unresolved threads | [#3459](https://github.com/reactive-resume/reactive-resume/pull/3459) | complete | real provider/browser optional gate unavailable; removal motive unknown | -| 12 preview/export failures | #3323, #3290, #3033, #3007, #2609 | blocked corrective work; diagnostic-ready | audit `task_1c6582ccdeae` | `codex-audit-rendering-12-19` | `7a98f6662` → no source change | renderer ownership; share observation harness with 18 | zero drift; staged-preview/error-boundary baselines remain; reports cross persistence/font/PDF/viewer/deployment boundaries | audit focused web/PDF suites, affected typechecks, boundaries, build passed | — | isolate PT Sans, browser/config, and template-selection boundaries; no shared fix | exact JSON/output/browser/config/current reproduction missing | -| 13 font/glyph/spacing | #3249, #3159, #3147, #3093, #3089, #2988 | blocked corrective work; diagnostic-ready | audit `task_1c6582ccdeae` | `codex-audit-rendering-12-19` | `7a98f6662` → no source change | serialize font sources with 14/27 | merged metrics/cache/Unicode fixes present and passing; residuals require per-font/per-symptom fixtures | audit focused PDF/font suites, affected typechecks, boundaries, build passed | — | retain regressions; create residual unit only from exact failing font fixture | missing Ropa Sans/source strings/font hashes/before-after artifacts | -| 14 RTL export layout | #3275 | blocked corrective work; diagnostic-ready | audit `task_1c6582ccdeae` | `codex-audit-rendering-12-19` | `7a98f6662` → no source change | serialize renderer/fonts with 13/27 | merged canvas-direction fix remains; broader shaping/bidi cause unproved | audit RTL/preview suites, affected typechecks, boundaries, build passed | — | run controlled same-bytes export matrix against approved shaping oracle | exact JSON/font/version and known-good reference absent | -| 15 picture fitting/style | #3168, #3088, #2794, #2782 | 15A merged; other causes blocked | implementation/review/finalization chain complete | `codex/issue-2782-picture-fit` | `7a98f6662` → `6e071ebcd` → merge `ab67831e4` | coordinate 06/25; schema/PDF owner exclusion | clean independent exact-head rereview; five threads resolved; fresh CodeRabbit approval; schema/retry fixes valid; rejected requests documented | focused tests/typechecks/boundaries/build/Biome green; exact-head hosted E2E 35/35 and all code checks green; Mintlify parser failure proven pre-existing; normal merge required no bypass | [#3461](https://github.com/reactive-resume/reactive-resume/pull/3461) | partial unit complete | delivery/centering issues still lack source revisions/assets/expected crop | -| 16 imported table borders | #3196 | merged | implementation/review chain complete | `codex/issue-3196-editable-tables` | `7a98f6662` → `b170290e9` → merge `999cd618c` | rich-text owner; Plan 19 stacked from reviewed head | table grammar/grid and link semantics now fail closed when Tiptap cannot round-trip; borderless PDF test is color-independent; final focused rereview clean | focused/broad web/PDF tests, typechecks, boundaries, build, narrow Biome, authenticated E2E, independent review, and hosted checks green | [#3464](https://github.com/reactive-resume/reactive-resume/pull/3464) | complete | historical visual equivalence lacks reporter HTML/JSON but feature contract is approved | -| 17 list/skill pagination | #2751, #3040 | blocked corrective work; diagnostic-ready | audit `task_1c6582ccdeae` | `codex-audit-rendering-12-19` | `7a98f6662` → no source change | renderer owner shared with 13/14/18 | merged ordered-marker/wrap/level-gap fixes present; current residual not reproduced | audit focused PDF suites, typecheck, boundaries, build passed | — | retain controls; add fix only from exact failing list/skill fixture | #2751 source absent; #3040 current fixture no longer proves residual clipping | -| 18 preview/export geometry | #2683 | diagnostic merged; runtime fix blocked | implementation/review/remediation/rereview chain complete | `codex/issue-2683-preview-export-geometry` | `cdb7bdd2f` → `ce372b54b` → `5f5dca844` → merge `11d619d3d` | share output-boundary harness with 12; viewer owner exclusion | opt-in production-path E2E verifies exact disposable DB identity, persisted source/revision and export target, positive pages/ink/sentinels, measured zoom scale, stable transform/clip geometry, all formats/margins/fit/overflow, and DPR1/2; synthetic matrix did not reproduce mismatch | dedicated PostgreSQL/production-server E2E 2/2; web 949, PDF 1,073, two typechecks, collection, Biome, boundaries 1,452, diff hygiene; seven review findings remediated and focused rereview clean | [#3483](https://github.com/reactive-resume/reactive-resume/pull/3483) | retain #2683 pending original JSON/browser fixture; no runtime change from negative synthetic evidence | exact reporter JSON/PDF/browser/DPR/zoom/page settings absent; no measured first divergence | -| 19 literal rich-text whitespace | #3397 | merged | implementation/review/remediation chain complete | `codex/issue-3397-literal-whitespace` | `38832014b` → `2f6942fb7` → merge `ea97de5ec` | Plan 16 merged; coordinate DOCX/PDF/editor with 31 | literal whitespace preserved through editor transforms, clipboard/table normalization, PDF layout/textkit geometry, and DOCX; final bare `TD`/`TH` gap fixed | post-main web 102, PDF 106, DOCX 20, three typechecks, Biome, diff green; dedicated Chromium E2E 2/2 | [#3472](https://github.com/reactive-resume/reactive-resume/pull/3472) | complete | direct Word/LibreOffice visual unavailable; XML/four-space contract verified | -| 20 section restoration | #3378, #3265, #2921 | 20A merged for #2921; residuals split | implementation/review chain complete | `codex/issue-2921-hidden-section-recovery` | `7a98f6662` → `792d7f8e2` → merge `5850230f8` | 20A before 21/31; placement semantics before 29 | collapsed navigation reopens real accordion before deferred row focus/scroll; final independent review found no issues | focused tests, typechecks, boundaries, build, PO checks, diff gates, authenticated E2E, and all hosted checks green; approved/mergeable/clean | [#3462](https://github.com/reactive-resume/reactive-resume/pull/3462) | begin dependent Plan 21 when owner slot permits | #3378/#3265 need version/action/sanitized JSON; defensive fix cannot close them | -| 21 section heading visibility | #3060 | merged | implementation/review chain complete | `codex/issue-3060-section-heading-visibility` | `2a4a1583b` → `3ce4321cb` → merge `368858a56` | 20A and 34 merged; unblocks 23B and 31 | Q1–Q3 implemented across schema, builder menus, Move-to defaults, PDF/DOCX visual omission, accessibility labels, generated references, and recovery fixtures | full 19-task suite; post-main schema 103, PDF 125, DOCX 15, web 30; four typechecks, boundaries, Biome, Markdown, diff; independent review clean | [#3477](https://github.com/reactive-resume/reactive-resume/pull/3477) | complete; issue closed by merge | no remaining approved scope | -| 22 skill keyword presentation | #2785 | merged | implementation/review/remediation chain complete | `codex/issue-2785-skill-keyword-layout` | `38832014b` → `3c06c3b0b` → merge `870388192` | must precede/serialize 34 | built-in/custom inline/list schema, menus, PDF, DOCX, accessible HTML, import, locales, generated docs, and recovery hashes updated; both independent reviews clean | 1,280 affected tests and build; post-main 80 focused tests; remediation tooling 97/97, type/lint/diff green | [#3469](https://github.com/reactive-resume/reactive-resume/pull/3469) | complete; Plan 34 dispatched | no product gate | -| 23 pagination controls | #3350, #3090 | 23A and diagnostic 23B merged; 23C blocked | implementation/review/remediation chain complete | `codex/issue-3350-item-pagination` | `368858a56` → `f2769dce5` → merge `5e8284e49` | possible 23C requires renderer-safe fallback | deterministic physical-page matrix asserts every token exactly once and separates authored pages from physical overflow; installed renderer proves `wrap=false` truncates oversized items, so no unsafe control shipped | 11 focused pagination tests, PDF typecheck, Biome, boundaries, Markdown, diff; independent review gaps remediated | [#3478](https://github.com/reactive-resume/reactive-resume/pull/3478) | retain item-control issue pending safe fallback | oversized keep-together fallback is lossy; widow/orphan UI remains deferred | -| 24 date layout | #3155, #2841 | characterization merged; behavior blocked | implementation/review/remediation chain complete | `codex/issue-3155-date-layout-characterization` | `66c25efe1` → `77a549988` → merge `cdb7bdd2f` | 24B needs explicit numeric geometry; mutual exclusion with 32 | deterministic executable JSON/PNG coordinate/raster baselines cover all Q7/custom sections, nested roles, Chikorita/Ditto LTR/RTL, all 15 templates, and #2841 controls; no runtime behavior changed | 14 focused tests, PDF typecheck, Biome, boundaries, Markdown, diff after current-main integration; independent findings remediated | [#3480](https://github.com/reactive-resume/reactive-resume/pull/3480) | retain issues pending width units/bounds/default visual target | numeric width/bounds/default geometry cannot be invented | -| 25 experience company logos | #3379 | blocked implementation; contract-design-ready | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | 25A → 25B; coordinate 06/15 | current generic uploader has eager deletion and no reference counting/ownership validation; unsafe to reuse unchanged | audit relevant package suites/typechecks/boundaries passed | — | define asset ownership, accepted types, retention/orphan/copy/undo contract and tests | storage ownership/lifetime contract requires new decision | -| 26 secondary color | #3373 | inventory-ready; implementation blocked | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | 26A → 26B; serialize semantic docs with 28 | theme has three roles; primary consumers are not classified decorative vs semantic | audit schema/PDF suites and typechecks/boundaries passed | — | enumerate primary consumers and approve decorative truth table | consumer classification/visual contract not selected | -| 27 offline fonts | #3377 | diagnostic merged; production resolver blocked | implementation/review/remediation chain complete | `codex/issue-3377-offline-font-diagnostic` | `2a4a1583b` → `397d9e43b` → merge `f783908b0` | 27A informs 30A; 27B needs external gate | opt-in four-surface cold-network fixture, deterministic marker crops, tested blank/tofu classification, enforced browser download, and bounded administrator-hosted manifest evidence; no production behavior changed | helper 8, fonts 55, PDF 35, targeted TypeScript, Playwright collection, Biome, boundaries, Markdown, diff; independent findings remediated | [#3479](https://github.com/reactive-resume/reactive-resume/pull/3479) | retain issue pending host-level cold-server proof | production resolver remains blocked until controlled restart/egress evidence and asset-hosting design are proven | -| 28 basics custom styles | #3137 | merged partial unit | implementation/review/remediation complete | `codex/issue-3137-semantic-css-diagnostics` | `b85d285b6` → `28c933b55` → merge `38832014b` | serialize semantic docs/tests with 26 | gradients remain unsupported; false-positive recognition and direct-LINK assertions fixed; both threads resolved and CodeRabbit approved | main-integrated package gates plus remediation resume 47/47, PDF 10/10, typechecks, Biome, and diff green; unrelated baseline E2E flakes documented | [#3468](https://github.com/reactive-resume/reactive-resume/pull/3468) | retain residual issue until reporter names remaining failure | reporter has not named remaining failure; keep issue open | -| 29 Onyx profile header | #2812 | blocked | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | placement semantics 20; accessibility order 31 | historical Onyx-only PR obsolete; no persisted generic placement owner exists | audit relevant suites/typechecks/boundaries passed | — | choose generic placement capability and produce one-page/overflow visual contract | new persisted-interface choice plus visual contract required | -| 30 ATS export evaluation | #2845 | diagnostic merged; preset not warranted | implementation/review/remediation/rereview chain complete | `codex/issue-2845-ats-export-evaluation` | `f783908b0` → `f89873f08` → `d17e188b0` → merge `10eb3bdbc` | current renderer/font diagnostics informed 30A; 30B requires measured material deficiency | occurrence-aware grouping, complete visible/link and hidden-channel coverage, portable JSZip DOCX extraction, and positive numbering fidelity now measure existing exports; two-column PDF and DOCX recover 106/106 expected occurrences, full-width PDF 105/106, and DOCX telephone-target omission is explicit | evaluator 108/108, four affected typechecks, Biome, boundaries 1,117, diff hygiene; independent review found five gaps and focused rereview found one final label gap, all remediated | [#3482](https://github.com/reactive-resume/reactive-resume/pull/3482) | retain #2845 pending vendor-side evidence; do not add preset from current measurements | no vendor accuracy claim; local extraction evidence shows no material deficiency warranting preset | -| 31 document accessibility | #2844 | HTML residual merged; public/export audit blocked | implementation/review/remediation chain complete | `codex/issue-2844-accessibility` | `cdb7bdd2f` → `acd2a9cfe` → merge `3e62a1d60` | public viewer requires duplicate-announcement/manual gate | builder mirror now has valid H3/H4 hierarchy and safe recursive rich-text list/mark/link semantics while preserving hidden/unplaced/Q3/order rules; no public/PDF/DOCX changes or conformance claim | focused 15, full web 949, web typecheck, Biome, boundaries; independent empty-summary/blank-company findings remediated | [#3481](https://github.com/reactive-resume/reactive-resume/pull/3481) | retain #2844 for public/PDF/DOCX/manual evidence | dedicated E2E environment and manual screen-reader transcript unavailable | -| 32 section date sorting | #2725 | merged | implementation/review chain complete | `codex/issue-2725-one-shot-sort` | `7a98f6662` → `5c07409ae` → merge `b85d285b6` | shared-file exclusion with 20–24; behavior independent of 24 | pure stable one-shot Experience/Education sort implemented with exact unresolved IDs, undo/persistence, and locked-state coverage; independent review found no issues | focused/full tests, typechecks, boundaries, build, catalogs, authenticated E2E, review, and hosted gates green | [#3465](https://github.com/reactive-resume/reactive-resume/pull/3465) | complete | broader autosort/preferences/custom/role behavior remains out of scope | -| 33 Europass template | #2689 | research merged; template blocked at approval gate | implementation/review chain complete for 33A | `codex/issue-2689-europass-research` | `2a4a1583b` → `57f2c30` → merge `578cb496a` | 33A → explicit visual approval → possible 33B | official-source mapping, canonical SVG direction, one-page/overflow/comparison artifacts, and corrected full-resolution geometry independently reviewed; no renderer code | XML/bounds/source mapping and 2480×3508 visual rereview passed | [#3475](https://github.com/reactive-resume/reactive-resume/pull/3475) | await explicit approval of proposed visual/product direction before 33B | canonical SVG direction, neutral naming, fluency labels, chronology gutter/date wrapping, and photo-free defaults require maintainer approval | -| 34 Gengar skill layout | #2611 | merged | implementation/review chain complete | `codex/issue-2611-gengar-skill-layout` | `870388192` → `f2186d4f7` → merge `2a4a1583b` | 22 merged; shared Skills renderer serialized before 21 | Gengar-only capability restores name → rating → proficiency → keywords in visual and semantic trees; other templates unchanged; independent review clean | 51 focused PDF tests, PDF typecheck, boundaries, Biome, diff green after current-main integration | [#3473](https://github.com/reactive-resume/reactive-resume/pull/3473) | complete | no historical screenshot parity claim | -| 35 resume import errors | #2768 | merged adjacent-fix unit | implementation/review chain complete | `codex/issue-2768-import-reproduction` | `38832014b` → `ae219f3d9` → merge `a6057abd7` | none | synthetic matrix proved and fixed empty-MIME rejection, v4 misclassification, and opaque offline-PDF messages; independent review found no product blocker; historical failure remains unproved | focused 26 web + 144 import; web typecheck/build; boundaries/Biome; E2E 13/13 plus repeats 12/12; post-main 158 tests/typecheck/Biome/diff green | [#3471](https://github.com/reactive-resume/reactive-resume/pull/3471) | retain historical needs-info issue | reporter artifact/version/error/steps absent; keep issue open | - -## Active orchestration - -| Scope | Task / dispatch | Owner worktree | State | Deliverable | -| --- | --- | --- | --- | --- | -| Plans 01–06 | `task_855fbee0a803` / `ctx_949458744061` | `codex-audit-backend-01-06` | complete; worker released | zero drift; plans 01/04/05/06 blocked on named evidence; plan 03 no-change; plan 02 synthetic unit ready | -| Plans 07–11, 35 | `task_9f27829ca50f` / `ctx_11f7d7cf6d17` | `codex-audit-backend-07-11-35` | complete; worker release pending | 07/09/10/11 ready after named brief corrections; 08 needs engineering scope amendment; 35 diagnostic-only | -| Plans 12–19 | `task_1c6582ccdeae` / `ctx_795fced595ef` | `codex-audit-rendering-12-19` | complete; worker release pending | 15A/16/19 implementation-ready; remaining causes split into diagnostics with named evidence gates | -| Plans 20–34 | `task_47ed7eb02d48` / `ctx_50d8257459ab` | `codex-audit-builder-20-34` | complete; worker release pending | ready: 20A, 21, 22, 23A, 28 diagnostics, 32, 34; remaining plans split at evidence/design gates | -| Plan 07 implementation | `task_aee702e37eae` / `ctx_ed134b1d79ce` | `codex/issue-2722-postgres-docs` | implementation complete; worker released | commit `e37b73566`; two-file docs change; implementation report complete | -| Plan 09 implementation | `task_e450ea143bfa` / `ctx_3b575cf1d5c7` | `codex/issue-2705-git-backup-docs` | implementation complete; worker released | commit `d4ef67113`; two-file docs change and synthetic local-Git validation | -| Plan 11 implementation | `task_58d76423d364` / `ctx_20d4adf43908` | `codex/issue-3010-jsearch-docs` | implementation complete; worker released | commit `cb011841c`; three-file docs change and validation report | -| Plan 02 synthetic recovery | `task_bae016c4d1f2` / `ctx_303f5d1f1031` | `codex/issue-3181-recovery-procedure` | implementation complete; worker released | commit `3f53deca8`; pure comparator, safeguards docs, TDD evidence | -| Plan 02 independent review | `task_46be9a1a4d82` / `ctx_e9f651d38a65` | same Plan 02 worktree | complete; changes required | false no-op, target-state contradiction, v4 wording overclaim | -| Plan 07 independent review | `task_b29de2cd974c` / `ctx_46d7f32205a1` | same Plan 07 worktree | complete; changes required | high: all-services pull could cross PostgreSQL major version | -| Plan 07 review fix | `task_8ea6cfc76ef4` / `ctx_0184e1101bca` | same Plan 07 worktree | complete | commit `b61ca1609`; app-only update recipe and separately pinned database upgrade path | -| Plan 02 review fix | `task_5fe67c42d856` / `ctx_28ed501db631` | same Plan 02 worktree | complete | commit `6af21121b`; strict validation, target invariant, exact v5-only documentation | -| Plan 07 re-review | `task_90a9a6b63782` / `ctx_2f1def9119d6` | same Plan 07 worktree | complete; no findings | full-diff verification after update-safety fix | -| Plan 09 independent review | `task_129b49e32bc7` / `ctx_68b13c76cc72` | same Plan 09 worktree | complete; changes required | embedded-letter JSON contradiction; template-checkpoint overclaim | -| Plan 09 review fix | `task_8aa48854e7da` / `ctx_5aa2007ec136` | same Plan 09 worktree | complete | commit `6931d2cc4`; correct rendered-export scope and throttled template snapshot wording | -| Plan 02 re-review | `task_5bffa8e386f2` / `ctx_57fe2ac671f8` | same Plan 02 worktree | complete; changes required | original object still serialized before validation; boxed string reproduced false no-op | -| Plan 02 second review fix | `task_eb3b8c09aef2` / `ctx_3d3e5f7d2496` | same Plan 02 worktree | complete; worker released | commit `8607a5138`; original-form validation plus boxed-string/custom-`toJSON` regressions | -| Plan 02 final re-review | `task_ae1f7e591826` / `ctx_475ef901639c` | same Plan 02 worktree | complete; changes required; worker released | P1 truthy gate bypass plus executable/non-JSON object input identity | -| Plan 02 contract hardening | `task_baf33a609db0` / `ctx_48534ddcf89f` | same Plan 02 worktree | complete; worker released | commit `00855fa16`; serialized request-only API, strict envelope, 36-case adversarial coverage | -| Plan 02 final independent review | `task_5b02aa026038` / `ctx_d16058d89c7c` | same Plan 02 worktree | complete; changes required; worker released | P1 duplicate-member safety bypass; P2 whitespace/control-only manifest identifiers | -| Plan 02 hardening round 4 | `task_5b56f07b5a2c` / `ctx_e7c63529b719` | same Plan 02 worktree | complete; worker released | commit `4125074f9`; 59 comparator tests plus duplicate-member and unsafe-ID adversarial gates green | -| Plan 02 independent review round 5 | `task_a2b0562df7aa` / `ctx_bc5056c8978c` | same Plan 02 worktree | complete; no findings; pushed; worker released | exact head `4125074f9`; full diff, 54 independent assertions, fresh coordinator verification, PR #3460 | -| Plan 02 autofix review | `task_796f15a35422` / `ctx_c581be24021a` | same Plan 02 worktree | complete; changes required; worker released | bot export cleanup safe; valid P2 Unicode Cf ID gap; three Codacy suggestions rejected/already satisfied with evidence | -| Plan 02 hosted review fix | `task_1d56264e5f15` / `ctx_2a1a0a6af73e` | same Plan 02 worktree | complete; worker released | commit `325d1fcd1`; reject and document Unicode format-character IDs, add all-field regressions, preserve strict comparator contract | -| Plan 02 hosted fix rereview | `task_51b92554b36b` / `ctx_08bc7a78dd61` | same Plan 02 worktree | complete; no findings; worker released | full diff, all four hosted dispositions, 1,410 Unicode combinations, and mutation probes approved exact local head `325d1fcd1` | -| Plan 02 hosted fix publication | coordinator | same Plan 02 worktree | complete; monitor only | exact head `325d1fcd1`; four evidence replies posted, all four threads resolved, all hosted checks green, approved and mergeable | -| Plan 09 re-review | `task_1bd82b008a77` / `ctx_ca2a0176b52f` | same Plan 09 worktree | complete; no findings; worker released | full diff and both factual corrections verified before PR #3458 | -| Plan 09 hosted review follow-up | `task_a44e374822b4` / `ctx_89e6769df19d` | same Plan 09 worktree | complete; changes required; worker released | selected revision prints correctly but no importable file is created | -| Plan 09 hosted review fix round 2 | `task_8605c30ca032` / `ctx_2e0aa7be1312` | same Plan 09 worktree | complete; worker released | commit `9dd218ba1`; non-destructive recovered-file command plus synthetic proof | -| Plan 09 final hosted re-review | `task_435249ae4c23` / `ctx_5fd78d0eeccd` | same Plan 09 worktree | complete; changes required; worker released | low: fixed `recovered-resume.json` name silently overwrites an existing local recovery file | -| Plan 09 review fix round 3 | `task_9e6fdbe67fb7` / `ctx_9087e895192f` | same Plan 09 worktree | complete; worker released | commit `4ffdd96bd`; require unused output filename, preserve existing sentinel, 152 tests and docs gates green | -| Plan 09 rereview round 4 | `task_4af7ea4cfb3f` / `ctx_98b5a07f33d4` | same Plan 09 worktree | complete; no findings; pushed; worker released | exact head `4ffdd96bd`; clean full-diff review and fresh coordinator 152-test/docs verification | -| Plan 11 independent review | `task_7d5d4c1417a9` / `ctx_17ee05faf9e7` | same Plan 11 worktree | complete; changes required | attachment-format overclaim and duplicated patch/restore guidance | -| Plan 11 review fix | `task_351a96e90b69` / `ctx_e398c9128731` | same Plan 11 worktree | complete; worker released | commit `e05977007`; attachment promise removed and adjacent guidance deduplicated | -| Plan 11 re-review | `task_86a66b578544` / `ctx_3bb8017e8676` | same Plan 11 worktree | complete; no findings; worker released | exact head `e05977007`; 52 focused tests and full diff verified before PR #3459 | -| Plan 11 hosted review follow-up | `task_a9d8b3e0a8a2` / `ctx_6b03ba8f389c` | same Plan 11 worktree | no findings; pushed; worker released | commit `1d03978`; sample wording plus heading/UI terminology alignment; all hosted checks green and both threads resolved | -| Plan 15A implementation | `task_557902c8adef` / `ctx_db6fae1b75c4` | `codex/issue-2782-picture-fit` | complete; worker released | commit `d891afd66`; explicit cover/contain contract across schema/editor/preview/PDF | -| Plan 15A independent review | `task_d4f4841355e2` / `ctx_467f293cf443` | same Plan 15A worktree | complete; changes required; worker released | medium: raster checks did not pin fit geometry; low: class coupling and duplicate props type | -| Plan 15A review fix | `task_5a4afecb7d0d` / `ctx_43faac4f25eb` | same Plan 15A worktree | complete; worker released | commit `6145d5a59`; all three findings fixed; full tests/build and authenticated raster E2E green | -| Plan 15A final rereview | `task_2b45ae3b4e98` / `ctx_695a139cd0b9` | same Plan 15A worktree | complete; no findings; worker released | exact head `6145d5a59`; full 70-file behavior, mutation-sensitive geometry, computed CSS, compatibility, scope, full suites, build, and E2E approved before PR #3461 | -| Plan 15A hosted review | `task_06bedd03c57a` / `ctx_f3a9297b252e` | same Plan 15A worktree | complete; two changes required; terminal transferred | accepted published-schema optionality and failed same-file retry; rejected metadata flag semantics and Codacy/style warnings; full report at `.orchestration/plan-15a-hosted-review.md` | -| Plan 15A hosted review fix | `task_855387612fac` / `ctx_3e9f9c80147d` | same Plan 15A worktree | complete; pushed; worker released | commit `6e071ebcd`; public schema/OpenAPI omit required `picture.fit` while runtime output remains required/defaulted; failed Contain upload clears input for same-file retry; accepted threads auto-resolved | -| Plan 15A hosted rereview | `task_1116a06f2543` / `ctx_636533e5113e` | same Plan 15A worktree | complete; no code findings; terminal transferred | exact `6e071ebcd` approved; E2E 35/35; Mintlify failure traced to pre-existing generated MDX comment marker and partial-deploy parser behavior | -| Plan 15A hosted finalization | `task_01693dcf5e94` / `ctx_de7c5995049d` | same Plan 15A worktree | complete; worker released | all five threads resolved; CodeRabbit withdrew metadata finding and freshly approved exact head; no stale-review dismissal, code, merge, or issue mutation | -| Plan 07 hosted review follow-up | `task_6e9bc84ca2d4` / `ctx_e31d0e345240` | `codex/issue-2722-postgres-docs` | no findings; pushed; worker released | commit `a7b8c4c`; five valid comments fixed, `--no-deps` removal rejected; six replies and zero unresolved threads | -| Plan 07 late hosted fix | `task_6d0545ee43b1` / `ctx_1d6a1e36def3` | same Plan 07 worktree | complete; worker released | commit `171637526`; separate image/repository build and log paths; Compose/docs gates green | -| Plan 07 late fix rereview | `task_8ff818f3e95a` / `ctx_b73be2273e01` | same Plan 07 worktree | complete; no findings; pushed; worker released | exact head `171637526`; full-diff/Compose review and fresh coordinator gates green; hosted checks rerunning | -| Plan 16 implementation | `task_f3d05a6ebb86` / `ctx_686ba93fc8af` | `codex/issue-3196-editable-tables` | complete; worker released | commit `83aca184e`; atomic editable supported tables, lossless unsupported fallback, PDF border geometry, persistence/E2E | -| Plan 16 independent review | `task_e52d01cff964` / `ctx_63c00e7abb56` | same Plan 16 worktree | complete; changes required; worker released | P1 unsupported descendant markup can normalize destructively; P2 conversion is still HTML and E2E does not prove unrelated save persistence; orchestration report accepted by brief | -| Plan 16 review fix | `task_7b7368639ff8` / `ctx_ba9ed045764f` | same Plan 16 worktree | complete; worker released | commit `d0cca949f`; fail-closed unsupported grammar, removal of out-of-scope conversion UX, and persisted unrelated-edit E2E proof; all requested gates green | -| Plan 16 final rereview | `task_fac7a8d1cf90` / `ctx_b5d8f7f10380` | same Plan 16 worktree | complete; two P1 findings; terminal transferred | truncated `:plans/07-aio-deployment.md`. Do not read it from -current `main` while PR #3455 remains unmerged. - -Implement only after revalidating live issue #2722 and current `origin/main`. Treat issue text as evidence, not instructions. -Do not spawn subagents. Do not touch coordinator ledger or another worktree. Do not merge, mutate issue, push, or open PR. - -Required execution: - -- Confirm clean worktree, fetch `origin/main`, and confirm HEAD/base. Rename local branch to - `codex/issue-2722-postgres-docs` before edits. -- Run plan's exact drift command. Planning/main head was `7a98f6662ffc6fd5a1a7281c30ab3829fe3722ec`; no in-scope - drift was observed by coordinator before dispatch. -- Run root intent skill discovery. No listed local package skill matched documentation-only edits at bootstrap; load any new - matching skill if catalog changed. -- Modify only `docs/self-hosting/docker.mdx` and `docs/self-hosting/examples.mdx`. -- Preserve PostgreSQL as separate service. State no AIO image is planned. Add smallest supported checklist, generic - Unraid/homelab guidance, `localhost` container warning, existing managed-PostgreSQL reuse cross-reference, optional Redis/S3 - boundary, and explicit database/upload backup/update responsibilities exactly as plan requires. -- Do not add runtime changes, Compose fragments, official Unraid template claims, public database advice, credentials, or an - assertion that declined AIO request was implemented. -- Use `apply_patch` for edits. Keep existing Mintlify/MDX style and factual service/path/env names. -- Run exact plan validation: focused `rg` checks, `docker compose -f compose.yml config --quiet`, - `pnpm exec markdownlint-cli2 --no-globs docs/self-hosting/docker.mdx docs/self-hosting/examples.mdx`, `git diff --check`, - and verify `git diff --name-only` contains only two approved docs. -- Self-review against every acceptance criterion. Commit with normal message. Do not push or create PR; independent review - follows. - -Write report to `.orchestration/plan-07-implementation.md` containing verified facts and uncertainty separately: live issue -state, drift result, chosen documentation structure, exact commit SHA, files, commands/results, skipped gates, risks, coverage, -and PR status (`not created`). Final response: status, commit, one-line validation summary, report path, concerns; no more than -ten lines. diff --git a/docs/execution/briefs/implement-plan-09.md b/docs/execution/briefs/implement-plan-09.md deleted file mode 100644 index 324dffd09..000000000 --- a/docs/execution/briefs/implement-plan-09.md +++ /dev/null @@ -1,36 +0,0 @@ -# Implement plan 09: user-controlled Git backup documentation - -Read entire approved plan first from local planning checkout only when its HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use pinned `git show` fallback below. Then read current -worktree `AGENTS.md`, referenced domain/issue instructions, relevant ADRs, `/Users/amruth/.codex/RTK.md`, and -`/Users/amruth/.agents/skills/documentation-writer/SKILL.md`. Plan supplies document type, audience, goal, scope, and approved -structure; do not pause for routine outline approval. Portable fallback: fetch PR #3455 and use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/09-external-version-backup.md`. - -Do not spawn subagents. Do not touch coordinator ledger or another worktree. Do not merge, mutate issues, push, or create PR. - -Required execution: - -- Confirm clean worktree, fetch current `origin/main`, rename branch `codex/issue-2705-git-backup-docs`, run exact drift - command, fetch live #2705 body/comments/state/linked PRs, and run root intent discovery before edits. -- Revalidate current export shapes and history semantics from exact source/tests. Stop if exporter lacks required document - types or synthetic restore loses content; do not broaden into runtime fixes. -- Modify only `docs/guides/exporting-your-resume.mdx` and - `docs/guides/undoing-changes-and-version-history.mdx`. -- Document single-resume JSON, independent cover-letter JSON, and account archive differences; stable filenames; image URL - availability; private-data/repository-visibility warning; local-only Git workflow; non-destructive import-as-new recovery; - rolling in-app versions versus owner-managed Git. Correct planning prose before publication: every user-facing code block - must use ordinary `git init`, `git add -- ...`, `git diff`, `git commit`, and `git show`. Never publish agent-only - `rtk proxy git` commands. No automatic sync, credentials, remote URL, `git push`, whole-account restore promise, or new - product UI. -- Use only synthetic data. Run API export/version tests specified by plan. Validate single-resume import round-trip using - existing synthetic fixtures/tests or a bounded disposable test; never use private data. -- Execute command sequence in `mktemp -d`, staging only `resume.json` and `cover-letter.json`; show changed visible field in - `git diff`. Executor shell may wrap validation with `rtk proxy`, but copied documentation commands must remain plain Git. - Do not modify global Git config if identity missing; record limitation. -- Run plan's focused `rg`, markdown lint, `git diff --check`, and two-file name-only gate. Self-review every acceptance item. -- Commit with normal message. Leave branch local for independent review. - -Write report `.orchestration/plan-09-implementation.md`: verified facts vs uncertainty, live state, drift, exact commit/files, -commands/results, fixture details, skipped gates, risks, issue coverage, PR status (`not created`). Final response: status, -commit, one-line tests, report path, concerns; at most ten lines. diff --git a/docs/execution/briefs/implement-plan-10.md b/docs/execution/briefs/implement-plan-10.md deleted file mode 100644 index dbbc89b85..000000000 --- a/docs/execution/briefs/implement-plan-10.md +++ /dev/null @@ -1,43 +0,0 @@ -# Implement plan 10: prospective retired-link attempt notices - -Read approved plan 10 from local planning checkout only when HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/10-legacy-link-routing.md`. Read current `AGENTS.md`, RTK, -issue/domain/DB migration guidance, ADRs, and applicable brainstorming/TDD skills. Approved prospective direction and routine -limits bind; do not ask them again. Run root Intent inventory and load matching local skill before edits. Do not spawn -subagents, touch ledger, mutate issues, merge, push, or create PR. - -Start clean from refreshed `origin/main`, rename branch `codex/issue-2836-retired-link-notices`, revalidate issue 2836/open -PRs/current source, and run exact drift. Historical cause remains unknown: reference issue without closing keyword. Scope is -future slug changes under unchanged current username, 90 days, newest 50 per resume, aggregate owner-only attempts, safe 404; -no redirects, email/push, backfill, username history, visitor identity, or historical recovery. - -Strict TDD, one coherent migration/API/UI/docs/E2E unit: - -- Add additive `resume_retired_link` table: generated ID, cascading owner/resume FKs, retired username/slug/timestamp, - aggregate attempt count and nullable last attempt. Unique username+slug, resume+retired index. No IP, UA, email, content. - Generate one migration via repository workflow against disposable PostgreSQL only; review SQL/snapshot for no drops/rewrites. -- Add pure/service tests before code for old-path capture inside existing locked slug transaction, unchanged slug no-op, - rollback atomicity, prune expired and beyond newest 50, live-path reuse removal, same-owner reuse, current-route priority, - renamed username/deleted/private/expired/competing route denial. -- On no-current-row lookup only, recognize valid retired path, best-effort increment outside rolled-back NOT_FOUND transaction, - and always return original indistinguishable 404. Owner excluded. Separate one-hour dedup with hard 50,000 active-entry cap: - prune expired then evict oldest. Unknown probes allocate nothing. Count failure remains 404 and never increments views. -- Protected owner listing only: verify resume ownership, lazy expiry prune, at most 50 sanitized newest-first records. Preserve - existing statistics response shapes. Another owner/missing resume denied. -- Owner Statistics UI: empty state omitted; recorded paths show aggregate count/last attempt and explicit prospective - 90-day/50-path/same-username limits. No visitor data or notification toggle. Lingui messages and focused DOM tests. -- Public sharing guide documents exact limits. No public route response change needed. -- E2E with disposable accounts/DB: rename first→second, anonymous old 404 increments once with dedup, live new path view - independent, owner old-path excluded, cross-owner denied, private/deleted/expired no leak, live reuse wins/removes retired - attribution. Correct audit gate: run `public-sharing.spec.ts`, not unrelated dashboard `resume-views.spec.ts`. - -Use `.env.retired-links-test.local` only if it is clearly disposable; never production DB. Run RED/GREEN DB/API/web tests, -migration generate/apply fresh and populated upgrade, DB/API/web typechecks, translation extraction, boundaries, build, -focused E2E plus public-sharing, narrow non-writing Biome, and diff/migration/scope review. Disclose/inspect write-capable -`pnpm check`. Stop on unreliable transaction attribution, uniqueness drift, migration uncertainty, or privacy leak. Commit -locally; no push/PR before independent review. - -Write `.orchestration/plan-10-implementation.md`: live/drift state, exact migration/base, facts vs uncertainty, RED/GREEN, -commit/files, tests/results, skipped DB/E2E gates, privacy/transaction risks, partial issue coverage, PR `not created`. Final -response at most ten lines. diff --git a/docs/execution/briefs/implement-plan-11.md b/docs/execution/briefs/implement-plan-11.md deleted file mode 100644 index f78ac76cd..000000000 --- a/docs/execution/briefs/implement-plan-11.md +++ /dev/null @@ -1,29 +0,0 @@ -# Implement plan 11: JSearch removal and tailoring documentation - -Read entire approved plan first from local planning checkout only when its HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use pinned `git show` fallback below. Then read current worktree -`AGENTS.md`, referenced issue/domain instructions, relevant ADRs, `/Users/amruth/.codex/RTK.md`, and -`/Users/amruth/.agents/skills/documentation-writer/SKILL.md`. Plan supplies document type, audience, goal, scope, and approved -structure; do not pause for routine outline approval. Portable fallback: fetch PR #3455 and use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/11-job-search-policy.md`. - -Do not spawn subagents. Do not touch coordinator ledger or another worktree. Do not merge, mutate issues, push, or create PR. - -Required execution: - -- Confirm clean worktree, fetch current `origin/main`, rename branch `codex/issue-3010-jsearch-docs`, run exact drift command, - fetch live #3010 body/comments/state/linked PRs, and run root intent discovery before edits. -- Verify release history, current job-search redirect, agent tools, provider/model capability policy, and attachment UI before - wording claims. Stop if release history contradicts removal attribution or documented UI steps do not exist. -- Modify only `docs/changelog/index.mdx`, `docs/guides/using-ai-agent.mdx`, and - `docs/guides/ai-agent-tools.mdx`. -- Add factual v5.1.0 migration note, current controlled tailoring workflow using plan's exact synthetic job description, review - and undo guidance, pasted/attached-content behavior, and live-search capability distinction. No unverified removal motive, - paid JSearch restoration, stale model list, provider credentials, or promise that chat is equivalent structured search. -- Run exact API tool/capability tests and plan's focused `rg`, markdown lint, `git diff --check`, and three-file name-only gate. - Record real-provider/browser workflow as optional unavailable validation when not run. -- Self-review every acceptance criterion. Commit with normal message. Leave branch local for independent review. - -Write report `.orchestration/plan-11-implementation.md`: verified facts vs uncertainty, live state, drift, exact commit/files, -commands/results, skipped gates, risks, issue coverage, PR status (`not created`). Final response: status, commit, one-line -tests, report path, concerns; at most ten lines. diff --git a/docs/execution/briefs/implement-plan-15a.md b/docs/execution/briefs/implement-plan-15a.md deleted file mode 100644 index 4337073f8..000000000 --- a/docs/execution/briefs/implement-plan-15a.md +++ /dev/null @@ -1,34 +0,0 @@ -# Implement plan 15A: opt-in picture cover/contain - -Read entire approved plan from local planning checkout only when its HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use pinned portable fallback: -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/15-picture-fitting-and-style.md`. Read current `AGENTS.md`, -RTK, issue/domain instructions, ADRs, and applicable skills. Run root Intent inventory and load matching local skill before -source edits. Do not spawn subagents. Do not touch ledger, mutate issues, merge, push, or create PR. - -Start from refreshed `origin/main`, require clean worktree, rename branch `codex/issue-2782-picture-fit`, revalidate live -issue 2782 and all open implementation PRs, and run plan drift check. Stop on overlapping implementation or contradicted picture -contract. Historical #3168/#3088/#2794 causes remain outside this implementation and must not be claimed fixed. - -Strict TDD and bounded scope: - -- First add failing schema compatibility and picture-fit geometry/UI tests. Record exact RED output before implementation. -- Add `fit: z.enum(["cover", "contain"]).catch("cover")` to picture schema and `fit: "cover"` to defaults/required - fixtures. Old and invalid JSON parse as cover; contain round-trips. No DB migration. -- Add named Cover/Contain control through existing form/draft path. Cover retains crop flow. Contain uploads selected full file - via existing endpoint without cropped-canvas construction. Preserve validation, cancel/error/locked behavior, save/reload, - and undo. Explain that switching cannot restore pixels already cropped; no asset history or new endpoint. -- Make sidebar preview and shared PDF renderer consume selected fit. Preserve frame/aspect/border/shadow/rotation and normal - Semantic CSS precedence. Inspect every template image consumer; change only paths that bypass shared fit. -- Use synthetic marked square/landscape/portrait images. Assert contain retains all edges and centers within one pixel; cover - preserves old crop geometry; test border/shadow branches and semantic `object-fit: cover` override. -- Add/extend authenticated synthetic E2E for full-image upload, persistence, JSON/browser/server PDF parity when environment - supports it. Never use reporter/private assets. - -Run focused schema/web/PDF tests, affected typechecks, boundaries, full build, and plan E2E against dedicated disposable DB. -Use narrow non-writing Biome inspection; if `pnpm check` runs, disclose it is write-capable and inspect diff. Run -`git diff --check` and scope/name-only checks. Commit locally with normal message; leave for independent review. - -Write `.orchestration/plan-15a-implementation.md`: verified facts vs uncertainty, live/drift state, RED/GREEN evidence, exact -commit/files, tests/results, skipped gates, visual/raster evidence, risks, issue coverage, PR `not created`. Final response at -most ten lines. diff --git a/docs/execution/briefs/implement-plan-16.md b/docs/execution/briefs/implement-plan-16.md deleted file mode 100644 index 296f30abd..000000000 --- a/docs/execution/briefs/implement-plan-16.md +++ /dev/null @@ -1,36 +0,0 @@ -# Implement plan 16: editable imported rich-text tables - -Read entire approved plan from local planning checkout only when its HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use pinned portable fallback: -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/16-imported-table-borders.md`. Read current `AGENTS.md`, RTK, -issue/domain instructions, ADRs, and applicable skills, including test-driven-development. Run root Intent inventory and load -matching local skill before source edits. Do not spawn subagents. Do not touch ledger, mutate issues, merge, push, or open PR. - -Start from refreshed `origin/main`, require clean worktree, rename branch `codex/issue-3196-editable-tables`, revalidate live -issue 3196 and open PRs, and run exact drift check. Preserve merged #3438. Historical screenshot equivalence remains unverified -without source, but Q11 independently approves supported table editing. - -Implement one atomic TDD unit across editor/HTML/PDF: - -- Add failing `rich-input.table` tests first and record exact RED output: supported 2x3 table parses as structured Tiptap - JSON; mount emits no change; named-cell edit affects one cell; undo/redo and remount retain rows/cells/text; HTML reimports - equivalently. Include colspan/rowspan, multiple paragraphs, inline marks, paste, and unrelated prop updates. -- Register native Tiptap table/row/header/cell support with smallest required dependencies and frozen lockfile changes. - Preserve supported widths/spans/borders and existing `emitUpdate: false` behavior. -- Detect unsupported structured markup before destructive normalization. Retain exact original HTML, expose accessible read-only - notice, and prevent ordinary edits from overwriting it. Cover locked, keyboard, reopen, and cancellation behavior. Stop if - implementation needs broader HTML security policy or arbitrary editor extensions. -- Keep explicit CSS precedence and borderless tables borderless. Legacy HTML `border` mapping is outside initial scope unless - an exact fixture proves it is first failure; then stop and report fork rather than widening silently. -- Extend actual PDF integration: assert six cell coordinates plus exact horizontal/vertical border operators and fixed-DPI - pixels for supported CSS borders in legacy/semantic modes. Unsupported fallback must remain lossless. Text-only assertion - cannot pass. -- Add focused synthetic import E2E covering edit, undo/redo, save/reload, unrelated edit, browser/server PDF. No private data. - -Run initial RED, focused web/PDF GREEN suites including existing #3438 test, web/PDF typechecks, boundaries, full build, and -plan E2E against dedicated disposable DB. Use narrow non-writing Biome; disclose/inspect any write-capable `pnpm check`. -Run `git diff --check` and scope inspection. Commit locally with normal message; no push/PR before independent review. - -Write `.orchestration/plan-16-implementation.md`: verified facts vs uncertainty, live/drift state, exact RED/GREEN evidence, -dependency/lockfile changes, commit/files, commands/results, skipped gates, risks, historical issue limitation, PR `not -created`. Final response at most ten lines. diff --git a/docs/execution/briefs/implement-plan-19.md b/docs/execution/briefs/implement-plan-19.md deleted file mode 100644 index 414834650..000000000 --- a/docs/execution/briefs/implement-plan-19.md +++ /dev/null @@ -1,37 +0,0 @@ -# Implement plan 19: scoped literal rich-text whitespace - -Read approved plan 19 from local planning checkout only when HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/19-literal-rich-text-whitespace.md`. Read current `AGENTS.md`, -RTK, issue/domain guidance, ADRs, applicable TDD skills, and completed Plan 16 implementation/review reports. This unit must -start from or rebase onto reviewed Plan 16 head because both own rich editor/HTML seams; never implement concurrently. Run -root Intent inventory and load matching local skill before edits. Do not spawn subagents, touch ledger, mutate issues, merge, -push, or create PR. - -Require clean dependent worktree, revalidate issue 3397/open PRs/current main and Plan 16 head, rename branch -`codex/issue-3397-literal-whitespace`, and record exact stacked base. Preserve paragraph indentation, Unicode-space fixes, and -table-cell support. Approved persisted marker is `data-resume-whitespace="preserve"`; unmarked legacy HTML must remain -unchanged. No global whitespace mode, NBSP substitution, code-block feature, or tab-key redesign. - -Strict TDD, atomic web/PDF/DOCX contract: - -- Record current GREEN characterization. Add failing marked paragraph/heading tests while existing unmarked ASCII collapse, - pretty-printed import, Unicode spaces, indentation, lists, quotes, Enter/Shift+Enter, and table regressions remain green. -- Newly authored blocks and blocks receiving text-input/paste mark preservation; mount, prop update, and unmarked legacy import - do not mark or emit saves. Exact leading/interior/trailing spaces and tab codepoints survive save/remount, undo/redo, - paragraph↔heading, list transitions without data loss, marks, line breaks, RTL, and supported Plan 16 table cells. -- Scope editor display behavior to marked nodes. Preserve unsupported-content channel from Plan 16. -- PDF preserves only marked node-local whitespace. One tab adds exactly four ordinary-space advances; two add eight, - independent of current x. Spaces remain breakable; narrow content never disappears. Do not disable dependency collapse - globally; patch CJS/ESM and frozen install only if no smaller neutral adapter exists. -- DOCX emits preserved-space representation and the same logical four-space tab contract; verify XML plus rendered geometry - when claiming visual width. -- Add synthetic authenticated E2E: type/paste, save/reload, JSON/PDF/DOCX export, exact codepoints and output geometry. No - private content. - -Run focused web/PDF/DOCX tests including Plan 16 table regressions, affected typechecks, boundaries, full build, E2E against -dedicated DB, narrow non-writing Biome, and diff/scope gates. Disclose/inspect any write-capable `pnpm check`. Commit locally; -no push/PR before independent review. - -Write `.orchestration/plan-19-implementation.md`: exact dependency/base, live/drift state, facts vs uncertainty, RED/GREEN, -commit/files, tests/results, skipped visual/E2E gates, risks, issue coverage, PR `not created`. Final response at most ten lines. diff --git a/docs/execution/briefs/implement-plan-20a.md b/docs/execution/briefs/implement-plan-20a.md deleted file mode 100644 index 971d224e5..000000000 --- a/docs/execution/briefs/implement-plan-20a.md +++ /dev/null @@ -1,37 +0,0 @@ -# Implement plan 20A: compact hidden-section recovery - -Read approved plan 20 from local planning checkout only when HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/20-section-restoration.md`. Read current `AGENTS.md`, RTK, -issue/domain guidance, relevant ADRs, and applicable brainstorming/TDD/frontend skills. Plan supplies approved UX direction; -do not pause for routine product choices. Run root Intent inventory and load matching local skill before edits. Do not spawn -subagents, touch ledger, mutate issues, merge, push, or create PR. - -Start clean from refreshed `origin/main`, rename branch `codex/issue-2921-hidden-section-recovery`, revalidate live issues -2921/3378/3265 and open PRs, and run exact plan drift check. This unit implements 20A for verified issue 2921. Reporter -forensics for 3378/3265 stay open. Do not claim missing/deleted content recovery or implement Layout placement in this unit. - -Strict TDD, exact scope: - -- First add failing pure tests for known printable section inventory: built-ins, summary, real custom sections; hidden and - placement locations independent; duplicate/later-page/sidebar locations; unknown IDs excluded; picture/basics/UI-only - custom container excluded; no mutation. Implement proposed `getSectionAvailability` in `@reactive-resume/resume` with an - explicit export. Include validated placement operation only if required by plan's shared helper contract, but do not expose - 20B UI or auto-place anything. -- Add failing DOM tests then compact Hidden sections UI. Keep Picture/Basics normal. Remove full editor panels only for hidden - printable sections. List built-in, summary, and individual custom sections by effective localized title. Show changes only - existing hidden flag through `useUpdateResumeData`; retain content, item order, and all saved layout IDs. -- Preserve custom-section editor container behavior when only some custom children are hidden. Hidden-but-unplaced Show must - not choose placement. Sidebar icon navigation must focus/open recovery entry. Controls need accessible names, keyboard - behavior, locked-state disablement, and undo semantics. -- Use named props types and existing UI primitives. New strings through Lingui workflow. No schema, PDF, importer, reset, - deletion, title-default, or layout-placement semantics changes. -- Add authenticated synthetic E2E: hide built-in/summary/custom, save/reload, compact entries present, PDF text absent; Show, - same layout reference/output returns; undo/redo and locked state. Do not use reporter data. - -Record initial RED and final GREEN. Run resume/web focused tests including existing visibility/menu/navigation regressions, -affected typechecks, boundaries, full build, and focused E2E against dedicated disposable DB. Use narrow non-writing Biome; -disclose/inspect any write-capable `pnpm check`. Run diff/scope checks. Commit locally; no push/PR before independent review. - -Write `.orchestration/plan-20a-implementation.md`: live/drift state, facts vs uncertainty, RED/GREEN evidence, exact commit -and files, tests/results, skipped gates, risks, issue-specific coverage, PR `not created`. Final response at most ten lines. diff --git a/docs/execution/briefs/implement-plan-23a.md b/docs/execution/briefs/implement-plan-23a.md deleted file mode 100644 index 09972395d..000000000 --- a/docs/execution/briefs/implement-plan-23a.md +++ /dev/null @@ -1,33 +0,0 @@ -# Implement plan 23A: authored-page versus overflow guidance - -Read approved plan 23 from local planning checkout only when HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/23-pagination-controls.md`. Read current `AGENTS.md`, RTK, -issue/domain guidance, ADRs, and applicable brainstorming/TDD/frontend skills. Plan and Q10 supply approved direction; do not -pause for routine wording/layout choices. Run root Intent inventory and load matching local skill before edits. Do not spawn -subagents, touch ledger, mutate issues, merge, push, or create PR. - -Start clean from refreshed `origin/main`, rename branch `codex/issue-3090-authored-page-guidance`, revalidate issues 3090 and -3350 plus open PRs, and run plan drift check. This is only 23A/Q10 guidance for issue 3090. Do not add item keep-together, -widow/orphan controls, renderer-generated page records, schema changes, or claim issue 3350 fixed. - -TDD and bounded implementation: - -- Add failing Layout UI test with one authored page and multiple physical-render-page evidence/stub. Guidance must identify - authored pages versus automatic PDF overflow, name existing `Move to` → `New Page` and full-width controls accurately, and - make clear physical overflow pages are not separately saved/editable. -- Add concise, accessible guidance at owning Layout pages surface using existing UI primitives and Lingui strings. Link or - focus existing controls only if current component contracts support it without new state. Preserve existing warning and - avoid duplicative copy. -- Prove rendering guidance does not mutate `metadata.layout.pages`, add page records, change section assignment, or alter PDF - behavior. Cover keyboard/accessibility and locked state where relevant. -- Extend synthetic Azurill case: automatic overflow retains all content; manually authored second full-width page remains an - independent saved layout choice. Do not promise independent styling of physical overflow. - -Record initial RED then GREEN. Run focused Layout/page tests, relevant PDF pagination regression if touched by test harness, -web typecheck, boundaries, full build, focused E2E if existing infrastructure can observe guidance without private data, -Lingui extraction/catalog checks, narrow non-writing Biome, `git diff --check`, and scope review. Commit locally; no push/PR -before independent review. - -Write `.orchestration/plan-23a-implementation.md`: live/drift state, facts vs uncertainty, RED/GREEN, exact commit/files, -tests/results, skipped gates, risks, partial issue coverage, PR `not created`. Final response at most ten lines. diff --git a/docs/execution/briefs/implement-plan-32.md b/docs/execution/briefs/implement-plan-32.md deleted file mode 100644 index f8b1225f7..000000000 --- a/docs/execution/briefs/implement-plan-32.md +++ /dev/null @@ -1,36 +0,0 @@ -# Implement plan 32: one-shot chronological section sort - -Read approved plan 32 from local planning checkout only when HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/32-section-date-sorting.md`. Read current `AGENTS.md`, RTK, -issue/domain guidance, ADRs, and applicable brainstorming/TDD skills. Approved direction fixes behavior; do not ask routine -interaction questions. Run root Intent inventory and load matching local skill before edits. Do not spawn subagents, touch -ledger, mutate issues, merge, push, or create PR. - -Start clean from refreshed `origin/main`, rename branch `codex/issue-2725-one-shot-sort`, revalidate live issue 2725 and open -PRs, and run exact drift. Ensure no active owner touches same section menus. Plan 24 is presentation-only; do not stack unless -current source truly requires its interface. This increment is one-shot Experience/Education only, not autosort or full issue -closure. - -Strict TDD and contract: - -- First characterize existing `parsePeriod` for numeric/localized/ongoing/year-only/reversed/blank/bare-Present/prose/equal - values without changing parser or ATS behavior. Record nullable cases. -- Add failing tests for pure `sortSectionItemsByPeriod(items, locale): { items, unresolvedIds }` in `packages/resume` and - an intentional public export. New array, original item objects/content/IDs unchanged, identical multiset, no input mutation. -- Total order: ongoing first by descending start; known-ended by descending end then start; stable ties. Mixed precision uses - internal `[year, month ?? 0]`; never persists fabricated dates. Missing known endpoint ranks after known. Unresolved and - reversed entries remain stable at end; return their exact IDs. Cover transitivity, determinism/repeat invocation, - empty/single, localized months, year-only, bare Present, blank, prose, reversed, and stable equal ranges. -- Add existing-menu one-shot action only for built-in Experience/Education through one `useUpdateResumeData` draft mutation. - One undo restores exact order; save/reload retains chosen order; later edits never resort. Locked state disables action. - Concise Lingui notice identifies only affected entries in current section, preferably safe title or ID semantics supported by - current notification patterns; do not expose unrelated resume content. -- No schema setting, persistent autosort, Date.parse, free-text rewrite, role/custom-section sort, or implicit render/save sort. - -Record RED and GREEN. Run period/helper tests, focused web menu/undo tests, resume/web typechecks, boundaries, build, Lingui -catalog checks, and synthetic authenticated persistence E2E if feasible. Use narrow non-writing Biome; disclose/inspect any -write-capable `pnpm check`. Run diff/scope checks. Commit locally; no push/PR before independent review. - -Write `.orchestration/plan-32-implementation.md`: live/drift state, facts vs uncertainty, RED/GREEN, exact commit/files, -tests/results, skipped gates, risks, partial issue coverage, PR `not created`. Final response at most ten lines. diff --git a/docs/execution/briefs/rereview-plan-02-hosted.md b/docs/execution/briefs/rereview-plan-02-hosted.md deleted file mode 100644 index 9a9476715..000000000 --- a/docs/execution/briefs/rereview-plan-02-hosted.md +++ /dev/null @@ -1,27 +0,0 @@ -# Independent rereview: Plan 02 hosted feedback fix - -Review only in `/Users/amruth/orca/workspaces/reactive-resume/issue-3181-recovery-procedure`. -Exact target head: `325d1fcd1e2ea3744896c1688c6f6c0bfc3dd5ce`. Do not edit tracked files, commit, push, reply, -resolve threads, publish, merge, or mutate issues. - -Read current repository instructions, pinned approved Plan 02, prior review reports, hosted-review fix report, full -`origin/main...HEAD` diff, live PR #3460, and all four unresolved hosted threads. Refresh base and verify exact head. -Run root Intent inventory and load matching review skill if any; no subagents. - -Review Standards and Spec independently. Verify especially: - -- `caseId`, `sourceResumeId`, and non-null `targetResumeId` reject all Unicode control (`Cc`) and format (`Cf`) - characters, including embedded and format-only U+200B, U+2066, U+202E, and U+FEFF values; -- safe accepted identifiers remain byte-preserving and unnormalized; -- strict current-v5 canonical equality and duplicate-member scanner remain fail-closed; -- autofix cleanup is retained and no scope expansion or contract weakening occurred; -- migration guidance exactly matches executable validation and does not imply raw-v4 conversion or real recovery; -- Codacy scanner-complexity and scanner-coverage comments are non-actionable or already satisfied, and relaxing - canonical equality would violate approved direction; -- all 83 comparator cases and independent adversarial probes are mutation-sensitive enough to catch removal or partial - application of the `Cf` guard. - -Run focused comparator/API/auth tests, affected typechecks, boundaries, narrow non-writing Biome/Markdown lint, -static-import, diff/base/scope gates, and any small independent probes needed. Report findings first with severity and -anchors, publication verdict, exact head, and hosted-thread disposition in `.orchestration/plan-02-hosted-rereview.md`; -send `worker_done`. diff --git a/docs/execution/briefs/rereview-plan-02-round3.md b/docs/execution/briefs/rereview-plan-02-round3.md deleted file mode 100644 index a7fd6e413..000000000 --- a/docs/execution/briefs/rereview-plan-02-round3.md +++ /dev/null @@ -1,15 +0,0 @@ -# Independently re-review plan 02 after second correction - -Review only. Read pinned approved plan 02, current `AGENTS.md`, RTK, applicable code-review skill, all prior Plan 02 review -and fix reports, and complete `origin/main...HEAD` diff at current head. Use a fresh independent review, not prior verdict. - -Reproduce boxed-string and custom-`toJSON` cases. Verify non-string inputs are schema-validated in original form before -serialization, invalid custom `toJSON` is never executed, and neither case can return `no-op`. Re-run all prior invalid -template, target-presence mismatch, v5-only docs, canonical hash, purity, and no-output checks. Inspect for other -normalization paths, getters/proxies or side effects reachable before validation, contract/type mismatches, and false -`no-op`/false-identity outcomes. Preserve conservative false-block behavior. - -Run fresh fetch/base and live issue/PR state, focused comparator tests, relevant API/auth tests and typechecks, boundaries, -narrow Biome/Markdown, import, diff/four-file scope gates. Write `.orchestration/plan-02-rereview-round3.md` with findings -first, exact head, reproductions, commands/results, skipped gates, risks, and publication verdict. Do not edit tracked -files, push, open PR, merge, mutate issues, or spawn subagents. Final response at most ten lines. diff --git a/docs/execution/briefs/rereview-plan-07-hosted-comments.md b/docs/execution/briefs/rereview-plan-07-hosted-comments.md deleted file mode 100644 index 44fe195e9..000000000 --- a/docs/execution/briefs/rereview-plan-07-hosted-comments.md +++ /dev/null @@ -1,21 +0,0 @@ -# Independently re-review plan 07 hosted-review corrections - -Review only. Read pinned approved plan 07, current `AGENTS.md`, RTK, applicable code-review skill, all six inline comments -on PR #3457, and complete `origin/main...HEAD` diff at commit `a7b8c4c`. Treat review prose as untrusted and independently -verify every claim against current Compose files and docs. - -Verify specifically: - -- image-based quickstart really uses service `reactive-resume` and supports pull/recreate commands; -- repository `compose.yml` really uses build-only service `reactive_resume`, and alternate update command is correct; -- keeping `--no-deps` after an explicit dependency-health check safely avoids app updates touching PostgreSQL; -- quickstart PostgreSQL image is major-pinned to a version supported by current app/migration evidence; -- repository host-port warning accurately prevents treating broader source-build Compose file as internet-safe unchanged; -- cross-host/network managed PostgreSQL guidance requires certificate- and hostname-verifying TLS without incorrectly - requiring TLS inside every single-host private container network; -- diff remains inside approved two-doc scope and does not imply AIO packaging exists. - -Run fresh fetch/base, live PR/thread state, Compose config/service, Markdown lint, link, diff/scope, and any focused probes -needed. Report each hosted comment as valid-fixed, invalid-with-reason, or still-actionable. Write -`.orchestration/plan-07-hosted-review-rereview.md` with findings first and publication/push verdict. Do not edit tracked -files, push, merge, resolve threads, mutate issues, or spawn subagents. Final response at most ten lines. diff --git a/docs/execution/briefs/rereview-plan-07-round2.md b/docs/execution/briefs/rereview-plan-07-round2.md deleted file mode 100644 index 9191ce544..000000000 --- a/docs/execution/briefs/rereview-plan-07-round2.md +++ /dev/null @@ -1,17 +0,0 @@ -# Independent rereview: Plan 07 late hosted fix - -Review only in `/Users/amruth/orca/workspaces/reactive-resume/issue-2722-postgres-docs`. -Exact target head: `171637526de4bb0d0e4320ebb85048675b92f1c7`. -PR #3457 remains open at older remote head. Do not edit tracked files, commit, push, reply, resolve, or merge. - -Read current instructions, pinned approved Plan 07, complete `origin/main...HEAD` diff, all Plan 07 reports, live issue -number 2722, PR/check/thread state, and late thread `PRRT_kwDODuah5s6fnaBa`. Refresh base and verify target head. - -Independently verify image quickstart and repository source-build update paths are unmistakably separate through log -inspection. Both paths must use correct service names; image path retains pull/up/log commands for `reactive-resume`; -repository path uses build/up/log commands for `reactive_resume`, no pull, app-only `--no-deps`, and no dependency or -PostgreSQL lifecycle widening. - -Run both Compose config validations and dry-runs, focused DB test, Markdown/link/command/diff/exact-scope gates. Review -full diff for standards and approved-plan compliance. Write `.orchestration/plan-07-hosted-review-rereview-round2.md` -with findings first and publication verdict, then send worker_done. No subagents. diff --git a/docs/execution/briefs/rereview-plan-09-hosted-comments.md b/docs/execution/briefs/rereview-plan-09-hosted-comments.md deleted file mode 100644 index 5e1fce463..000000000 --- a/docs/execution/briefs/rereview-plan-09-hosted-comments.md +++ /dev/null @@ -1,15 +0,0 @@ -# Independently re-review plan 09 hosted-review correction - -Review only. Read pinned approved plan 09, current `AGENTS.md`, RTK, applicable code-review skill, prior Plan 09 review/fix/ -rereview reports, and both inline comments on PR #3458. Review complete `origin/main...HEAD` diff at current head. - -Verify duplicated hosted finding is resolved: instructions list commits affecting `resume.json`, use a user-selected commit -reference rather than `HEAD`, and still recover by saving selected JSON then importing as a new resume. In a disposable -local repository with at least two committed resume versions, prove `git log --oneline -- resume.json` identifies both and -`git show :resume.json` returns chosen earlier content. Ensure user-facing commands remain plain Git with no RTK, -remote, credentials, push, global config, sync, destructive replacement, or whole-account restore promise. - -Revalidate all previously corrected export/cover-letter/version-history claims, exact two-doc scope, fresh base/live PR -state, focused tests, Markdown lint, diff/scope. Write `.orchestration/plan-09-hosted-review-rereview.md` with findings -first, exact head, commands/results, skipped gates, risks, and push/thread-resolution verdict. Do not edit tracked files, -push, merge, resolve threads, mutate issues, or spawn subagents. Final response at most ten lines. diff --git a/docs/execution/briefs/rereview-plan-09-round3.md b/docs/execution/briefs/rereview-plan-09-round3.md deleted file mode 100644 index 0ca508c8e..000000000 --- a/docs/execution/briefs/rereview-plan-09-round3.md +++ /dev/null @@ -1,15 +0,0 @@ -# Independently re-review plan 09 after recovered-file fix - -Review only. Read pinned approved plan 09, current `AGENTS.md`, RTK, applicable code-review skill, all Plan 09 review/fix -reports, and complete `origin/main...HEAD` diff at current head. - -Reproduce full documented Git workflow in fresh disposable two-revision repository. Verify path-filtered log identifies -both revisions, selected commit inspection is correct, explicit save command creates importable recovered JSON containing -earlier content, tracked current `resume.json` remains current and unmodified, and dashboard prose points to recovered -file/import-as-new path. Assess output-filename clobber risk against wording; report if still misleading. - -Revalidate all prior export, cover-letter, history, privacy, image, no-sync/no-remote/no-destructive-replacement claims; -fresh base/live PR/thread state; 152 focused tests; Markdown/link/forbidden-command/diff/two-doc scope gates. Write -`.orchestration/plan-09-rereview-round3.md` with findings first, exact head, commands/results, skips, risks, and push/thread- -resolution verdict. Do not edit tracked files, push, merge, resolve threads, mutate issues, or spawn subagents. Final -response at most ten lines. diff --git a/docs/execution/briefs/rereview-plan-09-round4.md b/docs/execution/briefs/rereview-plan-09-round4.md deleted file mode 100644 index 8f973baef..000000000 --- a/docs/execution/briefs/rereview-plan-09-round4.md +++ /dev/null @@ -1,19 +0,0 @@ -# Independent rereview: Plan 09 round 4 - -Review only. Assigned worktree: -`/Users/amruth/orca/workspaces/reactive-resume/issue-2705-git-backup-docs`. - -Target local head: `4ffdd96bdda668513e26051a52c971d546e01bff`. -PR #3458 remote head remains older. Do not edit tracked files, commit, push, resolve threads, or merge. - -Read current instructions, pinned approved Plan 09, full `origin/main...HEAD` diff, implementation/fix reports, and every -prior review report. Revalidate current `origin/main`, live issue #2705, PR #3458, checks, and unresolved threads. - -Primary acceptance: revised recovery prose must require a fresh/unused output filename at command site; following it must -preserve an existing sentinel output, create a valid importable earlier revision under a distinct name, and leave tracked -`resume.json` unchanged. Confirm all prior factual corrections and all nine approved commands remain coherent. - -Run 152 focused tests, disposable two-revision recovery workflow, Markdown/link/command/forbidden-command/diff/scope -gates. Review complete diff for standards and approved-plan compliance. Report findings first with severity and anchors. -Write `.orchestration/plan-09-rereview-round4.md`, then send worker_done with publication verdict. No subagents. - diff --git a/docs/execution/briefs/rereview-plan-11-hosted-comments.md b/docs/execution/briefs/rereview-plan-11-hosted-comments.md deleted file mode 100644 index b47432c17..000000000 --- a/docs/execution/briefs/rereview-plan-11-hosted-comments.md +++ /dev/null @@ -1,15 +0,0 @@ -# Independently re-review plan 11 hosted-review corrections - -Review only. Read pinned approved plan 11, current `AGENTS.md`, RTK, applicable code-review skill, all Plan 11 reports, -and two inline comments on PR #3459. Review complete `origin/main...HEAD` diff at current head. - -Verify both hosted wording corrections are coherent: user-facing example uses accessible “sample” terminology without -weakening fictional-data safety, and section/link text “Review edits and patches” aligns with exact **Review edits** UI -label while still covering patch inspection and restore. Verify anchor resolution and no stale `#review-patches` links. -Revalidate previous attachment, history, provider capability, isolated AI Draft, patch/restore, scope, and no-invented- -motive findings. - -Run fresh base/live PR/thread state, relevant source probes and focused tests, Markdown/link/diff/three-doc scope gates. -Write `.orchestration/plan-11-hosted-review-rereview.md` with findings first, exact head, commands/results, skipped gates, -risks, and push/thread-resolution verdict. Do not edit tracked files, push, merge, resolve threads, mutate issues, or spawn -subagents. Final response at most ten lines. diff --git a/docs/execution/briefs/rereview-plan-11.md b/docs/execution/briefs/rereview-plan-11.md deleted file mode 100644 index 5ff04b3d4..000000000 --- a/docs/execution/briefs/rereview-plan-11.md +++ /dev/null @@ -1,15 +0,0 @@ -# Independently re-review plan 11 after corrections - -Review only. Read pinned approved plan 11, current `AGENTS.md`, RTK, applicable code-review skill, -`.orchestration/plan-11-review.md`, and `.orchestration/plan-11-review-fix.md`. Review complete `origin/main...HEAD` diff, -not only follow-up commit. - -Verify both prior findings are fully resolved: changelog no longer promises arbitrary attachment-based tailoring, and -workflow no longer duplicates adjacent patch review/restore/rollback guidance. Revalidate history, redirect, provider -capability boundary, supported supplied-description paths, isolated AI Draft behavior, patch review/restore semantics, -three-doc scope, and absence of invented removal motive or JSearch restoration promise. - -Run fresh fetch/base and live issue/PR state checks, source probes, relevant focused tests, Markdown lint, link/diff/scope -gates. Write `.orchestration/plan-11-rereview.md` with findings first, exact head, commands/results, skipped gates, risks, -and publication verdict. Do not edit tracked files, push, open PR, merge, mutate issues, or spawn subagents. Final response -at most ten lines. diff --git a/docs/execution/briefs/rereview-plan-15a.md b/docs/execution/briefs/rereview-plan-15a.md deleted file mode 100644 index cc0711bed..000000000 --- a/docs/execution/briefs/rereview-plan-15a.md +++ /dev/null @@ -1,27 +0,0 @@ -# Independent rereview: Plan 15A picture fit - -Review only in `/Users/amruth/orca/workspaces/reactive-resume/issue-2782-picture-fit`. -Exact target head: `6145d5a5925373287b87dfaa30ab675ebc84e105`. -No PR or remote branch exists. Do not edit tracked files, commit, push, publish, merge, or mutate issues. - -Read current instructions, pinned approved Plan 15, complete `origin/main...HEAD` diff, implementation/review/fix reports, -live issue #2782 and open PR overlap. Refresh base and verify target head. Review all 70-file behavior, not only fix commit. - -Independently verify every prior finding: - -- Cover raster pins legacy centered crop geometry for landscape, portrait, and square control with explicit retained/cropped - edges and symmetric bounds; -- Contain asserts expected fitted bitmap dimensions and centering within one pixel, including border/shadow branches; -- mutation sensitivity proves wrong object-position or scale fails tests; -- sidebar and Playwright assert computed `object-fit`, not Tailwind class presence; -- props type duplication is removed without weakening named-props convention. - -Reconfirm Cover default, Contain original-file upload, schema/import compatibility, autosave/undo/error/cancel/lock flows, -all-template shared PDF consumption, semantic CSS precedence, locale/docs/reference completeness, exact issue #2782 scope, -and no claims for other Plan 15 issues. - -Run focused and full affected suites, affected typechecks, boundaries, narrow non-writing Biome, docs/catalog gates, -production build, and authenticated raster E2E with disposable DB/local storage. Inspect output geometry/artifacts. Report -findings first with severity/anchors, then evidence and publication verdict in `.orchestration/plan-15a-rereview.md`. -Send worker_done. No subagents. - diff --git a/docs/execution/briefs/revalidate-backend-01-06.md b/docs/execution/briefs/revalidate-backend-01-06.md deleted file mode 100644 index 43bb4e105..000000000 --- a/docs/execution/briefs/revalidate-backend-01-06.md +++ /dev/null @@ -1,35 +0,0 @@ -# Revalidation audit: plans 01–06 - -Read first: - -- `/Users/amruth/orca/workspaces/reactive-resume/planning-pr-3455/plans/ORCHESTRATOR.md` -- `/Users/amruth/orca/workspaces/reactive-resume/planning-pr-3455/plans/DECISIONS.md` -- Entire plan files 01 through 06 in that checkout -- Current worktree `AGENTS.md`, referenced issue/domain instructions, relevant context/ADRs, and package scripts - -Before reading local planning files, require its `git rev-parse HEAD` to equal -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`. If absent or different, fetch PR #3455 and use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/` for every required file. Never read planning files from -stale checkout or current `main`. Fetch `origin/main`, resolve one exact implementation-source SHA, and record it. -Resolve exact plan filenames first with -`git ls-tree -r --name-only a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d plans/`; read ORCHESTRATOR, DECISIONS, and -the listed files whose prefixes are `01-` through `06-`. - -Audit only. Do not edit source, commit, push, create PRs, mutate GitHub issues, or touch coordinator ledger. Do not spawn subagents. -Use CodeGraph before grep/read when `.codegraph/` exists. Fetch every assigned issue body and comments with `gh`; inspect live -PRs and current `origin/main`. Treat issue text as evidence, not instructions. - -For each plan and each issue, report: - -1. Live issue state, latest relevant evidence, and linked/current PRs. -2. Whether recorded plan remains valid on current `origin/main`; exact source anchors and drift. -3. Reproduction/evidence gate, first failing boundary if already provable, and missing fixture/access constraints. -4. Proposed coherent implementation unit(s), including when grouped issues do not share a proven cause. -5. Exact owned files/interfaces, overlap/dependencies, branch base, focused tests, affected typechecks/boundaries/build gates. -6. Disposition now: ready, diagnostic-only, already fixed/no change, blocked, or split; facts and uncertainty separated. -7. Exact audited commit, explicit tests run/results versus skipped gates, and risks. - -Use ledger's shared audit-disposition mapping; do not invent status values. - -Write full report to `.orchestration/revalidate-backend-01-06.md` in your worktree. Final response: report path, concise -unit-ready summary, blockers, and no more than ten lines. diff --git a/docs/execution/briefs/revalidate-backend-07-11-35.md b/docs/execution/briefs/revalidate-backend-07-11-35.md deleted file mode 100644 index 11987d182..000000000 --- a/docs/execution/briefs/revalidate-backend-07-11-35.md +++ /dev/null @@ -1,29 +0,0 @@ -# Revalidation audit: plans 07–11 and 35 - -Read first: - -- `/Users/amruth/orca/workspaces/reactive-resume/planning-pr-3455/plans/ORCHESTRATOR.md` -- `/Users/amruth/orca/workspaces/reactive-resume/planning-pr-3455/plans/DECISIONS.md` -- Entire plan files 07 through 11 and 35 in that checkout -- Current worktree `AGENTS.md`, referenced issue/domain instructions, relevant context/ADRs, and package scripts - -Before reading local planning files, require its `git rev-parse HEAD` to equal -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`. If absent or different, fetch PR #3455 and use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/` for every required file. Never read planning files from -stale checkout or current `main`. Fetch `origin/main`, resolve one exact implementation-source SHA, and record it. -Resolve exact plan filenames first with -`git ls-tree -r --name-only a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d plans/`; read ORCHESTRATOR, DECISIONS, and -the listed files whose prefixes are `07-` through `11-` plus `35-`. - -Audit only. Do not edit source, commit, push, create PRs, mutate GitHub issues, or touch coordinator ledger. Do not spawn -subagents. Use CodeGraph before grep/read when `.codegraph/` exists. Fetch every assigned issue body/comments and inspect -live PRs/current `origin/main`. Q12 and blanket-approved scoped directions are binding. - -For each plan and each issue, report live state/PRs, current-code validity and anchors, reproduction or documentation evidence, -coherent unit split, exact owned files, dependencies, tests/checks, blockers, and disposition. Distinguish declined AIO from -documentation improvements; avoid cosmetic fix claims. For import errors, require reproduction before parser/dialog changes. -Separate verified facts from uncertainty. Record exact audited commit, first failing boundary, explicit tests run/results -versus skipped gates, and risks. Use ledger's shared audit-disposition mapping; do not invent status values. - -Write full report to `.orchestration/revalidate-backend-07-11-35.md` in your worktree. Final response: report path, concise -unit-ready summary, blockers, and no more than ten lines. diff --git a/docs/execution/briefs/revalidate-builder-20-34.md b/docs/execution/briefs/revalidate-builder-20-34.md deleted file mode 100644 index eeedf4e54..000000000 --- a/docs/execution/briefs/revalidate-builder-20-34.md +++ /dev/null @@ -1,29 +0,0 @@ -# Revalidation audit: plans 20–34 - -Read first: - -- `/Users/amruth/orca/workspaces/reactive-resume/planning-pr-3455/plans/ORCHESTRATOR.md` -- `/Users/amruth/orca/workspaces/reactive-resume/planning-pr-3455/plans/DECISIONS.md` -- Entire plan files 20 through 34 in that checkout -- Current worktree `AGENTS.md`, referenced domain instructions, context/ADRs, and package scripts - -Before reading local planning files, require its `git rev-parse HEAD` to equal -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`. If absent or different, fetch PR #3455 and use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/` for every required file. Never read planning files from -stale checkout or current `main`. -Resolve exact plan filenames first with -`git ls-tree -r --name-only a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d plans/`; read ORCHESTRATOR, DECISIONS, and -the listed files whose prefixes are `20-` through `34-`. - -Audit only. Do not edit source, commit, push, create PRs, mutate GitHub issues, or touch coordinator ledger. Do not spawn -subagents. Use CodeGraph first only when `.codegraph/` exists. Otherwise inspect exact-head source with `git show`, `rg`, and -direct reads; record CodeGraph unavailability and limitation. Fetch every issue body/comments and live PRs/current main. - -For each plan and issue, report live state/PRs, source validity/drift, reproduction/evidence gates, coherent cause-based unit -split, exact owned files/interfaces, overlap/dependency graph, visual/rendered assertions, focused tests/typechecks/boundaries/ -build gates, blockers, and disposition. Q1–Q10 plus blanket approvals bind. Identify partial implementations already on main. -Plan 30/31 depend on renderer baselines. Plan 33 stops after official-reference research plus concrete visual proposal pending -future visual approval. Separate verified facts from uncertainty. - -Write full report to `.orchestration/revalidate-builder-20-34.md` in your worktree. Final response: report path, concise -unit-ready summary, blockers, and no more than ten lines. diff --git a/docs/execution/briefs/revalidate-rendering-12-19.md b/docs/execution/briefs/revalidate-rendering-12-19.md deleted file mode 100644 index 154af3cbb..000000000 --- a/docs/execution/briefs/revalidate-rendering-12-19.md +++ /dev/null @@ -1,29 +0,0 @@ -# Revalidation audit: plans 12–19 - -Read first: - -- `/Users/amruth/orca/workspaces/reactive-resume/planning-pr-3455/plans/ORCHESTRATOR.md` -- `/Users/amruth/orca/workspaces/reactive-resume/planning-pr-3455/plans/DECISIONS.md` -- Entire plan files 12 through 19 in that checkout -- Current worktree `AGENTS.md`, referenced domain instructions, context/ADRs, and package scripts - -Before reading local planning files, require its `git rev-parse HEAD` to equal -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`. If absent or different, fetch PR #3455 and use -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/` for every required file. Never read planning files from -stale checkout or current `main`. -Resolve exact plan filenames first with -`git ls-tree -r --name-only a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d plans/`; read ORCHESTRATOR, DECISIONS, and -the listed files whose prefixes are `12-` through `19-`. - -Audit only. Do not edit source, commit, push, create PRs, mutate GitHub issues, or touch coordinator ledger. Do not spawn -subagents. Use CodeGraph first only when `.codegraph/` exists. Otherwise inspect pinned exact-head source with `git show`, -`rg`, and direct reads; record CodeGraph unavailability and limitation. Fetch every issue body/comments and live PRs/main. - -For each plan and issue, report live state/PRs, source validity/drift, exact first-boundary reproduction, available/missing -fixtures, coherent cause-based unit split, owned files/interfaces, overlap map across 12–19 and units 27/30/31, exact visual -or raster/content assertions, focused tests/typechecks/boundaries/build gates, blockers, and disposition. Preserve existing -verified fixes. Q11 makes editable rich-text tables selected behavior; plan 19 whitespace direction is approved. Separate -verified facts from uncertainty. - -Write full report to `.orchestration/revalidate-rendering-12-19.md` in your worktree. Final response: report path, concise -unit-ready summary, blockers, and no more than ten lines. diff --git a/docs/execution/briefs/review-plan-02-autofix.md b/docs/execution/briefs/review-plan-02-autofix.md deleted file mode 100644 index f35a25e64..000000000 --- a/docs/execution/briefs/review-plan-02-autofix.md +++ /dev/null @@ -1,16 +0,0 @@ -# Independent review: Plan 02 autofix head - -Review only in `/Users/amruth/orca/workspaces/reactive-resume/issue-3181-recovery-procedure`. -Exact target/PR #3460 head: `6c47439358aa624f459b519f6d51ba19bbde97c0`. -Do not edit tracked files, commit, push, merge, mutate issues, or access private recovery data. - -Read current instructions, pinned Plan 02, complete `origin/main...HEAD` diff, all Plan 02 reports, and live PR #3460 -checks/threads. Verify bot commit `4125074f9..6c4743935` removes only unused exports for internal outcome/reason aliases and -does not change public `RecoveryComparisonInput`, `RecoveryManifest`, comparator behavior, consumer compatibility, or -approved scope. Inspect current package exports/imports and any potential external tooling use. - -Run 59 comparator tests, tooling typecheck, static import, API/auth focused suites, affected typechecks, boundaries, narrow -Biome/Markdown, diff/scope gates, plus targeted compile probes showing intended public types remain usable. Review complete -diff for standards/spec regressions. Write `.orchestration/plan-02-autofix-review.md` with findings first and exact-head -publication verdict, then send worker_done. No subagents. - diff --git a/docs/execution/briefs/review-plan-02-final.md b/docs/execution/briefs/review-plan-02-final.md deleted file mode 100644 index 6dab414e1..000000000 --- a/docs/execution/briefs/review-plan-02-final.md +++ /dev/null @@ -1,19 +0,0 @@ -# Final independent review: plan 02 serialized recovery comparator - -Review only. Read pinned approved plan 02, current `AGENTS.md`, RTK, applicable code-review skill, every Plan 02 report, -and complete `origin/main...00855fa1667b35502ec66d609a603716d647466d` four-file diff. Start fresh; prior churn is not evidence of correctness. - -Reproduce every prior P1/P2 bypass. Verify primitive-string guard runs before any object access/trap/getter/method; parsed -envelope validation is exact, non-coercing, finite-JSON-only, rejects unknown/missing keys and invalid/empty IDs/flag types; -valid false gates retain named reasons; target invariant and invalid source/target order are conservative; invalid manifests -are fresh and deterministic. Audit recursive validation/canonicalization for false identity, normalization, mutation, -exceptions, stack/size behavior appropriate to local synthetic tooling, and hash determinism. Ensure serialized-request -docs match actual API and do not claim raw-v4 support or real recovery. - -Run fresh base/live issue/PR state, all 36 comparator tests plus independent adversarial probes, API/auth tests/typechecks, -boundaries, narrow Biome/Markdown, import/no-output/diff/four-file scope. Review Standards and Spec axes, including whether -596-line tool/test diff remains proportionate and maintainable for approved procedure. - -Write `.orchestration/plan-02-final-review.md` with findings first and file/line evidence, exact head, commands/results, -skips, risks, and publication verdict. Do not edit tracked files, push, open PR, merge, mutate issues, or spawn subagents. -Final response at most ten lines. diff --git a/docs/execution/briefs/review-plan-02-round5.md b/docs/execution/briefs/review-plan-02-round5.md deleted file mode 100644 index 411b65645..000000000 --- a/docs/execution/briefs/review-plan-02-round5.md +++ /dev/null @@ -1,25 +0,0 @@ -# Independent review: Plan 02 round 5 - -Review only. Worktree: -`/Users/amruth/orca/workspaces/reactive-resume/issue-3181-recovery-procedure`. -Exact target head: `4125074f99ad91c161d8a9437259465d4b7f933b`. -No PR exists. Do not edit tracked files, commit, push, publish, mutate issues, or perform private recovery. - -Read current instructions, pinned approved Plan 02, full `origin/main...HEAD` diff, every implementation/fix/review report, -and live issues #3181/#2760 plus branch/PR state. Refresh `origin/main` and verify target head before review. - -Review standards and spec. Independently adversarially verify: - -- duplicate JSON member rejection at every depth, both orders, escaped-equivalent names, arrays/objects, and supported - serialized source/target resume strings before gates, schema comparison, or hashing; -- lexical scanner correctness for valid JSON escapes, primitives, nested structures, malformed input, deep input, and no - executable-object access; -- all safety flags remain literal booleans and fail closed; -- all three manifest IDs reject blank and Unicode control-containing strings while preserving accepted IDs verbatim; -- fresh invalid manifests, deterministic stable hashes, exact-envelope contract, docs, and four-file scope; -- proportionality and maintainability of complete implementation. - -Run 59 comparator tests, independent probes, 54 API tests, 21 auth tests, affected typechecks, boundaries, narrow -Biome/Markdown, import/diff/scope gates. Report findings first with severity and exact anchors. Write -`.orchestration/plan-02-review-round5.md`; send worker_done with publication verdict. No subagents. - diff --git a/docs/execution/briefs/review-plan-02.md b/docs/execution/briefs/review-plan-02.md deleted file mode 100644 index c1a676dc5..000000000 --- a/docs/execution/briefs/review-plan-02.md +++ /dev/null @@ -1,25 +0,0 @@ -# Independent review: plan 02 synthetic recovery - -Review only; do not edit, commit, push, open PR, mutate issues, or spawn subagents. Read current worktree `AGENTS.md`, RTK, -issue/domain guidance, code-review/receiving-code-review/testing skills, implementation report -`.orchestration/plan-02-implementation.md`, and approved plan 02. Trust local planning checkout only when HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise read -`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/02-hosted-v4-account-recovery.md`. - -Fetch current `origin/main` and GitHub issue/PR state. Confirm reviewed branch/commit and inspect complete -`origin/main...HEAD` diff. Treat prior report as a claim to verify. Review standards and approved-plan fidelity, especially: - -- Comparator is pure, deterministic, non-networked, non-writing, current-schema-only, and never implies owner/source - authenticity from hashes. Validate no import-time effects or accidental sensitive logging. -- Manifest contracts and tests correctly cover identical, old-only, divergent, owner/mapping/source blocks, malformed input, - determinism, immutability, and stable IDs/hashes. Seek false positives and weak self-fulfilling tests. -- Docs distinguish hosted operator authority from self-hosted authority, require owner verification/mapping/private delivery, - forbid overwrite/default public exposure, state no-source limits, and make no v4 conversion/recovery promise. -- Scope contains exactly four approved files. No private data or destructive recovery steps. - -Rerun focused tooling test/typecheck, relevant API/auth tests, affected typechecks, boundaries, narrow Biome/Markdown checks, -and `git diff --check`; rerun broader tests only where a finding needs proof. Record skipped gates. Findings first, ordered by -severity with exact file/line and concrete evidence. If none, state `No findings` and residual risks. - -Write `.orchestration/plan-02-review.md` with reviewed SHA/base, findings, commands/results, skipped gates, risks, and verdict -`ready for publication` or `changes required`. Final response at most ten lines. diff --git a/docs/execution/briefs/review-plan-07.md b/docs/execution/briefs/review-plan-07.md deleted file mode 100644 index 7514016c9..000000000 --- a/docs/execution/briefs/review-plan-07.md +++ /dev/null @@ -1,25 +0,0 @@ -# Independent review: plan 07 self-hosting documentation - -Review only; do not edit, commit, push, open PR, mutate issues, or spawn subagents. Read current worktree `AGENTS.md`, RTK, -issue/domain guidance, code-review/documentation skills, implementation report `.orchestration/plan-07-implementation.md`, -and approved plan 07. Trust local planning checkout only when HEAD equals -`a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use pinned `git show` for `plans/07-aio-deployment.md`. - -Fetch current `origin/main` and live issue/PR state. Confirm reviewed branch/commit and inspect complete -`origin/main...HEAD` diff. Verify every runtime/config claim against current Dockerfile, Compose, env validation/example, and -startup code. Review approved scope and reader safety: - -- State supported one-app-container plus separate PostgreSQL topology and no planned AIO image without claiming issue 2722 - implemented or closed. -- Smallest checklist and generic Unraid/homelab guidance use exact current service/path/port/env facts, warn that container - `localhost` is wrong for PostgreSQL, and never expose DB publicly or assert official Unraid support. -- Managed PostgreSQL reuse, optional Redis/S3 boundaries, database/upload backups, container updates, and PostgreSQL major - upgrades are accurate, non-duplicative, cross-linked, and safe for novice operators. -- Diff contains only two approved docs and retains existing MDX structure/links. - -Rerun focused `rg`, Compose config, Markdown lint, link inspection, and `git diff --check`. Record unavailable Unraid/Mintlify -checks as residual gates, not success. Findings first, ordered by severity with exact file/line and evidence. If none, state -`No findings` and residual risks. - -Write `.orchestration/plan-07-review.md` with reviewed SHA/base, findings, commands/results, skipped gates, risks, and verdict -`ready for publication` or `changes required`. Final response at most ten lines. diff --git a/docs/execution/briefs/review-plan-09.md b/docs/execution/briefs/review-plan-09.md deleted file mode 100644 index 732865e8f..000000000 --- a/docs/execution/briefs/review-plan-09.md +++ /dev/null @@ -1,26 +0,0 @@ -# Independent review: plan 09 local Git backup documentation - -Review only; do not edit, commit, push, open PR, mutate issues, or spawn subagents. Read current worktree `AGENTS.md`, RTK, -issue/domain guidance, code-review/documentation skills, `.orchestration/plan-09-implementation.md`, and approved plan 09. -Trust local planning checkout only when HEAD equals `a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use pinned `git show` -for `plans/09-external-version-backup.md`. - -Fetch current `origin/main` and live issue/PR state. Confirm reviewed commit and inspect full `origin/main...HEAD` diff. Verify -claims against current export/import/version source and tests, then review: - -- Correctly distinguish single-resume JSON, embedded cover-letter sections, independent cover-letter JSON, and account - archive. Account archive must not be presented as single-resume import or whole-account restore. -- User code uses plain local Git commands only: targeted `git add --`, inspect diff, commit, show. No `rtk`, remote URL, - credentials, `git push`, global Git config mutation, or automatic sync. -- Restore is import-as-new and non-destructive. Filenames stable. Images described as URL references with availability risk. - Private-data and repository-visibility warning is prominent and actionable. -- Existing rolling history comparison is accurate and non-duplicative. Scope contains exactly two approved docs. -- Synthetic validation/report evidence is reproducible; note database/E2E skips accurately and inspect whether retained temp - path creates any repository or privacy risk. - -Rerun focused API/import/schema/web tests, Markdown lint, disposable local-Git sequence using synthetic data, and diff/scope -checks where practical. Record skipped DB/E2E gates. Findings first, severity-ordered with file/line and evidence. If none, -state `No findings` plus residual risks. - -Write `.orchestration/plan-09-review.md` with reviewed SHA/base, findings, commands/results, skipped gates, risks, and verdict -`ready for publication` or `changes required`. Final response at most ten lines. diff --git a/docs/execution/briefs/review-plan-11.md b/docs/execution/briefs/review-plan-11.md deleted file mode 100644 index 471dbab2d..000000000 --- a/docs/execution/briefs/review-plan-11.md +++ /dev/null @@ -1,23 +0,0 @@ -# Independent review: plan 11 JSearch/current tailoring documentation - -Review only; do not edit, commit, push, open PR, mutate issues, or spawn subagents. Read current `AGENTS.md`, RTK, -issue/domain guidance, code-review/documentation skills, `.orchestration/plan-11-implementation.md`, and approved plan 11. -Trust local planning checkout only when HEAD equals `a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`; otherwise use pinned `git show` -for `plans/11-job-search-policy.md`. - -Fetch current `origin/main` and live issue/PR state. Inspect complete diff and verify every historical/runtime/UI claim against -Git history and current source/tests: - -- v5.1.0 removal timing of JSearch/RapidAPI Job Listings is factual; removal motive remains unknown. -- Legacy settings redirect, current Integrations/provider setup, supplied job-description tailoring, attachments, review edits, - patch inspection, and Restore labels/workflow match current UI/source. -- Provider-native live web search is clearly capability/provider/model-dependent and not equated with structured JSearch - results. Unsupported setups can use pasted/attached content without implied live search. -- No stale model list, paid API restoration, credentials, quotas, unsupported attachment promise, unverified motive, or issue - closing claim. Prose minimal and non-duplicative. Diff exactly three docs. - -Rerun agent/capability tests, Git history/source checks, Markdown lint, links, diff/scope gates. Optional real provider/browser -flow remains a named skip. Findings first, severity-ordered with exact file/line/evidence; otherwise `No findings` plus risks. - -Write `.orchestration/plan-11-review.md` with reviewed SHA/base, findings, commands/results, skipped gates, risks, and verdict -`ready for publication` or `changes required`. Final response at most ten lines. diff --git a/docs/execution/briefs/review-plan-15a-hosted.md b/docs/execution/briefs/review-plan-15a-hosted.md deleted file mode 100644 index 23aa3158c..000000000 --- a/docs/execution/briefs/review-plan-15a-hosted.md +++ /dev/null @@ -1,22 +0,0 @@ -# Independent hosted review: Plan 15A picture fitting - -Review only in `/Users/amruth/orca/workspaces/reactive-resume/issue-2782-picture-fit` and live PR #3461. -Exact target head: `6145d5a5925373287b87dfaa30ab675ebc84e105`. Do not edit tracked files, commit, push, reply, -resolve threads, merge, or mutate issues. - -Read current repository instructions, pinned approved Plan 15, implementation and review reports, full -`origin/main...HEAD` diff, issue #2782, live PR checks/reviews, and every current review thread. Refresh base and verify -exact head. Run root Intent inventory and load matching review skill if any; no subagents. - -Adjudicate hosted feedback independently. Current Codacy threads note: - -- Contain uploads intentionally bypass cropping to preserve original image; users can only access crop flow in Cover. -- `PictureFitField` could map over fit-option metadata instead of declaring two buttons. - -Determine whether either is a real Standards or approved-Spec defect. Verify selected-mode behavior, accessible labels, -autosave/lock behavior, original-file preservation, warning copy, test mutation sensitivity, and whether refactoring would -improve correctness rather than merely alter style. Inspect any CodeRabbit or later threads that exist at review time. - -Run focused web/schema/PDF tests and narrow non-writing formatting/diff gates as needed. Report findings first with -severity and anchors, exact-head/check state, each thread disposition, and publication verdict in -`.orchestration/plan-15a-hosted-review.md`; send `worker_done`. diff --git a/docs/execution/briefs/review-plan-15a.md b/docs/execution/briefs/review-plan-15a.md deleted file mode 100644 index a7561c2be..000000000 --- a/docs/execution/briefs/review-plan-15a.md +++ /dev/null @@ -1,24 +0,0 @@ -# Independently review plan 15A picture fitting - -Review only. Read pinned approved plan 15, current `AGENTS.md`, RTK, applicable code-review skill, implementation report, -and complete `origin/main...d891afd667dc571dcee642d54f851f6bde45fad8` diff. Revalidate live issue/PR/base state. - -Review Standards and Spec axes. Verify: - -- schema/default/sample/v4 import compatibility defaults missing/invalid fit to Cover without corrupting data; -- Cover retains current crop dialog, cancel/error/locked/autosave/undo behavior; Contain uploads full selected file through - existing validated storage path and never implies already-cropped pixels can be restored; -- sidebar and every PDF template route through one shared fit contract; semantic CSS precedence and borders/shadows stay - correct; Cover output remains backward compatible; -- controls are named, accessible, localized through correct catalog workflow, and generated docs/skill schema match source; -- tests assert behavior rather than implementation, raster tolerances are meaningful, E2E does not add brittle global - state, hardcoded local assumptions, unsafe cleanup, production-only dependencies, or a hidden network requirement; -- exact issue #2782 scope; no claims for #3168/#3088/#2794 and no unrelated generated artifacts. - -Run fresh base/live checks, focused schema/web/PDF/import tests, affected typechecks, boundaries, narrow Biome/catalog/docs, -diff/scope. Inspect E2E source and run dedicated raster E2E when disposable DB/ports are safely available; otherwise state -exact gate. Do not accept implementation report as proof without independent commands/probes. - -Write `.orchestration/plan-15a-review.md` with findings first and file/line evidence, exact head, commands/results, skips, -risks, and publication verdict. Do not edit tracked files, push, open PR, merge, mutate issues, or spawn subagents. Final -response at most ten lines. diff --git a/docs/execution/briefs/review-plan-16.md b/docs/execution/briefs/review-plan-16.md deleted file mode 100644 index c914210ea..000000000 --- a/docs/execution/briefs/review-plan-16.md +++ /dev/null @@ -1,25 +0,0 @@ -# Independent review: Plan 16 editable imported tables - -Review only in `/Users/amruth/orca/workspaces/reactive-resume/issue-3196-editable-tables`. -Exact target head: `83aca184e`. Do not edit tracked files, commit, push, publish, merge, or mutate issues. - -Read current instructions, pinned approved Plan 16, implementation report, full `origin/main...HEAD` diff, live issue -issue #3196, merged #3438, open PR overlap, and relevant editor/PDF/import domain docs. Refresh base and verify exact head. -Run root Intent inventory and load matching review skill if any; no subagents. - -Review Standards and Spec. Independently verify: - -- supported 2x3 tables parse as structured Tiptap nodes; mount and unrelated prop updates emit no destructive change; -- named-cell edit, paste, spans, multiple paragraphs, inline marks, undo/redo, save/reload, and HTML round-trip remain lossless; -- unsupported markup is detected before normalization, exact original HTML is preserved, accessible read-only notice works, - ordinary/locked/keyboard/reopen/cancel flows cannot overwrite it, and confirmed plain-text conversion is explicit; -- CSS declaration precedence, widths/spans/borders and borderless behavior hold without unsafe HTML widening; -- PDF tests prove six cell coordinates, exact border operators, and fixed-DPI pixels in legacy/semantic modes; -- synthetic import E2E covers editor persistence, unrelated edit, browser/server PDF and cleanup; -- Tiptap dependency/lockfile delta is minimal, compatible, licensed, and boundary-safe; -- no regression to #3438, non-table rich input, SSR, accessibility, or package ownership; -- `.orchestration/plan-16-implementation.md` presence in product commit is intentional or report as scope hygiene finding. - -Run RED-evidence sanity review; focused table/indent/PDF suites plus broader affected web/PDF tests, typechecks, boundaries, -frozen install, build, narrow non-writing Biome, diff/scope gates, and dedicated DB/local-storage E2E. Report findings first -with severity/anchors and publication verdict in `.orchestration/plan-16-review.md`; send worker_done. diff --git a/docs/execution/briefs/review-plan-20a.md b/docs/execution/briefs/review-plan-20a.md deleted file mode 100644 index 03d9c639f..000000000 --- a/docs/execution/briefs/review-plan-20a.md +++ /dev/null @@ -1,28 +0,0 @@ -# Independent review: Plan 20A hidden-section recovery - -Review only in `/Users/amruth/orca/workspaces/reactive-resume/issue-3378-hidden-section-recovery` on branch -`codex/issue-2921-hidden-section-recovery`. Exact target head: -`0ec054df70e6f445557bd3a54a0d62686586b3de`. Do not edit tracked files, commit, push, publish, merge, or mutate issues. - -Read current repository instructions, pinned approved Plan 20, implementation report, full `origin/main...HEAD` diff, -live issues #2921/#3378/#3265, open PR overlap, and builder/resume-domain guidance. Refresh base and verify exact head. -Run root Intent inventory and load matching review skill if any; no subagents. - -Review Standards and Spec independently. Verify especially: - -- pure `getSectionAvailability` inventory covers all printable built-ins, Summary, and real custom sections while excluding - Picture, Basics, UI-only custom container, and unknown IDs; placement and hidden state remain independent; duplicate, - later-page, and sidebar locations work without mutating data; -- compact recovery UI replaces full editor panels only for hidden printable sections; effective localized titles, custom - child behavior, navigation/focus, keyboard access, locked disablement, and undo/redo are correct; -- Show changes only the existing hidden flag, preserving content, item order, and byte-equivalent layout arrays; an - unplaced hidden section remains unplaced and no 20B placement behavior appears; -- custom-section editor container stays usable when only some custom children are hidden; -- package export, ownership, named props, SSR, Lingui catalog/source handling, and accessibility follow repository rules; -- tests are mutation-sensitive and authenticated E2E proves save/reload, compact entries, PDF absence/restoration, exact - authored layout preservation, undo/redo, locked state, and cleanup without accepting stale Saved state; -- PR scope must reference #2921 only and must not claim recovery for #3378/#3265 or deleted content. - -Run focused resume/web tests plus relevant existing visibility/menu/navigation regressions, affected typechecks, boundaries, -production build, narrow non-writing Biome, Lingui/diff/scope gates, and isolated authenticated E2E if practical. Report -findings first with severity/anchors and publication verdict in `.orchestration/plan-20a-review.md`; send `worker_done`. diff --git a/docs/guides/large-rpc-requests.mdx b/docs/guides/large-rpc-requests.mdx new file mode 100644 index 000000000..76de261f1 --- /dev/null +++ b/docs/guides/large-rpc-requests.mdx @@ -0,0 +1,87 @@ +--- +title: "Large RPC requests" +description: "Reference for the staged-body protocol that lets RPC requests larger than the hosting request-body limit reach Reactive Resume on Vercel." +--- + +Vercel limits Function request bodies to 4.5 MB. On Vercel installations, RPC requests larger than that are uploaded to private Blob staging first. The server then restores the original request and runs it with the normal authorization, validation, and quota checks. + +The web app uses this protocol automatically for request bodies of 3 MiB or more. Docker installations do not need it. + +## Scope + +| Item | Value | +| --- | --- | +| Applies to | `POST /api/rpc/...` only | +| Does not apply to | REST (`/api/openapi`) and MCP. Their bodies stay subject to the 4.5 MB limit. | +| Maximum staged size | 160 MiB of serialized request bytes, including base64 and RPC framing | +| Reference lifetime | Upload URL: 5 minutes. Staging reference: 10 minutes. | +| Use count | One. A reference is consumed when a finalization request passes the user and path checks, whether the RPC call then succeeds or fails. | +| Rate limit | 30 staging requests per user per minute | + +## Protocol + +### 1. Prepare + +```http +POST /api/storage/stage +Content-Type: application/json +x-api-key: YOUR_API_KEY + +{ "path": "/api/rpc/storage/uploadFile", "contentType": "multipart/form-data; boundary=...", "size": 10485861 } +``` + +| Field | Type | Description | +| --- | --- | --- | +| `path` | string | Pathname and query string of the original RPC request. Must start with `/api/rpc`. | +| `contentType` | string | `Content-Type` header of the original request, including any multipart boundary. | +| `size` | integer | Exact byte length of the serialized original body. | + +Authenticate with a session cookie, an `x-api-key` header, or an OAuth bearer token. Browsers must send an `Origin` header that matches the application origin. + +Response `200`: + +```json +{ "id": "3f2b9c1e-6a0d-4a57-9d0a-3c1f7b8e2d44", "url": "https://..." } +``` + +The endpoint returns `404` when the installation does not support staging, for example on Docker. Send the original request unchanged in that case. + +### 2. Upload + +```http +PUT +Content-Type: application/octet-stream + + +``` + +Do not send application credentials to this URL. The body must be exactly `size` bytes. + +### 3. Finalize + +Send the original request with an empty body and the staging reference header: + +```http +POST /api/rpc/storage/uploadFile +x-api-key: YOUR_API_KEY +x-resume-staged-body: 3f2b9c1e-6a0d-4a57-9d0a-3c1f7b8e2d44 +``` + +Use the same `path` and the same user as in step 1. The server replaces the body with the staged bytes, sets `Content-Type` to the stored `contentType`, and returns the normal RPC response. + +## Errors + +| Status | Step | Cause | +| --- | --- | --- | +| `400` | Prepare | Invalid JSON, `path` outside `/api/rpc`, or `size` above the maximum. | +| `400` | Finalize | Malformed reference, non-`POST` request, or staged object missing. | +| `401` | Prepare, finalize | Not authenticated, or `Origin` does not match. | +| `403` | Finalize | Reference belongs to another user or another path. | +| `404` | Prepare | Staging not available on this installation. | +| `409` | Finalize | Reference used by a parallel request. | +| `410` | Finalize | Reference expired or already used. | +| `413` | Finalize | Uploaded byte count differs from `size`. | +| `429` | Prepare | Rate limit exceeded. | +| `503` | Prepare | Redis unavailable. | + +A reference cannot be retried. If a finalization response is lost, check the result of the mutation before you stage and send it again. diff --git a/docs/research/europass/README.md b/docs/research/europass/README.md deleted file mode 100644 index 8182471c1..000000000 --- a/docs/research/europass/README.md +++ /dev/null @@ -1,120 +0,0 @@ -# Europass research and visual proposal — Plan 33A - -Status: **research complete; visual and naming approval pending**. No renderer, template ID, gallery entry, -schema change, or import/export integration is included. This proposal does not resolve issue #2689. - -## Review package - -- [Reference comparison](artifacts/reference-comparison.svg): analytical redraw of the selected official - reference beside the mapped proposal. The redraw excludes branding and source-specific recruitment text. -- [One-page proposal](artifacts/one-page.svg): canonical static layout with exact synthetic field sources. -- Overflow proposal: [page 1](artifacts/overflow-1.svg), [page 2](artifacts/overflow-2.svg), - [page 3](artifacts/overflow-3.svg). These are one document, not three template options. -- [Generated concept](artifacts/concept-one-page.png): supplementary visual exploration, not the field or - geometry contract. The SVGs take precedence. -- [Field mapping and behavior](mapping.md), [synthetic fixture records](synthetic-fixtures.json), and - [generation provenance](artifacts/PROVENANCE.md). - -Open SVGs directly in a browser. They contain their text and geometry, require no application server, -and load no external images, fonts or scripts. A local sans-serif font is sufficient. The JSON contains -two complete ResumeData objects under `onePage` and `overflow`; neither is an official Europass file. - -## Authority and repository revalidation - -Access/revalidation date: **2026-09-06**. Research base: `b85d285b69843612e9d7f0ab802248982e7bf0ea`. -Planning authority: commit `a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d`, -[Plan 33](https://github.com/reactive-resume/reactive-resume/blob/a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d/plans/33-europass-template.md) -and its recorded decisions. Approval covers this research/proposal unit; concrete visual approval remains open. - -Read-only `gh issue view 2689` confirmed the [issue](https://github.com/reactive-resume/reactive-resume/issues/2689) -is open, last updated 2026-08-16. Its request for a built-in option is relevant; assertions about compulsory -formats are not adopted. The linked community converter remains third-party work, not an import contract. - -The complete open-PR list returned four PRs: [#3455](https://github.com/reactive-resume/reactive-resume/pull/3455) -(planning), [#3456](https://github.com/reactive-resume/reactive-resume/pull/3456) (execution ledger), -[#3467](https://github.com/reactive-resume/reactive-resume/pull/3467) (authored-page guidance), and -[#3468](https://github.com/reactive-resume/reactive-resume/pull/3468) (stylesheet diagnostics). -None proposed a Europass renderer. Pagination guidance is adjacent work; no shared source is changed here. - -The schema still has 15 template IDs and no Europass ID. The plan's targeted drift check from `7a98f6662` -found only changes to an unrelated rich-text table integration test. Current ResumeData and shared filtering -were read directly; no `.codegraph/` directory was present. Intent inventory returned -“No intent-enabled packages found,” so no matching local package skill was available to load. - -## Official evidence register - -All sources below were accessed on **2026-09-06**. Only EU/Europass first-party material informs external -claims. Copyright attribution for summarized Europass information: **© European Union**. The independent -synthetic examples and diagrams are adaptations for discussion, not official Europass output. - -| ID | Source | Supported finding and limit | -| --- | --- | --- | -| S1 | [Create your Europass CV](https://europass.europa.eu/en/create-europass-cv) | Current guidance offers a choice of designs and selected profile content. It recommends clear, tailored descriptions and reverse chronology. Its photograph advice is guidance, not evidence of a universal required field. No single fixed layout is specified here. | -| S2 | [Europass FAQ, page 1](https://europass.europa.eu/en/faq?page=1) | CV sections can be added, removed, moved and renamed; several templates exist. Current saving guidance specifies Europass PDF. Information reuse is allowed with source acknowledgement. This is not proof of a logo licence or compatibility of third-party PDFs with the editor. | -| S3 | [Europass FAQ, page 2](https://europass.europa.eu/en/faq?page=2) | The profile FAQ says name and surname are mandatory and users choose other sections. Initial web extraction failed; a direct HTTPS fetch subsequently verified the live page text. This concerns the profile, not a separately tested CV-editor validation contract. | -| S4 | [EEAS-hosted Europass CV form](https://www.eeas.europa.eu/sites/default/files/documents/2025/Europass-cv-en%20template_0.pdf) | Stable public two-page blank form, inspected as PDF and raster. It contains a legacy © European Union 2002–2018 footer and recruitment-specific text. Its 2025 URL does not make its design a current universal specification. Headings are optional in this form. This is the selected visual reference. | -| S5 | [Europass terms of use](https://europass.europa.eu/en/node/2161) | Terms govern platform use and prohibit misleading content and intellectual-property violations. No explicit third-party template-branding permission was found in this page. | -| S6 | [European Commission legal notice](https://commission.europa.eu/legal-notice_en) | The general policy permits reuse of covered EU-owned website content with credit and indication of changes, but excludes protected names, logos and other industrial-property material. It is not a blanket licence for every asset hosted by another EU institution. | - -### Reference selection and current guidance - -S4 provides an inspectable visual anchor: a narrow label/date area at reading start, wider detail area, -blue headings and rules, employment and education entries, a language matrix, and running page metadata. -The comparison redraw records these observations; measurements in the proposal are our design decisions. -We do not redistribute the original PDF or its mark. Reviewers can open the first-party PDF through S4. - -S1/S2 are the current behavioral guidance. They support flexible content and multiple layouts; they do not -establish S4 as today's sole layout. The proposed document therefore takes the chronology structure from -S4 while adapting it to existing data and the current guidance. No official live-editor CV was exported -or uploaded, and no account or personal data was used. - -An EEA search result for historic CV instructions redirected to the agency's general About page when -opened. That result is not used as evidence. Historic XML documentation also surfaced but is not used to -promise current export formats or interoperability. No secondary-source claims were adopted. - -## Material visual and reuse decisions - -Recommended working title: **European chronology**. Do not register a product ID yet. “Europass” is the -research topic; use as a public template name remains an explicit maintainer decision with an unresolved -rights basis. The design contains no Europass wordmark, EU flag, emblem, endorsement, official copyright -footer, or interoperability badge. General website information reuse does not settle branding rights. - -The proposed default is A4, white background, dark blue `#1e5580`, charcoal `#20262b`, 36 pt side margins, -a 128 pt label/date area and 16 pt gap, with details beginning at x = 180 pt. Body text is 10.5 pt sans-serif, -headings are 10 pt bold, and the name is 23 pt. The line and color choices are proposals, not official tokens. -The static one-page drawing uses more deliberate section spacing than the dense overflow study. - -Deviations requiring approval: - -1. An independent unbranded design, with neutral provisional name, instead of an exact official clone. -2. A chronology gutter for dates and headings, coordinated with Plan 24 rather than introducing a new - date-column schema here. Empty date cells keep alignment; periods are never parsed or normalized. -3. Plain language/fluency text instead of the five-dimensional language grid. Numeric levels are not CEFR - evidence. Skill ratings are hidden by the fixture's existing design setting. -4. No compulsory photo or personal attributes. Photo-free examples reserve no blank frame. Optional photo - placement and mixed-script examples still need a separate visual pass before renderer approval. -5. Existing section titles and custom sections remain available. The concept does not force a fixed set of - official headings or discard additional resume sections. -6. Continuation pages retain only a small name/running header and page number, with content flowing below. - The synthetic approval watermark is an artifact annotation, not proposed resume output. - -## Unresolved claims and handoff gate - -- Permission to ship the Europass name, logo, exact branded template or official-looking footer is **not - established**. No such permission is inferred from S2 or S6. If maintainers require branding or an exact - clone, resolve rights and reference choice before any implementation. -- The chosen legacy structure is documented, but whether it satisfies the request for a current built-in - Europass option needs maintainer review of these actual artifacts. A current editor design would be a - different reference-selection task, not a silent replacement. -- Mandatory CV-editor fields, exact language availability, and export embedding details were not validated - interactively. Official pages vary in language counts; this proposal makes no count or import promise. -- Structured CEFR dimensions, mother-tongue flags and qualification-framework levels are absent from - current ResumeData. They are omissions, not guessed values. See the complete mapping. -- Renderer pagination, links, fonts, RTL shaping, tagged accessibility and machine extraction are untested - for this proposal. Static artifacts are not evidence that a future PDF renderer implements those behaviors. -- This task stops at the planned concrete-design gate. Approval must identify the canonical SVG set, - public naming/branding choice and accepted data omissions; it cannot be inferred from general plan approval. - -Follow-up implementation remains conditional. It would require the plan's schema, semantic manifest, -gallery, renderer, pagination, extraction, localization, typecheck, build and boundary checks after the -maintainer approves the design. No implementation, push, PR creation, issue comment or issue closure occurred here. diff --git a/docs/research/europass/artifacts/PROVENANCE.md b/docs/research/europass/artifacts/PROVENANCE.md deleted file mode 100644 index 26434077f..000000000 --- a/docs/research/europass/artifacts/PROVENANCE.md +++ /dev/null @@ -1,53 +0,0 @@ -# Visual artifact provenance - -Created 2026-09-06 for Plan 33A. All biographical content, organizations, qualifications and achievements are -synthetic. `example.invalid` links are intentionally nonresolving test data. No personal files, CVs, account -data or real portrait were used. - -## Canonical static artifacts - -`one-page.svg` and `overflow-1.svg` through `overflow-3.svg` are editable static drawings with text traced -to [fixture](../synthetic-fixtures.json) paths using `data-source`. They are research artifacts, not a resume -renderer or template implementation. SVG source is the reproducible artifact; raster previews are optional. - -`reference-comparison.svg` juxtaposes an original analytical schematic with the one-page SVG. The schematic -describes the selected [official EEAS reference](https://www.eeas.europa.eu/sites/default/files/documents/2025/Europass-cv-en%20template_0.pdf), -© European Union, accessed 2026-09-06. It is not a screenshot or faithful reproduction, omits the mark and -recruitment-specific content, and labels the legacy provenance. Original reference remains on its official host. - -The static drawings use sans-serif text and editable geometry. Browser rendering may select a different -installed font. They are intentionally independent of the app, and include no network resource dependencies. -An isolated PyMuPDF environment was used to rasterize the drawings for visual inspection. No raster screenshot -is evidence of Reactive Resume's PDF behavior. - -To regenerate a raster from the canonical SVG without application dependencies: - -```sh -uv run --with pymupdf python - <<'PY' -from pathlib import Path -import pymupdf - -source = Path("docs/research/europass/artifacts/one-page.svg") -image = pymupdf.open("svg", source.read_bytes()) -pdf = pymupdf.open("pdf", image.convert_to_pdf()) -pdf[0].get_pixmap(matrix=pymupdf.Matrix(2, 2)).save("one-page-review.png") -PY -``` - -## Supplementary image generation - -`concept-one-page.png` was generated with the built-in image generation tool. No CLI/API fallback was used. -The selected output was copied into this repository; review does not require the tool's private output folder. -It is a visual exploration only. Its name is positioned farther right, rules span both columns, some typography -and spacing differ, and it adds minor presentational punctuation/“area” wording. These differences are not -approved specification changes. The mapped SVGs and fixture take precedence over generated pixels. - -Exact prompt: - -```text -Use case: productivity-visual. Asset type: static CV design proposal, one portrait A4 page, straight-on flat white document, no desk or mockup shadows. Independent unbranded European chronological CV concept, not an official document. Exact synthetic content only. Header at upper right of broad content column: Alex Marin in large dark blue sans serif, below it Research coordinator; below: Brussels, Belgium | alex.marin@example.invalid. Narrow reading-start column for dates and section labels (about 27 percent), broad content column 73 percent, thin blue horizontal section rules. Airy white page, charcoal 10.5pt-equivalent body, dark blue uppercase section headings. No photograph and no placeholder box. Sections exact text: ABOUT ME: Research coordinator building clear public-service guidance. WORK EXPERIENCE: date 2023 – Present, title Research coordinator, organisation Civic Atlas Lab, Brussels, Belgium. Two bullets: Coordinated multilingual guidance reviews. Published accessible research summaries. EDUCATION AND TRAINING: date 2019 – 2022, title BA Social Research, organisation Northbridge Institute, area Public policy. LANGUAGE SKILLS: English — Native; French — B2 (self-assessed). SKILLS: Research — Advanced; Interviews, synthesis, documentation. PROJECTS: date 2025, title Open Guidance Map; Mapped public learning resources. OTHER ACTIVITIES: Community workshops and peer mentoring. Footer small: SYNTHETIC DESIGN PROPOSAL · NOT APPROVED, with 1 / 1 at right. No logos, EU flag, stars, Europass wordmark, compliance claims, nationality, date of birth, QR codes, extra personal facts, ratings or CEFR matrix. All text legible. This is concept direction only; deterministic separate artifacts will govern exact mapping. -``` - -This image was inspected for recognizable text, missing sections, branding and private-data leakage. All seven -intended sections are present and no official mark or portrait appears. No image-generation claim is used as -evidence about official guidance, reuse rights, application behavior or field support. diff --git a/docs/research/europass/artifacts/concept-one-page.png b/docs/research/europass/artifacts/concept-one-page.png deleted file mode 100644 index 5f3aec403d87d436270e145a92462c0d65c2ca9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 963522 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 z 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

UqcANr;pv6B03=T$>C_@_M9aX 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 UK~N==jrh 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 z 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

EjxSGufCTD~o`_iuxDJ6jNAPak%g_c%fa~Vdo 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

VYb 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 qeEfT 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 IGlsKJz%`VkwnYlW{`2xJ9L-)F?W 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�p{4@nC4A;6rro=znHde`KQ*8_BE7e^t}) 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 FV1flNm|y?^ diff --git a/docs/research/europass/artifacts/one-page.svg b/docs/research/europass/artifacts/one-page.svg deleted file mode 100644 index b35bf1dc9..000000000 --- a/docs/research/europass/artifacts/one-page.svg +++ /dev/null @@ -1,44 +0,0 @@ -One-page visual proposalSynthetic ResumeData illustration. Static layout, not renderer output. See mapping.md. -Alex Marin -Research coordinator -Brussels, Belgium -alex.marin@example.invalid -ABOUT ME - -Research coordinator building clear public-service guidance. -WORK EXPERIENCE - -2023 – Present -Research coordinator -Civic Atlas Lab -Brussels, Belgium -• Coordinated multilingual guidance reviews. -• Published accessible research summaries. -EDUCATION AND -TRAINING - -2019 – 2022 -BA Social Research -Northbridge Institute -Public policy -LANGUAGE SKILLS - -English -Native -French -B2 (self-assessed) -SKILLS - -Research -Advanced -Interviews, synthesis, documentation -PROJECTS - -2025 -Open Guidance Map -Mapped public learning resources. -OTHER ACTIVITIES - -Community workshops and peer mentoring. -SYNTHETIC DESIGN PROPOSAL · NOT APPROVED -1 / 1 diff --git a/docs/research/europass/artifacts/overflow-1.svg b/docs/research/europass/artifacts/overflow-1.svg deleted file mode 100644 index 4ddf40893..000000000 --- a/docs/research/europass/artifacts/overflow-1.svg +++ /dev/null @@ -1,50 +0,0 @@ -overflow visual proposal, page 1Synthetic ResumeData illustration. Static pagination, not renderer output. See mapping.md. -Alexandra Noor Marin-López -Research coordinator for multilingual public-service information -Brussels, Belgium -alex.marin@example.invalid -Research portfolio -Available for cross-border project work -PROFILES - -Portfolio -alexandra -Selected writing -ABOUT ME - -Research coordinator building clear public-service guidance. -WORK EXPERIENCE - -2023 – Present -Research coordinator -Civic Atlas Lab -Brussels, Belgium -Supported a distributed team producing accessible guidance for community -learning programmes. -September 2024 – -Present -(part-time) -Programme lead -Led editorial planning across four working languages. -January 2023 – August -2024 -Research associate -Built an evidence catalogue for public learning services. -Autumn 2021 – Summer -2022 -Research assistant -Open Learning Observatory -Leuven, Belgium -Collected public documentation and organised findings for volunteer reviewers. -EDUCATION AND -TRAINING - -2019 – 2022 -BA Social Research -Northbridge Institute -Public policy -Distinction -Leuven, Belgium - -SYNTHETIC DESIGN PROPOSAL · NOT APPROVED -1 / 3 diff --git a/docs/research/europass/artifacts/overflow-2.svg b/docs/research/europass/artifacts/overflow-2.svg deleted file mode 100644 index ee634d412..000000000 --- a/docs/research/europass/artifacts/overflow-2.svg +++ /dev/null @@ -1,45 +0,0 @@ -overflow visual proposal, page 2Synthetic ResumeData illustration. Static pagination, not renderer output. See mapping.md. -Alexandra Noor Marin-López -Continuation -EDUCATIONCONTINUEDStudied research methods, plain-language writing and collaborativeservice design. - -PROJECTS - -2025 -Open Guidance Map -Mapped public learning resources. -Reviewed regional catalogues with volunteers, comparing the -clarity of eligibility, learning outcomes and application -guidance. Each record includes an attributed source and an -editorial review date. -Documented ambiguous wording without guessing the -provider’s intent. Workshop participants tested revised -navigation labels and contributed examples of questions -that the directory should answer. -Prepared a maintenance guide so future editors can update -links, preserve context and flag missing evidence. The guide -separates direct source statements from editorial -interpretations. -Undated community handbook -https://example.invalid/learning/resources/ -community-handbook/review-notes -Collected workshop notes without inventing a project date. -LANGUAGE SKILLS - -English -Native -French -B2 (self-assessed) -SKILLS - -Research -Advanced -Interviews, synthesis, documentation -AWARDS - -2025 -Community research recognition -Civic Learning Forum -Recognised collaborative documentation work. -SYNTHETIC DESIGN PROPOSAL · NOT APPROVED -2 / 3 diff --git a/docs/research/europass/artifacts/overflow-3.svg b/docs/research/europass/artifacts/overflow-3.svg deleted file mode 100644 index a09082c91..000000000 --- a/docs/research/europass/artifacts/overflow-3.svg +++ /dev/null @@ -1,32 +0,0 @@ -overflow visual proposal, page 3Synthetic ResumeData illustration. Static pagination, not renderer output. See mapping.md. -Alexandra Noor Marin-López -Continuation - -CERTIFICATIONS - -2024 -Accessible writing workshop -Open Training Collective -PUBLICATIONS - -2025 -A practical guide to learning directories -Community Methods Review -VOLUNTEERING - -2022 – Present -Neighbourhood Learning Circle -Brussels, Belgium -Facilitated peer mentoring sessions. -INTERESTS - -Walking -Urban history, public spaces -REFERENCES - -Available upon request -OTHER ACTIVITIES - -Community workshops and peer mentoring. -SYNTHETIC DESIGN PROPOSAL · NOT APPROVED -3 / 3 diff --git a/docs/research/europass/artifacts/reference-comparison.svg b/docs/research/europass/artifacts/reference-comparison.svg deleted file mode 100644 index 9267daa7c..000000000 --- a/docs/research/europass/artifacts/reference-comparison.svg +++ /dev/null @@ -1,88 +0,0 @@ -Official reference structure and independent proposalLeft is an analytical schematic of the legacy EEAS-hosted Europass form, not a reproduction. Right is the synthetic proposal. See README.md for source and reuse limits. -REFERENCE → PROPOSAL -Plan 33A · research only · synthetic content · visual approval pending -Observed legacy structure — analytical schematic -European chronology — mapped proposal - -Legacy source: EEAS PDF, © European Union -2002–2018 document; 2025 hosting path -Brand mark intentionally not reproduced -Personal information - -Name and contacts -Work experience - -Position · employer · responsibilities -Date range -Education and training - -Qualification · institution · subjects -Date range -Personal skills - -Mother tongue; five language dimensions - -1 - -2 - -3 - -4 - -5 -No conversion from a single numeric rating -Other skills - -Communication · organisation · job skills -Structure only; source-specific recruitment text omitted -One-page visual proposalSynthetic ResumeData illustration. Static layout, not renderer output. See mapping.md. -Alex Marin -Research coordinator -Brussels, Belgium -alex.marin@example.invalid -ABOUT ME - -Research coordinator building clear public-service guidance. -WORK EXPERIENCE - -2023 – Present -Research coordinator -Civic Atlas Lab -Brussels, Belgium -• Coordinated multilingual guidance reviews. -• Published accessible research summaries. -EDUCATION AND -TRAINING - -2019 – 2022 -BA Social Research -Northbridge Institute -Public policy -LANGUAGE SKILLS - -English -Native -French -B2 (self-assessed) -SKILLS - -Research -Advanced -Interviews, synthesis, documentation -PROJECTS - -2025 -Open Guidance Map -Mapped public learning resources. -OTHER ACTIVITIES - -Community workshops and peer mentoring. -SYNTHETIC DESIGN PROPOSAL · NOT APPROVED -1 / 1 - -Keep: chronological gutter, blue section rules, broad content column. -Change: neutral identity, optional personal fields, plain-text fluency, user-authored sections. -Current Europass offers several layouts; this legacy structure is not a universal current specification. -Reference URL, access date, exact field mapping and unresolved reuse decisions: ../README.md and ../mapping.md - diff --git a/docs/research/europass/mapping.md b/docs/research/europass/mapping.md deleted file mode 100644 index d8ff33d1c..000000000 --- a/docs/research/europass/mapping.md +++ /dev/null @@ -1,133 +0,0 @@ -# Existing ResumeData to proposed visual fields - -Read against `b85d285b69843612e9d7f0ab802248982e7bf0ea`. The source of truth is -[data.ts](../../../packages/schema/src/resume/data.ts), with existing defaults in -[default.ts](../../../packages/schema/src/resume/default.ts) and visibility behavior in -[shared filtering](../../../packages/pdf/src/templates/shared/filtering.ts). -This document proposes presentation; it adds no fields or renderer behavior. - -Both fixture records were validated against the current Zod `resumeDataSchema`. The checked-in generated -`packages/schema/schema.json` rejects the current `picture.fit` field; it is stale relative to `data.ts` at -this revision. That unrelated generated-schema mismatch is recorded, not repaired in this research unit. - -The canonical SVG text nodes carry `data-source` paths into the matching object in -[synthetic-fixtures.json](synthetic-fixtures.json). Wrapped text uses the same path on each line. -Section titles are shown in uppercase in these English drawings; source strings retain their original case. -`proposal.annotation` means review metadata, not ResumeData: synthetic watermark, continuation labels and -page numbers. The repeated running name still comes from `basics.name`. - -## Header and shared fields - -| Proposed display | Existing path | Rule / absence behavior | -| --- | --- | --- | -| Name and running name | `basics.name` | Preserve full name; do not split first/last names or reorder culturally. Wrap long names. Empty name renders no invented label. | -| Professional headline | `basics.headline` | Optional text, wraps within the detail width. It is not an official occupational code. | -| Contact location | `basics.location` | One free string; no parsing into country/address. Do not invent a full postal address. | -| Email and phone | `basics.email`, `basics.phone` | Omit empty values and separators. Phone is empty in both fixtures; no number is fabricated. Future renderer uses existing link handling. | -| Personal website | `basics.website.url`, `.label` | Nonempty URL uses label when provided, URL otherwise. Overflow displays “Research portfolio.” SVGs illustrate text only; hyperlink behavior needs implementation checks. | -| Other personal detail | `basics.customFields[].text`, `.link`, `.icon` | Display user-authored text/link in order. Overflow shows availability. No semantic inference from text. There is no per-field hidden flag; empty text yields no visual row. | -| Optional photo | `picture.url`, `.hidden`, `.fit`, `.size`, `.rotation`, `.aspectRatio`, border/shadow fields | Both fixtures have no URL and `hidden: true`; no frame is displayed. Future visible photo uses existing upload/picture contract and preserves cover/contain choice. Suggested reading-start header frame is not visually approved. Failed image handling needs future verification. | -| Section heading | `summary.title`, `sections..title`, `customSections[].title` | Use authored title; empty title uses existing localized fallback. Do not replace custom titles with fixed Europass labels. | -| Section presence/order | `metadata.layout.pages[].main`, `.sidebar`, `sections.*.hidden`, `customSections[].hidden`, `summary.hidden` | Respect authored page/column order and visibility. Missing-from-layout is distinct from hidden. Fixtures choose one authored full-width page; physical overflow is illustrated separately. | -| Date gutter | Item `.period` or `.date` | Verbatim free text, including role periods. Wrap to fixed gutter; keep undated details aligned. No automatic chronological sort. The fixture itself is authored newest-first. | -| Rich description | Item `.description`, summary `.content`, custom summary item `.content` | Preserve supported paragraphs, lists, emphasis and links. These drawings only exercise paragraphs/lists. No HTML tags printed; no arbitrary HTML discarded by proposed renderer. Unsupported-rich-text handling remains implementation work. | -| Item website | Item `.website.url`, `.label`, `.inlineLink` | Preserve URL target; label or raw URL as display text. Inline-link preference must remain honored in future renderer. Fixture links all use `inlineLink: false`. | -| Icons and colors | Section `.icon`; profile/skill/interest `.icon`, `.iconColor`; `metadata.page.hideIcons`, `.hideSectionIcons` | Default proposal is quiet/text-led. Fixture icons are absent or suppressed. Nondefault icon settings are not demonstrated and must be tested before implementation approval. | - -## Built-in sections - -Each `items[]` entry also has `id` and `hidden`; identifiers never print. A section with no visible valid -items is omitted with its heading and rule. The table lists every content field, including blank optional fields. - -| Proposed section | Paths under `sections..items[]` | Presentation / fixture coverage | -| --- | --- | --- | -| Profiles | `profiles`: `network`, `username`, `website`, `icon`, `iconColor` | Network, user name, website label. Present only in overflow. Keep within section, do not duplicate in header. | -| Work experience | `experience`: `position`, `company`, `location`, `period`, `description`, `website`, `roles[]` | Position then organization/location, period in gutter. Overflow retains overall title/tenure and both individual roles. | -| Individual experience role | `experience.roles[]`: `id`, `position`, `period`, `description` | Role heading, independent period, description. No role hidden flag exists. Existing shared filtering excludes blank-position roles; parent visibility still applies. | -| Education and training | `education`: `degree`, `school`, `area`, `grade`, `location`, `period`, `description`, `website` | Qualification then institution, subject, supplied grade and location. Overflow includes all optional text fields except website. Grade is not an EQF level. | -| Projects | `projects`: `name`, `period`, `description`, `website` | Named project, date gutter, rich narrative. Overflow adds a long multi-paragraph project and an undated project with raw long URL. | -| Language skills | `languages`: `language`, `fluency`, `level` | Show language and supplied fluency verbatim. English/Native and French/B2 (self-assessed) are synthetic user-entered strings. No conversion from `level` to fluency or CEFR. | -| Skills | `skills`: `name`, `proficiency`, `level`, `keywords`, `icon`, `iconColor` | Show name, proficiency, comma-separated keywords. Keyword strings/order retained. Levels are intentionally hidden via existing `metadata.design.level.type: hidden`; no proficiency inferred. | -| Awards | `awards`: `title`, `awarder`, `date`, `description`, `website` | Title, awarder, supplied date, description. Overflow only. | -| Certifications | `certifications`: `title`, `issuer`, `date`, `description`, `website` | Title, issuer and supplied date; empty description/link omitted. Overflow only. No accreditation claim. | -| Publications | `publications`: `title`, `publisher`, `date`, `description`, `website` | Title, publisher and supplied date. Overflow only. No DOI field invented. | -| Volunteering | `volunteer`: `organization`, `location`, `period`, `description`, `website` | Organization, place, period and description. There is no dedicated role-title field; do not infer one. Overflow only. | -| Interests | `interests`: `name`, `keywords`, `icon`, `iconColor` | Name and keyword text, with configured icon behavior. Overflow only. | -| References | `references`: `name`, `position`, `phone`, `description`, `website` | Existing user-authored “Available upon request” string in overflow; no contact is invented. There is no structured reference-email field. | -| About me | `summary.content`, `.title`, `.hidden` | Existing summary supports optional narrative. Present in both records. This is separate from experience descriptions. | - -## Custom sections, omitted and unsupported fields - -| Concern | Existing representation | Decision | -| --- | --- | --- | -| Custom typed sections | `customSections[]`: `id`, `type`, shared section fields, `items[]` matching type | Same mapping as the matching built-in type. Preserve own title and authored layout ID. All 12 built-in types are structurally available as custom types; this fixture demonstrates a custom summary, not every custom variant. | -| Other activities | Custom `type: summary`, `items[].content` | Both records display community workshops and peer mentoring. No fabricated employer or dates. | -| Cover letter | Custom `type: cover-letter`, `items[].recipient`, `.content` | Supported by current model but outside this CV visual proposal; fixtures contain none. A future template must preserve existing cover-letter behavior or explicitly gate selection; silently dropping a visible cover letter is not acceptable. | -| Structured nationality, birth date/place, sex/gender, full address components, second phone/fax, driving licence | No dedicated typed fields in `basics` | Omitted from examples, not required. A user can author free text in `customFields`, but that is not a typed equivalent or automatic mapping. Never infer from names, photos, location or language. | -| Mother-tongue boolean or multiple structured native languages | `languages[].fluency` is free text only | No separate mother-tongue group inferred from “Native.” Keep supplied text alongside language. | -| Five CEFR dimensions: listening, reading, spoken interaction, spoken production, writing | No fields | Omit official reference matrix. A scalar `level` or single fluency text cannot populate it faithfully. | -| Language certificate linked to particular language/dimension | General certifications exist, no structured association | Keep as separate certification if user authored one. Do not guess association. | -| EQF/NQF/ISCED level, qualification IDs, occupation codes, business sector | No dedicated typed fields | Omit unless user explicitly wrote free text in existing description/area/custom content. No equivalence inferred from degree or grade. | -| Attachments, signed declaration, consent block, official Europass identifiers, XML payload, verification QR | No corresponding proposed CV field | Omitted. Existing website links do not establish attached documents, signatures or official interoperability. | -| Official branding/copyright footer | Not ResumeData | Omitted; reuse permission not established. Source attribution belongs in research note, not masquerading as official CV provenance. | -| Notes | `metadata.notes` | Never print. Overflow contains `PRIVATE_NOTES_SENTINEL` to make accidental disclosure detectable. | - -## Visibility, empty content and layout controls - -Existing filtering is the behavioral baseline: skip hidden sections/items, title-backed entries without their -required primary title, and blank-position experience roles. Those primary fields are `network`, `company`, -`school`, `name` (projects/skills/interests/references), `language`, `title` (awards/certifications/publications) -and `organization`. A missing optional field alone must not hide an otherwise valid item. - -Summary visibility currently checks nonempty trimmed content, not semantic emptiness of HTML. Do not claim -that `

    ` is already filtered correctly; future proposal tests must include it and settle any desired -change separately. The fixtures use populated summaries and empty item arrays, not malformed imported data. - -Overflow includes a hidden experience item, a hidden custom section and private notes. Their `HIDDEN_*` and -`PRIVATE_NOTES_*` tokens must not occur in any visual artifact. One-page empty sections do not render headings. -Separators and rules belong to visible content only. Blank date cells stay blank, never show “Present” or a dash. - -`columns`, `keepTogether`, `startOnNewPage`, `skills.layout`, authored pages/full-width/sidebar settings, -typography, colors, page format/margins/gaps, hyphenation and style rules already exist. The fixture explicitly -chooses a full-width A4 page, single-column sections, ordinary flow and no style rules. It retains the valid -existing `metadata.template: onyx` only to remain schema-compatible: importing this fixture currently selects -Onyx, **not this proposal**. No new template ID, date-width option or stylesheet behavior is encoded. - -## Pagination and long text proposal - -One-page and overflow SVGs are manual, deterministic illustrations. They do not exercise `packages/pdf`. -The three overflow drawings illustrate one authored page flowing onto physical pages, not editable per-page -overflow settings. No fixed page count or exact future line break is promised. - -Dates wrap inside a 128 pt reading-start gutter; detail starts remain aligned. Keep entry title with its first -detail line, and section heading with its first item. Allow a long entry to continue across pages without -truncation or repeated body text. In the study, the education description continues on page 2 as a complete -two-line paragraph; a continuation label is review metadata. Page 3 carries remaining sections without shrinking -font size to force two pages. Repeated running names/page numbers are intentional, not duplicated body content. - -Long names, headings, free-text dates, paragraphs and URLs must wrap; do not ellipsize, parse or normalize them. -The overflow contains an accented long name, wrapped role dates and undated project. Long unbroken URL glyphs -need break opportunities while retaining the original link target. Future renderer tests must add a single -entry longer than a page, bullets across breaks, manual page starts, nondefault columns and keep-together -settings. These cases are specified here but not established by the static study. - -## Localization, RTL, photo and accessibility review limits - -Use `metadata.page.locale` for existing translated fallback headings; preserve user-authored text, date strings -and titles. Do not translate content or uppercase text in languages where that harms meaning or shaping. -The proposal's uppercase English labels are a visual choice, not a localization algorithm. Font selection and -fallback should stay with existing PDF font registration, not be bundled into this research. - -RTL proposal: put label/date gutter at reading start (right), mirror alignment and optional photo placement, -keep email/URL/phone runs in their natural direction, and preserve logical source order. Current model has no -new direction field here; reuse the existing locale/direction contract after validating it. Arabic/Hebrew shaping, -mixed-direction punctuation, CJK glyphs and translated long headings need their own rendered fixtures before -implementation approval. The Latin-script drawings do not prove RTL or full localization coverage. - -No synthetic portrait was needed for the photo-free design. Before implementing the optional-photo variation, -review a visible-photo artifact using nonprivate synthetic imagery, both cover and contain, and long names -beside the frame. No stock/person photo or user upload was used in this package. - -Keep semantic section labels and logical extraction order even if visual arrangement changes. Tagged PDF, -screen-reader behavior, contrast under user colors and link semantics require Plan 31 coordination and real -export checks. Plain SVG text readability does not establish document accessibility conformance. diff --git a/docs/research/europass/synthetic-fixtures.json b/docs/research/europass/synthetic-fixtures.json deleted file mode 100644 index 17899cf96..000000000 --- a/docs/research/europass/synthetic-fixtures.json +++ /dev/null @@ -1,768 +0,0 @@ -{ - "onePage": { - "picture": { - "hidden": true, - "fit": "cover", - "url": "", - "size": 80, - "rotation": 0, - "aspectRatio": 1, - "borderRadius": 0, - "borderColor": "rgba(0, 0, 0, 0.5)", - "borderWidth": 0, - "shadowColor": "rgba(0, 0, 0, 0.5)", - "shadowWidth": 0 - }, - "basics": { - "name": "Alex Marin", - "headline": "Research coordinator", - "email": "alex.marin@example.invalid", - "phone": "", - "location": "Brussels, Belgium", - "website": { - "url": "", - "label": "" - }, - "customFields": [] - }, - "summary": { - "title": "About me", - "icon": "article", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "content": "

    Research coordinator building clear public-service guidance.

    " - }, - "sections": { - "profiles": { - "title": "", - "icon": "messenger-logo", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [] - }, - "experience": { - "title": "Work experience", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "exp-1", - "hidden": false, - "company": "Civic Atlas Lab", - "position": "Research coordinator", - "location": "Brussels, Belgium", - "period": "2023 – Present", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "
    • Coordinated multilingual guidance reviews.
    • Published accessible research summaries.
    ", - "roles": [] - } - ] - }, - "education": { - "title": "Education and training", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "edu-1", - "hidden": false, - "school": "Northbridge Institute", - "degree": "BA Social Research", - "area": "Public policy", - "grade": "", - "location": "", - "period": "2019 – 2022", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "" - } - ] - }, - "projects": { - "title": "Projects", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "project-1", - "hidden": false, - "name": "Open Guidance Map", - "period": "2025", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "

    Mapped public learning resources.

    " - } - ] - }, - "skills": { - "title": "Skills", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "skill-1", - "hidden": false, - "icon": "", - "iconColor": "", - "name": "Research", - "proficiency": "Advanced", - "level": 0, - "keywords": ["Interviews", "synthesis", "documentation"] - } - ], - "layout": "default" - }, - "languages": { - "title": "Language skills", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "lang-1", - "hidden": false, - "language": "English", - "fluency": "Native", - "level": 0 - }, - { - "id": "lang-2", - "hidden": false, - "language": "French", - "fluency": "B2 (self-assessed)", - "level": 0 - } - ] - }, - "interests": { - "title": "", - "icon": "football", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [] - }, - "awards": { - "title": "", - "icon": "trophy", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [] - }, - "certifications": { - "title": "", - "icon": "certificate", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [] - }, - "publications": { - "title": "", - "icon": "books", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [] - }, - "volunteer": { - "title": "", - "icon": "hand-heart", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [] - }, - "references": { - "title": "", - "icon": "phone", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [] - } - }, - "customSections": [ - { - "title": "Other activities", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "custom-item-1", - "hidden": false, - "content": "

    Community workshops and peer mentoring.

    " - } - ], - "id": "other-activities", - "type": "summary" - } - ], - "metadata": { - "template": "onyx", - "layout": { - "sidebarWidth": 35, - "pages": [ - { - "fullWidth": true, - "main": ["summary", "experience", "education", "languages", "skills", "projects", "other-activities"], - "sidebar": [] - } - ] - }, - "page": { - "gapX": 4, - "gapY": 18, - "marginX": 36, - "marginY": 36, - "format": "a4", - "locale": "en-US", - "hideLinkUnderline": false, - "hideIcons": false, - "hideSectionIcons": true - }, - "design": { - "colors": { - "primary": "rgba(30, 85, 128, 1)", - "text": "rgba(32, 38, 43, 1)", - "background": "rgba(255, 255, 255, 1)" - }, - "level": { - "icon": "star", - "type": "hidden" - } - }, - "typography": { - "body": { - "fontFamily": "Arial", - "fontWeights": ["400"], - "fontSize": 10.5, - "lineHeight": 1.4 - }, - "heading": { - "fontFamily": "Arial", - "fontWeights": ["700"], - "fontSize": 10, - "lineHeight": 1.3 - } - }, - "notes": "", - "styleRules": [] - } - }, - "overflow": { - "picture": { - "hidden": true, - "fit": "cover", - "url": "", - "size": 80, - "rotation": 0, - "aspectRatio": 1, - "borderRadius": 0, - "borderColor": "rgba(0, 0, 0, 0.5)", - "borderWidth": 0, - "shadowColor": "rgba(0, 0, 0, 0.5)", - "shadowWidth": 0 - }, - "basics": { - "name": "Alexandra Noor Marin-López", - "headline": "Research coordinator for multilingual public-service information", - "email": "alex.marin@example.invalid", - "phone": "", - "location": "Brussels, Belgium", - "website": { - "url": "https://example.invalid/alexandra/research", - "label": "Research portfolio" - }, - "customFields": [ - { - "id": "availability", - "icon": "", - "text": "Available for cross-border project work", - "link": "" - } - ] - }, - "summary": { - "title": "About me", - "icon": "article", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "content": "

    Research coordinator building clear public-service guidance.

    " - }, - "sections": { - "profiles": { - "title": "Profiles", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "profile-1", - "hidden": false, - "network": "Portfolio", - "username": "alexandra", - "icon": "", - "iconColor": "", - "website": { - "url": "https://example.invalid/alexandra", - "label": "Selected writing", - "inlineLink": false - } - } - ] - }, - "experience": { - "title": "Work experience", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "exp-1", - "hidden": false, - "company": "Civic Atlas Lab", - "position": "Research coordinator", - "location": "Brussels, Belgium", - "period": "2023 – Present", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "

    Supported a distributed team producing accessible guidance for community learning programmes.

    ", - "roles": [ - { - "id": "role-1", - "position": "Programme lead", - "period": "September 2024 – Present (part-time)", - "description": "

    Led editorial planning across four working languages.

    " - }, - { - "id": "role-2", - "position": "Research associate", - "period": "January 2023 – August 2024", - "description": "

    Built an evidence catalogue for public learning services.

    " - } - ] - }, - { - "id": "exp-2", - "hidden": false, - "company": "Open Learning Observatory", - "position": "Research assistant", - "location": "Leuven, Belgium", - "period": "Autumn 2021 – Summer 2022", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "roles": [], - "description": "

    Collected public documentation and organised findings for volunteer reviewers.

    " - }, - { - "id": "exp-hidden", - "hidden": true, - "company": "HIDDEN_ITEM_SENTINEL", - "position": "", - "location": "", - "period": "", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "roles": [], - "description": "" - } - ] - }, - "education": { - "title": "Education and training", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "edu-1", - "hidden": false, - "school": "Northbridge Institute", - "degree": "BA Social Research", - "area": "Public policy", - "grade": "Distinction", - "location": "Leuven, Belgium", - "period": "2019 – 2022", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "

    Studied research methods, plain-language writing and collaborative service design.

    " - } - ] - }, - "projects": { - "title": "Projects", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "project-1", - "hidden": false, - "name": "Open Guidance Map", - "period": "2025", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "

    Mapped public learning resources.

    Reviewed regional catalogues with volunteers, comparing the clarity of eligibility, learning outcomes and application guidance. Each record includes an attributed source and an editorial review date.

    Documented ambiguous wording without guessing the provider’s intent. Workshop participants tested revised navigation labels and contributed examples of questions that the directory should answer.

    Prepared a maintenance guide so future editors can update links, preserve context and flag missing evidence. The guide separates direct source statements from editorial interpretations.

    " - }, - { - "id": "project-2", - "hidden": false, - "name": "Undated community handbook", - "period": "", - "website": { - "url": "https://example.invalid/learning/resources/community-handbook/review-notes", - "label": "", - "inlineLink": false - }, - "description": "

    Collected workshop notes without inventing a project date.

    " - } - ] - }, - "skills": { - "title": "Skills", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "skill-1", - "hidden": false, - "icon": "", - "iconColor": "", - "name": "Research", - "proficiency": "Advanced", - "level": 0, - "keywords": ["Interviews", "synthesis", "documentation"] - } - ], - "layout": "default" - }, - "languages": { - "title": "Language skills", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "lang-1", - "hidden": false, - "language": "English", - "fluency": "Native", - "level": 0 - }, - { - "id": "lang-2", - "hidden": false, - "language": "French", - "fluency": "B2 (self-assessed)", - "level": 0 - } - ] - }, - "interests": { - "title": "Interests", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "int-1", - "hidden": false, - "name": "Walking", - "icon": "", - "iconColor": "", - "keywords": ["Urban history", "public spaces"] - } - ] - }, - "awards": { - "title": "Awards", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "award-1", - "hidden": false, - "title": "Community research recognition", - "awarder": "Civic Learning Forum", - "date": "2025", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "

    Recognised collaborative documentation work.

    " - } - ] - }, - "certifications": { - "title": "Certifications", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "cert-1", - "hidden": false, - "title": "Accessible writing workshop", - "issuer": "Open Training Collective", - "date": "2024", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "" - } - ] - }, - "publications": { - "title": "Publications", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "pub-1", - "hidden": false, - "title": "A practical guide to learning directories", - "publisher": "Community Methods Review", - "date": "2025", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "" - } - ] - }, - "volunteer": { - "title": "Volunteering", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "vol-1", - "hidden": false, - "organization": "Neighbourhood Learning Circle", - "location": "Brussels, Belgium", - "period": "2022 – Present", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "

    Facilitated peer mentoring sessions.

    " - } - ] - }, - "references": { - "title": "References", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "ref-1", - "hidden": false, - "name": "Available upon request", - "position": "", - "phone": "", - "website": { - "url": "", - "label": "", - "inlineLink": false - }, - "description": "" - } - ] - } - }, - "customSections": [ - { - "title": "Other activities", - "icon": "none", - "columns": 1, - "hidden": false, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "custom-item-1", - "hidden": false, - "content": "

    Community workshops and peer mentoring.

    " - } - ], - "id": "other-activities", - "type": "summary" - }, - { - "title": "HIDDEN_SECTION_SENTINEL", - "icon": "none", - "columns": 1, - "hidden": true, - "keepTogether": false, - "startOnNewPage": false, - "items": [ - { - "id": "hidden-custom", - "hidden": false, - "content": "

    HIDDEN_CONTENT_SENTINEL

    " - } - ], - "id": "hidden-section", - "type": "summary" - } - ], - "metadata": { - "template": "onyx", - "layout": { - "sidebarWidth": 35, - "pages": [ - { - "fullWidth": true, - "main": [ - "profiles", - "summary", - "experience", - "education", - "projects", - "languages", - "skills", - "awards", - "certifications", - "publications", - "volunteer", - "interests", - "references", - "other-activities", - "hidden-section" - ], - "sidebar": [] - } - ] - }, - "page": { - "gapX": 4, - "gapY": 18, - "marginX": 36, - "marginY": 36, - "format": "a4", - "locale": "en-US", - "hideLinkUnderline": false, - "hideIcons": false, - "hideSectionIcons": true - }, - "design": { - "colors": { - "primary": "rgba(30, 85, 128, 1)", - "text": "rgba(32, 38, 43, 1)", - "background": "rgba(255, 255, 255, 1)" - }, - "level": { - "icon": "star", - "type": "hidden" - } - }, - "typography": { - "body": { - "fontFamily": "Arial", - "fontWeights": ["400"], - "fontSize": 10.5, - "lineHeight": 1.4 - }, - "heading": { - "fontFamily": "Arial", - "fontWeights": ["700"], - "fontSize": 10, - "lineHeight": 1.3 - } - }, - "notes": "PRIVATE_NOTES_SENTINEL", - "styleRules": [] - } - } -} diff --git a/docs/self-hosting/docker.mdx b/docs/self-hosting/docker.mdx index 5aa1931fd..275576656 100644 --- a/docs/self-hosting/docker.mdx +++ b/docs/self-hosting/docker.mdx @@ -478,7 +478,7 @@ If you're using S3-compatible storage, consider enabling versioning on your buck ## Health checks -Reactive Resume exposes a health check endpoint at `/api/health` that verifies the application and its dependencies. It checks **database** and **storage**; if either is unhealthy, the endpoint returns HTTP `503`. +Reactive Resume exposes a health check endpoint at `/api/health` that verifies the application and its dependencies. It checks **database**, **storage**, and **Redis** when configured; if a configured dependency is unhealthy, the endpoint returns HTTP `503`. ### How it works @@ -590,3 +590,9 @@ Restart the application after setting or changing `ROOT_RESUME_ID`. With Docker Keep `APP_URL` set to the public origin and proxy the whole application normally, including API, uploads, fonts, and assets. Root mode uses that configured origin for its canonical URL; it does not infer a domain from request headers. A successful password challenge returns visitors to `/`. This is a single-resume setting for one self-hosted instance. It does not register custom domains, manage DNS or TLS, or hide the rest of the application. Login and the dashboard remain available at their usual paths. + +## AI agent run duration + +Each individual agent run has a four-minute execution timeout, reserving up to one minute for saving and cleanup within the shared five-minute budget. This is the same on Docker and Vercel Hobby. Normal answers return as soon as they finish; the limit never applies to an entire conversation. Follow-up questions get a fresh timer. On timeout, completed edits and saved history remain available, and you can ask the agent to continue. + +Multiple application instances should share `REDIS_URL` and `DEPLOYMENT_NAMESPACE` for rate limits, resumable streams, cancellation, resume notifications, and view deduplication. Without Redis, all core resume features work on a single instance. Private agent attachments need S3-compatible storage or private Blob; local disk supports public uploads only. diff --git a/docs/self-hosting/vercel.mdx b/docs/self-hosting/vercel.mdx new file mode 100644 index 000000000..6ca521c02 --- /dev/null +++ b/docs/self-hosting/vercel.mdx @@ -0,0 +1,159 @@ +--- +title: "Self-hosting on Vercel" +description: "Deploy Reactive Resume on Vercel Hobby with Neon PostgreSQL, private Vercel Blob, and Upstash Redis." +--- + +This guide deploys Reactive Resume to a Vercel project with the Deploy with Vercel wizard. The wizard provisions a database, file storage, and Redis for you. You supply two secrets. + +Vercel serves the static web assets from its CDN and runs the shared Hono server in one Node.js 24 Function. Docker is also supported and uses the same API, authentication, templates, and data format. See [Self-hosting with Docker](/self-hosting/docker) for that option. + +## Before you start + +You need: + +- A Vercel account and a GitHub account. +- Two independent random secrets, `AUTH_SECRET` and `ENCRYPTION_SECRET`. Generate each one separately: + + ```bash + openssl rand -hex 32 + ``` + + Save both values in a password manager. You must keep the same values for the life of the installation. Losing `ENCRYPTION_SECRET` makes saved AI-provider API keys unreadable. + +The wizard connects three services through Vercel Marketplace: + +| Service | Used for | +| --- | --- | +| Neon PostgreSQL | Application data | +| Vercel Blob (**private**) | Uploaded pictures, files, and agent attachments | +| Upstash Redis | Agent streaming and cancellation, shared rate limits, live resume updates | + +Quotas and permitted use depend on your Vercel, Neon, and Upstash plans. Review [Vercel limits](https://vercel.com/docs/functions/limitations), [Neon](https://vercel.com/marketplace/neon), and [Upstash](https://vercel.com/marketplace/upstash/upstash-kv) before you choose a plan. Turn off automatic paid upgrades if you want to stay inside a free allowance. + + + Each AI agent run stops active work after four minutes. This keeps the run, plus saving and cleanup, inside Vercel Hobby's five-minute Function limit. The limit applies to each question, not to the whole conversation. Docker uses the same limit. + + +## Deploy + + + + Click the button: + + [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Freactive-resume%2Freactive-resume&project-name=reactive-resume&repository-name=reactive-resume&env=AUTH_SECRET%2CENCRYPTION_SECRET&envDescription=Generate+two+independent+secrets+with+openssl+rand+-hex+32.+Keep+these+values+across+deployments.&envLink=https%3A%2F%2Fdocs.rxresu.me%2Fself-hosting%2Fvercel&stores=%5B%7B%22type%22%3A%22integration%22%2C%22protocol%22%3A%22storage%22%2C%22integrationSlug%22%3A%22neon%22%2C%22productSlug%22%3A%22neon%22%7D%2C%7B%22type%22%3A%22integration%22%2C%22protocol%22%3A%22storage%22%2C%22integrationSlug%22%3A%22upstash%22%2C%22productSlug%22%3A%22upstash-kv%22%7D%2C%7B%22type%22%3A%22blob%22%2C%22access%22%3A%22private%22%7D%5D) + + + + On Hobby, select your **personal GitHub account**. Private repositories owned by a GitHub organization require Vercel Pro. + + + + Approve Neon, Upstash, and Blob. Set Blob access to **private**. Pick nearby regions for all three, ideally close to the Function region (`iad1` by default). + + + + Paste `AUTH_SECRET` and `ENCRYPTION_SECRET`. + + + + Keep the project root at the repository root and keep the committed `vercel.json`. Do not select the `apps/web` subdirectory and do not add an SPA fallback rewrite. + + The build compiles both apps and applies database migrations before the deployment goes live. You do not run migrations yourself. + + + + + Do not paste Docker's `.env.example` into Vercel. Its local URLs and S3 settings select the wrong services. + + +## Check the deployment + +1. Open `https://.vercel.app/api/health`. `database`, `storage`, and `redis` should all report `healthy`. A sleeping Neon database can fail the first check; retry once. +2. Open the production domain and create an account. +3. Optional: add an AI provider under **Settings** to enable AI features. +4. Optional: configure SMTP for verification and password-reset emails. Without SMTP, emails are written to the Function logs. +5. Optional: add social or custom OAuth sign-in with the callback URLs in the [SSO guide](/self-hosting/sso). + +## Use a custom domain + +1. Add the domain to the Vercel project. +2. Set `APP_URL` to the full origin, for example `https://resume.example.com`. +3. Update the callback URLs of every OAuth provider you configured. +4. Redeploy. + +Changing the domain does not move stored files. Files stay under the same `DEPLOYMENT_NAMESPACE`. + +## Update the deployment + +Redeploy the same project. Keep its connected services and secrets unchanged. + +- Migrations run in the build step, never in runtime Functions. A database advisory lock serializes concurrent deployments. +- Rolling back to an older deployment does not roll back the database schema. Keep migrations backward-compatible, or restore a database backup. + +## Preview deployments + +Preview builds refuse to run migrations by default, so untrusted preview code cannot change your production database. + +To enable previews: + +1. Connect separate Neon, Upstash, and Blob resources to the **Preview** environment. +2. Set `ALLOW_PREVIEW_MIGRATIONS=true` for **Preview** only. + +A storage namespace does not isolate SQL rows. Never connect the production database to the Preview environment. + +## Back up your data + +Back up the Neon database and the Blob store. Store `AUTH_SECRET` and `ENCRYPTION_SECRET` separately from those backups. + +Moving between Docker and Vercel does not copy the database or files. Migrate them yourself. + +## Build locally + +A local Vercel build applies migrations, so run it only against an isolated database. + +```bash +vercel pull --environment production +APP_URL=https://your-project.vercel.app vercel build --prod +``` + +Replace sensitive pulled values with local-only ones first. The CLI has no deployment hostname before publishing, so `APP_URL` is required here. Cloud builds set it automatically. + +## Environment variables + +Explicit variables take precedence over the Marketplace aliases listed here. + +| Variable | Required | Behavior | +| --- | --- | --- | +| `AUTH_SECRET` | Yes | Signs sessions and tokens. Keep it constant. | +| `ENCRYPTION_SECRET` | Yes | At least 32 characters. Encrypts saved AI-provider API keys. Keep it constant. | +| `APP_URL` | No | Public origin. Defaults to the production domain in Production and to the deployment domain in Preview. Set it for a custom domain. | +| `DATABASE_URL` | Injected | Pooled runtime connection. Falls back to `POSTGRES_URL`. | +| `DATABASE_MIGRATION_URL` | No | Direct connection for migrations. Falls back to `DATABASE_URL_UNPOOLED`, then `POSTGRES_URL_NON_POOLING`, then `DATABASE_URL`. | +| `DATABASE_POOL_MAX` | No | Maximum database connections per Function instance. Default `10`. | +| `REDIS_URL` | Injected | Redis TCP/TLS URL. Falls back to Upstash's `KV_URL`. REST credentials alone do not work. | +| `STORAGE_BACKEND` | No | Must resolve to `blob` on Vercel, which is the default. The build fails with any other value. | +| `BLOB_READ_WRITE_TOKEN` | Injected | Provided by the connected Blob store. `BLOB_STORE_ID` with Vercel OIDC also works. | +| `DEPLOYMENT_NAMESPACE` | No | Prefix for Blob objects and Redis keys. Defaults to `production`, or to a per-branch value in Preview. Keep it constant after you store files. Set different values if two installations share one Blob store or Redis database. | +| `ALLOW_PREVIEW_MIGRATIONS` | No | Set to `true` in Preview only after you connect isolated preview resources. | + +For SMTP, OAuth providers, and feature flags, use the same variables as Docker. See [Self-hosting with Docker](/self-hosting/docker). + +## Upload limits + +Vercel limits Function request bodies to 4.5 MB. The web app sends larger requests through private Blob staging, so these application limits still apply: + +- General uploads: 10 MB per file. +- Agent attachments: 25 MiB per file and 100 MiB per thread. + +Blob objects are never public. The application serves public pictures and authorizes private files itself. API clients that send large RPC requests must follow the [large RPC requests](/guides/large-rpc-requests) protocol. REST (`/api/openapi`) and MCP request bodies stay subject to the 4.5 MB limit. + +## Troubleshooting + +| Symptom | Fix | +| --- | --- | +| First build fails on configuration | Check that all three services are connected to Production and both secrets are set. Remove any `S3_*` variables and any `STORAGE_BACKEND` value other than `blob`. | +| Preview build refuses to migrate | Connect isolated preview resources, then set `ALLOW_PREVIEW_MIGRATIONS=true` for Preview. | +| Large upload returns `413` | Use the web app or the [large RPC requests](/guides/large-rpc-requests) protocol. Vercel Pro does not raise the request body limit. | +| Agent reconnect or stop fails | Check the Upstash TLS URL, the remaining Upstash quota, and that every environment uses the expected `DEPLOYMENT_NAMESPACE`. | +| Sign-in redirects to another hostname | Set `APP_URL` to the domain you use and redeploy. Do not add wildcard trusted origins. | +| Files are missing after a configuration change | Restore the original `DEPLOYMENT_NAMESPACE` and Blob connection. | diff --git a/docs/superpowers/plans/2026-07-28-semantic-css-stylesheet.md b/docs/superpowers/plans/2026-07-28-semantic-css-stylesheet.md deleted file mode 100644 index 411e98295..000000000 --- a/docs/superpowers/plans/2026-07-28-semantic-css-stylesheet.md +++ /dev/null @@ -1,2702 +0,0 @@ -# Semantic CSS Stylesheet Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or -> superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Replace the structured Custom Styles form with Semantic CSS, a copy-pastable Semantic CSS language that can style -every registered PDF template part while preserving builder-owned content and the last valid rendered stylesheet. - -**Architecture:** A universal compiler under `@reactive-resume/resume/stylesheet` parses real CSS syntax into a -versioned, environment-neutral program and resolves it against an immutable semantic resume tree. `@reactive-resume/pdf` -builds that tree, supplies template defaults, applies resolved styles and structural props to existing React PDF -primitives without adding wrappers, and owns PDF preflight and public projections. A dedicated API state machine stores -editable and applied source with revision/render-data compare-and-swap, while a lazy CodeMirror editor communicates -through a browser worker and a serialized mutation queue. - -**Tech Stack:** TypeScript 7, Zod 4, React 19, React PDF 4.5, Vitest, oRPC, Drizzle/PostgreSQL, Zustand, Vite workers, -CSSTree, `@bramus/specificity`, CodeMirror 6, Prettier standalone, RFC 8785 `canonicalize`, Lingui, Base UI/shadcn. - -## Global Constraints - -- Follow `docs/superpowers/specs/2026-07-28-semantic-css-stylesheet-design.md`. -- Use Node.js 24, pnpm, existing workspace export maps, and `turbo boundaries`. -- Put the universal compiler in `packages/resume` per the repository placement rules; do not create a parallel domain - package and do not put compiler behavior in `packages/utils`. -- Add dependencies with `@latest` through pnpm, then commit the resolved lockfile. -- Semantic CSS affects PDF preview, public PDF rendering, and PDF export only. DOCX and Markdown remain unchanged. -- Design, Typography, Layout, Page, and Picture controls remain the base layer. Semantic CSS overrides exposed visual output. -- Typography remains the only font-family selector. Reject `font-family`, `@font-face`, `@import`, `url()`, generated - content, executable expressions, browser interaction states, animations, CSS Grid, and remote assets. -- Store exact editable source and last-valid applied source. Never persist a compiled AST. -- Treat the stylesheet atomically: any compiler error preserves the previous applied source. Do not apply valid fragments - from an otherwise invalid candidate. -- Generated/default source begins with `@version 1;`. A missing directive is a v1 warning for hand-written input; - duplicate, malformed, unsupported, or metadata-mismatched directives are errors. -- Expose builder values through read-only `--resume-*` system variables. User declarations using the reserved prefix are - errors. -- Never double-apply legacy `styleRules` and Semantic CSS. Persisted `mode` selects exactly one custom-style path. -- Legacy conversion stays inactive until explicit activation and must pass behavioral parity and bounded PDF preflight. -- Semantic instrumentation must not add React PDF layout wrappers. Bind node keys and resolved presentation to existing - `Page`, `View`, `Text`, `Image`, `Link`, HTML-renderer, and icon nodes. -- Match selectors against immutable source order; apply `display: none` and stable `order` once after cascade. -- Keep editable source, comments, diagnostics, and applied source owner-only. Public responses receive only a validated, - source-free resolved projection. -- Use TDD for every behavioral change: write one failing test, run it and confirm the intended failure, implement the - minimum behavior, rerun focused and neighboring tests, then commit. -- When a new TypeScript module does not yet exist, add only its typed export shell with functions that throw - `"Not implemented"` after writing the test but before the RED run. Confirm the test reaches the behavioral assertion - and fails on that sentinel; a module-resolution/type error is not an acceptable RED result. Replace the sentinel in - the same task and never commit a throwing scaffold. -- Use early one-line returns and named TypeScript types for non-trivial props and generic interfaces. -- UI work uses existing `@reactive-resume/ui` components and semantic Tailwind tokens. Desktop focus mode resizes the - existing right panel; mobile focus mode uses the existing Base UI `Sheet` with `SheetTitle`. -- Do not run broad mutating `pnpm check` until the final integration gate. Use focused Biome/Markdown checks while tasks - are in progress. - ---- - -## Research Decisions Incorporated - -| Decision | Application | -| --- | --- | -| CSS parser | Use `css-tree` for tolerant CSS parsing, source locations, AST walking, generation of machine-created CSS, and baseline lexer support. Keep exact source outside the AST because ordinary comments/spacing are omitted. | -| Specificity | Use `@bramus/specificity/core#calculateForAST` on already parsed CSSTree selector nodes. Lock behavior with `:is()`, `:not()`, `:where()`, and `:nth-*` golden tests. | -| Canonical hashing | Use `canonicalize` for RFC 8785 serialization and `globalThis.crypto.subtle.digest("SHA-256", …)` for the domain-separated public render hash in Node 24 and browsers. | -| Editor | Use CodeMirror 6 directly, without a React wrapper. Lazy-load the editor when Custom Styles opens. | -| Formatter | Lazy-load `prettier/standalone` and `prettier/plugins/postcss` only when the user selects **Format**. Use `formatWithCursor`; never format on save or paste. | -| Expanded editor | Resize the existing desktop right panel toward its 45% maximum and restore the prior layout on exit. Use `Sheet` only on mobile, where the preview already lives in a separate tab. | -| Shared tokens | Inject read-only colors, typography metrics, page metrics, sidebar width, picture metrics, and final page dimensions through `--resume-*`. Do not expose font family or picture URL. | -| No-wrapper API | Resolve structural behavior before React rendering; use a leaf `useResolvedNode(nodeKey)` hook only to apply styles/primitive props to existing nodes. | -| Acceptance fixtures | Turn issues #3146, #3134, #3137, #2223, and #3199 into named compiler/PDF/editor regression fixtures. | -| Future graphics | Record gradients and general box shadows as a later SVG-backed extension. They are not part of the v1 property adapter. | - -## Milestones and Dependency Order - -1. **Compiler foundation:** schema, parser, diagnostics, registries, selector matching, cascade, serialization, hashing. -2. **Dormant backend safety:** revision columns, render-data version, preservation, flags, no authoring UI. -3. **Semantic PDF runtime:** descriptor tree, all template manifests, adapter, structural props, issue fixtures. -4. **Migration and API:** behavioral converter, parity gate, state-machine mutation, preflight, public projection. -5. **Web authoring:** store, worker, CodeMirror shell, diagnostics, completion, formatting, focus mode. -6. **Integration and rollout:** preview/export/public paths, docs, all-template visual/E2E gates, backend-first flags. - -Each milestone is testable and reviewable before the next begins. Do not expose the authoring flag until milestones 1–4 -are green. - -## File Responsibility Map - -### `packages/schema` - -- Create `packages/schema/src/resume/stylesheet.ts`: persisted source/applied/mode schemas and shared wire types. -- Create `packages/schema/src/resume/stylesheet.test.ts`: tolerant legacy compatibility and strict new-value tests. -- Modify `packages/schema/src/resume/data.ts`: optional `metadata.stylesheet`; preserve `metadata.styleRules`. -- Modify `packages/schema/package.json`: export `./resume/stylesheet`. - -### `packages/resume` - -- Create `packages/resume/src/stylesheet/types.ts`: diagnostics, semantic node, compiled program, resolved style, public - projection, and base-setting types. -- Create `packages/resume/src/stylesheet/version.ts`: `@version` parsing contract and immutable compiler dispatch. -- Create `packages/resume/src/stylesheet/parse.ts`: CSSTree adapter and source-range normalization. -- Create `packages/resume/src/stylesheet/registry/semantic.ts`: node kinds, parentage, attributes, roles, fields, and - registry fingerprint input. -- Create `packages/resume/src/stylesheet/registry/properties.ts`: supported property grammar, inheritance, - applicability, shorthands, structural props, and hard technical bounds. -- Create `packages/resume/src/stylesheet/registry/system-variables.ts`: read-only `--resume-*` catalog and injection. -- Create `packages/resume/src/stylesheet/selector.ts`: selector validation, specificity, and immutable-tree matching. -- Create `packages/resume/src/stylesheet/values.ts`: variables, colors, dimensions, shorthands, and forbidden functions. -- Create `packages/resume/src/stylesheet/limits.ts`: immutable v1 resource limits and failure codes. -- Create `packages/resume/src/stylesheet/cache.ts`: bounded process-local compile cache. -- Create `packages/resume/src/stylesheet/compile.ts`: versioned parse/validate/compile entrypoint. -- Create `packages/resume/src/stylesheet/cascade.ts`: media, inheritance, source order, `!important`, structural pass. -- Create `packages/resume/src/stylesheet/analyze.ts`: no-match, ineffective-property, and extreme-value warnings. -- Create `packages/resume/src/stylesheet/serialize.ts`: deterministic escaping and generated Semantic CSS output. -- Create `packages/resume/src/stylesheet/render-hash.ts`: RFC 8785 canonicalization and SHA-256. -- Create `packages/resume/src/stylesheet/render-data.ts`: private render projection for versioning/preflight plus redacted - public render projection for browser-verifiable hashing. -- Create `packages/resume/src/stylesheet/index.ts`: intentional public surface. -- Create colocated tests and `packages/resume/src/stylesheet/__fixtures__/v1/*.css`. -- Modify `packages/resume/package.json`: exports plus direct dependencies. - -### `packages/db`, `packages/env`, root - -- Modify `packages/db/src/schema/resume.ts`: `stylesheetRevision` and `renderDataVersion`. -- Generate a Drizzle migration and snapshot under `migrations/` using the repository generator; do not hand-name or edit - generated snapshot metadata. -- Modify `packages/env/src/server.ts`: dormant authoring/default flags. -- Modify `turbo.json`: add both flag names to `globalEnv`. - -### `packages/pdf` - -- Create `packages/pdf/src/semantic/node-keys.ts`: stable node key factories. -- Create `packages/pdf/src/semantic/tree.ts`: shared descriptor tree construction. -- Create `packages/pdf/src/semantic/template-manifest.ts`: typed template manifest contract and aggregate registry. -- Create `packages/pdf/src/semantic/base-styles.ts`: builder/template defaults by node key. -- Create `packages/pdf/src/semantic/adapter.ts`: resolved domain values to React PDF `Style` and primitive props. -- Create `packages/pdf/src/semantic/context.tsx`: `SemanticRenderProvider` and `useResolvedNode`. -- Create `packages/pdf/src/semantic/resolve.ts`: compile/tree/cascade/adapter orchestration and mode selection. -- Create `packages/pdf/src/semantic/preflight.tsx`: bounded browser/server candidate render. -- Create `packages/pdf/src/semantic/legacy-converter.ts`: effective legacy conversion and parity comparison. -- Create `packages/pdf/src/semantic/public-projection.ts`: source-free resolved projection. -- Create `semantic.ts` beside each of the 15 template page files for regions and template parts. -- Modify shared primitives, sections, rich text, contacts, level display, all template pages, document, browser/server - entrypoints, exports, and focused tests. - -### `packages/api`, `apps/server` - -- Create `packages/api/src/features/resume/stylesheet.ts`: oRPC router procedures. -- Create `packages/api/src/features/resume/stylesheet-service.ts`: transition state machine and CAS. -- Create `packages/api/src/features/resume/stylesheet-preflight.ts`: compile/preflight orchestration outside locks. -- Create `packages/api/src/features/resume/stylesheet-preservation.ts`: full-update/patch protection and render-data - versioning. -- Create `packages/api/src/features/resume/public-style-projection.ts`: public projection query and cache. -- Create `packages/api/src/features/resume/public-pdf.ts`: exported public/password-aware fallback rendering service. -- Modify resume router, DTO, service, CRUD, versions, sharing, access policy, events, flags, and tests. -- Create `apps/server/src/workers/stylesheet-preflight.ts` and `apps/server/src/services/stylesheet-preflight.ts`: - terminable resource-bounded worker and API-context runner. -- Create `apps/server/src/http/public-resume-pdf.ts`: authorized/rate-limited public fallback without changing signed - owner-download behavior in `resume-pdf.ts`. - -### `apps/web` - -- Create `apps/web/src/features/resume/stylesheet/protocol.ts`: structured-clone-safe worker messages. -- Create `apps/web/src/features/resume/stylesheet/stylesheet.worker.ts`: compiler/analyzer worker. -- Create `apps/web/src/features/resume/stylesheet/worker-client.ts`: worker lifecycle and generation checks. -- Create `apps/web/src/features/resume/stylesheet/store.ts`: per-resume source/applied/revision/history/mutation queue. -- Create `apps/web/src/features/resume/stylesheet/editor.tsx`: direct CodeMirror host. -- Create `apps/web/src/features/resume/stylesheet/editor-extensions.ts`: lint, completion, hover, search, and color widgets. -- Create `apps/web/src/features/resume/stylesheet/formatter.ts`: lazy Prettier command. -- Create `apps/web/src/features/resume/stylesheet/toolbar.tsx`: copy, format, reset, activate, undo/redo, focus mode. -- Create `apps/web/src/features/resume/stylesheet/status.tsx`: applied/warning/error state. -- Create `apps/web/src/features/resume/stylesheet/legacy-banner.tsx`: inactive converted draft and activation. -- Create `apps/web/src/features/resume/stylesheet/focus-mode.ts`: desktop panel resize/restore and mobile sheet state. -- Add colocated happy-dom tests. -- Replace form internals in the existing Custom Styles route section with a lazy feature shell. -- Modify builder initialization, preview/export/public rendering, and version restore reinitialization. - -### Documentation and E2E - -- Replace `docs/guides/using-custom-styles.mdx` with Semantic CSS authoring/migration guidance. -- Create `docs/guides/semantic-css-reference.mdx` from registry-backed generated content. -- Create Playwright specs under `tests/e2e/specs/semantic-css/`. - -## Normative v1 Property Adapter Matrix - -The v1 registry and PDF adapter must cover these renderer properties under kebab-case names. Registry tests enumerate -each property and its allowed semantic/primitive kinds; PDF adapter tests fail when either side lacks an entry. - -| Category | Properties | -| --- | --- | -| Flexbox | `align-content`, `align-items`, `align-self`, `flex`, `flex-direction`, `flex-wrap`, `flex-flow`, `flex-grow`, `flex-shrink`, `flex-basis`, `justify-content`, `gap`, `row-gap`, `column-gap`; Semantic CSS `order` is resolved structurally before rendering. | -| Layout/position | `aspect-ratio`, `bottom`, `display`, `left`, `position`, `right`, `top`, `overflow`, `z-index`. | -| Dimensions | `width`, `height`, `min-width`, `min-height`, `max-width`, `max-height`. | -| Color | `color`, `background-color`, `opacity`. | -| Text | `direction`, `font-size`, `font-style`, `font-weight`, `letter-spacing`, `line-height`, `max-lines`, `text-align`, `text-decoration`, `text-decoration-color`, `text-decoration-style`, `text-indent`, `text-overflow`, `text-transform`, `vertical-align`. `font-family` is deliberately rejected. | -| Image | `object-fit`, `object-position`; picture-only `-resume-shadow-color` and `-resume-shadow-width` map the renderer properties already used by the template base styles. | -| Margin/padding | `margin`, `margin-top/right/bottom/left`, `margin-horizontal`, `margin-vertical`, `padding`, `padding-top/right/bottom/left`, `padding-horizontal`, `padding-vertical`. | -| Borders | `border`, `border-color/style/width`, every per-side color/style/width, and every corner radius. | -| Transform | `transform` functions `rotate`, `scale`, `scale-x/y`, `translate`, `translate-x/y`, `skew`, `skew-x/y`, `matrix`, plus `transform-origin`. | -| Pagination/structure | `display: none`, `order`, `break-before`, `break-inside`, `orphans`, `widows`, page `size`, `-resume-fixed`, `-resume-min-presence-ahead`. | - -Applicability rules: - -- `page`: page style plus page `size`; no text-only properties unless inherited by a text descendant. -- container nodes backed by `View`: Flexbox, layout, dimensions, colors, spacing, borders, transforms. -- text/field/name/headline/strong/mark/list content: text, color, spacing supported by the backing `Text`. -- `link`: text properties plus link container properties supported by React PDF. -- `picture`: image, dimensions, spacing, borders, transforms, and the two supported shadow extensions. -- `icon`/level decorations: adapter-supported color/opacity/size; `font-size` maps to explicit icon size as documented. -- declarations valid in the language but ineffective on the selected kind produce warnings; unknown or unsupported - properties are errors. - -Explicit v1 exclusions include `font-family`, `@font-face`, `@import`, `url()`, `src`, generated `content`, Grid, -filters, blend modes, gradients, general `box-shadow`, animations, transitions, and interactive pseudo-classes. - ---- - -### Task 1: Add Persisted Stylesheet Contracts - -**Files:** -- Create: `packages/schema/src/resume/stylesheet.ts` -- Create: `packages/schema/src/resume/stylesheet.test.ts` -- Modify: `packages/schema/src/resume/data.ts` -- Modify: `packages/schema/package.json` - -**Interfaces:** -- Produces: `StylesheetSource`, `SemanticStylesheet`, `StylesheetMode`, - `stylesheetSourceSchema`, `semanticStylesheetSchema`, `EMPTY_SEMANTIC_CSS_SOURCE`. -- Consumed by: compiler, API, PDF mode selection, web store, import/export. - -- [ ] **Step 1: Write failing schema tests** - -```ts -import { describe, expect, it } from "vitest"; -import { resumeDataSchema } from "./data"; -import { defaultResumeData } from "./default"; -import { semanticStylesheetSchema } from "./stylesheet"; - -describe("semanticStylesheetSchema", () => { - it("preserves separate editable and applied sources", () => { - const result = semanticStylesheetSchema.parse({ - mode: "semantic", - source: { languageVersion: 1, text: "@version 1;\nsection {" }, - applied: { languageVersion: 1, text: "@version 1;\nsection { color: red; }\n" }, - }); - - expect(result.source.text).toContain("section {"); - expect(result.applied.text).toContain("color: red"); - }); - - it("keeps resumes without a stylesheet valid for legacy rendering", () => { - expect(resumeDataSchema.parse(defaultResumeData).metadata.stylesheet).toBeUndefined(); - }); - - it("rejects non-positive language versions", () => { - expect( - semanticStylesheetSchema.safeParse({ - mode: "semantic", - source: { languageVersion: 0, text: "" }, - applied: { languageVersion: 1, text: "" }, - }).success, - ).toBe(false); - }); -}); -``` - -- [ ] **Step 2: Run the focused tests and verify RED** - -Run: `pnpm --filter @reactive-resume/schema test -- src/resume/stylesheet.test.ts` - -Expected: FAIL on the `Not implemented` schema shell or the first stylesheet assertion, not on module resolution. - -- [ ] **Step 3: Implement the strict new schema and tolerant optional metadata field** - -```ts -// packages/schema/src/resume/stylesheet.ts -import { z } from "zod"; - -export const EMPTY_SEMANTIC_CSS_SOURCE = "@version 1;\n"; - -export const stylesheetSourceSchema = z.strictObject({ - languageVersion: z.number().int().positive(), - text: z.string(), -}); - -export const semanticStylesheetSchema = z.strictObject({ - mode: z.enum(["legacy", "semantic"]), - source: stylesheetSourceSchema, - applied: stylesheetSourceSchema, -}); - -export type StylesheetSource = z.infer; -export type SemanticStylesheet = z.infer; -export type StylesheetMode = SemanticStylesheet["mode"]; -``` - -Add `stylesheet: semanticStylesheetSchema.optional()` to `metadataSchema`. Do not add it to `defaultResumeData`; absence -is the backwards-compatible legacy discriminator. Add the explicit package export. - -- [ ] **Step 4: Verify schema behavior and neighboring resume tests** - -Run: - -```bash -pnpm --filter @reactive-resume/schema test -- src/resume/stylesheet.test.ts src/resume/data.test.ts src/resume/default.test.ts -pnpm --filter @reactive-resume/schema typecheck -``` - -Expected: PASS with all existing `styleRules` tests unchanged. - -- [ ] **Step 5: Commit** - -```bash -git add packages/schema -git commit -m "feat(schema): add semantic stylesheet contracts" -``` - ---- - -### Task 2: Add Parser, Diagnostics, and Version Dispatch - -**Files:** -- Create: `packages/resume/src/stylesheet/types.ts` -- Create: `packages/resume/src/stylesheet/diagnostics.ts` -- Create: `packages/resume/src/stylesheet/version.ts` -- Create: `packages/resume/src/stylesheet/parse.ts` -- Create: `packages/resume/src/stylesheet/compile.ts` -- Create: `packages/resume/src/stylesheet/version.test.ts` -- Create: `packages/resume/src/stylesheet/parse.test.ts` -- Create: `packages/resume/src/stylesheet/index.ts` -- Modify: `packages/resume/package.json` -- Modify: `pnpm-lock.yaml` - -**Interfaces:** -- Produces: `compileStylesheet(source): CompileStylesheetResult`, `SemanticCssDiagnostic`, `SourceRange`, - `SUPPORTED_SEMANTIC_CSS_VERSIONS`. -- Consumes: `StylesheetSource` from Task 1. - -- [ ] **Step 1: Install direct parser and specificity dependencies** - -Run: - -```bash -pnpm --filter @reactive-resume/resume add css-tree@latest @bramus/specificity@latest canonicalize@latest -pnpm --filter @reactive-resume/resume add -D fast-check@latest -``` - -Expected: `packages/resume/package.json` and `pnpm-lock.yaml` list direct resolved dependencies. - -- [ ] **Step 2: Write failing parser/version tests** - -```ts -import { describe, expect, it } from "vitest"; -import { compileStylesheet } from "./compile"; -import { parseStylesheet } from "./parse"; - -describe("compileStylesheet", () => { - it("compiles canonical version-one source", () => { - const result = compileStylesheet({ - languageVersion: 1, - text: "@version 1;\nsection { color: #123456; }\n", - }); - - expect(result.program?.languageVersion).toBe(1); - expect(result.diagnostics).toEqual([]); - }); - - it("warns when version-one source omits the directive", () => { - const result = compileStylesheet({ languageVersion: 1, text: "section { color: red; }" }); - - expect(result.diagnostics).toContainEqual( - expect.objectContaining({ code: "MISSING_VERSION_DIRECTIVE", severity: "warning" }), - ); - }); - - it("rejects a directive that disagrees with persisted metadata", () => { - const result = compileStylesheet({ languageVersion: 1, text: "@version 2;" }); - - expect(result.program).toBeNull(); - expect(result.diagnostics).toContainEqual( - expect.objectContaining({ code: "VERSION_MISMATCH", severity: "error" }), - ); - }); - - it("returns exact ranges for malformed declarations and keeps a recoverable parse tree", () => { - const result = parseStylesheet("@version 1;\nsection { color red; }\nitem { opacity: .5; }"); - - expect(result.diagnostics[0]?.range.start.line).toBe(2); - expect(result.rules).toHaveLength(2); - }); -}); -``` - -- [ ] **Step 3: Verify RED** - -Run: `pnpm --filter @reactive-resume/resume test -- src/stylesheet/version.test.ts src/stylesheet/parse.test.ts` - -Expected: FAIL on the parser/compiler sentinel or the first version/range assertion, not on module resolution. - -- [ ] **Step 4: Implement the CSSTree adapter and immutable v1 dispatch** - -```ts -export type DiagnosticSeverity = "error" | "warning"; - -export type SourcePosition = { - line: number; - column: number; - offset: number; -}; - -export type SourceRange = { - start: SourcePosition; - end: SourcePosition; -}; - -export type SemanticCssDiagnostic = { - code: string; - severity: DiagnosticSeverity; - message: string; - range: SourceRange; -}; - -export type CompileStylesheetResult = { - program: StyleProgram | null; - diagnostics: readonly SemanticCssDiagnostic[]; -}; -``` - -Configure CSSTree with `positions: true`, `parseCustomProperty: true`, `onParseError`, and token/comment callbacks. -Convert `Raw` nodes into errors without replacing raw source. Parse `@version` as a top-level at-rule: generated -source has exactly one directive; v1 hand-written source without one compiles with a warning; duplicates, non-positive -values, unsupported values, and metadata mismatches block the program. - -- [ ] **Step 5: Verify parser tests, Unicode ranges, browser-safe imports, and typecheck** - -Run: - -```bash -pnpm --filter @reactive-resume/resume test -- src/stylesheet/version.test.ts src/stylesheet/parse.test.ts -pnpm --filter @reactive-resume/resume typecheck -``` - -Expected: PASS; diagnostics use one-based line/column and zero-based offsets consistently. - -- [ ] **Step 6: Commit** - -```bash -git add packages/resume/package.json packages/resume/src/stylesheet pnpm-lock.yaml -git commit -m "feat(resume): add Semantic CSS parser and versioning" -``` - ---- - -### Task 3: Add Semantic, Property, and System-Variable Registries - -**Files:** -- Create: `packages/resume/src/stylesheet/registry/semantic.ts` -- Create: `packages/resume/src/stylesheet/registry/properties.ts` -- Create: `packages/resume/src/stylesheet/registry/system-variables.ts` -- Create: `packages/resume/src/stylesheet/registry/semantic.test.ts` -- Create: `packages/resume/src/stylesheet/registry/properties.test.ts` -- Create: `packages/resume/src/stylesheet/registry/system-variables.test.ts` -- Modify: `packages/resume/src/stylesheet/types.ts` -- Modify: `packages/resume/src/stylesheet/index.ts` - -**Interfaces:** -- Produces: `SemanticNode`, `SemanticNodeKind`, `SEMANTIC_REGISTRY_V1`, `PROPERTY_REGISTRY_V1`, - `SYSTEM_VARIABLE_REGISTRY_V1`, `createSystemVariables(base, page)`. -- Consumed by: selector compiler, cascade, PDF tree builder, editor completion/docs. - -- [ ] **Step 1: Write failing registry tests** - -```ts -it("injects builder values without exposing fonts or assets", () => { - const variables = createSystemVariables(baseSettings, { width: 595.28, height: 841.89 }); - - expect(variables["--resume-primary-color"]).toBe(baseSettings.design.colors.primary); - expect(variables["--resume-sidebar-width"]).toBe(`${baseSettings.layout.sidebarWidth}%`); - expect(variables["--resume-page-width"]).toBe("595.28pt"); - expect(Object.keys(variables)).not.toContain("--resume-font-family"); - expect(Object.keys(variables)).not.toContain("--resume-picture-url"); -}); - -it("registers every stable semantic node and relationship", () => { - expect(canContainNode("resume", "page")).toBe(true); - expect(canContainNode("section", "item")).toBe(false); - expect(canContainNode("section-items", "item")).toBe(true); -}); - -it("rejects unsupported browser and asset properties", () => { - expect(PROPERTY_REGISTRY_V1["font-family"]).toBeUndefined(); - expect(PROPERTY_REGISTRY_V1["background-image"]).toBeUndefined(); - expect(PROPERTY_REGISTRY_V1.color?.appliesTo).toContain("field"); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -pnpm --filter @reactive-resume/resume test -- src/stylesheet/registry/semantic.test.ts src/stylesheet/registry/properties.test.ts src/stylesheet/registry/system-variables.test.ts -``` - -Expected: FAIL on the registry sentinel or the first catalog/parentage assertion, not on module resolution. - -- [ ] **Step 3: Implement typed registries** - -Register these semantic kinds: - -```ts -export type SemanticNodeKind = - | "resume" - | "page" - | "region" - | "header" - | "picture" - | "name" - | "headline" - | "contact-list" - | "contact-item" - | "section" - | "section-heading" - | "section-items" - | "item" - | "item-header" - | "field" - | "link" - | "icon" - | "level" - | "rich-text" - | "rich-heading" - | "blockquote" - | "paragraph" - | "list" - | "list-item" - | "list-item-content" - | "list-marker" - | "strong" - | "emphasis" - | "underline" - | "strike" - | "code" - | "text-span" - | "mark" - | "hard-break" - | "horizontal-rule" - | "template-part"; -``` - -The property registry covers React PDF-supported Flexbox, layout, dimensions, colors, text properties except -`font-family`, spacing, borders, transforms, object fit/position, and the structural properties `display`, `order`, -`break-before`, `break-inside`, `orphans`, `widows`, `size`, `-resume-fixed`, and `-resume-min-presence-ahead`. - -Inject exactly these v1 reserved variables: - -```text ---resume-primary-color ---resume-text-color ---resume-background-color ---resume-body-font-size ---resume-body-line-height ---resume-heading-font-size ---resume-heading-line-height ---resume-page-gap-x ---resume-page-gap-y ---resume-page-margin-x ---resume-page-margin-y ---resume-page-width ---resume-page-height ---resume-sidebar-width ---resume-picture-size ---resume-picture-rotation ---resume-picture-aspect-ratio ---resume-picture-border-radius ---resume-picture-border-width ---resume-picture-border-color ---resume-picture-shadow-width ---resume-picture-shadow-color -``` - -- [ ] **Step 4: Verify registries and export-map boundaries** - -Run: - -```bash -pnpm --filter @reactive-resume/resume test -- src/stylesheet/registry -pnpm --filter @reactive-resume/resume typecheck -pnpm exec turbo boundaries -``` - -Expected: PASS; `packages/resume` remains `runtime:universal` and `role:domain`. - -- [ ] **Step 5: Commit** - -```bash -git add packages/resume/src/stylesheet -git commit -m "feat(resume): define Semantic CSS registries and system tokens" -``` - ---- - -### Task 4: Implement Selector Validation, Specificity, and Matching - -**Files:** -- Create: `packages/resume/src/stylesheet/selector.ts` -- Create: `packages/resume/src/stylesheet/selector.test.ts` -- Create: `packages/resume/src/stylesheet/__fixtures__/v1/selectors.css` -- Modify: `packages/resume/src/stylesheet/compile.ts` - -**Interfaces:** -- Produces: `CompiledSelector`, `Specificity`, `compileSelector`, `matchesSelector`. -- Consumes: parsed CSSTree selectors and the semantic registry. - -- [ ] **Step 1: Write failing selector tests** - -```ts -it.each([ - ["section[type=\"experience\"] > section-heading", "heading-experience", true], - ["region[placement=\"sidebar\"] section", "section-skills-sidebar", true], - ["section:is([type=\"experience\"], [type=\"education\"])", "section-education", true], - ["item:nth-child(2)", "item-second", true], - ["section:hover", "section-experience", false], -])("matches %s against the immutable semantic tree", (selector, nodeKey, expected) => { - const result = compileSelector(selector); - if (!result.selector) return expect(expected).toBe(false); - expect(matchesSelector(result.selector, fixtureTree, nodeKey)).toBe(expected); -}); - -it("gives :where zero specificity and :is its most specific argument", () => { - expect(getSpecificity(":where(#one) section")).toEqual([0, 0, 1]); - expect(getSpecificity(":is(#one, section)")).toEqual([1, 0, 0]); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: `pnpm --filter @reactive-resume/resume test -- src/stylesheet/selector.test.ts` - -Expected: FAIL on the selector sentinel or a matching/specificity assertion, not on module resolution. - -- [ ] **Step 3: Implement allowed selectors and immutable-tree matching** - -Support type/universal selectors, reflected `#id`, attribute operators, selector lists, descendant/child/adjacent/general -sibling combinators, the `:root` alias for the `resume` node, `:is`, `:where`, `:not`, `:first-child`, `:last-child`, -`:only-child`, `:nth-child`, and `:nth-of-type`. Reject pseudo-elements, interactive pseudo-classes, custom classes, -unknown elements/attributes/roles, and nested complexity beyond registry limits. - -Use `calculateForAST` only after Semantic CSS validation. Store specificity as a plain `[ids, classes, types]` tuple so the -compiled program remains structured-clone-safe and independent of library classes. - -- [ ] **Step 4: Verify selector behavior and dependency compatibility** - -Run: - -```bash -pnpm --filter @reactive-resume/resume test -- src/stylesheet/selector.test.ts -pnpm --filter @reactive-resume/resume typecheck -``` - -Expected: PASS, including CSS escapes, UUID attribute selectors, `role~=` token matching, and stable source-order sibling -positions. - -- [ ] **Step 5: Commit** - -```bash -git add packages/resume/src/stylesheet -git commit -m "feat(resume): add semantic selector matching" -``` - ---- - -### Task 5: Implement Values, Cascade, Media, and Structural Resolution - -**Files:** -- Create: `packages/resume/src/stylesheet/values.ts` -- Create: `packages/resume/src/stylesheet/limits.ts` -- Create: `packages/resume/src/stylesheet/cache.ts` -- Create: `packages/resume/src/stylesheet/cascade.ts` -- Create: `packages/resume/src/stylesheet/analyze.ts` -- Create: `packages/resume/src/stylesheet/values.test.ts` -- Create: `packages/resume/src/stylesheet/cascade.test.ts` -- Create: `packages/resume/src/stylesheet/analyze.test.ts` -- Create: `packages/resume/src/stylesheet/__fixtures__/v1/portable-theme.css` -- Modify: `packages/resume/src/stylesheet/compile.ts` -- Modify: `packages/resume/src/stylesheet/index.ts` - -**Interfaces:** -- Produces: `resolveStylesheet(program, tree, context): ResolveStylesheetResult`, - `analyzeStylesheet(program, tree)`. -- Consumes: Tasks 2–4. - -- [ ] **Step 1: Write failing cascade tests** - -```ts -it("resolves template base, normal rules, important rules, specificity, and source order", () => { - const result = resolveFixture(` - @version 1; - section-heading { color: red; } - section[type="experience"] > section-heading { color: blue !important; } - section#experience > section-heading { color: green; } - `); - - expect(result.nodes["heading-experience"]?.style.color).toBe("blue"); -}); - -it("keeps positional selectors based on source order before hiding and ordering", () => { - const result = resolveFixture(` - @version 1; - item:nth-child(2) { display: none; } - item:last-child { order: -1; } - `); - - expect(result.renderTree.children.map((node) => node.key)).toEqual(["item-3", "item-1"]); -}); - -it("resolves read-only system variables in an otherwise valid program", () => { - const result = resolveFixture(` - @version 1; - :root { --accent: var(--resume-primary-color); } - name { color: var(--accent); } - `); - - expect(result.nodes.name?.style.color).toBe(fixtureBase.design.colors.primary); -}); - -it("blocks the entire program when reserved system variables are reassigned", () => { - const result = compileStylesheet({ - languageVersion: 1, - text: "@version 1; :root { --resume-primary-color: red; } name { color: blue; }", - }); - - expect(result.program).toBeNull(); - expect(result.diagnostics).toContainEqual( - expect.objectContaining({ code: "SYSTEM_VARIABLE_READONLY", severity: "error" }), - ); -}); - -it("allows small but technically renderable values and leaves aesthetics to warnings", () => { - const result = compileStylesheet({ - languageVersion: 1, - text: "@version 1; field { font-size: 3pt; }", - }); - - expect(result.program).not.toBeNull(); - expect(result.diagnostics).toContainEqual( - expect.objectContaining({ code: "EXTREME_VALUE", severity: "warning" }), - ); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -pnpm --filter @reactive-resume/resume test -- src/stylesheet/values.test.ts src/stylesheet/cascade.test.ts src/stylesheet/analyze.test.ts -``` - -Expected: FAIL on the cascade sentinel or a resolved-value/structure assertion, not on module resolution. - -- [ ] **Step 3: Implement value normalization and two-pass resolution** - -Implement: - -1. Parse/expand shorthands and custom properties. -2. Resolve `var()` with fallbacks and cycle diagnostics. -3. Validate again after expansion so `url()` cannot hide inside variables/shorthands. -4. Convert `pt`, `in`, `mm`, `cm`, `px`, `%`, `vw`, `vh`, `em`, and `rem` to normalized domain values. -5. Resolve non-media page `size`, then media width/height/orientation; reject `size` inside media. -6. Match/cascade on the immutable source tree. -7. Calculate inheritance and CSS-wide keywords. -8. Apply `display: none` and stable `order` once to produce `renderTree`. -9. Return warnings separately from compiler errors. -10. Return `program: null` for any error and never invoke cascade/preflight for that candidate. - -```ts -export type ResolveStylesheetInput = { - program: StyleProgram; - tree: SemanticNode; - baseStyles: Readonly>; - baseSettings: BaseSettingsSnapshot; - pages: readonly AuthoredPageContext[]; -}; - -export type ResolveStylesheetResult = { - nodes: Readonly>; - renderTree: SemanticNode; - diagnostics: readonly SemanticCssDiagnostic[]; -}; -``` - -Define these shared plain-value types in `types.ts` before implementing the resolver: - -```ts -export type ResolvedNodeStyle = { - style: Readonly>; - structural: StructuralPresentation; - hidden: boolean; - order: number; -}; - -export type ResolvedPageSize = "A4" | "LETTER" | { width: number; height?: number }; - -export type StructuralPresentation = { - breakBefore?: "page"; - breakInside?: "avoid"; - fixed?: boolean; - minPresenceAhead?: number; - orphans?: number; - widows?: number; - pageSize?: ResolvedPageSize; -}; - -export type BaseSettingsSnapshot = Pick & { - template: Template; - design: Design; - typography: Typography; - page: Page; - layout: Pick; -}; -``` - -Freeze these v1 technical limits in `limits.ts` and return `RESOURCE_LIMIT` diagnostics when exceeded: - -```ts -export const SEMANTIC_CSS_LIMITS_V1 = { - maxSourceBytes: 128 * 1024, - maxRules: 1_024, - maxDeclarations: 8_192, - maxSelectorsPerRule: 64, - maxSelectorCodePoints: 2_048, - maxCombinatorsPerSelector: 16, - maxFunctionDepth: 16, - maxVariableExpansionDepth: 32, - maxMediaNesting: 4, - maxSemanticNodes: 20_000, - maxAbsoluteLengthPt: 100_000, -} as const; -``` - -Implement a process-local LRU of at most 128 compiled programs and 16 MiB estimated serialized size, keyed by language -version, source hash, compiler build ID, and registry fingerprint. Add `fast-check` properties for malformed Unicode, -escaped/case-varied `@import`/`@font-face`/`url()`/`src`, nested variables, and shorthand expansion; any error must return -no program and must not throw or hang. - -- [ ] **Step 4: Verify focused and complete compiler suites** - -Run: - -```bash -pnpm --filter @reactive-resume/resume test -- src/stylesheet -pnpm --filter @reactive-resume/resume typecheck -``` - -Expected: PASS for cycles, fallback values, `!important`, inheritance, `revert`, units, media, structural directives, -resource limits, cache eviction, attack corpus, fuzz properties, and no-match warnings. - -- [ ] **Step 5: Commit** - -```bash -git add packages/resume/src/stylesheet -git commit -m "feat(resume): resolve Semantic CSS cascade and structure" -``` - ---- - -### Task 6: Add Deterministic Serialization and Public Render Hashing - -**Files:** -- Create: `packages/resume/src/stylesheet/serialize.ts` -- Create: `packages/resume/src/stylesheet/render-hash.ts` -- Create: `packages/resume/src/stylesheet/render-data.ts` -- Create: `packages/resume/src/stylesheet/serialize.test.ts` -- Create: `packages/resume/src/stylesheet/render-hash.test.ts` -- Create: `packages/resume/src/stylesheet/render-data.test.ts` -- Modify: `packages/resume/src/stylesheet/index.ts` - -**Interfaces:** -- Produces: `serializeGeneratedStylesheet`, `escapeCssComment`, `escapeCssString`, `projectRenderData`, - `projectPublicRenderData`, `computeRenderDataHash`. -- Consumed by: converter, public projection, browser validation. - -- [ ] **Step 1: Write failing serializer/hash tests** - -```ts -it("serializes generated Semantic CSS deterministically and safely", () => { - const output = serializeGeneratedStylesheet({ - languageVersion: 1, - blocks: [ - { - comment: "Bad */ label", - selector: 'section[id="projects"] > section-heading', - declarations: { color: "#123456", fontSize: "12pt" }, - }, - ], - }); - - expect(output).toBe( - '@version 1;\n\n/* Bad *\\/ label */\nsection[id="projects"] > section-heading {\n\tcolor: #123456;\n\tfont-size: 12pt;\n}\n', - ); -}); - -it("hashes logically equivalent public render inputs identically", async () => { - const first = await computeRenderDataHash({ domainVersion: 1, data: { b: 2, a: 1 } }); - const second = await computeRenderDataHash({ domainVersion: 1, data: { a: 1, b: 2 } }); - - expect(first).toBe(second); -}); - -it("separates resume render-data identity from stylesheet revision identity", () => { - const legacy = projectRenderData(legacyData); - const semanticPrivate = projectRenderData(semanticData); - const semanticPublic = projectPublicRenderData(semanticData); - - expect(legacy.metadata.styleRules).toEqual(legacyData.metadata.styleRules); - expect(semanticPrivate.metadata.styleRules).toBeUndefined(); - expect(semanticPrivate.metadata.stylesheet).toBeUndefined(); - expect(semanticPublic.metadata.styleRules).toBeUndefined(); - expect(semanticPublic.metadata.stylesheet).toBeUndefined(); - expect(semanticPublic.metadata.notes).toBeUndefined(); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -pnpm --filter @reactive-resume/resume test -- src/stylesheet/serialize.test.ts src/stylesheet/render-hash.test.ts src/stylesheet/render-data.test.ts -``` - -Expected: FAIL on the serializer/hash sentinel or deterministic output assertion, not on module resolution. - -- [ ] **Step 3: Implement canonical output and domain-separated SHA-256** - -Use `canonicalize` for RFC 8785 and hash UTF-8 bytes with Web Crypto. Prefix the canonical payload with -`reactive-resume:public-style-projection:v1\0`. Reject non-I-JSON values before canonicalization. - -Implement both projections by constructing known schema fields rather than spreading the loose input. Include picture, -basics, summary, sections, custom sections, template/layout/page/design/typography, and: - -- private legacy mode: active `styleRules`, no stylesheet data; -- private semantic mode: neither stylesheet data nor inactive legacy rules; -- public semantic mode: neither stylesheet source nor inactive legacy rules; resolved projection nodes carry styling; -- every mode: no notes, dashboard metadata, diagnostics, unknown loose-schema fields, or server revisions. - -Use `projectRenderData` only for `renderDataVersion`, which tracks content/base settings and active legacy rules. -Semantic source/applied/mode changes increment only `stylesheetRevision`; preflight CAS checks both columns. Compute the -public hash over `projectPublicRenderData(data)` plus the source-free resolved nodes and projection fingerprints. The -browser has every hash input; `applied` and `stylesheetRevision` are never part of the public hash. - -- [ ] **Step 4: Verify Node test vectors and browser-compatible typecheck** - -Run: - -```bash -pnpm --filter @reactive-resume/resume test -- src/stylesheet/serialize.test.ts src/stylesheet/render-hash.test.ts src/stylesheet/render-data.test.ts -pnpm --filter @reactive-resume/resume typecheck -``` - -Expected: PASS against RFC 8785 vectors, mode-sensitive render projections, unknown-field exclusion, and domain-version -mismatch cases. - -- [ ] **Step 5: Commit** - -```bash -git add packages/resume/src/stylesheet -git commit -m "feat(resume): serialize and hash Semantic CSS output" -``` - ---- - -### Task 7: Deploy Dormant Persistence Safety and Feature Flags - -**Files:** -- Modify: `packages/db/src/schema/resume.ts` -- Generated: Drizzle migration and snapshot under `migrations/` -- Create: `packages/api/src/features/resume/stylesheet-preservation.ts` -- Create: `packages/api/src/features/resume/stylesheet-preservation.test.ts` -- Modify: `packages/api/src/features/resume/service.ts` -- Modify: `packages/api/src/features/resume/service.test.ts` -- Modify: `packages/api/src/features/resume/crud.ts` -- Modify: `packages/api/src/features/resume/versions.ts` -- Modify: `packages/api/src/dto/resume.ts` -- Modify: `packages/api/src/dto/resume.test.ts` -- Modify: `packages/env/src/server.ts` -- Modify: `packages/api/src/features/flags/router.ts` -- Modify: `turbo.json` - -**Interfaces:** -- Produces DB columns `stylesheetRevision`, `renderDataVersion`; helpers - `preserveServerStylesheet`, `hasRenderDataChanged`. -- Consumed by: dedicated stylesheet mutation and editor state. - -- [ ] **Step 1: Write failing preservation/version tests** - -```ts -it("preserves server-owned stylesheet when an old client replaces resume data", () => { - const merged = preserveServerStylesheet(serverData, clientDataWithoutStylesheet); - - expect(merged.metadata.stylesheet).toEqual(serverData.metadata.stylesheet); -}); - -it("increments render-data version for visual/content changes but not notes or stylesheet drafts", () => { - expect(hasRenderDataChanged(serverData, withChangedExperience)).toBe(true); - expect(hasRenderDataChanged(serverData, withChangedNotes)).toBe(false); - expect(hasRenderDataChanged(serverData, withChangedStylesheetOnly)).toBe(false); -}); - -it("keeps server concurrency columns out of ordinary resume DTOs", () => { - const dto = toResume(rowWithStylesheetColumns, false); - expect(dto).not.toHaveProperty("stylesheetRevision"); - expect(dto).not.toHaveProperty("renderDataVersion"); -}); - -it("seeds empty semantic source only for the default-enabled cohort", () => { - expect(createResumeData({ semanticCssDefault: true }).metadata.stylesheet).toEqual({ - mode: "semantic", - source: { languageVersion: 1, text: "@version 1;\n" }, - applied: { languageVersion: 1, text: "@version 1;\n" }, - }); - expect(createResumeData({ semanticCssDefault: false }).metadata.stylesheet).toBeUndefined(); -}); - -it("rejects active semantic imports while the dormant backend cannot validate them", async () => { - await expect(importResume(activeSemanticImport)).rejects.toMatchObject({ - code: "SEMANTIC_STYLESHEET_UNAVAILABLE", - }); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -pnpm --filter @reactive-resume/api test -- src/features/resume/stylesheet-preservation.test.ts src/features/resume/service.test.ts src/dto/resume.test.ts -``` - -Expected: FAIL on a preservation/version/DTO assertion after typed shells compile. - -- [ ] **Step 3: Add columns and generate migration** - -```ts -stylesheetRevision: pg.integer("stylesheet_revision").notNull().default(0), -renderDataVersion: pg.integer("render_data_version").notNull().default(0), -``` - -Run: - -```bash -dotenvx run -f .env.local -- pnpm db:generate -git status --short migrations packages/db/src/schema/resume.ts -``` - -Expected: one generated migration directory containing `migration.sql` and `snapshot.json`; SQL adds both non-null -integer columns with zero defaults and performs no JSONB backfill. - -- [ ] **Step 4: Refactor generic update/patch to preserve stylesheet atomically** - -Use a short transaction with `SELECT … FOR UPDATE`, merge the server stylesheet into submitted data, compare the -output of `projectRenderData`, and increment `renderDataVersion` only when that projection changes. Reject JSON Patch -paths under `/metadata/stylesheet`; allow legacy `/metadata/styleRules` only while mode is legacy. Ordinary owner/public -resume DTOs explicitly omit both concurrency columns; only the dedicated stylesheet envelope exposes them. - -- [ ] **Step 5: Add dormant flags** - -```ts -FLAG_SEMANTIC_CSS_AUTHORING: z.stringbool().default(false), -FLAG_SEMANTIC_CSS_DEFAULT: z.stringbool().default(false), -``` - -Add both variables to `turbo.json.globalEnv`, expose `semanticCssAuthoring` and `semanticCssDefault`, and keep both false -by default. - -Update resume creation/sample-data paths so `semanticCssDefault` seeds both empty v1 sources and semantic mode for new -resumes in the enabled cohort. Imported data keeps its imported/missing mode after validation rather than inheriting the -instance default. During this dormant task, reject imports containing `metadata.stylesheet` with -`SEMANTIC_STYLESHEET_UNAVAILABLE`; Task 13 replaces that temporary rejection with compiler/applied-source validation and -preflight before semantic imports are accepted. - -- [ ] **Step 6: Verify migration, API behavior, flags, and boundaries** - -Run: - -```bash -pnpm --filter @reactive-resume/api test -- src/features/resume/stylesheet-preservation.test.ts src/features/resume/service.test.ts src/dto/resume.test.ts -pnpm --filter @reactive-resume/api typecheck -pnpm --filter @reactive-resume/db typecheck -pnpm exec turbo boundaries -``` - -Expected: PASS; old-client updates cannot remove stylesheet state and no client can activate Semantic CSS yet. - -- [ ] **Step 7: Commit** - -```bash -git add packages/db migrations packages/api packages/env turbo.json -git commit -m "feat(api): preserve dormant semantic stylesheet state" -``` - ---- - -### Task 8: Build the Shared Semantic Descriptor Tree - -**Files:** -- Create: `packages/pdf/src/semantic/node-keys.ts` -- Create: `packages/pdf/src/semantic/binding-inventory.ts` -- Create: `packages/pdf/src/semantic/tree.ts` -- Create: `packages/pdf/src/semantic/tree.test.ts` -- Create: `packages/pdf/src/semantic/binding-inventory.test.ts` -- Create: `packages/pdf/src/semantic/field-registry.test.ts` -- Modify: `packages/pdf/package.json` -- Modify: `packages/pdf/src/templates/shared/rich-text-html.ts` - -**Interfaces:** -- Produces: `buildSemanticTree`, stable node-key factories, standard field/role registry. -- Consumes: `ResumeData`, layout page, template, normalized rich text, semantic registry. - -- [ ] **Step 1: Add the explicit workspace dependency** - -Run: `pnpm --filter @reactive-resume/pdf add "@reactive-resume/resume@workspace:*"` - -Expected: PDF package and lockfile directly declare the domain compiler package. - -- [ ] **Step 2: Write failing tree tests for shared content** - -```ts -it("builds stable section, item, field, and rich-text ancestry", () => { - const tree = buildSemanticTree({ - data: sampleResumeData, - template: "onyx", - page: sampleResumeData.metadata.layout.pages[0]!, - pageNumber: 1, - showHeader: true, - }); - - expect(getNode(tree, "page-1/region-main/section-experience")?.attributes.type).toBe("experience"); - expect(findNodes(tree, { kind: "field", name: "company" })[0]?.roles).toContain("primary-text"); - expect(findNodes(tree, { kind: "list-marker" }).length).toBeGreaterThan(0); -}); - -it("represents nested experience roles as semantic item children", () => { - const role = findNodeById(buildFixtureTree(), "experience-role-id"); - expect(role?.kind).toBe("item"); - expect(role?.roles).toContain("experience-role"); -}); - -it("maps every semantic node to an existing primitive or an explicit alias", () => { - const inventory = createBindingInventory(buildFixtureTree()); - - expect(inventory.unboundNodeKeys).toEqual([]); - expect(inventory.syntheticWrapperCount).toBe(0); -}); -``` - -- [ ] **Step 3: Verify RED** - -Run: `pnpm --filter @reactive-resume/pdf test -- src/semantic/tree.test.ts` - -Expected: FAIL on the tree-builder sentinel or the first ancestry/binding assertion, not on module resolution. - -- [ ] **Step 4: Implement shared tree construction with no React imports** - -Build: - -```text -resume - page[page-number] - region - header → picture/name/headline/contact-list/contact-item - section[id][type][placement][origin] - section-heading - section-items - item[id] - item-header - field[name][role] - link/icon/level - rich-text - rich-heading[level] - blockquote - paragraph - list - list-item - list-marker - list-item-content - link/strong/emphasis/underline/strike/code/text-span/mark/hard-break/horizontal-rule -``` - -Use one stable path key per semantic node. Normalize rich-text HTML into a semantic subtree using the same normalization -input as `react-pdf-html`; custom rich-text renderers bind those keys to existing paragraph/list/item/marker/content/link/ -strong/mark output. Do not add renderer wrappers. - -Before accepting a node or template part, add it to `binding-inventory.ts` with one of two bindings: - -1. `primitive`: exactly one existing React PDF primitive receives the node key; -2. `alias`: the selector identity is reflected as a `part~=`/role token on an existing canonical node. - -Aliases do not create parent/child nodes and cannot receive independent structural ordering. Remove a proposed target if -neither binding is truthful. In particular, Bronzor's interleaved row is an alias on the existing section primitive, not -a synthetic `template-part` child. - -- [ ] **Step 5: Verify all built-in/custom section field names** - -The tests must cover: - -```text -profiles: network, username -experience: company, position, location, period, description, nested roles -education: school, area, degree, grade, location, period, description -projects: name, period, description -skills: name, proficiency, keywords -languages: language, fluency -interests: name, keywords -awards: title, date, awarder, description -certifications: title, date, issuer, description -publications: title, date, publisher, description -volunteer: organization, location, period, description -references: name, position, phone, description -summary and cover-letter: rich text -``` - -Also cover: - -- empty/conditional email, phone, location, website, and custom contact fields; -- structured item websites and inline website links; -- section-heading icons, item icons, level containers, active/inactive level decorations; -- rich heading levels, blockquote, paragraph/list/list-item/marker/content, link, strong, emphasis, underline, strike, - inline code, colored text spans, mark/highlight, hard break, and horizontal-rule nodes; -- cover-letter recipient and content; -- hidden sections/items and entries removed by existing filtering; -- custom sections of every supported type; -- one section referenced on different authored pages without node-key collision. - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic/tree.test.ts src/semantic/field-registry.test.ts src/semantic/binding-inventory.test.ts -pnpm --filter @reactive-resume/pdf typecheck -``` - -Expected: PASS with deterministic node keys across repeated builds. - -- [ ] **Step 6: Commit** - -```bash -git add packages/pdf pnpm-lock.yaml -git commit -m "feat(pdf): build shared semantic resume tree" -``` - ---- - -### Task 9: Register All Template Regions and Parts - -**Files:** -- Create: `packages/pdf/src/semantic/template-manifest.ts` -- Create: `packages/pdf/src/semantic/template-manifest.test.ts` -- Create: `packages/pdf/src/templates/azurill/semantic.ts` -- Create: `packages/pdf/src/templates/bronzor/semantic.ts` -- Create: `packages/pdf/src/templates/chikorita/semantic.ts` -- Create: `packages/pdf/src/templates/ditgar/semantic.ts` -- Create: `packages/pdf/src/templates/ditto/semantic.ts` -- Create: `packages/pdf/src/templates/gengar/semantic.ts` -- Create: `packages/pdf/src/templates/glalie/semantic.ts` -- Create: `packages/pdf/src/templates/kakuna/semantic.ts` -- Create: `packages/pdf/src/templates/lapras/semantic.ts` -- Create: `packages/pdf/src/templates/leafish/semantic.ts` -- Create: `packages/pdf/src/templates/meowth/semantic.ts` -- Create: `packages/pdf/src/templates/onyx/semantic.ts` -- Create: `packages/pdf/src/templates/pikachu/semantic.ts` -- Create: `packages/pdf/src/templates/rhyhorn/semantic.ts` -- Create: `packages/pdf/src/templates/scizor/semantic.ts` -- Modify: `packages/pdf/src/templates/index.ts` -- Modify: `packages/pdf/src/semantic/tree.ts` - -**Interfaces:** -- Produces: `TemplateSemanticManifest`, `getTemplateSemanticManifest`, registry fingerprint input. -- Consumed by: tree builder, editor completion/docs, adapter coverage. - -- [ ] **Step 1: Write failing exhaustiveness and placement tests** - -```ts -it.each(templateSchema.options)("%s publishes a semantic manifest", (template) => { - expect(getTemplateSemanticManifest(template)).toBeDefined(); -}); - -it.each(["bronzor", "scizor"] as const)("%s preserves layout origin separately from physical placement", (template) => { - const tree = buildTemplateFixtureTree(template); - const sidebarOrigin = findNodes(tree, { kind: "section", origin: "sidebar" }); - - expect(sidebarOrigin.length).toBeGreaterThan(0); - expect(sidebarOrigin.every((node) => node.attributes.placement === "main")).toBe(true); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: `pnpm --filter @reactive-resume/pdf test -- src/semantic/template-manifest.test.ts` - -Expected: FAIL on the manifest sentinel or the first template exhaustiveness assertion, not on module resolution. - -- [ ] **Step 3: Implement the manifest contract and all 15 files** - -Each manifest declares regions, header placement, special summary placement, and template parts. At minimum register: - -```text -azurill: timeline-line, timeline-dot, timeline-marker, timeline-content -bronzor: interleaved-section-row alias on the existing section node -ditgar: featured-summary, sidebar-background, item-header-border -ditto: header-band, picture-anchor, contact-offset -gengar: featured-summary, sidebar-background -glalie: sidebar-background -leafish: header-intro, header-body, header-contact-band -meowth: inline-item-header-leading, inline-item-header-middle, inline-item-header-trailing -pikachu: header-divider -rhyhorn: contact-item-content, contact-item-last -scizor: header-name-rule -``` - -Chikorita, Kakuna, Lapras, Onyx, and other templates still publish explicit region/header manifests even when they have -no unique template parts. Bronzor and Scizor record original layout `origin` separately from physical `placement`. -Manifest validation fails when a registered part lacks a primitive/alias binding or when an existing template chrome -binding has no stable registered part. - -- [ ] **Step 4: Verify manifests, tree fingerprint stability, and all-template smoke construction** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic/template-manifest.test.ts src/templates/index.test.ts -pnpm --filter @reactive-resume/pdf typecheck -``` - -Expected: PASS for every template and every registered part owner. - -- [ ] **Step 5: Commit** - -```bash -git add packages/pdf -git commit -m "feat(pdf): register semantic template manifests" -``` - ---- - -### Task 10: Add the PDF Adapter, Mode Switch, and No-Wrapper Bindings - -**Files:** -- Create: `packages/pdf/src/semantic/base-styles.ts` -- Create: `packages/pdf/src/semantic/adapter.ts` -- Create: `packages/pdf/src/semantic/context.tsx` -- Create: `packages/pdf/src/semantic/resolve.ts` -- Create: `packages/pdf/src/semantic/adapter.test.ts` -- Create: `packages/pdf/src/semantic/no-wrapper.test.tsx` -- Create: `packages/pdf/src/semantic/rich-text-bindings.test.tsx` -- Create: `packages/pdf/src/semantic/pagination.test.tsx` -- Create: `packages/pdf/src/semantic/issue-fixtures.test.tsx` -- Modify: `packages/pdf/src/document.tsx` -- Modify: `packages/pdf/src/templates/shared/context.tsx` -- Modify: `packages/pdf/src/templates/shared/primitives.tsx` -- Modify: `packages/pdf/src/templates/shared/sections.tsx` -- Modify: `packages/pdf/src/templates/shared/rich-text.tsx` -- Modify: `packages/pdf/src/templates/shared/contact-item.tsx` -- Modify: `packages/pdf/src/templates/shared/level-display.tsx` -- Modify: all 15 `*Page.tsx` template files - -**Interfaces:** -- Produces: `resolveResumePresentation`, `SemanticRenderProvider`, `useResolvedNode`, - `ResolvedPdfNodePresentation`. -- Consumes: compiler result, descriptor tree, template base styles. - -- [ ] **Step 1: Write failing adapter and issue regression tests** - -```ts -it("lets semantic field font weight override template bold defaults", () => { - const presentation = resolveIssueFixture("#3146", ` - @version 1; - section[type="experience"] field[name="company"] { font-weight: 400; } - `); - - expect(presentation["experience/company"]?.style.fontWeight).toBe("400"); -}); - -it("lets semantic link decoration override the builder underline base", () => { - const presentation = resolveIssueFixture("#3134", ` - @version 1; - link { text-decoration: none; } - `); - - expect(presentation["header/contact-email/link"]?.style.textDecoration).toBe("none"); -}); - -it("styles Basics/header nodes while rejecting unsupported gradients", () => { - const valid = resolveIssueFixture("#3137", ` - @version 1; - header { background-color: #1e293b; } - name { color: white; } - `); - const invalid = compileStylesheet({ - languageVersion: 1, - text: "@version 1; header { background-image: linear-gradient(red, blue); }", - }); - - expect(valid["header"]?.style.backgroundColor).toBe("#1e293b"); - expect(invalid.program).toBeNull(); -}); - -it("unbolds only skill names and leaves experience titles unchanged", () => { - const presentation = resolveIssueFixture("#2223", ` - @version 1; - section[type="skills"] field[name="name"] { font-weight: 400; } - `); - - expect(presentation["skills/item-1/name"]?.style.fontWeight).toBe("400"); - expect(presentation["experience/item-1/company"]?.style.fontWeight).not.toBe("400"); -}); - -it("never applies legacy and semantic custom styles together", () => { - expect(resolveMode(semanticResumeData)).toBe("semantic"); - expect(resolveMode(legacyResumeData)).toBe("legacy"); -}); - -it("uses authored page context for wrapped physical subpages and repeats fixed nodes", async () => { - const result = await renderPaginationFixture(` - @version 1; - page[page-number="1"] { size: A4; } - header { -resume-fixed: true; } - @media (max-width: 600pt) { section-heading { font-size: 9pt; } } - `); - - expect(result.physicalPages).toBeGreaterThan(1); - expect(result.fixedHeaderCount).toBe(result.physicalPages); - expect(result.headingFontSizes).toEqual(expect.arrayContaining([9])); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic/adapter.test.ts src/semantic/issue-fixtures.test.tsx -``` - -Expected: FAIL on the adapter sentinel or the first final-style/mode assertion, not on module resolution. - -- [ ] **Step 3: Implement presentation resolution before React rendering** - -```ts -export type ResolvedPdfNodePresentation = { - style?: Style; - size?: number | string; - break?: true; - wrap?: false; - fixed?: boolean; - minPresenceAhead?: number; - orphans?: number; - widows?: number; -}; - -export function resolveResumePresentation(input: { - data: ResumeData; - template: Template; - applied?: StylesheetSource; - mode: StylesheetMode; -}): ResolvedResumePresentation; -``` - -Builder/template defaults become the base map. Semantic values compose after that map. Crash-prevention values remain -last only when documented. Structural filtering and ordering happen on descriptors before templates map children. - -Section, item, field, contact, and template renderers iterate the resolved descriptor children rather than independently -mapping raw resume arrays. Each descriptor carries a render binding to the existing primitive/render function. Hidden -descriptors are absent; ordered descriptors determine invocation order. When one legacy `Text` primitive combines -multiple fields, split it into keyed field primitives only with a before/after PDF raster parity fixture proving the -default output did not change. - -For rich text, extend the existing custom `react-pdf-html` renderers/stylesheet so normalized heading, blockquote, -paragraph, list, list-item, marker, content, link, strong, emphasis, underline, strike, inline-code, text-span, mark, -hard-break, and horizontal-rule nodes receive deterministic keys and resolved styles. The descriptor builder and -renderers consume the same normalized HTML; neither may infer a different tree. - -- [ ] **Step 4: Bind existing nodes without wrappers** - -Add `nodeKey` props to shared primitives and template layout nodes. `useResolvedNode(nodeKey)` returns style and primitive -props. Do not wrap a primitive merely to create a semantic target. Preserve legacy hooks while `mode !== "semantic"`. - -The no-wrapper test mocks React PDF primitives, renders each template with an empty semantic stylesheet, and compares -primitive type/count/order against legacy mode. Layout `Page`/`View` counts must match; intentionally split text fields -require approved raster parity and an explicit binding-inventory entry. - -- [ ] **Step 5: Verify shared behavior and all 15 render smokes** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic src/templates/shared src/templates/index.test.ts -pnpm --filter @reactive-resume/pdf typecheck -``` - -Expected: PASS for #3146, #3134, #3137, #2223, rich-text bindings, authored/physical-page behavior, fixed nodes, -page-size/media phases, no-layout-wrapper parity, browser/server final primitive-prop identity, and all templates. - -- [ ] **Step 6: Commit** - -```bash -git add packages/pdf -git commit -m "feat(pdf): resolve semantic stylesheet presentation" -``` - ---- - -### Task 11: Add Terminable Browser and Server PDF Preflight Workers - -**Files:** -- Create: `packages/pdf/src/semantic/preflight-core.tsx` -- Create: `packages/pdf/src/semantic/preflight-core.test.tsx` -- Create: `apps/server/src/workers/stylesheet-preflight.ts` -- Create: `apps/server/src/services/stylesheet-preflight.ts` -- Create: `apps/server/src/services/stylesheet-preflight.test.ts` -- Modify: `apps/server/tsdown.config.ts` -- Modify: `apps/server/package.json` -- Modify: `packages/api/src/context.ts` -- Modify: `apps/server/src/rpc/handler.ts` -- Modify: `packages/pdf/src/browser.tsx` -- Modify: `packages/pdf/src/server.tsx` -- Modify: `packages/pdf/package.json` -- Modify: `pnpm-lock.yaml` - -**Interfaces:** -- Produces: `renderPreflightPdf`, server `StylesheetPreflightRunner`, `PdfPreflightResult`. -- Consumed by: API mutation and the browser preflight worker added in Task 15. - -- [ ] **Step 1: Add the direct server PDF parser dependency** - -Run: `pnpm --filter server add "@reactive-resume/pdf@workspace:*" pdfjs-dist@latest` - -Expected: server package and lockfile directly declare the PDF workspace package and parser used inside the worker. - -- [ ] **Step 2: Write failing real-worker preflight tests** - -```ts -it("accepts a bounded candidate render in an isolated worker", async () => { - const result = await preflightRunner.run({ - data: defaultResumeData, - template: defaultResumeData.metadata.template, - stylesheet: validStylesheet, - limits: { timeoutMs: 5_000, maxPages: 20, maxBytes: 10_000_000, maxOldGenerationMb: 256 }, - }); - - expect(result).toEqual(expect.objectContaining({ ok: true, pageCount: 1 })); -}); - -it("terminates a real worker when the render exceeds its deadline", async () => { - const result = await preflightRunner.run({ - data: veryLargeResumeData, - template: "onyx", - stylesheet: validStylesheet, - limits: { timeoutMs: 1, maxPages: 20, maxBytes: 10_000_000, maxOldGenerationMb: 64 }, - }); - - expect(result).toEqual(expect.objectContaining({ ok: false, code: "STYLESHEET_PREFLIGHT_TIMEOUT" })); - expect(preflightRunner.activeWorkerCount).toBe(0); -}); -``` - -- [ ] **Step 3: Verify RED** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic/preflight-core.test.tsx -pnpm --filter server test -- src/services/stylesheet-preflight.test.ts -``` - -Expected: FAIL on the preflight sentinel or real-worker termination assertion, not on module resolution. - -- [ ] **Step 4: Implement a worker-safe render core** - -`renderPreflightPdf` compiles/resolves the candidate and returns PDF bytes. It performs no timers or DB operations. -The server worker imports it, parses the generated bytes with `pdfjs-dist` to obtain `numPages`, checks byte/page limits, -and posts a plain result. - -Use immutable server-owned production limits; clients cannot raise them: - -```ts -export const STYLESHEET_PREFLIGHT_LIMITS = { - timeoutMs: 5_000, - maxPages: 20, - maxBytes: 10_000_000, - maxPageWidthPt: 2_000, - maxPageHeightPt: 20_000, - maxPageAreaPt2: 20_000_000, - maxOldGenerationMb: 256, -} as const; -``` - -Resolve authored page sizes and reject width, height, or area violations before starting React PDF rendering. Tests may -inject stricter limits through an internal runner constructor; API input never contains limits. - -- [ ] **Step 5: Build and terminate the Node worker explicitly** - -Add `stylesheet-preflight-worker` as a second `tsdown` entry. In production, start the emitted `.mjs` worker; in source -development/tests, use the TS entry with the inherited `tsx` loader. Set worker-thread `resourceLimits`, terminate on -timeout, and remove listeners in every exit path. A timeout must stop CPU work rather than merely reject a -`Promise.race`. - -```ts -export type StylesheetPreflightRunner = { - run(input: StylesheetPreflightInput): Promise; -}; -``` - -Inject the runner into API request context from `apps/server/src/rpc/handler.ts`; keep it optional in non-mutation -in-process contexts. The stylesheet mutation returns a controlled unavailable error if no runner is configured. - -- [ ] **Step 6: Define the browser-worker contract for Task 15** - -The browser uses a separate terminable Vite worker that imports `renderPreflightPdf` plus PDF.js, returns a transferable -`ArrayBuffer` and page count, and is terminated/recreated on timeout. Do not claim memory isolation on the main thread. - -- [ ] **Step 7: Verify real isolation, build entries, and focused PDF behavior** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic/preflight-core.test.tsx src/browser.test.tsx src/server.test.tsx -pnpm --filter server test -- src/services/stylesheet-preflight.test.ts -pnpm --filter server build -pnpm --filter @reactive-resume/pdf typecheck -``` - -Expected: PASS; built output includes `stylesheet-preflight-worker.mjs`, timeouts leave no active worker, and page/byte/ -memory limits return deterministic diagnostic codes. - -- [ ] **Step 8: Commit** - -```bash -git add packages/pdf packages/api apps/server pnpm-lock.yaml -git commit -m "feat(server): isolate stylesheet PDF preflight" -``` - ---- - -### Task 12: Add Behavioral Legacy Conversion and Activation Parity - -**Files:** -- Create: `packages/pdf/src/semantic/legacy-converter.ts` -- Create: `packages/pdf/src/semantic/legacy-converter.test.ts` -- Create: `packages/pdf/src/semantic/legacy-parity.ts` -- Create: `packages/pdf/src/semantic/legacy-parity.test.ts` -- Create: `packages/pdf/src/semantic/legacy-render-parity.test.tsx` -- Create: `packages/pdf/src/semantic/test/rasterize-pdf.ts` -- Create: `packages/pdf/src/semantic/__fixtures__/legacy/*.json` -- Modify: `packages/pdf/package.json` -- Modify: `pnpm-lock.yaml` - -**Interfaces:** -- Produces: `convertLegacyStyleRules`, `compareLegacySemanticPresentation`. -- Consumes: existing legacy schema/PDF resolvers, serializer, semantic adapter. - -- [ ] **Step 1: Add test-only raster dependencies** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf add -D pdfjs-dist@latest @napi-rs/canvas@latest pixelmatch@latest pngjs@latest @types/pngjs@latest -``` - -Expected: PDF package and lockfile directly declare the test-only raster stack. - -- [ ] **Step 2: Write failing golden and parity tests** - -```ts -it("converts scope, slots, units, labels, and disabled rules deterministically", () => { - const result = convertLegacyStyleRules(legacyFixtureResume); - - expect(result.source.languageVersion).toBe(1); - expect(result.source.text).toMatchFileSnapshot("./__fixtures__/legacy/mixed-rules.expected.css"); -}); - -it("matches final primitive props and rendered pixels at activation", async () => { - const conversion = convertLegacyStyleRules(legacyFixtureResume); - const comparison = await compareLegacySemanticRender({ - data: legacyFixtureResume, - convertedSource: conversion.source, - }); - - expect(comparison.primitivePropMismatches).toEqual([]); - expect(comparison.pixelDiffRatio).toBe(0); - expect(comparison.mismatches).toEqual([]); -}); -``` - -- [ ] **Step 3: Verify RED** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic/legacy-converter.test.ts src/semantic/legacy-parity.test.ts src/semantic/legacy-render-parity.test.tsx -``` - -Expected: FAIL on the converter sentinel or golden/render-parity assertion, not on module resolution. - -- [ ] **Step 4: Implement behavioral conversion** - -Sanitize with `styleRulesSchema`, then evaluate effective legacy output including: - -- global → section type → section ID property merging and same-specificity array order; -- schema/PDF numeric clamps and color conversion; -- `Bold` after-rule precedence (#3146); -- final link underline preference (#3134); -- icon and level `fontSize` to explicit icon size; -- rich-text paragraph/list/link/bold/mark paths; -- award `bold={false}` and template feature exceptions. - -Emit `@version 1;`, safe comments, quoted UUID selectors, explicit point units, and commented disabled/no-effect blocks. -Never emit `@resume-disabled`. Compare final mocked primitive props after every existing inline/template/safety layer, then -render and raster-compare the legacy and semantic PDFs for the migration fixtures. Presentation-map equality alone does -not satisfy activation parity. - -- [ ] **Step 5: Add mandatory fixtures** - -```text -merge-specificity -array-order-tie -disabled-rules -sanitized-intent-3199 -clamped-spacing -link-underline-3134 -rich-text-all-slots -icon-level-size -award-unbold -primary-text-bold-3146 -custom-section-type -section-id-uuid -all-templates-smoke -``` - -- [ ] **Step 6: Verify converter, parity, and existing legacy tests** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic/legacy-converter.test.ts src/semantic/legacy-parity.test.ts src/semantic/legacy-render-parity.test.tsx src/templates/shared/style-rules.test.ts -pnpm --filter @reactive-resume/schema test -- src/resume/data.test.ts src/resume/style-rules.test.ts -``` - -Expected: PASS; parity is guaranteed for current data/template/base settings at activation, not after later template -changes. - -- [ ] **Step 7: Commit** - -```bash -git add packages/pdf pnpm-lock.yaml -git commit -m "feat(pdf): convert legacy styles to Semantic CSS" -``` - ---- - -### Task 13: Add the Revisioned Stylesheet API State Machine - -**Files:** -- Create: `packages/api/src/features/resume/stylesheet.ts` -- Create: `packages/api/src/features/resume/stylesheet-service.ts` -- Create: `packages/api/src/features/resume/stylesheet-preflight.ts` -- Create: `packages/api/src/features/resume/stylesheet-observability.ts` -- Create: `packages/api/src/features/resume/stylesheet-observability.test.ts` -- Create: `packages/api/src/features/resume/stylesheet-service.test.ts` -- Create: `packages/api/src/features/resume/stylesheet-service.integration.test.ts` -- Modify: `packages/api/src/features/resume/router.ts` -- Modify: `packages/api/src/dto/resume.ts` -- Modify: `packages/api/src/features/resume/crud.ts` -- Modify: `packages/api/src/features/resume/versions.ts` -- Modify: `packages/api/src/features/resume/events.ts` -- Modify: `packages/api/src/features/resume/events.test.ts` - -**Interfaces:** -- Produces: `resume.stylesheet.getState`, `resume.stylesheet.mutate`; state transitions - `edit_source | activate | deactivate | restore_history`. -- Consumes: persistence columns, compiler, parity, preflight. - -- [ ] **Step 1: Write failing state-machine tests** - -```ts -const commonMutationInput = { - id: "resume-1", - expectedRevision: 3, - expectedRenderDataVersion: 8, - editGeneration: 1, -} as const; - -it("stores invalid source while preserving applied source", async () => { - const result = await mutateStylesheet({ - ...commonMutationInput, - transition: "edit_source", - source: invalidSource, - }); - - expect(result.stylesheet.source).toEqual(invalidSource); - expect(result.stylesheet.applied).toEqual(previousApplied); - expect(result.revision).toBe(4); - expect(result.renderDataVersion).toBe(8); -}); - -it("preflights outside the transaction then compares both versions", async () => { - await mutateStylesheet({ ...commonMutationInput, transition: "edit_source", source: validSource }); - - expect(callOrder).toEqual(["readSnapshot", "compile", "preflight", "begin", "lock", "compare", "update", "commit"]); -}); - -it("requires explicit parity-checked activation", async () => { - const result = await mutateStylesheet({ ...commonMutationInput, transition: "activate", source: validSource }); - - expect(result.stylesheet.mode).toBe("semantic"); - expect(parityCheck).toHaveBeenCalledOnce(); - expect(result.revision).toBe(4); - expect(result.renderDataVersion).toBe(8); -}); - -it("deactivates to legacy without deleting either Semantic CSS source", async () => { - const result = await mutateStylesheet({ ...commonMutationInput, transition: "deactivate" }); - - expect(result.stylesheet.mode).toBe("legacy"); - expect(result.stylesheet.source).toEqual(previousSource); - expect(result.stylesheet.applied).toEqual(previousApplied); - expect(result.revision).toBe(4); - expect(result.renderDataVersion).toBe(8); -}); - -it("preserves all other rules and last-valid applied source after a syntax error and reload", async () => { - await mutateStylesheet({ ...commonMutationInput, transition: "edit_source", source: invalidSyntaxFixture }); - const reloaded = await getStylesheetState("resume-1"); - - expect(reloaded.stylesheet.source).toEqual(invalidSyntaxFixture); - expect(reloaded.stylesheet.applied).toEqual(previousApplied); - expect(reloadedLegacyRules).toEqual(previousLegacyRules); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: `pnpm --filter @reactive-resume/api test -- src/features/resume/stylesheet-service.test.ts` - -Expected: FAIL on the state-machine sentinel or source/applied/CAS assertion, not on module resolution. - -- [ ] **Step 3: Implement strongly typed DTO and transition rules** - -```ts -type StylesheetMutationCommon = { - id: string; - expectedRevision: number; - expectedRenderDataVersion: number; - editGeneration: number; -}; - -type MutateResumeStylesheetInput = StylesheetMutationCommon & - ( - | { transition: "edit_source"; source: StylesheetSource } - | { transition: "activate"; source: StylesheetSource } - | { transition: "deactivate" } - | { - transition: "restore_history"; - restore: { - mode: StylesheetMode; - source: StylesheetSource; - applied: StylesheetSource; - }; - } - ); -``` - -Implement the same discriminated union in Zod so extra/missing fields fail at the route boundary. All test inputs include -`editGeneration`, both expected versions, and only the payload allowed by their transition. - -Normal edits ignore client `applied`. Activation runs compiler, parity, and preflight. Deactivation changes only mode to -legacy and retains both Semantic CSS sources for reactivation/rollback. Restore independently validates and preflights historical -applied source. Import validates imported applied; duplicate copies content with revision zero; version restore restores -content but increments current revision. - -Every stylesheet transition increments and acknowledges `stylesheetRevision` only. It returns the current -`renderDataVersion` unchanged; content/base-setting mutations own that column. A preflight CAS compares both so a content -change still invalidates the snapshot. - -- [ ] **Step 4: Implement snapshot/preflight/short-CAS flow** - -Read immutable data/revisions, compile and preflight outside a transaction, then short-lock and compare both -`stylesheetRevision` and `renderDataVersion`. Return typed 409 conflicts with canonical state. Publish SSE mutation -`"stylesheet"` after commit. - -Add a real PostgreSQL integration test that runs two concurrent mutations against one resume, pauses the first between -preflight and CAS, changes render data through the second connection, then proves the first receives a conflict and -neither update is lost. Do not rely only on mocked call order. - -Add structured events for `semantic_css.compile`, `semantic_css.preflight`, `semantic_css.convert_legacy`, -`semantic_css.parity_check`, and `semantic_css.activate`. Include duration, language version, source byte count, template, -diagnostic codes, page count, revision, and success/failure; hash resume IDs and never log source, comments, resume -content, or personal fields. Tests spy on logging and assert sensitive text is absent. - -- [ ] **Step 5: Verify lifecycle and conflict cases** - -Run: - -```bash -pnpm --filter @reactive-resume/api test -- src/features/resume/stylesheet-service.test.ts src/features/resume/stylesheet-observability.test.ts src/features/resume/service.test.ts src/features/resume/events.test.ts -dotenvx run -f .env.local -- pnpm --filter @reactive-resume/api test -- src/features/resume/stylesheet-service.integration.test.ts -pnpm --filter @reactive-resume/api typecheck -``` - -Expected: PASS for real concurrent CAS, stale revisions, content changes during preflight, locked resumes, invalid -source/reload (#3199), render failure, activation, deactivation, restore, import, duplicate, version restore, and forged -applied values. - -- [ ] **Step 6: Commit** - -```bash -git add packages/api -git commit -m "feat(api): add semantic stylesheet state machine" -``` - ---- - -### Task 14: Add Public Projection, Redaction, and PDF Fallback - -**Files:** -- Create: `packages/pdf/src/semantic/public-projection.ts` -- Create: `packages/pdf/src/semantic/public-projection.test.ts` -- Create: `packages/api/src/features/resume/public-style-projection.ts` -- Create: `packages/api/src/features/resume/public-style-projection.test.ts` -- Create: `packages/api/src/features/resume/public-pdf.ts` -- Create: `packages/api/src/features/resume/public-pdf.test.ts` -- Create: `packages/api/src/features/resume/public-render-rate-limit.ts` -- Create: `packages/api/src/features/resume/public-render-rate-limit.test.ts` -- Modify: `packages/api/src/features/resume/access-policy.ts` -- Modify: `packages/api/src/features/resume/access-policy.test.ts` -- Modify: `packages/api/src/features/resume/sharing.ts` -- Modify: `packages/api/src/features/resume/router.ts` -- Modify: `packages/api/src/dto/resume.ts` -- Modify: `packages/api/package.json` -- Modify: `packages/pdf/package.json` -- Create: `apps/server/src/http/public-resume-pdf.ts` -- Create: `apps/server/src/http/public-resume-pdf.test.ts` -- Modify: `apps/server/src/http/app.ts` -- Modify: `apps/server/src/http/app.test.ts` - -**Interfaces:** -- Produces: `resume.getStyleProjection` public oRPC query and authorized server-rendered fallback service. -- Consumes: resolved presentation, canonical render hash, public access/password policy. - -- [ ] **Step 1: Write failing public-data tests** - -```ts -it("never returns editable or applied stylesheet source to non-owners", () => { - const result = redactResumeForViewer(ownerResumeWithStylesheet, false); - - expect(result.data.metadata.stylesheet).toBeUndefined(); -}); - -it("rejects a projection whose resolved nodes do not match the render hash", async () => { - const valid = await createPublicStyleProjection(publicRenderInput); - const tampered = { ...valid, nodes: { ...valid.nodes, name: { style: { color: "red" } } } }; - - await expect(validatePublicStyleProjection(publicRenderInput.data, tampered)).resolves.toBe(false); -}); - -it("returns a projection through the public route without stylesheet sources", async () => { - const result = await getStyleProjection({ username: "jane", slug: "resume", requestHeaders }); - - expect(result).toEqual(expect.objectContaining({ formatVersion: 1, nodes: expect.any(Object) })); - expect(JSON.stringify(result)).not.toContain("@version"); -}); - -it("shares an IP-and-resume render budget across projection and PDF fallback", async () => { - await exhaustPublicRenderBudget({ ip: "203.0.113.7", resumeId: "resume-1" }); - - await expect(getStyleProjection(publicInput)).rejects.toMatchObject({ code: "RATE_LIMIT_EXCEEDED" }); - await expect(createPublicResumePdf(publicInput)).rejects.toMatchObject({ code: "RATE_LIMIT_EXCEEDED" }); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic/public-projection.test.ts -pnpm --filter @reactive-resume/api test -- src/features/resume/public-style-projection.test.ts src/features/resume/public-pdf.test.ts src/features/resume/public-render-rate-limit.test.ts src/features/resume/access-policy.test.ts -``` - -Expected: FAIL on projection/redaction/rate-limit assertions after typed shells compile. - -- [ ] **Step 3: Implement fully resolved projection and hash** - -Projection includes format/language/tree versions, registry/adapter fingerprints, domain-separated render hash, and -resolved nodes keyed by stable node key. Resolve variables and selectors before serialization. Public clients verify all -versions/fingerprints/hash and never receive source locations, comments, diagnostics, selectors, or variables. - -Mount `getStyleProjection` in `sharing.ts` and `resumeRouter` as a concrete -`GET /resumes/{username}/{slug}/style-projection` procedure. Reuse `getBySlug` visibility/password checks and rate -rules, then add a dedicated shared IP+resume token bucket because `getBySlug` itself has no expensive-render limiter. -Projection generation and public PDF fallback consume that budget; ordinary resume JSON reads do not. Add the output -schema to `dto/resume.ts`, cache by `renderDataHash`, add intentional PDF exports for semantic tree/projection/preflight, -and add API export `./features/resume/public-pdf`; no app imports private workspace source paths. - -- [ ] **Step 4: Extend fallback without weakening authorization** - -Add a distinct public/password-aware fallback handler and route beside the existing signed owner-download flow. The -server handler imports only `@reactive-resume/api/features/resume/public-pdf`; that exported service reuses access policy -and rate-limit behavior. Keep `Cache-Control` correct for public/password/private data and leave `resume-pdf.ts` -signed-token behavior unchanged. Emit `semantic_css.render_fallback` with mismatch reason, fingerprints, and duration, -but no resume data or stylesheet source. - -- [ ] **Step 5: Verify projection, redaction, password, rate-limit, and fallback tests** - -Run: - -```bash -pnpm --filter @reactive-resume/pdf test -- src/semantic/public-projection.test.ts -pnpm --filter @reactive-resume/api test -- src/features/resume/public-style-projection.test.ts src/features/resume/public-pdf.test.ts src/features/resume/public-render-rate-limit.test.ts src/features/resume/access-policy.test.ts -pnpm --filter server test -- src/http/public-resume-pdf.test.ts src/http/resume-pdf.test.ts src/http/app.test.ts -``` - -Expected: PASS; projection mismatch refetches/falls back and never bypasses public/password checks. - -- [ ] **Step 6: Commit** - -```bash -git add packages/pdf packages/api apps/server -git commit -m "feat: add public semantic style projection" -``` - ---- - -### Task 15: Add the Web Stylesheet Store, Worker, and Mutation Queue - -**Files:** -- Create: `apps/web/src/features/resume/stylesheet/protocol.ts` -- Create: `apps/web/src/features/resume/stylesheet/stylesheet.worker.ts` -- Create: `apps/web/src/features/resume/stylesheet/preflight.worker.ts` -- Create: `apps/web/src/features/resume/stylesheet/worker-client.ts` -- Create: `apps/web/src/features/resume/stylesheet/store.ts` -- Create: `apps/web/src/features/resume/stylesheet/store.test.ts` -- Create: `apps/web/src/features/resume/stylesheet/worker-client.test.ts` -- Modify: `apps/web/src/routes/builder/$resumeId/route.tsx` -- Modify: `apps/web/src/features/resume/builder/draft.ts` - -**Interfaces:** -- Produces: `useStylesheetStore`, `initializeStylesheetStore`, serialized compile/save runtime. -- Consumes: API mutation state, compiler, immutable semantic tree snapshot. - -- [ ] **Step 1: Write failing queue/generation/history tests** - -```ts -it("advances stylesheet revision while retaining the acknowledged resume render-data version", async () => { - store.setSourceText("generation two"); - await acknowledge({ generation: 1, revision: 4, renderDataVersion: 8, source: "generation one" }); - - expect(store.getState().revision).toBe(4); - expect(store.getState().renderDataVersion).toBe(8); - expect(store.getState().source.text).toBe("generation two"); - expect(nextMutation.expectedRevision).toBe(4); - expect(nextMutation.expectedRenderDataVersion).toBe(8); -}); - -it("rebases a conflict without dropping unsaved source", async () => { - store.setSourceText("local unsaved source"); - await conflict({ revision: 8, stylesheet: remoteStylesheet }); - - expect(store.getState().source.text).toBe("local unsaved source"); - expect(store.getState().revision).toBe(8); -}); - -it("restarts a timed-out preflight worker and keeps last-valid applied source", async () => { - await preflightTimeout(); - - expect(terminatedWorker.terminate).toHaveBeenCalledOnce(); - expect(replacementWorker).toBeDefined(); - expect(store.getState().applied).toEqual(previousApplied); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -pnpm --filter web test -- src/features/resume/stylesheet/store.test.ts src/features/resume/stylesheet/worker-client.test.ts -``` - -Expected: FAIL on the store/worker sentinel or queue/generation assertion, not on module resolution. - -- [ ] **Step 3: Implement structured-clone-safe worker protocol** - -Compiler requests carry request ID, source, language version, edit generation, semantic tree, base settings, and page -contexts. Responses carry plain program/diagnostic/resolved values only; never clone CSSTree nodes or class instances. -Discard out-of-order results by request ID. - -The separate preflight worker imports the PDF browser preflight core and PDF.js, returns a transferable PDF -`ArrayBuffer`, page count, and byte count, and is terminated/recreated when its deadline expires. Tests assert the worker -instance terminates rather than leaving background rendering alive. - -- [ ] **Step 4: Implement one-in-flight/one-replaceable-pending mutation runtime** - -Always persist raw source through `edit_source`, including compiler errors. Only local/server preflight success changes -applied. Consume every acknowledgement revision; gate visible state by generation. Keep stylesheet undo/redo snapshots -separate from whole-resume history and use `restore_history`. - -Stylesheet acknowledgements advance `revision` and copy the current server `renderDataVersion`; they never increment the -render-data version themselves. Resume update/SSE responses that change content replace `renderDataVersion` and force a -queued stylesheet candidate to preflight/retry against the new snapshot. - -- [ ] **Step 5: Initialize and clean up per resume** - -Builder route initializes from owner stylesheet state and cleans up workers, timers, requests, and store data on unmount -or resume switch. Subscribe to `"stylesheet"` SSE mutations so cross-tab changes refetch canonical stylesheet state while -preserving a focused local draft. Add `.cm-editor` to editable-focus detection so global resume undo does not intercept -editor keys. - -- [ ] **Step 6: Verify store, worker, and existing draft behavior** - -Run: - -```bash -pnpm --filter web test -- src/features/resume/stylesheet/store.test.ts src/features/resume/stylesheet/worker-client.test.ts src/features/resume/builder/draft.test.ts -pnpm --filter web typecheck -``` - -Expected: PASS for compile/save debounce, stale worker results, worker termination/restart, serialized saves, conflict -rebase, cross-tab SSE, failed browser preflight, invalid source retention, history restore, and cleanup. - -- [ ] **Step 7: Commit** - -```bash -git add apps/web/src/features/resume/stylesheet apps/web/src/routes/builder apps/web/src/features/resume/builder -git commit -m "feat(web): add Semantic CSS editor state and worker" -``` - ---- - -### Task 16: Replace the Custom Styles Form with the CodeMirror Editor - -**Files:** -- Create: `apps/web/src/features/resume/stylesheet/editor.tsx` -- Create: `apps/web/src/features/resume/stylesheet/status.tsx` -- Create: `apps/web/src/features/resume/stylesheet/toolbar.tsx` -- Create: `apps/web/src/features/resume/stylesheet/legacy-banner.tsx` -- Create: `apps/web/src/features/resume/stylesheet/focus-mode.ts` -- Create: `apps/web/src/features/resume/stylesheet/editor.test.tsx` -- Create: `apps/web/src/features/resume/stylesheet/focus-mode.test.ts` -- Modify: `apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx` -- Modify: `apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.test.tsx` -- Modify: `apps/web/src/routes/builder/$resumeId/-sidebar/right/index.tsx` -- Modify: `apps/web/src/routes/builder/$resumeId/-store/sidebar.ts` -- Modify: `apps/web/package.json` -- Modify: `pnpm-lock.yaml` - -**Interfaces:** -- Produces: compact/lazy editor, toolbar, status, activation banner, desktop/mobile focus mode. -- Consumes: Task 15 store. - -- [ ] **Step 1: Install direct editor dependencies** - -Run: - -```bash -pnpm --filter web add \ - @codemirror/state@latest \ - @codemirror/view@latest \ - @codemirror/language@latest \ - @codemirror/lang-css@latest \ - @codemirror/commands@latest \ - @codemirror/search@latest \ - @codemirror/autocomplete@latest \ - @codemirror/lint@latest \ - prettier@latest -``` - -Expected: direct web dependencies and updated lockfile. - -- [ ] **Step 2: Write failing component/focus-mode tests** - -```tsx -it("shows last-valid status when source has errors", async () => { - render(); - - expect(await screen.findByText(/preview uses the last valid version/i)).toBeInTheDocument(); - expect(screen.getByRole("button", { name: /activate semantic css/i })).toBeDisabled(); -}); - -it("resizes and restores the desktop right panel", () => { - const restore = enterStylesheetFocusMode({ rightPanel, currentLayout }); - expect(rightPanel.current?.resize).toHaveBeenCalledWith("45%"); - - restore(); - expect(setLayout).toHaveBeenCalledWith(currentLayout); -}); - -it("shows a read-only notice for an active semantic resume when authoring is disabled", () => { - render(, { flags: { semanticCssAuthoring: false }, mode: "semantic" }); - - expect(screen.getByText(/semantic styles remain active/i)).toBeInTheDocument(); - expect(screen.queryByText(/target scope/i)).not.toBeInTheDocument(); -}); -``` - -- [ ] **Step 3: Verify RED** - -Run: - -```bash -pnpm --filter web test -- src/features/resume/stylesheet/editor.test.tsx src/features/resume/stylesheet/focus-mode.test.ts -``` - -Expected: FAIL on the editor/focus sentinel or first accessible status/resize assertion, not on module resolution. - -- [ ] **Step 4: Implement direct CodeMirror lifecycle** - -Create one `EditorView` per visible host, destroy on unmount, tag external replacements to avoid feedback, use -`Compartment`s for theme/read-only/diagnostics, and keep the document LTR even when the surrounding locale is RTL. Lazy -load the feature from the sidebar so the initial builder chunk does not include CodeMirror. - -- [ ] **Step 5: Compose existing UI components** - -Use: - -- `Badge` for Applied/Warning/Error state; -- `Alert` for inactive legacy conversion and error explanation; -- `Button` with Phosphor icons and `data-icon`; -- `Tooltip` for compact toolbar labels; -- `ScrollArea` for diagnostics/reference; -- desktop panel resize for focus mode; -- `Sheet`, `SheetContent`, and required `SheetTitle` for mobile focus mode. - -Do not add replacement shadcn components; all required components already exist. - -- [ ] **Step 6: Remove legacy form internals but retain flag fallback** - -When authoring is off and mode is legacy, keep the existing legacy form during compatibility rollout. When authoring is -off and mode is semantic, show a read-only `Alert` explaining that semantic styles remain active but this instance does -not allow editing; never show a legacy form that would attempt ignored/rejected changes. When authoring is on, render the -Semantic CSS shell. Do not delete legacy schema/PDF behavior. Conversion fills an inactive draft and shows explicit activation. - -- [ ] **Step 7: Verify compact/focus/mobile/accessibility behavior** - -Run: - -```bash -pnpm --filter web test -- src/features/resume/stylesheet 'src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.test.tsx' -pnpm --filter web typecheck -``` - -Expected: PASS with accessible names, required mobile sheet title, no global undo interception, and no initial -CodeMirror chunk before opening Custom Styles. - -- [ ] **Step 8: Commit** - -```bash -git add apps/web/package.json apps/web/src pnpm-lock.yaml -git commit -m "feat(web): replace custom style form with Semantic CSS editor" -``` - ---- - -### Task 17: Add Registry-Driven Editor Intelligence and Explicit Formatting - -**Files:** -- Create: `apps/web/src/features/resume/stylesheet/editor-extensions.ts` -- Create: `apps/web/src/features/resume/stylesheet/formatter.ts` -- Create: `apps/web/src/features/resume/stylesheet/editor-extensions.test.ts` -- Create: `apps/web/src/features/resume/stylesheet/formatter.test.ts` -- Modify: `apps/web/src/features/resume/stylesheet/editor.tsx` -- Modify: `apps/web/src/features/resume/stylesheet/toolbar.tsx` - -**Interfaces:** -- Produces lint mapping, completion, hover, search, color swatches, and `formatSemanticCss`. -- Consumes compiler diagnostics and registries. - -- [ ] **Step 1: Write failing extension/formatter tests** - -```ts -it("completes semantic selectors, current IDs, properties, directives, and system variables", async () => { - const labels = await getCompletionLabels(contextAt("--resume-")); - - expect(labels).toContain("--resume-primary-color"); - expect(labels).toContain("--resume-sidebar-width"); - expect(labels).not.toContain("--resume-font-family"); -}); - -it("formats only on command and preserves comments and cursor", async () => { - const result = await formatSemanticCss("/* keep */ section{color:red}", 18); - - expect(result.formatted).toContain("/* keep */"); - expect(result.cursorOffset).toBeGreaterThan(0); -}); - -it("leaves malformed source untouched when formatting fails", async () => { - await expect(formatEditorDocument(view, "section {", 9)).rejects.toThrow(); - expect(view.dispatch).not.toHaveBeenCalled(); -}); - -it("preserves exact clipboard text and accepts IME composition as one editor transaction", async () => { - await copySourceToClipboard(view.state.doc.toString()); - composeText(view, "セクション"); - - expect(navigator.clipboard.writeText).toHaveBeenCalledWith(view.state.doc.toString()); - expect(getHistoryEventCount(view)).toBe(1); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -pnpm --filter web test -- src/features/resume/stylesheet/editor-extensions.test.ts src/features/resume/stylesheet/formatter.test.ts -``` - -Expected: FAIL on the extension/formatter sentinel or completion/transaction assertion, not on module resolution. - -- [ ] **Step 3: Implement registry-only completions and hover** - -Override unrestricted browser-CSS completion. Complete semantic elements/attributes/roles, current section/item IDs, -field names, current-template parts, registered properties/values/units, `@media`, `@version 1`, user variables, -read-only `--resume-*`, and structural `-resume-*`. Hover docs come from the same registries used by compiler validation. - -- [ ] **Step 4: Implement diagnostics, search, and color widgets** - -Map compiler ranges to CodeMirror lint diagnostics. Use `hoverTooltip`, `@codemirror/search`, and a visible-range -`ViewPlugin` for compiler-confirmed color tokens. A color widget opens one existing React `ColorPicker` popover; do not -mount one React root per token. - -- [ ] **Step 5: Implement lazy explicit formatting** - -Dynamic-import `prettier/standalone` and `prettier/plugins/postcss`, call `formatWithCursor({ parser: "css" })`, and apply -the result as one CodeMirror transaction/undo step. Do not format on paste, save, compile, conversion, or activation. - -- [ ] **Step 6: Verify intelligence and production chunks** - -Run: - -```bash -pnpm --filter web test -- src/features/resume/stylesheet/editor-extensions.test.ts src/features/resume/stylesheet/formatter.test.ts -pnpm --filter web build -``` - -Expected: PASS for search/replace, exact copy/paste, IME composition, diagnostics, completion, hover, color widgets, and -formatting; build output has separate lazy chunks for CodeMirror/compiler/preflight workers and Prettier. - -- [ ] **Step 7: Commit** - -```bash -git add apps/web/src/features/resume/stylesheet apps/web/package.json pnpm-lock.yaml -git commit -m "feat(web): add Semantic CSS editor intelligence" -``` - ---- - -### Task 18: Integrate Applied Styles with Preview, Export, Public Viewer, and Versions - -**Files:** -- Modify: `apps/web/src/features/resume/preview/preview.browser.tsx` -- Modify: `apps/web/src/features/resume/preview/preview.browser.test.tsx` -- Modify: `apps/web/src/features/resume/export/pdf-document.tsx` -- Modify: `apps/web/src/features/resume/public/pdf-viewer.tsx` -- Modify: `apps/web/src/features/resume/public/pdf-viewer.test.tsx` -- Modify: `apps/web/src/features/resume/public/public-resume.tsx` -- Modify: `apps/web/src/features/resume/public/public-resume.test.tsx` -- Modify: `apps/web/src/routes/builder/$resumeId/-components/version-history.tsx` - -**Interfaces:** -- Produces one applied/projection-aware rendering path for preview/export/public surfaces. -- Consumes semantic PDF entrypoints, stylesheet store, public projection. - -- [ ] **Step 1: Write failing last-valid and projection fallback tests** - -```ts -it("keeps the active preview when editable source becomes invalid", async () => { - render(); - await waitFor(() => expect(createResumePdfBlob).toHaveBeenCalledWith(expect.anything(), validAppliedOptions)); - - setEditableSource("section {"); - - expect(createResumePdfBlob).not.toHaveBeenCalledWith(expect.anything(), expect.objectContaining({ source: "section {" })); -}); - -it("refetches a mismatched public projection then falls back to the authorized PDF", async () => { - render(); - - await waitFor(() => expect(refetchProjection).toHaveBeenCalledOnce()); - expect(fetchAuthorizedFallbackPdf).toHaveBeenCalledOnce(); -}); -``` - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -pnpm --filter web test -- src/features/resume/preview/preview.browser.test.tsx src/features/resume/public/pdf-viewer.test.tsx src/features/resume/public/public-resume.test.tsx -``` - -Expected: FAIL on the last-valid/projection-fallback assertion after typed prop shells compile. - -- [ ] **Step 3: Pass applied presentation through all owner render paths** - -Preview and browser export depend on `mode` plus `applied`, never editable source. Preserve the existing staged crossfade -and request-ID cancellation. Replace the preview's empty `catch` with controlled status/toast behavior while keeping the -last active PDF visible. - -- [ ] **Step 4: Validate public projection and fallback** - -Public viewer validates format/tree/registry/adapter versions and render hash. On mismatch, refetch once, then call the -authorized/rate-limited server PDF fallback. Legacy public resumes continue the current blob path during rollout. - -- [ ] **Step 5: Reinitialize after import/duplicate/version restore** - -Owner query responses return canonical stylesheet state/revisions. After version restore, reset stylesheet worker/store -from server state without restoring historical concurrency revision. JSON export includes stylesheet content but no -revision columns. - -- [ ] **Step 6: Verify rendering parity and lifecycle** - -Run: - -```bash -pnpm --filter web test -- src/features/resume/preview src/features/resume/public -pnpm --filter @reactive-resume/pdf test -- src/browser.test.tsx src/server.test.tsx src/semantic -pnpm --filter web typecheck -``` - -Expected: PASS; browser preview, browser export, public viewer, and server export agree on applied content. - -- [ ] **Step 7: Commit** - -```bash -git add apps/web packages/pdf packages/api -git commit -m "feat: integrate Semantic CSS rendering surfaces" -``` - ---- - -### Task 19: Add Documentation, E2E Acceptance, Visual Coverage, and Rollout Gates - -**Files:** -- Modify: `docs/guides/using-custom-styles.mdx` -- Create: `docs/guides/semantic-css-reference.mdx` -- Create: `tests/e2e/specs/semantic-css/legacy-conversion.spec.ts` -- Create: `tests/e2e/specs/semantic-css/invalid-last-valid.spec.ts` -- Create: `tests/e2e/specs/semantic-css/portable-stylesheet.spec.ts` -- Create: `tests/e2e/specs/semantic-css/revision-conflict.spec.ts` -- Create: `tests/e2e/specs/semantic-css/default-mode.spec.ts` -- Create: `tests/e2e/specs/semantic-css/dormant-mode.spec.ts` -- Create: `tests/e2e/specs/semantic-css/flag-off-semantic.spec.ts` -- Create: `tests/e2e/specs/semantic-css/template-visual.spec.ts` -- Create: `tests/e2e/specs/semantic-css/template-visual.spec.ts-snapshots/*.png` -- Create: `packages/pdf/src/semantic/all-templates-smoke.test.tsx` -- Create: `packages/pdf/src/semantic/all-templates-presentation.test.ts` -- Create: `tooling/semantic-css/generate-reference.ts` -- Create: `tooling/semantic-css/generate-reference.test.ts` -- Modify: `tooling/package.json` -- Modify: `package.json` -- Modify: `tests/e2e/README.md` -- Modify: `.github/workflows/e2e.yml` - -**Interfaces:** -- Produces user reference and release gates. -- Consumes all prior milestones. - -- [ ] **Step 1: Write the final failing end-to-end acceptance tests** - -The portable fixture must include: - -```css -@version 1; - -:root { - --accent: var(--resume-primary-color); -} - -header > name { - color: var(--accent); -} - -section:is([type="experience"], [type="education"]) > section-heading { - text-transform: uppercase; -} - -section[id="projects"] > section-items > item { - padding: 6pt; -} - -section[id="experience"] item[id="experience-item-2"] field[name="period"] { - color: var(--accent); -} - -rich-text list-item > list-item-content { - line-height: 1.25; -} - -region[placement="sidebar"] section { - background-color: rgba(0, 0, 0, 0.04); -} - -section[type="projects"] { - break-inside: avoid; - -resume-min-presence-ahead: 24pt; -} - -@media (max-width: 600pt) { - region[placement="sidebar"] section-heading { - font-size: 9pt; - } -} - -resume[template="azurill"] template-part[name="timeline-dot"] { - background-color: var(--accent); -} -``` - -The E2E test pastes it into at least Onyx, Azurill, and Ditto; verifies group, exact section, header, system variable, -placement, exact item/field, rich text, media query, pagination directive, and template-part behavior; introduces invalid -syntax; verifies last-valid preview/export; fixes it; then verifies preview/export update together. - -- [ ] **Step 2: Verify RED** - -Run: - -```bash -FLAG_SEMANTIC_CSS_AUTHORING=true FLAG_SEMANTIC_CSS_DEFAULT=false pnpm exec playwright test \ - tests/e2e/specs/semantic-css/legacy-conversion.spec.ts \ - tests/e2e/specs/semantic-css/invalid-last-valid.spec.ts \ - tests/e2e/specs/semantic-css/portable-stylesheet.spec.ts \ - tests/e2e/specs/semantic-css/revision-conflict.spec.ts \ - tests/e2e/specs/semantic-css/template-visual.spec.ts -pnpm --filter @reactive-resume/pdf test -- src/semantic/all-templates-smoke.test.tsx -``` - -Expected: FAIL on visible Semantic CSS behavior, screenshot, or documentation-staleness assertions; module/configuration errors -must be fixed before continuing. - -- [ ] **Step 3: Write migration and language documentation** - -Document: - -- Semantic CSS vs browser CSS; -- `@version`; -- semantic tree/selectors and exact IDs; -- read-only `--resume-*` tokens; -- supported property matrix and units; -- structural/pagination directives; -- diagnostics and last-valid behavior; -- legacy conversion/activation; -- portability guidance and template-part manifests; -- unsupported fonts/assets/Grid/interaction; -- gradients/shadows as future SVG-backed extensions. - -Generate registry tables from typed registries; fail tests if generated reference output is stale. - -`tooling/semantic-css/generate-reference.ts` imports the public registry export and writes only the generated reference -sections. Add root script `docs:semantic-css` and tooling test that generates into a temporary file and compares it with -the committed MDX. Add `@reactive-resume/resume` as a tooling workspace dependency and a Vitest `test` script before -running: - -```bash -pnpm --filter @reactive-resume/tooling add "@reactive-resume/resume@workspace:*" -pnpm --filter @reactive-resume/tooling add -D vitest@latest -pnpm docs:semantic-css -pnpm --filter @reactive-resume/tooling test -- semantic-css/generate-reference.test.ts -``` - -- [ ] **Step 4: Add all-template smoke and visual regression** - -Render all 15 templates with the comprehensive fixture in `all-templates-smoke.test.tsx` and snapshot each resolved -presentation map in `all-templates-presentation.test.ts`. `template-visual.spec.ts` uses Playwright -`expect(page).toHaveScreenshot()` for one deterministic first-page preview per template; committed Linux/Chromium -baselines live in its `-snapshots` directory and update only with: - -```bash -pnpm exec playwright test tests/e2e/specs/semantic-css/template-visual.spec.ts --update-snapshots -``` - -Registry coverage asserts every semantic kind, conditional field, role, and template part is exercised. The existing -E2E workflow already uploads Playwright reports; extend its commands so Semantic CSS tests run under explicit flag states: - -```bash -FLAG_SEMANTIC_CSS_AUTHORING=false FLAG_SEMANTIC_CSS_DEFAULT=false pnpm exec playwright test --grep-invert "@semantic-css" -FLAG_SEMANTIC_CSS_AUTHORING=true FLAG_SEMANTIC_CSS_DEFAULT=false pnpm exec playwright test \ - tests/e2e/specs/semantic-css/legacy-conversion.spec.ts \ - tests/e2e/specs/semantic-css/invalid-last-valid.spec.ts \ - tests/e2e/specs/semantic-css/portable-stylesheet.spec.ts \ - tests/e2e/specs/semantic-css/revision-conflict.spec.ts \ - tests/e2e/specs/semantic-css/template-visual.spec.ts -FLAG_SEMANTIC_CSS_AUTHORING=true FLAG_SEMANTIC_CSS_DEFAULT=true pnpm exec playwright test tests/e2e/specs/semantic-css/default-mode.spec.ts -FLAG_SEMANTIC_CSS_AUTHORING=false FLAG_SEMANTIC_CSS_DEFAULT=false pnpm exec playwright test \ - tests/e2e/specs/semantic-css/dormant-mode.spec.ts \ - tests/e2e/specs/semantic-css/flag-off-semantic.spec.ts -``` - -Document those commands in `tests/e2e/README.md`. The default-on test asserts a new resume starts semantic; the dormant -test asserts the legacy form/render path and old-client update preservation remain available. The flag-off-semantic test -seeds an active semantic resume, verifies semantic rendering remains active, and verifies Custom Styles shows a -read-only unavailable notice instead of the legacy form. Tag every Semantic CSS test title with `@semantic-css` so the baseline -flag-off run excludes only this feature suite. - -- [ ] **Step 5: Perform manual GUI walkthrough and record evidence** - -Start the app with the documented Postgres/environment setup. Use the computer-use workflow to: - -1. Open a legacy resume and inspect converted inactive source. -2. Activate after parity. -3. Paste the portable stylesheet. -4. Exercise compact and expanded/focus modes. -5. Trigger an error and confirm the preview remains last-valid. -6. Resolve the error and export the matching PDF. -7. Test desktop and mobile layout. - -Record one concise video beginning immediately before the successful demonstration and ending immediately after export. - -- [ ] **Step 6: Run package and repository gates** - -Run: - -```bash -pnpm --filter @reactive-resume/schema test -pnpm --filter @reactive-resume/resume test -pnpm --filter @reactive-resume/pdf test -pnpm --filter @reactive-resume/api test -pnpm --filter web test -pnpm exec turbo boundaries -pnpm typecheck -pnpm build -FLAG_SEMANTIC_CSS_AUTHORING=true FLAG_SEMANTIC_CSS_DEFAULT=false pnpm exec playwright test \ - tests/e2e/specs/semantic-css/legacy-conversion.spec.ts \ - tests/e2e/specs/semantic-css/invalid-last-valid.spec.ts \ - tests/e2e/specs/semantic-css/portable-stylesheet.spec.ts \ - tests/e2e/specs/semantic-css/revision-conflict.spec.ts \ - tests/e2e/specs/semantic-css/template-visual.spec.ts -FLAG_SEMANTIC_CSS_AUTHORING=true FLAG_SEMANTIC_CSS_DEFAULT=true pnpm exec playwright test tests/e2e/specs/semantic-css/default-mode.spec.ts -FLAG_SEMANTIC_CSS_AUTHORING=false FLAG_SEMANTIC_CSS_DEFAULT=false pnpm exec playwright test \ - tests/e2e/specs/semantic-css/dormant-mode.spec.ts \ - tests/e2e/specs/semantic-css/flag-off-semantic.spec.ts -pnpm check -git diff --check -``` - -Expected: every command exits 0; `pnpm check` may rewrite files, so inspect and include only intended formatting. - -- [ ] **Step 7: Verify rollout states** - -Test: - -1. both flags false: dormant backend and legacy editor/rendering; -2. authoring true/default false: opt-in conversion and explicit activation; -3. authoring false on an already semantic resume: rendering still honors persisted semantic mode; -4. both true: new resumes begin semantic with empty v1 source; -5. mixed old client update: server preserves stylesheet; -6. public projection mismatch: authorized fallback; -7. rollback: legacy rules retained and semantic mode can be disabled per resume without double application. - -- [ ] **Step 8: Commit** - -```bash -git add docs tests/e2e packages/pdf tooling package.json pnpm-lock.yaml .github/workflows/e2e.yml -git commit -m "docs: add Semantic CSS reference and acceptance coverage" -``` - ---- - -## Final Review Checklist - -- [ ] Every production behavior was introduced by a test that first failed for the expected reason. -- [ ] Compiler v1 is immutable and selected by persisted version. -- [ ] Generated/default source contains `@version 1;`; missing hand-written directive only warns in v1. -- [ ] Reserved `--resume-*` variables expose base visual settings but not font family or assets. -- [ ] Compiler, worker protocol, and public projection contain only structured-clone/JSON-safe plain values. -- [ ] Generic updates and patches cannot overwrite server-owned stylesheet state. -- [ ] Preflight happens outside locks; short CAS checks stylesheet revision and render-data version. -- [ ] No semantic instrumentation added a React PDF layout wrapper. -- [ ] Structural selectors match source order and apply only once. -- [ ] All 15 templates publish manifests and pass smoke/visual coverage. -- [ ] #3146, #3134, #3137, #2223, and #3199 are named regression fixtures. -- [ ] Legacy conversion is behavioral, deterministic, parity-gated, and never double-applied. -- [ ] Editable/applied source and diagnostics are owner-only. -- [ ] Public projection hash/fingerprint mismatches use an authorized, rate-limited fallback. -- [ ] CodeMirror and Prettier remain lazy chunks. -- [ ] Desktop focus mode preserves the preview through panel resize; mobile Sheet has an accessible title. -- [ ] Invalid source survives reload while preview/export use the last valid applied source. -- [ ] DOCX/Markdown output remains unchanged. -- [ ] Documentation tables are generated from runtime registries. -- [ ] Full tests, typechecks, boundaries, build, lint/format, E2E, and manual video walkthrough are green. - -## Execution Notes - -- Recommended execution style: subagent-driven development with one fresh implementer per task and a specification review - plus code-quality review after each task. -- Use one logical commit per task. Do not squash or amend unless explicitly requested. -- Backend safety (Task 7) can deploy dormant before PDF/editor work. Do not enable authoring until Tasks 1–14 are green. -- The largest risk is Tasks 8–10: descriptor parity across shared sections, rich text, and all templates. Stop and revise - the semantic registry if these tasks require styling-only wrappers. -- The second largest risk is Task 12: legacy behavioral parity. Activation must remain blocked on mismatch rather than - silently changing existing resumes. -- The public projection and server preflight may add meaningful CPU cost. Capture render duration, source size, output - page count, preflight failures, activation failures, projection mismatch, and fallback usage in existing structured - server logs before opt-in rollout. diff --git a/docs/superpowers/plans/2026-07-28-seo-aeo-performance.md b/docs/superpowers/plans/2026-07-28-seo-aeo-performance.md deleted file mode 100644 index db1bfe71b..000000000 --- a/docs/superpowers/plans/2026-07-28-seo-aeo-performance.md +++ /dev/null @@ -1,697 +0,0 @@ -# SEO/AEO Performance Improvements Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Improve the homepage bootstrap, LCP media path, initial root metadata, media caching, and canonical documentation URLs without adding SSR or new dependencies. - -**Architecture:** Keep each change in its current owner: the server web fallback injects root-only SEO and cache headers, the homepage hero uses native lazy video behavior, the static HTML protects the module bootstrap, and Mintlify config owns documentation redirects. Existing client-rendered SEO remains as the hydration and client-navigation fallback. - -**Tech Stack:** TypeScript, React 19, TanStack Router, Hono, Vitest, Testing Library, Vite, Mintlify, ffmpeg, cwebp. - -## Global Constraints - -- Do not add a dependency, package, SSR layer, prerenderer, special AEO schema, or `llms.txt` work. -- Preserve existing `noindex, follow` behavior for application shells and public resume routes. -- Do not add unconfirmed LinkedIn, AI-provider, v4, or placeholder redirects. -- Keep the existing WebSite, SoftwareApplication/WebApplication, Project, and FAQPage JSON-LD facts. -- Keep `/videos/` limited to versioned immutable media filenames. -- Do not claim field LCP, Core Web Vitals, or GSC validation from local verification. -- Do not use the write-capable repository-wide `pnpm check`; run focused non-mutating checks. - ---- - -### Task 1: Initial root metadata and versioned-media caching - -**Files:** - -- Modify: `apps/server/src/static/web.test.ts` -- Modify: `apps/server/src/static/web.ts` - -**Interfaces:** - -- Consumes: `Request.url`, the built `apps/web/dist/index.html`, and Hono `serveStatic.onFound`. -- Produces: the unchanged `handleWebApp(request: Request): Promise` interface and the unchanged `serveWebDistStatic` middleware export. - -- [ ] **Step 1: Make the static middleware options observable in the existing test** - -Replace the current `serveStatic` mock with a hoisted mock and capture its options immediately after importing `web.ts`: - -```ts -const mocks = vi.hoisted(() => ({ - serveStatic: vi.fn((_options?: unknown) => vi.fn()), -})); - -vi.mock("@hono/node-server/serve-static", () => ({ - serveStatic: mocks.serveStatic, -})); - -type StaticOptions = { - onFound?: ( - path: string, - context: { - req: { path: string }; - header: (name: string, value: string) => void; - }, - ) => void | Promise; -}; - -const { handleWebApp } = await import("./web"); -const staticOptions = mocks.serveStatic.mock.calls[0]?.[0] as StaticOptions | undefined; -``` - -- [ ] **Step 2: Write the failing root metadata test** - -Add this test to `apps/server/src/static/web.test.ts`: - -```ts -it("injects canonical metadata and structured data into tracking-parameter root requests only", async () => { - vi.mocked(fs.readFile).mockResolvedValue(` - - - - Reactive Resume — A free and open-source resume builder - - -
    - - `); - - const response = await handleWebApp(new Request("https://example.com/?utm_source=search")); - const html = await response.text(); - - expect(html).toContain(''); - expect(html).toContain(''); - expect(html).toContain(''); - expect(html).toContain(''); - expect(html).toContain('id="reactive-resume-structured-data"'); - expect(html).toContain('"@type":["SoftwareApplication","WebApplication"]'); - expect(html).not.toContain("utm_source"); - - const dashboardResponse = await handleWebApp(new Request("https://example.com/dashboard")); - expect(await dashboardResponse.text()).not.toContain('rel="canonical"'); -}); -``` - -- [ ] **Step 3: Write the failing immutable-cache test** - -Add this test beside the root metadata test: - -```ts -it("caches versioned homepage media immutably", async () => { - const headers = new Headers(); - - await staticOptions?.onFound?.("", { - req: { path: "/videos/timelapse-v1.mp4" }, - header: (name, value) => headers.set(name, value), - }); - - expect(headers.get("Cache-Control")).toBe("public, max-age=31536000, immutable"); -}); -``` - -- [ ] **Step 4: Run the focused server test and verify RED** - -Run: - -```bash -pnpm --filter server test -- src/static/web.test.ts -``` - -Expected: two failures. The root response lacks canonical/JSON-LD markup and the static middleware has no `onFound` callback. - -- [ ] **Step 5: Add root metadata constants and serializer** - -Add the following block after `BASE_SECURITY_HEADERS` in `apps/server/src/static/web.ts`: - -```ts -const ROOT_TITLE = "Reactive Resume — A free and open-source resume builder"; -const ROOT_DESCRIPTION = - "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."; -const ROOT_POSTER_PATH = "/videos/timelapse-v1.webp"; -const ROOT_FAQ_ITEMS = [ - { - question: "Is Reactive Resume really free?", - answer: - "Yes! Reactive Resume is completely free to use, with no hidden costs, premium tiers, or subscription fees. It's open-source and will always remain free.", - }, - { - question: "How is my data protected?", - answer: - "Your data is stored securely and is never shared with third parties. You can also self-host Reactive Resume on your own servers for complete control over your data.", - }, - { - question: "Can I export my resume to PDF?", - answer: - "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly.", - }, - { - question: "Is Reactive Resume available in multiple languages?", - answer: - "Yes, Reactive Resume is available in multiple languages. You can choose your preferred language in the settings page, or using the language switcher in the top right corner. If you don't see your language, or you would like to improve the existing translations, you can contribute to the translations on Crowdin.", - }, - { - question: "What makes Reactive Resume different from other resume builders?", - answer: - "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall.", - }, - { - question: "How do I share my resume?", - answer: - "You can share your resume via a unique public URL, protect it with a password, or download it as a PDF to share directly. The choice is yours!", - }, -] as const; - -function createRootSeoMarkup(canonicalUrl: string) { - const origin = new URL(canonicalUrl).origin; - const imageUrl = `${origin}/opengraph/banner.jpg`; - const structuredData = { - "@context": "https://schema.org", - "@graph": [ - { - "@type": "WebSite", - name: "Reactive Resume", - url: canonicalUrl, - }, - { - "@type": ["SoftwareApplication", "WebApplication"], - name: "Reactive Resume", - url: canonicalUrl, - description: ROOT_DESCRIPTION, - applicationCategory: "BusinessApplication", - operatingSystem: "Web", - isAccessibleForFree: true, - offers: { - "@type": "Offer", - price: "0", - priceCurrency: "USD", - }, - codeRepository: "https://github.com/reactive-resume/reactive-resume", - }, - { - "@type": "Project", - name: "Reactive Resume", - url: canonicalUrl, - sameAs: ["https://github.com/reactive-resume/reactive-resume"], - }, - { - "@type": "FAQPage", - mainEntity: ROOT_FAQ_ITEMS.map((item) => ({ - "@type": "Question", - name: item.question, - acceptedAnswer: { - "@type": "Answer", - text: item.answer, - }, - })), - }, - ], - }; - - return ` - - - - - - - - - - - - - - `; -} -``` - -- [ ] **Step 6: Add the immutable media header** - -Replace the current `serveWebDistStatic` declaration with: - -```ts -export const serveWebDistStatic = serveStatic({ - root: staticRoot, - onFound: (_path, context) => { - if (context.req.path.startsWith("/videos/")) { - context.header("Cache-Control", "public, max-age=31536000, immutable"); - } - }, -}); -``` - -- [ ] **Step 7: Inject metadata only for the root pathname** - -Parse the request URL once and replace the closing head only for `/`: - -```ts -export async function handleWebApp(request: Request) { - const isHead = request.method === "HEAD"; - const requestUrl = new URL(request.url); - const pathname = requestUrl.pathname; - - if (!isNoindexShellPath(pathname) && isAssetPath(pathname)) { - return new Response(isHead ? null : "Not Found", { status: 404 }); - } - - const headers = getFallbackResponseHeaders(pathname); - if (!headers) return notFoundResponse({ head: isHead, noindex: true }); - - if (isHead) return new Response(null, { status: 200, headers }); - - const html = await fs.readFile(indexHtmlPath, "utf-8"); - const canonicalUrl = new URL("/", requestUrl.origin).toString(); - const responseHtml = pathname === "/" ? html.replace("", `${createRootSeoMarkup(canonicalUrl)}`) : html; - - return new Response(responseHtml, { headers }); -} -``` - -- [ ] **Step 8: Run the focused server test and verify GREEN** - -Run: - -```bash -pnpm --filter server test -- src/static/web.test.ts -``` - -Expected: all tests in `src/static/web.test.ts` pass. - -- [ ] **Step 9: Run the focused server typecheck** - -Run: - -```bash -pnpm --filter server typecheck -``` - -Expected: exit code 0. - -- [ ] **Step 10: Commit Task 1** - -```bash -git add apps/server/src/static/web.test.ts apps/server/src/static/web.ts -git commit -m "fix(server): emit initial homepage SEO metadata" -``` - ---- - -### Task 2: Homepage poster, interaction-loaded video, and Rocket Loader exclusion - -**Files:** - -- Create: `apps/web/src/routes/_home/-sections/hero.test.tsx` -- Modify: `apps/web/src/routes/_home/-sections/hero.tsx` -- Modify: `apps/web/src/routes/_home/index.tsx` -- Modify: `apps/web/index.html` -- Rename: `apps/web/public/videos/timelapse.mp4` to `apps/web/public/videos/timelapse-v1.mp4` -- Create: `apps/web/public/videos/timelapse-v1.webp` - -**Interfaces:** - -- Consumes: the existing `Hero` component and TanStack route head descriptor. -- Produces: the unchanged `Hero(): JSX.Element` interface and versioned `/videos/timelapse-v1.{webp,mp4}` public media URLs. - -- [ ] **Step 1: Write the failing hero media test** - -Create `apps/web/src/routes/_home/-sections/hero.test.tsx`: - -```tsx -// @vitest-environment happy-dom - -import type { PropsWithChildren } from "react"; -import { i18n } from "@lingui/core"; -import { I18nProvider } from "@lingui/react"; -import { render } from "@testing-library/react"; -import { describe, expect, it, vi } from "vitest"; - -type LinkProps = PropsWithChildren<{ - to: string; -}>; - -vi.mock("@tanstack/react-router", () => ({ - Link: ({ children, to, ...rest }: LinkProps) => ( -
    - {children} - - ), -})); - -vi.mock("@/components/animation/comet-card", () => ({ - CometCard: ({ children }: PropsWithChildren) =>
    {children}
    , -})); - -vi.mock("@/components/animation/spotlight", () => ({ - Spotlight: () =>
    , -})); - -i18n.loadAndActivate({ locale: "en", messages: {} }); - -const { Hero } = await import("./hero"); - -describe("Hero", () => { - it("shows a poster and waits for user interaction before loading the video", () => { - const { container } = render( - - - , - ); - const video = container.querySelector("video"); - - expect(video).toHaveAttribute("poster", "/videos/timelapse-v1.webp"); - expect(video).toHaveAttribute("preload", "none"); - expect(video).toHaveAttribute("src", "/videos/timelapse-v1.mp4"); - expect(video).toHaveAttribute("controls"); - expect(video).not.toHaveAttribute("autoplay"); - }); -}); -``` - -- [ ] **Step 2: Run the hero test and verify RED** - -Run: - -```bash -pnpm --filter web test -- src/routes/_home/-sections/hero.test.tsx -``` - -Expected: failure because the existing video autoplays and has no poster, controls, or `preload="none"`. - -- [ ] **Step 3: Version the video and generate the poster** - -Run: - -```bash -git mv apps/web/public/videos/timelapse.mp4 apps/web/public/videos/timelapse-v1.mp4 -poster_tmp_dir=$(mktemp -d /tmp/reactive-resume-poster.XXXXXX) -ffmpeg -loglevel error -ss 00:00:03 -i apps/web/public/videos/timelapse-v1.mp4 -frames:v 1 "$poster_tmp_dir/frame.png" -cwebp -quiet -q 82 "$poster_tmp_dir/frame.png" -o apps/web/public/videos/timelapse-v1.webp -magick identify -format '%wx%h %b\n' apps/web/public/videos/timelapse-v1.webp -``` - -Expected: `1146x720` and a WebP size substantially below the 4.2 MB video. - -- [ ] **Step 4: Replace autoplay with native lazy video behavior** - -Replace the video element in `apps/web/src/routes/_home/-sections/hero.tsx` with: - -```tsx -