Skip to content

feat(evidence): import, read, search, and approve document processing - #44

Merged
ThomsenDrake merged 7 commits into
neofrom
codex/phase2-evidence-foundation
Sep 5, 2026
Merged

ThomsenDrake merged 7 commits into
neofrom
codex/phase2-evidence-foundation

Conversation

@ThomsenDrake

@ThomsenDrake ThomsenDrake commented Sep 5, 2026 •

Copy link
Copy Markdown
Owner

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

  • Final-code 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 fetched neo base.
  • Built UI with the production server and disposable synthetic workspace: registration through extraction, text/CSV/PDF reading, content-phrase search, page-3 navigation with page-2 coverage gaps, duplicate occurrences, changed sources, saved citations, and restart recovery demonstrated.
  • Real HTTP transport against a separate local synthetic provider: zero requests at preview/approval; one invalid-response failure; a separately approved retry completed once with a cited result. Restart caused no extra submission. Production regressions cover rejected transfers, ambiguous outcomes, cancellation, and stale authorization.
  • On 100 synthetic documents (1,240,176 original bytes, 6,000 passages), request-scoped replay reduced measured queries from 14–15 seconds to 235–326 ms. This is modest-corpus evidence, not a large-capacity guarantee.
  • CI installs the required Poppler tools before running the full suite on a clean Ubuntu runner.
  • Native review found no actionable findings. Existing source-map and build-size/browser-externalization warnings remain.

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.

Task136 Test 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.
@ThomsenDrake
ThomsenDrake merged commit 60559c0 into neo Sep 5, 2026
3 checks passed
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