gmal-scope-builder/backend/app/api
DJP 714ab98388 Normal + Deep Extraction modes for complex client files
Problem: Complex client Excel files (30+ columns, merged cells, Q&A columns,
tier data) produced zero assets because the extraction was a dumb pipe dump
that lost all column context.

Fix:
- Smart Excel extraction: detects header rows, labels each value with its
  column name, skips empty sheets, handles merged cells. Claude now sees
  "Top 10 deliverables: Toolbox presentation deck | Tier A: Yes | 1"
  instead of "Toolbox | Base | Toolbox presentation deck | ü' | Yes | 1"

- Two extraction modes on Upload tab:
  - Normal: fast single-pass extraction (~$0.05)
  - Deep Extraction: two-pass AI analysis (~$0.15-0.30)
    Pass 1: Claude analyzes the spreadsheet structure
    Pass 2: Claude extracts assets using the structural understanding

- Upload endpoint accepts ?mode=normal|deep query parameter
- Background parse shows "Deep extraction: analyzing structure (Pass 1 of 2)"
- Tested against both Wella files - header-aware extraction produces
  clear labelled output

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:46:04 -04:00
..
__init__.py Initial commit - GMAL Scope Builder 2026-03-27 17:35:14 -04:00
deps.py Initial commit - GMAL Scope Builder 2026-03-27 17:35:14 -04:00
efficiency.py Remove Cortex from tool presets 2026-04-09 14:39:19 -04:00
gmal.py Client tier mapping + GMAL complexity variant expansion 2026-04-09 15:02:45 -04:00
ingest.py Initial commit - GMAL Scope Builder 2026-03-27 17:35:14 -04:00
matching.py Normal + Deep Extraction modes for complex client files 2026-04-10 09:46:04 -04:00
projects.py Client tier mapping + GMAL complexity variant expansion 2026-04-09 15:02:45 -04:00
ratecard.py P1: Role-specific efficiency profiles + BTG tool efficiencies 2026-04-09 13:48:30 -04:00