P5b and P5c plans: long-document retrieval (BM25 first, background embedding) and /v1/extract + sift extract; given tests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-26 11:01:18 -07:00
co-authored by Claude Opus 5.5
parent 1311cf38d4
commit 49d96e197b
14 changed files with 1464 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# 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)