Commit graph

  • 61f2471d48 Replace MLflow inline pip hack with proper Dockerfile master Marko Djordjevic 2026-02-21 09:57:24 +01:00
  • c77d17e5e2 Fix MLflow psycopg2 missing by installing psycopg2-binary at startup Marko Djordjevic 2026-02-21 09:54:51 +01:00
  • d7f583701c change mlflow to use database instead of mlflow folder Marko Djordjevic 2026-02-21 09:35:15 +01:00
  • 187243bfdb Fix MLflow localhost references to use Docker service name Marko Djordjevic 2026-02-21 09:34:16 +01:00
  • f3425557ce add credentials to ml-service docker for migrations Marko Djordjevic 2026-02-21 09:12:24 +01:00
  • 60e3cb755d remove __pycache__ from git Marko Djordjevic 2026-02-21 09:11:47 +01:00
  • 33ed7b7cb7 Fix auth redirect to 0.0.0.0 and credentials sign-in error Marko Djordjevic 2026-02-20 23:42:24 +01:00
  • 53e6d363b7 Fix malformed favicon.svg - remove nested SVG tags Marko Djordjevic 2026-02-20 23:26:36 +01:00
  • 852d19e3db Add favicon from RealFaviconGenerator Marko Djordjevic 2026-02-20 23:07:10 +01:00
  • ea8c86f425 fix annotation links Marko Djordjevic 2026-02-20 22:30:55 +01:00
  • 54a45146ed Redirect to home page on sign out instead of login page Marko Djordjevic 2026-02-20 22:30:38 +01:00
  • 173623a432 Move span-label-types and annotation-types links from sidebar settings menu to settings page Marko Djordjevic 2026-02-20 22:26:39 +01:00
  • 044a73c3f0 Add db:migrate npm script for local development convenience Marko Djordjevic 2026-02-20 22:19:36 +01:00
  • 61ad63ce35 Remove root page.tsx redirect so landing page renders at / Marko Djordjevic 2026-02-20 22:13:54 +01:00
  • 3e242c3359 Migrate middleware.ts to proxy.ts for Next.js 16 and fix build errors Marko Djordjevic 2026-02-20 21:52:38 +01:00
  • 76cb49e908 Migrate MLflow backend to PostgreSQL and fix .env loading Marko Djordjevic 2026-02-20 21:34:31 +01:00
  • 5fb9733bd6 Archive user-accounts change to openspec/changes/archive/ Marko Djordjevic 2026-02-20 18:50:36 +01:00
  • 448b67199f Sync user-accounts delta specs to main specs Marko Djordjevic 2026-02-20 18:50:14 +01:00
  • 34d58948a3 Mark task 15.4 as complete: Update .env.example Marko Djordjevic 2026-02-20 18:41:32 +01:00
  • e1ddcfe1b1 Update .env.example with correct AUTH_SECRET generation command Marko Djordjevic 2026-02-20 18:41:26 +01:00
  • fb1411cb13 Mark task 15.3 as complete in tasks.md Marko Djordjevic 2026-02-20 18:40:59 +01:00
  • f5a67d9fa4 Update CLAUDE_DESCRIPTION.md with auth system, routing, and schema changes (v3.2.0) Marko Djordjevic 2026-02-20 18:40:52 +01:00
  • 66bcd8cca8 Mark task 15.2 as complete in tasks.md Marko Djordjevic 2026-02-20 18:39:48 +01:00
  • e783c9cbe9 Update README.md with user accounts feature description (Task 15.2) Marko Djordjevic 2026-02-20 18:39:43 +01:00
  • 1001de659f Mark task 15.1 as complete in tasks.md Marko Djordjevic 2026-02-20 18:39:18 +01:00
  • 227a5b66e6 Update DEPLOYMENT.md with authentication and migration documentation Marko Djordjevic 2026-02-20 18:39:14 +01:00
  • 8623b61c73 Mark task 14.3 as complete in tasks.md Marko Djordjevic 2026-02-20 18:38:24 +01:00
  • 688e75e6be Scope training run queries in FastAPI to filter by user ID (Task 14.3) Marko Djordjevic 2026-02-20 18:38:18 +01:00
  • cbb921b4a7 Scope MLflow experiment names to include user ID (Task 14.2) Marko Djordjevic 2026-02-20 13:46:00 +01:00
  • 9f76d7eb62 Mark task 14.1 as complete in tasks.md. Marko Djordjevic 2026-02-20 13:44:06 +01:00
  • 399e760fa5 Add X-User-ID header extraction to FastAPI service. Marko Djordjevic 2026-02-20 13:44:02 +01:00
  • b9f6770f2a Mark task 13.3 complete: Wire signOut() in user menu Marko Djordjevic 2026-02-20 13:42:57 +01:00
  • fe68eca773 Add settings gear icon to sidebar (task 13.2) Marko Djordjevic 2026-02-20 13:42:19 +01:00
  • 9884f47d5a feat(13.1): add UserMenu component with avatar, Settings link, and Sign Out Marko Djordjevic 2026-02-20 13:41:21 +01:00
  • fba0b29d64 Add back navigation link to /app on settings page Marko Djordjevic 2026-02-20 13:37:48 +01:00
  • 0d8d8627a2 Add Danger Zone section to settings page with delete account dialog Marko Djordjevic 2026-02-20 13:37:03 +01:00
  • 64b3bfd0d4 feat(settings): add Security section with change password form (task 12.2) Marko Djordjevic 2026-02-20 13:35:19 +01:00
  • 9514a987e3 Add settings page profile section (task 12.1) Marko Djordjevic 2026-02-20 13:32:39 +01:00
  • 3f3cb6eebf Mark task 11.3 complete: Add Google button and sign-in link to register page Marko Djordjevic 2026-02-20 13:31:10 +01:00
  • 77327eeb61 Add Continue with Google button to register page Marko Djordjevic 2026-02-20 13:31:03 +01:00
  • bf3b59ab2d Mark task 11.2 as complete: error state display verified on register page Marko Djordjevic 2026-02-20 13:30:24 +01:00
  • 50d8c84367 Add register page (task 11.1): name/email/password form with POST to /api/auth/register and auto sign-in Marko Djordjevic 2026-02-20 13:29:36 +01:00
  • 3b03a87c41 Task 10.3: Add "Forgot password?" link with toast and "Sign up" link to login page Marko Djordjevic 2026-02-20 13:28:17 +01:00
  • 42a76ed41b Add error state display for invalid credentials on login page Marko Djordjevic 2026-02-20 13:22:51 +01:00
  • 954dd27c88 Add login page with credentials and Google sign-in (task 10.1) Marko Djordjevic 2026-02-20 13:21:48 +01:00
  • 2d29f63597 Mark task 9.2 as complete in tasks.md Marko Djordjevic 2026-02-20 13:20:03 +01:00
  • d0ebf677f3 Add auth-aware navbar to landing page Marko Djordjevic 2026-02-20 13:19:58 +01:00
  • 09facbce69 Add landing page at src/app/(public)/page.tsx (task 9.1) Marko Djordjevic 2026-02-20 13:18:31 +01:00
  • 162dfb0882 Mark task 8.4 complete: Update hardcoded links to /app Marko Djordjevic 2026-02-20 13:16:49 +01:00
  • 7cd0acc82f Update hardcoded links in app page from / to /app Marko Djordjevic 2026-02-20 13:16:45 +01:00
  • 07efa32cfb Task 8.3: Create src/app/app/layout.tsx with SessionProvider and nav bar Marko Djordjevic 2026-02-20 13:15:41 +01:00
  • 985f459bd7 Task 8.2: Move src/app/page.tsx to src/app/app/page.tsx Marko Djordjevic 2026-02-20 13:14:15 +01:00
  • c9dbd4c813 Task 8.1: Create public layout with minimal structure (shared fonts/theme, no sidebar) Marko Djordjevic 2026-02-20 13:13:25 +01:00
  • bd668589b6 Add X-User-ID header to all FastAPI ML service proxy routes Marko Djordjevic 2026-02-20 13:12:25 +01:00
  • 685639a0d3 Add getAuthUser() auth guard to all ML proxy API routes (task 7.3) Marko Djordjevic 2026-02-20 13:10:23 +01:00
  • 5f727d84c6 Scope all Drizzle queries by user_id from authenticated session Marko Djordjevic 2026-02-20 13:08:09 +01:00
  • 9901d0f3f1 Add getAuthUser() auth guard to all data API routes (task 7.1) Marko Djordjevic 2026-02-20 10:26:09 +01:00
  • aa2c5fdb69 Add DELETE /api/auth/account endpoint for full account deletion Marko Djordjevic 2026-02-20 10:22:43 +01:00
  • 93f7d20382 Add PUT /api/auth/password endpoint for credential users Marko Djordjevic 2026-02-20 10:21:27 +01:00
  • c36ab7c146 Implement task 6.1: Create PUT /api/auth/profile endpoint for updating user display name Marko Djordjevic 2026-02-20 10:20:20 +01:00
  • d4e92cf88f Add src/lib/auth.ts helper for extracting user from Auth.js session Marko Djordjevic 2026-02-20 10:19:12 +01:00
  • 55fd91ff52 Add Next.js middleware for route protection (task 5.1) Marko Djordjevic 2026-02-20 10:18:15 +01:00
  • 10e4ec8648 Task 4.2: Add default data seeding on new user creation Marko Djordjevic 2026-02-20 10:16:55 +01:00
  • 9a5e325632 feat(auth): add POST /api/auth/register endpoint (task 4.1) Marko Djordjevic 2026-02-20 10:14:55 +01:00
  • 45b6366861 Create nextauth route handler exporting GET/POST from auth.ts (task 3.4) Marko Djordjevic 2026-02-20 10:13:32 +01:00
  • a8c88f3ca2 Task 3.3: Handle Google OAuth sign-in callback in src/auth.ts Marko Djordjevic 2026-02-20 09:58:18 +01:00
  • 40afd4111c Mark task 3.2 done: JWT and session callbacks already implemented in src/auth.ts Marko Djordjevic 2026-02-20 09:56:48 +01:00
  • 50e85e499a Add src/auth.ts with Auth.js v5 config (task 3.1) Marko Djordjevic 2026-02-20 09:55:04 +01:00
  • 73f44bf447 Add data migration script for user-accounts (task 2.5) Marko Djordjevic 2026-02-20 09:51:23 +01:00
  • 877ae032a1 Mark task 2.4 as complete: Generate Drizzle migration Marko Djordjevic 2026-02-20 09:50:14 +01:00
  • f4225d0334 Generate Drizzle migration with user accounts schema changes Marko Djordjevic 2026-02-20 09:50:08 +01:00
  • b633a3f52a Task 2.3: Replace single-column unique constraints with composite (user_id, name) unique indexes Marko Djordjevic 2026-02-20 09:48:50 +01:00
  • 0cd74ebedd Mark task 2.2 complete in user-accounts tasks.md Marko Djordjevic 2026-02-20 09:47:41 +01:00
  • 633a76876f Add user_id FK column to charts, annotations, annotation_types, span_annotations, span_label_types Marko Djordjevic 2026-02-20 09:47:30 +01:00
  • 9101cfb7af Add users table to Drizzle schema (task 2.1) Marko Djordjevic 2026-02-20 09:46:20 +01:00
  • d05ed21cd6 Task 1.3: Update docker-compose.yml to pass new auth environment variables Marko Djordjevic 2026-02-20 09:45:12 +01:00
  • 7ba1380cc7 Add authentication environment variables to .env.example Marko Djordjevic 2026-02-20 09:44:25 +01:00
  • 973662739a Install authentication dependencies: next-auth@5, bcryptjs, @types/bcryptjs Marko Djordjevic 2026-02-20 09:43:45 +01:00
  • 3c39690f4a Assign per-task model tags in user-accounts tasks.md Marko Djordjevic 2026-02-20 08:59:17 +01:00
  • 925e7284e3 Archive code-review-fix change and sync specs to main Marko Djordjevic 2026-02-20 08:54:59 +01:00
  • adb93a2d2e update gitingore for models dir Marko Djordjevic 2026-02-19 00:01:22 +01:00
  • 26f2c44509 Fix XGBoost label encoding and single-class guard Marko Djordjevic 2026-02-18 23:58:24 +01:00
  • 73c10a4156 Fix inference feature mismatch with training metadata Marko Djordjevic 2026-02-18 23:53:38 +01:00
  • 328476a581 Fix predict proxy schema and error messages Marko Djordjevic 2026-02-18 23:38:17 +01:00
  • 508d267078 Handle no-model 503 as online Marko Djordjevic 2026-02-18 23:34:00 +01:00
  • 07064fbf40 fix(training): use selected chart and include TA-Lib span sources Marko Djordjevic 2026-02-18 23:21:23 +01:00
  • 3448c6febd fix(auth): allow same-origin browser requests through API middleware Marko Djordjevic 2026-02-18 23:07:42 +01:00
  • d6b980a3ca add API KEY var to docker compose Marko Djordjevic 2026-02-18 22:55:46 +01:00
  • e446e3e563 Fix ml-service volume permissions Marko Djordjevic 2026-02-18 22:49:10 +01:00
  • 7af1c75c56 fix deployment folder permisions Marko Djordjevic 2026-02-18 22:33:25 +01:00
  • 86a8cc66b6 fix deployment folder permisions Marko Djordjevic 2026-02-18 22:33:25 +01:00
  • 385e7944b7 update github action for deploy Marko Djordjevic 2026-02-18 22:15:00 +01:00
  • 9ba4736dce fix: install prod node_modules in Docker final stage for migration script Marko Djordjevic 2026-02-18 22:11:51 +01:00
  • 996caf342f deployment script Marko Djordjevic 2026-02-18 21:49:14 +01:00
  • 11cf414489 test deployment 2 Marko Djordjevic 2026-02-18 21:44:05 +01:00
  • 16123d385a test deployment Marko Djordjevic 2026-02-18 21:42:42 +01:00
  • 1b5f278685 fix: replace TA-Lib source build with prebuilt .deb v0.6.4 in ML Dockerfile Marko Djordjevic 2026-02-18 21:30:23 +01:00
  • 06fd19eebb fix: add DATABASE_URL to ML service .env, gitignore it Marko Djordjevic 2026-02-18 21:19:36 +01:00
  • 685b8e9733 fix: rename exported function from middleware to proxy in proxy.ts Marko Djordjevic 2026-02-18 21:16:09 +01:00
  • 522c2f269d fix: rename middleware.ts to proxy.ts (deprecated convention) Marko Djordjevic 2026-02-18 21:14:42 +01:00