4 Commits (54d54f2a06dbd0fafb6dc95375115a4da2c2647f)

Author SHA1 Message Date
oabrivard 54d54f2a06 fix: architect assessment remediation — 6 issues across backend, frontend, and infra
- Wire hardened scraper client into runtime (SSRF redirect validation was defined but unused)
- Stream scraper body with per-chunk size limit instead of post-download check (DoS/OOM)
- Persist user rate-limit overrides across generation jobs via AppState DashMap
- Roll back magic-link token on email send failure to prevent quota exhaustion
- Fix API error UX: prefer human message over machine error code in frontend
- Unwrap GET /syntheses { items } wrapper in frontend API layer (contract mismatch)
- Bind Postgres to localhost in docker-compose (was exposed on all interfaces)
- Fix CLAUDE.md: runtime queries not compile-time, 10 migrations not 9

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 8dc4900c47 Remove legacy React/Firebase files, update project metadata
- Delete original src/ directory (React components, Firebase, Gemini service)
- Delete root package.json, package-lock.json, node_modules/
- Delete vite.config.ts, tsconfig.json, index.html (old React config)
- Delete firebase-applet-config.json, firebase-blueprint.json, firestore.rules
- Delete metadata.json, README.md
- Update .gitignore for new project structure (backend/target, frontend/dist)
- Rewrite CLAUDE.md to document the new Rust/SolidJS/Postgres architecture

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 months ago
oabrivard 2a10f95b22 Updated Claude code config 3 months ago
oabrivard 2e315f21c3 Initial commit 3 months ago