Grep across the graph, and name the page states for what they are
SCOPE COMPOSITION. library_find gains `section`, `follow` and `depth`: search one provision and, optionally, the provisions it references, the provisions that reference it, or both, out to three hops. Only RESOLVED edges expand the scope -- an external or unresolved reference names no span in this document, so following it could only widen the search to nothing. Page scope and structural scope compose by INTERSECTION. Two filters both supplied read as "in these pages AND in this part of the document", the only reading under which asking for more narrowing cannot widen the result. The graph is compiled only when it will actually be walked, so a plain section scope still costs a skeleton and nothing more. PAGE STATES. Eli: "for where we can't detect a page number, that's not 'unavailable', it's 'pdf page numbers only'." Printed labels are DETECTED -- from header and footer furniture, left unresolved when they conflict -- so their absence is a detection outcome, never a missing document feature. The states are now `artifact`, `markers`, `unpaginated` (no fixed pages at all) and `unindexed` (paged, index not built), and `pageSchemes` reports which of the two addressing schemes actually work so a refusal can say "PDF page numbers only" instead of implying the document has no pages. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H9ToHYJVDxfeJcJwdzrP2H
| Repository | eliziff/Beaver |
|---|---|
| Author | Eli Ziff <eliasziff@gmail.com> |
| Authored | |
| Parents | b9143a48 |
| Stats | 4 files changed , +219 , -28 |
| Part of | Legal agent-surface and context-compaction experiments |
Capture this commit into my fork
Download a Markdown prompt that tells Claude how to port this
exact commit into your working tree. Run it via
claude -p < capture-commit-0fcc4aeb.md
from inside the repo you want the change in.