|
Some checks are pending
CI / lint-and-test (push) Waiting to run
backfill-sources.py runs every 15 minutes and derives sources.status purely from directory location. If a source file is in inbox/queue/, it blindly overwrites the DB status to 'unprocessed' — even when the DB already had 'extracted' or 'null_result'. This is why the 43 zombies kept coming back after manual backfill: cron re-reset them every 15 minutes, then each 4h cooldown expiry re-triggered runaway extraction on the same source. Fix: never regress from a terminal status (extracted, null_result, error, ghost_no_file) to 'unprocessed'. File location is ambiguous (legitimately new vs. zombie from failed archive); DB is authoritative. Legitimate re-extraction still works — it goes through the needs_reextraction path which is unaffected by this gate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| audit-wiki-links.py | ||
| backfill-ci.py | ||
| backfill-descriptions.py | ||
| backfill-domains.py | ||
| backfill-reviewer-count.py | ||
| backfill-source-authors.py | ||
| backfill-sources.py | ||
| bootstrap-contributors.py | ||
| contributor-graph.py | ||
| cumulative-growth.py | ||
| embed-claims.py | ||
| extract-decisions.py | ||
| extract-graph-data.py | ||
| migrate-entity-schema.py | ||
| migrate-source-archive.py | ||
| nightly-reweave.sh | ||
| openrouter-extract-v2.py | ||
| reconcile-source-status.sh | ||
| reconcile-sources.py | ||
| scoring_digest.py | ||
| tier0-gate.py | ||
| vector-gc.py | ||