Skip to content

fix(ingest): #773 byte-identical re-ingest converges instead of accumulating - #783

Merged
jasonssdev merged 1 commit into
mainfrom
fix/773-reingest-converges
Aug 19, 2026
Merged

fix(ingest): #773 byte-identical re-ingest converges instead of accumulating#783
jasonssdev merged 1 commit into
mainfrom
fix/773-reingest-converges

Conversation

@jasonssdev

Copy link
Copy Markdown
Owner

Summary

An identical re-ingest accumulated near-duplicate objects instead of replacing them — 17 objects from one 81-line source, including candidates the first run's judge had explicitly dropped — because extraction re-ran on every re-ingest and create-only dedup can only catch verbatim-reproduced slugs.

Verification

  • Full suite: 5122 passed, 1 skipped. ruff, ruff format --check, mypy . clean.
  • Zero-call convergence proven structurally: skip tests install a fake LLM with an empty reply list, so any model contact fails loudly.
  • Gentle AI review: lineage review-486f068b72495fcd approved (4R; 0 blocking findings; one repair round fixed the two lens-corroborated defects — a self-contradicting cli.md paragraph and a stranded dataclass docstring). Gates pre-commit/pre-push/pre-pr allow.

Closes #773

🤖 Generated with Claude Code

https://claude.ai/code/session_011rKLjyxsEZJtZWDCeozZhs

…ulating

Extraction is non-deterministic, so re-running it on an unchanged source
unioned every set the model ever produced (17 objects from one 81-line
file) -- create-only dedup only catches verbatim-reproduced slugs. A
byte-identical re-ingest of an already-extracted source now skips
extraction entirely: no model call, nothing written, one stderr line
naming --re-extract as the deliberate redo. Retryable debt still
re-extracts without the flag (extraction_status: failed, judge-degrade
extraction_notice -- the exact retry lint names), a legacy Source with no
origin_key takes the full path once to backfill it, and a post-forget
regenerate stays a fresh run. testing.md's 'idempotent' wording is now
true as written; specs and cli.md updated to the real contract.
@jasonssdev
jasonssdev merged commit 263dd35 into main Aug 19, 2026
6 checks passed
@jasonssdev
jasonssdev deleted the fix/773-reingest-converges branch August 19, 2026 04:07
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.

ingest: an identical re-ingest accumulates near-duplicate objects instead of replacing them (17 objects from one 81-line source)

1 participant