gmal-scope-builder/backend/app/services
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
ai_descriptions.py AI-enhanced GMAL descriptions + matching fixes 2026-03-28 10:12:04 -04:00
ai_matching.py Custom tier editor, brief analysis feeds matching, exportable questions 2026-04-09 16:02:11 -04:00
doc_parser.py Normal + Deep Extraction modes for complex client files 2026-04-10 09:46:04 -04:00
excel_parser.py Improve matching, upload UX, collapse fix, full catalog approach 2026-03-27 19:22:08 -04:00
export_excel.py Custom tier editor, brief analysis feeds matching, exportable questions 2026-04-09 16:02:11 -04:00
export_pdf.py Initial commit - GMAL Scope Builder 2026-03-27 17:35:14 -04:00
match_refiner.py P2: Iterative prompting + RFP brief analysis engine 2026-04-09 14:15:31 -04:00
ratecard_builder.py Initial commit - GMAL Scope Builder 2026-03-27 17:35:14 -04:00
rfp_analysis.py P2: Iterative prompting + RFP brief analysis engine 2026-04-09 14:15:31 -04:00
team_shape.py P1: Role-specific efficiency profiles + BTG tool efficiencies 2026-04-09 13:48:30 -04:00
tier_expander.py Client tier mapping + GMAL complexity variant expansion 2026-04-09 15:02:45 -04:00