Repository navigation
feat(evidence): import, read, search, and approve document processing - #44
Merged
Merged
Conversation
added 7 commits
September 5, 2026 08:47
Connect human import authority to the production workspace while preserving the resident boundary. Persist versioned extraction and bounded approved document invocations; protect originals, derivatives, and passages with current governance. Add production HTTP, recovery, and disclosure regressions.
Expose saved folder scans, import review, extraction recovery, precise citation navigation, and explicit provider approval. Record built-browser synthetic acceptance and a reproducible personal-use runbook. Real-record formats and authorized live-provider acceptance remain pending.
Expose safe invocation outcomes without inferring billing from failure. Preserve uncertainty for incomplete bodies and ambiguous HTTP statuses.
Keep readable PDF pages with explicit gaps and immutable legacy citations. Carry coverage through jobs, search, and approval previews. Map definitive provider failures safely and require newly approved retries. Reduce measured search replay while rechecking governance and blob integrity.
Document synthetic production evidence, format boundaries, provider failure semantics, and the outstanding real-record and live-provider inputs.
The clean Ubuntu runner lacks pdfinfo and pdftotext, causing nine PDF-dependent assertions to fail. Install the documented runtime prerequisite while preserving production tests and assertions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cestus can now import a selected source folder, read and search its documents, follow stable passage citations, and run explicitly approved external document processing through the ordinary browser UI. This delivers the implemented Phase 2 evidence foundation on top of the authenticated Phase 1 workspace.
Equal source bytes share an immutable original while preserving occurrences. Changed sources and upgraded extraction preserve older citations. UTF-8 text, CSV, and PDF text extraction are supported; mixed PDFs retain readable pages and explicitly identify unextracted pages. Textless pages are not assumed blank, and OCR is not implemented.
External processing binds approval to exact content, selected passages and coverage, destination/model, operation, and limits. Credentials remain server-side. Definitive rejection or fully received invalid output fails; ambiguous submission remains uncertain. Neither outcome implies unbilled, and potentially billable retries require a fresh approval. Current governance and blob integrity govern reads, snippets, and transfers.
Verification
npm run verify: 4,047 tests passed, five skipped; typecheck, both assurance tests, and production build passed. No implementation changed after this run. The branch has no divergence from the fetchedneobase.Acceptance record and screenshots · Hands-on runbook
Acceptance still pending
Real-record format/scan acceptance requires an authorized source-folder path and required formats. A live provider trial requires the intended endpoint/model, server-side configuration, exact authorized selection, and evaluation budget. Synthetic protocol acceptance does not establish live-provider compatibility or billing. Merging this foundation does not mark all of Phase 2 accepted or introduce Phase 3 workflows.