Repository navigation
fix(read): distinguish unreadable PARES queries from site-wide blocks - #247
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 33 minutes. View limit details
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. |
|
Review of this PR. The problem is real (it is #237) and the shape is right: one optional What we change, and why:
What we leave, and why:
|
…is fine An empty PARES page followed by an unreachable canary (a 5xx, a dropped connection) or a paused gate escaped as exit 1 or 6 with no gate signal, and an empty page on the canary search itself was probed with the same URL and read as unreadable. Both now keep the wall (exit 3, one gate hit). An unreadable answer now leaves a line in the gate log through gate.denied, like a restricted record, so a run of them can be seen. The docs name the ledger result to record (unproven), the mutant rows move to read/mutants.txt with rows for each fix and the minimum-count boundary, the signature-only POST test is cut, and the changelog gets a Fixed entry.
# Conflicts: # CHANGELOG.md
|
Merged as 14b9af7 with the changes from the review above. Thanks for this one, the canary check is the right shape. |
Why
An empty or unreadable PARES results page currently pauses every lane as a possible block. When the source's own control still returns enough readable results, the failure is specific to that query. It should remain unreadable, never become a false zero-result answer, without pausing unrelated work.
Changes
unreadable), with no result files, no cache entry for the unreadable answer and no gate hit.on_emptycallback to the shared reader after its existingdataparameter, preserving positional and keyword POST behavior.read/mutants.d/pares-unreadable.txt.Validation
Prepared independently against upstream main
7c1bc0c35846c4674abad00aa4749ebad1ee8994. This proposal does not depend on the locality proposal.git diff --checkpassed.Tests use invented fixtures and fake transport. No live PARES queries were made for this validation, and no personal or family records are included. This does not bypass a challenge or retry a failed control in a loop.
No new dependencies. Adapted from the unreadable-query fix merged in HALCONDEORO#165, preserving the current upstream POST API and adding explicit compatibility coverage.