Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Thanks for opening your first pull request in this repository, @HarperZ9. Before review starts, make sure the PR checklist is complete and the fastest relevant local checks have been run. The expected workflow is documented in CONTRIBUTING.md. |
|
Consolidating my overlapping submissions into #102. That PR now preserves this version's source, question, timezone-aware timestamp, content, heading-content, and text offset guards, and adds the direct extractor-contract and negative-control checks. It also restricts expected failures to a dedicated missing-field exception so unrelated failures remain visible. Closing this older PR to leave one review target for #77; its branch remains available. No production changes are included. |
Summary
Adds deterministic integration coverage proving whether extractor metadata survives the complete file-ingestion path into stored chunk metadata. The currently lost extractor fields are represented as narrow strict xfails so unrelated regressions still fail and a future propagation fix becomes an XPASS failure until the markers are removed.
Linked context
Closes #77
PR Size
PR Type
promptlabel required; eval results required below)Context / Motivation
The existing integration helper called
Ingestordirectly, so it could not detect metadata dropped between extractor output andMemoryStore.add. Issue #77 asks for pipeline-level proof using offline text and Markdown fixtures.Changes
.txtand.mdfixtures through the realAnchor.ingest_filepath.KeyErrorxfails for source format, text offsets, and Markdown heading metadata currently lost before storage.How to test
uv run pytest -q tests/integration/test_ingestion_pipeline.pygives 2 passed and 4 xfailed.uv run pytest -m "not eval" -k "not test_malformed_python_raises_value_error"gives 152 passed, 4 xfailed, and 37 deselected. The excluded Windows path-escaping failure is pre-existing and outside this change.uv run pre-commit run --files tests/integration/test_ingestion_pipeline.pypasses the file-scoped formatting, lint, type, AST, secret, and hygiene hooks. The environment-widepip-audithook reports 17 pre-existing dependency advisories.Prompt Change Eval Results
Not applicable.
Checklist
Notes for reviewers
The xfails intentionally use both
strict=Trueandraises=KeyError. Missing chunks, malformed stored records, wrong fixture content, invalid timestamps, or failed Markdown section selection remain ordinary failures. When metadata propagation is implemented, these tests become XPASS failures and should be converted to normal passing assertions.AI assistance disclosure: OpenAI Codex assisted with drafting the tests and reviewing the final diff. The targeted and deterministic checks above were run locally.