feat(han-communication): honor the shape the reader asked for - #186
Merged
mxriverlynn merged 18 commits intoAug 19, 2026
Conversation
mxriverlynn
marked this pull request as ready for review
August 19, 2026 16:42
This was referenced Aug 19, 2026
Merged
mxriverlynn
added a commit
that referenced
this pull request
Aug 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #177.
The readability standard gains a seventh self-check criterion: the draft matches the shape the reader asked for, in count, format, and register. Where that request collides with another rule in the standard, the request wins. It loses only to a fact whose loss would change what the reader does next, and to a skill's required sections.
Issue #177 reported a session where a request for "3 simple sentences, then a few bullet points" took three corrections to satisfy. Two of the three failures traced to the standard itself: the self-check had no criterion for a stated format constraint, and "Fidelity wins" read as outranking an explicit request to simplify.
What changed
Two canonical files carry the behavior.
han-communication/references/readability-rule.mdand its distilledoutput-styles/han-readability.mdeach gained the seventh criterion, a scoped fidelity clause, and a corrected escape clause that no longer claims fidelity and the blocklist can never be overridden.Everything else is a sweep. The standard's old count and its old fidelity guarantee were quoted across the repository, and both went wrong the moment the standard changed. Those quotations are now count-free, so the next change to the check touches two files instead of thirty.
One skill needed more than a quotation fix.
code-reviewhardcodes the whole self-check as its own numbered list rather than reading the standard live, so it gained the seventh criterion directly. Without that it would have run a six-criterion check against a seven-criterion standard.Behavior, precisely
Deliberately unchanged
Nine sentences whose subject is the audience frame. They read "The frame governs how a fact is said, never whether a required fact appears" and stay true: what can now drop a fact is the reader's stated request, not the instruction to write for a non-expert.
Everything describing the
readability-editoragent's own rubric. No skill passes the editor a reader's request, so a shape check there would have nothing to read.Both exclusions are recorded in
docs/plans/readability-reader-format-requests/artifacts/correction-inventory.mdalongside the search patterns, so a later sweep does not "fix" them.Two pre-existing defects repaired in passing
Both sat inside sentences this change was already editing.
iterative-plan-reviewandplan-work-items, missing its opening clause: "...never whether a required fact appears. separate editor pass, so criterion 6 is...". Restored as "This skill runs no separate editor pass".project-documentation, now a complete sentence.Verification
npm run lintpasses;npm testpasses (80 tests).han-core:content-auditoraudited the sweep and found no lost facts across 160-plus checked, including every skill-specific must-keep-facts instruction.No automated test covers the behavior itself. It lives in prose an assistant reads while drafting, so there is no function to call. A checked-in test and a recorded-transcript test were both considered and deferred with reopening triggers, in
feature-implementation-plan.md.Planning artifacts
docs/plans/readability-reader-format-requests/carries the specification, the implementation plan, both decision logs, the review findings, the correction inventory, and the verification analysis. Sixteen specification decisions, five of them settled by the maintainer directly against a recommendation, each recording the cost that was accepted.Open items, neither blocking
CLAUDE.mdsays every doc in this repository follows the writing voice with no hype. A reader's request now overrides the blocklist in a committed file, so the convention needs a matching carve-out or an explicit statement that it governs regardless.Note on versioning
No plugin version moves on this branch and
CHANGELOG.mdis untouched, matching how this repository separates feature work from release work./han-releaseproposes the bump at release time.