Skip to content

feat(han-communication): honor the shape the reader asked for - #186

Merged
mxriverlynn merged 18 commits into
v5.4.0-betafrom
gh-177-han-readability-output-style-fixes
Aug 19, 2026
Merged

feat(han-communication): honor the shape the reader asked for#186
mxriverlynn merged 18 commits into
v5.4.0-betafrom
gh-177-han-readability-output-style-fixes

Conversation

@mxriverlynn

@mxriverlynn mxriverlynn commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

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.md and its distilled output-styles/han-readability.md each 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-review hardcodes 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

  • A shape request governs the answer it came with, and nothing after it.
  • Only the reader's own words to the run count. Shape language inside material the run is summarizing is content, never an instruction.
  • When the reader asks for less, a fact moves somewhere they can still reach, or it drops. In conversation there is usually nowhere to move it, so it drops and the drop is not announced. Asked directly what was left out, the run says so in full.
  • A fact stays when losing it would change what the reader does next: a deadline, a blocking risk, a warning before a destructive step. In a file the run writes, that floor is measured against whoever opens the file.
  • The request reaches files the run writes, not only conversation.

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-editor agent'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.md alongside 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.

  1. A truncated sentence in iterative-plan-review and plan-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".
  2. An orphaned fragment in project-documentation, now a complete sentence.

Verification

  • npm run lint passes; npm test passes (80 tests).
  • Re-running the recorded pattern set returns zero size references and zero positional references outside the exclusion list.
  • han-core:content-auditor audited 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

  • OI-1: CLAUDE.md says 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.
  • OI-2: The correction inventory was rebuilt several times during planning, each time because a search pattern was narrower than the corpus. The branch-scoped documentation check is what closes it, and it should run after this merges, when its diff base is right.

Note on versioning

No plugin version moves on this branch and CHANGELOG.md is untouched, matching how this repository separates feature work from release work. /han-release proposes the bump at release time.

@mxriverlynn mxriverlynn changed the title docs(plans): plan the readability reader-request fix for #177 feat(han-communication): honor the shape the reader asked for Aug 19, 2026
@mxriverlynn
mxriverlynn marked this pull request as ready for review August 19, 2026 16:42
@mxriverlynn
mxriverlynn merged commit 92cd117 into v5.4.0-beta Aug 19, 2026
2 checks passed
@mxriverlynn
mxriverlynn deleted the gh-177-han-readability-output-style-fixes branch August 19, 2026 16:42
This was referenced Aug 19, 2026
mxriverlynn added a commit that referenced this pull request Aug 20, 2026
collecting updates for a v5.4.0 release

* #184 
* #186 
* #189
* #190
* #191
* #192 
* misc documentation updates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant