Files
sift/docs/plans/p5c

P5c implementation plan: PDFs already on a host

For the implementing model: do not work from this file. The owner gives you one task file at a time. This file is the index for the owner and the reviewer.

Goal: an agent with a PDF on disk (a Mattermost attachment, a download) gets the same answer as for a PDF URL — text with page markers, the map, pages, grep, cited digests — by uploading the bytes: POST /v1/extract, CLI sift extract <file>. No poppler on the host, no shell pdftotext. The cache key is the content hash, so the same file is extracted once.

Task Package Given
01-extract-api internal/api api/extract_test.go
02-extract-cli cmd/sift, README.md, skill/SKILL.md cmd/sift/extract_test.go

Runs after P5b (task 01 uses the P5b digest fields). Given tests compiled against a panic-only skeleton on master 1311cf3 and failed for the intended reasons.

Changes during the run

(none yet)