docs: name the stream the unclosed marker uses - #33
Conversation
Three files said the warning for a region left open is reported on stdout. Both implementations write it to stderr in the default mode, and it reaches stdout only inside the `warnings` array under `--json`, which neither hook entry passes -- so the claim was wrong for every invocation the two mirror readmes document. Verified by running both binaries over a file holding an opening marker and no closing one: stdout carried nothing, and stderr carried the file, the line and the reason, identically from each. The upstream readme names no stream at all and was already right. These three name stderr rather than copying that, because a consumer reading a mirror readme is deciding where to look, and the `--json` alternative is worth the clause. The design spec settles the behavior, so it moves with them or it contradicts them. This is a mirror template, so `make mirror-diff` disagrees until a release ships it. That window is the only way a template change reaches a mirror, and no CI job runs that target. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PR Summary by QodoCorrect documented stream for unclosed-marker warnings
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #33 +/- ##
=======================================
Coverage 87.37% 87.37%
=======================================
Files 3 3
Lines 689 689
=======================================
Hits 602 602
Misses 87 87 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can add REVIEW.md to your repo root and Qodo follows it on every PR |
There was a problem hiding this comment.
🟢 Approval recommended
The changes are documentation-only and accurately reflect the verified stdout/stderr behavior in both implementations’ CLIs.
Pull request overview
This PR corrects documentation to match the tool’s actual behavior for reporting an unclosed unwrap-ignore-start marker: it is emitted to stderr in the default (non---json) mode, and only appears on stdout when using --json (inside the warnings array). This keeps the mirror READMEs and the Rust port design document aligned with both implementations’ CLI behavior.
Changes:
- Update both mirror READMEs to say the unclosed-region warning is reported on stderr, with a note about
--jsonputting it on stdout inwarnings. - Update
docs/rust-port-design.mdto match the same stdout/stderr behavior statement.
File summaries
| File | Description |
|---|---|
| mirrors/rs/README.md | Fixes the stream description for the unclosed-region warning and notes the --json stdout behavior. |
| mirrors/py/README.md | Same stream correction as the Rust mirror README, matching default vs --json behavior. |
| docs/rust-port-design.md | Aligns the design document’s statement with the implementations’ actual output streams. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
What changes, and why
Three files claimed the unclosed-region warning is reported on stdout:
mirrors/py/README.md:25andmirrors/rs/README.md:29— "A missing closing marker exempts the rest of the file and is reported on stdout."docs/rust-port-design.md:306— "reports the unclosed marker on stdout"Both implementations write it to stderr in the default mode. It reaches stdout only inside the
warningsarray under--json, and neither mirror'sentry:passes--json— all four are--writeor--fail-on-change— so the claim was wrong for every invocation those readmes document. Verified by running both binaries over a file with an opening marker and no closing one:Byte-identical from the Rust binary.
README.md:279names no stream and was already correct, so it is untouched. These three name stderr rather than copying that wording, because someone reading a mirror readme is deciding where to look for the message, and the--jsonalternative earns its clause. The design document settles the behaviour for both implementations, so it has to move with the two templates or it contradicts them.Note for the release
Two of the three files are mirror templates, so
make mirror-diffwill disagree until a release regenerates the mirrors — the expected window, and the only route a template change has to a mirror. No CI job runs that target, andmirror-identity(which is not a required context) checks something else.Corpus
The corpus is the specification, and both implementations answer to it. Tick what applies.
corpus/pins the new behavior. The case was written first and failed first.The behaviour was already right in both implementations; only the description of it was wrong.
Checks
make checkpasses, ormake testdoes and this touches no Rust.make tidy, andunwrap-markdown-prose-py --fail-on-changeover all three files becausetidyskips this repository's own hook. Markdown only — no Rust, no Python.