Shay
|
bb637ad3e1
|
feat(core_ingest): IngestPipeline, manifold integration, full test suite
- Add core_ingest/pipeline.py: IngestPipeline wires StructuralSegmenter →
CandidateGeometricPressure construction → IngestCompiler → SegmentManifold
in a single deterministic call. Accepts raw bytes + modality hint, returns
(ValidationReport, list[LearningArtifact]) and auto-registers accepted
packets into the manifold.
- Update core_ingest/compiler.py: compile() accepts an optional
manifold: SegmentManifold | None = None parameter; when provided,
accepted packets are registered automatically — callers no longer need
a manual register() call.
- Update core_ingest/__init__.py: expose IngestPipeline, Segment,
GateDisposition, ManifoldEntry in public __all__.
- Add tests/test_segmenter.py: prose, scripture, code, math segmenters;
heading detection; empty-block filtering; D0 invariant on SourceSpan.
- Add tests/test_compiler.py: structural dedup by pressure_id; semantic
convergence warning; ProvenanceGate / SemanticGate / GovernanceGate
rejection paths; ReviewDecision override; acceptance_rate property.
- Add tests/test_manifold.py: register → lookup → spans_for round-trip;
multi-key isolation; __len__ and __contains__; append-only semantics.
- Add tests/test_pipeline.py: end-to-end prose ingest; scripture ingest;
manifold reconstruction lookup after pipeline run; empty-source guard."
|
2026-05-13 12:07:12 -07:00 |
|