Commit graph

2 commits

Author SHA1 Message Date
Vadym Samoilenko
3f795c0d35 Replace passlib with bcrypt directly — passlib incompatible with bcrypt>=4.0
passlib hasn't been updated for bcrypt>=4.0 which removed __about__.
Use bcrypt library directly: hashpw/checkpw in auth.py and seed_admin.py.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:15:06 +01:00
Vadym Samoilenko
735b2ef141 Add full Sprint 0+1 implementation: Docker, FastAPI, React, RAG, deploy
- Backend: FastAPI + SQLAlchemy async, pgvector RAG, RQ workers, OpenAI gpt-5.4-mini structured output
- Frontend: React 18 + Vite + TypeScript + TailwindCSS + shadcn/ui, job polling pattern (no WebSocket)
- Admin panel: editable SystemPrompt with version history for FCA audit trail
- Deploy: idempotent deploy.sh with hash-based cache, Apache Include fragment, alembic migrations
- Docker: dev + prod compose configs, port 8010 (API) to avoid OliVAS conflict on host

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:01:42 +01:00