Conversation
* Format failed blocks with BibtexFormat.parsing_failed_comment.\n* Preserve the documented source-line placeholder.
* Write retained raw failures unchanged by default. * Offer explicit annotate and fail-closed policies. * Document why normal mutable blocks cannot safely use stale raw source.
* Recognize an existing annotation attached to the next failed block. * Avoid adding a second terminal newline to retained raw source. * Keep repeated opt-in annotation writes idempotent.
|
Hi @claell — same note across all of your July 16 issues and PRs (#567–#597), apologies for the repetition. Closing this. Passing CI isn't evidence the underlying claim is real — it just means generated tests match generated code. The batch's timing, structure, and forward-referenced numbers point to this being AI-generated rather than manually found and checked, and reviewing it properly would take more effort than a targeted pass over the parser myself. If this fixes something you actually hit: open a small, human-verified PR against a reopened issue with a real repro, and I'll review it in good faith. Any nontrivial design or API choice needs to be discussed and agreed first, not decided inside a PR. Please disclose and verify AI-assisted work before submitting going forward. |
Summary
annotateand fail-closedraisepolicies.Closes #588.
Dependency and commit structure
The first commit is the same focused configured-comment fix already represented by #530 / draft PR #566. It is included so the policy branch is executable against current
main. The policy and annotation-idempotence changes are the second and third commits. After #566 merges, this branch should be rebased to remove the prerequisite diff.Validation
tests/test_entrypoint.py.Review note
The proposed default changes from generated annotation to exact raw preservation. This is a deliberate integrity choice, but it is user-visible and needs maintainer review. The previous behavior remains available explicitly as
annotate; strict consumers gainraise. There is intentionally no discard policy.The implementation also avoids adding a second terminal newline to failed raw source. Without that detail, even
annotatechanges the failure's line count and cannot recognize its own diagnostic on the next cycle.AI assistance
This pull request was prepared with ChatGPT Codex using GPT-5.6 Sol with high reasoning effort. Codex assisted with policy design, dependency isolation, regression analysis, newline edge-case repair, and validation. Automated validation is not a substitute for maintainer review.