Split out of the bilingual-contract table bloat work (branch claude/contract-table-bloat-v5wikg).
Problem
.ppt/.pptx are loaded with UnstructuredPowerPointLoader(filepath) (app/utils/document_loader.py:165). Unstructured walks the slide shapes, which include layout placeholders the deck's author never filled in — "Click to add title", "Click to add text", master-slide furniture — so the extracted text mixes template scaffolding with the actual content of the deck.
Lower impact than the other extraction issues (decks are a smaller share of legal-office uploads and the noise is per-slide rather than per-row), but it is the same failure mode: extracted output that is partly artefacts of the file format rather than the document.
Suggested fix
- Filter placeholder shapes whose text matches the known "Click to add ..." prompts, or that are empty placeholders inherited from the layout.
- Consider emitting one
Document per slide with a slide number in metadata, so a citation can point at a slide.
- Include speaker notes, or explicitly decide not to — today the behaviour is whatever unstructured defaults to, which is not a decision anyone in this repo has made.
Wants a real deck to test against before picking an approach.
Split out of the bilingual-contract table bloat work (branch
claude/contract-table-bloat-v5wikg).Problem
.ppt/.pptxare loaded withUnstructuredPowerPointLoader(filepath)(app/utils/document_loader.py:165). Unstructured walks the slide shapes, which include layout placeholders the deck's author never filled in — "Click to add title", "Click to add text", master-slide furniture — so the extracted text mixes template scaffolding with the actual content of the deck.Lower impact than the other extraction issues (decks are a smaller share of legal-office uploads and the noise is per-slide rather than per-row), but it is the same failure mode: extracted output that is partly artefacts of the file format rather than the document.
Suggested fix
Documentper slide with a slide number in metadata, so a citation can point at a slide.Wants a real deck to test against before picking an approach.