Implement the end-to-end pilot processing command #16
Labels
No labels
area/deployment
area/governance
area/metadata
area/pipeline
area/search
type/data
type/design
type/implementation
type/testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#13 Implement born-digital PDF text extraction
Arkive/arkive
#15 Implement deterministic chunk generation
Arkive/arkive
Reference
Arkive/arkive#16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Process either the complete approved pilot corpus or a selected approved source through the same deterministic stages.
Verify file integrity before extraction.
Select the appropriate plain-text or born-digital PDF adapter.
Run normalization and chunk generation.
Produce source, document, and chunk records in the approved repository layout.
Run schema and cross-record validation before treating output as successful.
Use a staging or atomic-write approach so failures do not leave partially updated committed outputs.
Provide clear stage-specific errors and a non-zero exit status on failure.
Document the command, inputs, outputs, and expected clean-checkout workflow.
Source acceptance decisions.
OCR.
Index generation or search.
Embeddings, LLMs, translation, or speech.
A general workflow engine or distributed task system.
#12 — Define the processing-adapter contract and implement UTF-8 plain-text ingestion
#13 — Implement born-digital PDF text extraction
#14 — Implement deterministic conservative text normalization
#15 — Implement deterministic chunk generation
Every stage runs in the required order and validates its inputs and outputs.
A failed stage does not leave partially updated final records.
Successful output validates against schemas and cross-record rules.
The command operates without network access.
Errors identify the failed source and processing stage.
Run the command against each approved pilot source and against the full corpus.
Inject representative failures at integrity, extraction, normalization, chunking, and validation stages.
Confirm failed runs are non-destructive.
Run the documented workflow with networking disabled.
Completed by PR #64.
Issue #16's end-to-end pilot processing workflow is now implemented and validated.
The new
arkive-process-pilotcommand processes either the full approved five-document pilot corpus or one selected approved source through integrity verification, adapter selection, extraction, normalization, deterministic chunk generation, derived-record production, canonical validation, and transactional persistence.The final generated pilot corpus validates as:
Failure handling was verified as non-destructive at the integrity, extraction, normalization, chunk-generation, candidate-validation, write, and final-validation boundaries. Processing was also verified with network access disabled, and repeated runs are byte-for-byte deterministic.
Full validation passed with 289 tests, Ruff lint/format, 92% overall coverage, canonical record validation,
pip check, andgit diff --check.Closing as completed.