gmal-scope-builder/backend/app
DJP 8a2b45ae31 Deep extraction: live progress between passes + elapsed timer
- Split deep extraction into two separate functions (pass1 + pass2)
  so the background task can update DB between them
- Progress now shows:
  "Pass 1/2: Analyzing structure... (this takes 20-40 seconds)"
  "Pass 1 complete (23s). Pass 2/2: Extracting assets..."
  "Deep extraction complete (52s total). Found 45 assets."
- Live elapsed timer (seconds) shown in the upload spinner
- Timer ticks every second so user knows it's not hung

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 10:03:04 -04:00
..
api Deep extraction: live progress between passes + elapsed timer 2026-04-10 10:03:04 -04:00
middleware Fix 401: send ID token instead of Graph access token 2026-03-30 11:16:44 +01:00
models Client tier mapping + GMAL complexity variant expansion 2026-04-09 15:02:45 -04:00
schemas Client tier mapping + GMAL complexity variant expansion 2026-04-09 15:02:45 -04:00
services Deep extraction: live progress between passes + elapsed timer 2026-04-10 10:03:04 -04:00
utils Improve matching, upload UX, collapse fix, full catalog approach 2026-03-27 19:22:08 -04:00
__init__.py Initial commit - GMAL Scope Builder 2026-03-27 17:35:14 -04:00
config.py Initial commit - GMAL Scope Builder 2026-03-27 17:35:14 -04:00
database.py Initial commit - GMAL Scope Builder 2026-03-27 17:35:14 -04:00
main.py P1: Role-specific efficiency profiles + BTG tool efficiencies 2026-04-09 13:48:30 -04:00