Commit graph

  • 7b6a7c7347 Fix admin filters: ISO Z parsing crash + All time period returning month data main Vadym Samoilenko 2026-04-24 19:17:57 +01:00
  • ad619d45fc Improve live token extraction: warn on missing usage_metadata, capture thinking tokens Vadym Samoilenko 2026-04-24 19:13:39 +01:00
  • d0ad8e67be Fix backfill: use accumulated conversation context for prompt estimation Vadym Samoilenko 2026-04-24 19:11:01 +01:00
  • 57508e8e55 Add period selector to all cost-bearing admin tabs Vadym Samoilenko 2026-04-24 19:03:16 +01:00
  • d7ee22e557 Fix backfill pricing: read from model_pricing collection + --delete-existing-estimates flag Vadym Samoilenko 2026-04-24 18:57:25 +01:00
  • 66c8e1762e Fix backfill: handle list-type persona fields Vadym Samoilenko 2026-04-24 18:53:41 +01:00
  • 539c5eaaee Fix backfill script: use focus_group_messages collection + correct field names Vadym Samoilenko 2026-04-24 18:49:59 +01:00
  • 39ad2f00b5 Add back button to Admin page Vadym Samoilenko 2026-04-24 18:48:22 +01:00
  • bc4138f332 Final pieces: decorators on LLM routes, usage self-service, billing page, WS events Vadym Samoilenko 2026-04-24 18:43:13 +01:00
  • 915c81b8f1 Complete phases D–G: quota enforcement, token invalidation, admin writes, backfill Vadym Samoilenko 2026-04-24 18:34:48 +01:00
  • 015e6cc5cc Add Phase D admin panel: user management + usage analytics Vadym Samoilenko 2026-04-24 18:26:05 +01:00
  • 8c5146022a deploy.sh: run seed_model_pricing.py after container startup Vadym Samoilenko 2026-04-24 18:10:12 +01:00
  • 3e9ccafad2 Add LLM usage tracking infrastructure (Phases A-C) Vadym Samoilenko 2026-04-24 18:08:27 +01:00
  • 0bf6043fad Fix: task result not stored in useTaskPolling, causing false 'no personas' error Vadym Samoilenko 2026-03-30 16:06:22 +01:00
  • 2e85fc1acc Fix root cause: naive vs aware datetime crash + stuck AI mode indicator Vadym Samoilenko 2026-03-23 19:30:04 +00:00
  • 7e72d07329 Fix AI loop hanging: add asyncio.wait_for timeouts on LLM calls Vadym Samoilenko 2026-03-23 19:17:36 +00:00
  • 283b31e786 Fix AI mode: race condition, split-brain UI, and stuck local state Vadym Samoilenko 2026-03-23 19:02:15 +00:00
  • b4978989a5 Fix AI autonomous mode: cross-loop WebSocket emit + polling fallback Vadym Samoilenko 2026-03-23 18:22:24 +00:00
  • 33272cc677 Allow document uploads (PDF, DOCX, TXT, etc.) as focus group assets Vadym Samoilenko 2026-03-23 17:08:30 +00:00
  • 4b47b334d7 Fix data isolation + conversation/decision 500 errors Vadym Samoilenko 2026-03-23 17:02:10 +00:00
  • f0876649e0 Add SVG favicon and update page title to Semblance Vadym Samoilenko 2026-03-23 16:47:59 +00:00
  • 1b387daacf Migrate task result delivery from WebSocket to HTTP polling Vadym Samoilenko 2026-03-23 16:46:58 +00:00
  • c7034634e3 Fix all async LLM routes: bypass GCP 30s load balancer timeout Vadym Samoilenko 2026-03-23 15:56:54 +00:00
  • f4a587c4f7 Fix 500: add current_app import to focus_groups route Vadym Samoilenko 2026-03-23 15:35:29 +00:00
  • d8a5d6643f Fix discussion guide 504: async flow + WebSocket delivery Vadym Samoilenko 2026-03-23 15:32:08 +00:00
  • 6917518d11 Fix NameError: _fg_logger undefined in update_focus_group route Vadym Samoilenko 2026-03-23 15:26:08 +00:00
  • f359157949 Fix focus group create: 500 on update + 400 on autosave Vadym Samoilenko 2026-03-23 15:20:40 +00:00
  • 770bdee829 Remove console.log debug calls from frontend browser console Vadym Samoilenko 2026-03-23 14:30:56 +00:00
  • f60d86e8cb Fix task_completed WebSocket payload too large Vadym Samoilenko 2026-03-23 14:11:14 +00:00
  • aa4090888d Fix persona generation 504: async flow + remove debug logging Vadym Samoilenko 2026-03-23 14:00:07 +00:00
  • c00728f375 Fix Gemini LLM AssertionError: force httpx transport over aiohttp Vadym Samoilenko 2026-03-23 13:05:27 +00:00
  • 2c6505f472 Switch to loginRedirect — popup blocked by server COOP header Vadym Samoilenko 2026-03-20 14:44:19 +00:00
  • 3943be1c51 Fix MSAL popup loading full app — skip React render when in popup context Vadym Samoilenko 2026-03-20 14:35:25 +00:00
  • 2154ce946d Add COOP header to Apache config — fix MSAL popup window.closed blocking Vadym Samoilenko 2026-03-20 14:25:00 +00:00
  • 361ef7bb6a Revert to loginPopup — COOP warning was non-blocking, popup worked before Vadym Samoilenko 2026-03-20 14:18:12 +00:00
  • c00116eea4 Remove manual PKCE params from loginRequest — MSAL handles PKCE internally Vadym Samoilenko 2026-03-20 14:05:08 +00:00
  • 7a7d3a90ac Switch MSAL from loginPopup to loginRedirect — fix COOP blocking Vadym Samoilenko 2026-03-20 14:03:16 +00:00
  • 7f0df54de3 Fix domain typo: oliver.solution → oliver.solutions across all files Vadym Samoilenko 2026-03-20 13:40:00 +00:00
  • cf698e1e87 Remove create_default_user call from run.py (method removed in security remediation) Vadym Samoilenko 2026-03-20 13:34:26 +00:00
  • 05d7ea68e2 Fix make_serializable import — move to utils/__init__.py (was shadowed by utils/ package) Vadym Samoilenko 2026-03-20 13:33:11 +00:00
  • d1788a4017 Fix .dockerignore — exclude *.txt but keep requirements.txt Vadym Samoilenko 2026-03-20 13:28:32 +00:00
  • b481f616cb Single deploy.sh for server — frontend build via Node Docker container Vadym Samoilenko 2026-03-20 13:26:39 +00:00
  • f63608cff0 Add server-deploy.sh for running directly on server Vadym Samoilenko 2026-03-20 13:24:52 +00:00
  • 4f8a952e30 Match MSAL redirect URI to Entra registration (trailing slash) Vadym Samoilenko 2026-03-20 13:21:58 +00:00
  • 4a6b4d6fe0 Dockerize backend — replace systemd service with docker-compose Vadym Samoilenko 2026-03-20 13:21:34 +00:00
  • 8d532a50f0 Add VITE_MSAL_TENANT_ID and VITE_MSAL_CLIENT_ID to .env.production Vadym Samoilenko 2026-03-20 13:17:26 +00:00
  • 42a8f25510 Adapt deploy.sh for optical-dev server infrastructure Vadym Samoilenko 2026-03-20 12:59:32 +00:00
  • bb4dca0fe8 Update production URL to optical-dev.oliver.solution Vadym Samoilenko 2026-03-20 12:55:45 +00:00
  • 3e1865edbd Apply Jintech security audit remediation (sprint 3) — 87/92 findings fixed Vadym Samoilenko 2026-03-20 12:51:18 +00:00
  • bf5e74fe49 Revert sudo on frontend deploy steps — fix ownership on server instead Vadym Samoilenko 2026-03-19 17:42:10 +00:00
  • 75b97f8c88 Fix permission denied errors in deploy script by using sudo for frontend file operations Vadym Samoilenko 2026-03-19 17:41:06 +00:00
  • c7ff1755ee Add architecture document generator and PDF michael 2026-02-24 11:39:50 -06:00
  • 33fb25467e Update README with comprehensive project documentation michael 2026-02-24 10:50:29 -06:00
  • b1be8f8c38 Add model alias for legacy gpt-5 database entries michael 2026-02-11 12:06:10 -06:00
  • 82b06c5ea2 added dist to gitignore Michael Clervi 2026-02-11 17:28:15 +00:00
  • 923b0f46c5 stop tracking dist/index.html Michael Clervi 2026-01-07 19:33:11 +00:00
  • b0445de18b Update GPT-5 to GPT-5.2 and lower default reasoning effort to low michael 2026-02-11 11:24:01 -06:00
  • d4ce5d99bc Fix audience_brief and research_objective dropped in Stage 2 persona generation michael 2026-02-11 08:40:17 -06:00
  • 850cb25067 Fix GPT-5 Responses API crash on reasoning items with None content michael 2026-02-11 08:05:52 -06:00
  • 1708bd75a4 Remove SDK version logging on every Gemini call michael 2026-01-07 14:30:42 -06:00
  • 7f4f659501 Bump google-genai to >=1.56.0 to fix aiohttp AssertionError michael 2026-01-07 14:06:52 -06:00
  • d79c202e8f Fix NameError: use print instead of logger in get_gemini_client michael 2026-01-07 13:59:30 -06:00
  • c9848210bb Add full traceback and SDK version logging for AssertionError debug michael 2026-01-07 13:49:47 -06:00
  • 5a825934f8 Add verbose exception debugging for empty error messages michael 2026-01-07 13:39:15 -06:00
  • 1a24c335f7 Add backend/persona_data/ to .gitignore michael 2026-01-07 13:29:23 -06:00
  • b50c0fa2a4 Fix empty error messages from Google GenAI SDK michael 2026-01-07 13:26:55 -06:00
  • ca93d24ac5 Fix WebSocket auth error on initial page load michael 2026-01-05 12:15:04 -06:00
  • 6ee80e67aa Create fresh LLM clients per call instead of caching michael 2025-12-19 16:56:36 -06:00
  • 94f98b837b Add event loop tracking to LLM client getters michael 2025-12-19 16:46:35 -06:00
  • 36e1752fea Remove __pycache__ files from git tracking michael 2025-12-19 13:28:19 -06:00
  • 893b537b67 changed permissions Michael Clervi 2025-12-19 19:25:44 +00:00
  • 45c7a52aeb Fix asyncio event loop mismatch in LLM service michael 2025-12-19 13:24:23 -06:00
  • bb16165a83 Remove unused eventlet import and dead emit_with_ack function michael 2025-12-09 11:51:23 -06:00
  • 1b98757676 Replace flask_jwt_extended imports with quart_jwt michael 2025-12-09 11:49:22 -06:00
  • a6e1a8a307 Add backend directory creation to deploy script michael 2025-12-09 11:43:03 -06:00
  • 947acf780b Fix gitignore to allow src/lib and add missing taskCancellation utility michael 2025-12-09 11:38:15 -06:00
  • 517f033ede Pin all Python dependency versions in requirements.txt michael 2025-12-09 11:34:48 -06:00
  • a32512a8f4 Add deployment script for git-based deployments michael 2025-12-09 11:13:37 -06:00
  • 6b7f8763c0 Add environment variable to control local login availability michael 2025-12-08 14:20:50 -06:00
  • 8a9c7c3cb6 Improve discussion guide discoverability in Focus Group session michael 2025-12-04 09:57:32 -06:00
  • 240a1c09f5 Add field-level inline editing for discussion guide items michael 2025-12-04 09:43:12 -06:00
  • 28c7bbc055 Improve Focus Group workflow UX michael 2025-12-04 09:30:57 -06:00
  • 08dbd5f5a2 Add word count strength indicator for form text fields michael 2025-12-04 09:25:31 -06:00
  • afa7e43051 Improve draft focus group UX with clickable cards and Run Session button michael 2025-12-04 09:17:41 -06:00
  • 22b3ec19a5 Refactor FocusGroupModerator into smaller components and hooks michael 2025-12-04 09:11:21 -06:00
  • 4bf325483e Fix tab not switching to Review after discussion guide generation michael 2025-12-04 08:51:37 -06:00
  • 96b9bfeedd Add LLM-generated one-line summaries for focus groups in list view michael 2025-12-04 08:51:28 -06:00
  • f0ac4a14de Collapse Customer Data Upload into accordion to reduce visual prominence michael 2025-12-02 09:34:28 -06:00
  • e10a569bc2 Improve Customer Data Upload guidance with clearer instructions michael 2025-12-02 08:26:45 -06:00
  • e5aa05739e Fix persona selection grid to use 2x2 layout for consistency michael 2025-12-02 08:05:26 -06:00
  • 5eaf81ec18 Rename Asset Upload to Upload Your Stimulus with clearer description michael 2025-12-02 07:55:54 -06:00
  • ec23bed0b6 Rename Cooper Profile to Attitudinal Profile for clarity michael 2025-12-02 07:44:21 -06:00
  • bbd3f2c828 Add contextual descriptions to AI model selection dropdowns michael 2025-12-01 16:27:57 -06:00
  • 578dc60b11 Add tooltip help icons to Audience Brief and Research Objective fields michael 2025-12-01 16:10:21 -06:00
  • 25fcbc826f Redesign Enhance Brief to auto-apply changes with assumptions modal michael 2025-12-01 15:57:11 -06:00
  • 567db4227c Move creativity slider to collapsible Advanced Controls section michael 2025-12-01 15:07:45 -06:00
  • 03bb650ec6 Replace inline progress bars with modal progress dialogs for better visibility michael 2025-12-01 11:03:31 -06:00
  • 4d9b0afde7 upgraded to Gemini 3.0 Pro (gemini-3-pro-preview) from Gemini 2.5 Pro michael 2025-12-01 10:37:36 -06:00
  • d3aca7c309 added retry logic and smart field completion for persona generation, increased OpenAI timeout michael 2025-12-01 09:39:58 -06:00
  • 7c68f5d0e4 truncated long folder names so the buttons are still visible, migrated legacy folders to new format michael 2025-09-11 10:40:01 -05:00