Skip to content

Recover attachment formats and add source-linked slide evidence - #578

Merged
witbrock merged 1 commit into
mainfrom
fix/slideshow-ingestion
Sep 8, 2026
Merged

Recover attachment formats and add source-linked slide evidence#578
witbrock merged 1 commit into
mainfrom
fix/slideshow-ingestion

Conversation

@witbrock

@witbrock witbrock commented Sep 8, 2026

Copy link
Copy Markdown
Member

A real emailed PowerPoint was stored as .bin after Gmail refreshed its opaque attachment handles. Reading that file decoded package bytes as text, and indexing failed. Imports now recover MIME metadata only through unique byte equality when handles rotate; file reads recognise Office package structure independently of the stored extension and use bounded extraction.

Adds read_presentation_slides through the existing private image tool surface. It returns numbered native text/notes and actual slide images to the vision model, with source hashes, renderer provenance, pagination and optional cached OCR. PPTX rendering uses LibreOffice; original bytes remain unchanged. Derived cache reads follow source access checks.

Validation: 88 focused tests passed, 2 skipped; a further notes-without-text-frame regression passed. Real privately held 14-slide deck extracted successfully, rendered to 14 PDF pages, and a diagram image plus OCR was saved through canonical file-copy services. Research content and private receipts are outside Git. Natural-language workflow acceptance follows activation; this PR does not claim automatic reply handling.

An adjacent pre-existing RAG collection test failed because its fixture supplies an untrusted namespace without an actor; it does not exercise the changed extraction path. Tracked under JVNAUTOSCI-2223.

@witbrock
witbrock merged commit 9ef2061 into main Sep 8, 2026
2 checks passed
@witbrock
witbrock deleted the fix/slideshow-ingestion branch September 8, 2026 12:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant