Skip to content

Make etincel lint print the full audit, not three bare terms - #27

Merged
jeanl merged 2 commits into
mainfrom
feat/cli-lint-full-output
Aug 15, 2026
Merged

jeanl merged 2 commits into
mainfrom
feat/cli-lint-full-output

Conversation

@jeanl

@jeanl jeanl commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

The CLI discarded almost everything auditText() computes: whole-piece rhythm findings (the tool's core differentiator vs. word-list linters), the summary, replacement hints, and strengths all got dropped in favor of a topFindings slice of three terms. That was the first thing a new user saw and undercut the "we measure prose shape" pitch.

  • FileLintResult now carries the full findings list (not a 3-item slice), categoryBreakdown, summary, strengths, and the register that was actually applied.
  • formatText groups findings by category (structural first, vocabulary bucketed together), sorts by severity within a group, prints notes and replacement hints, and shows line:col positions on lexical findings via a new engine/offsets.ts helper. Structural findings are never truncated; vocabulary findings cap at 20 with a count of what was omitted.
  • formatJson is a strict superset of formatText's data now that FileLintResult carries everything.

No engine changes. action.yml/orb.yml only care about the exit code, so neither needed updates. README's sample output block still needs regenerating from a real run (follow-up, not done here).

Bumps version 0.9.5 -> 0.10.0 (new exported surface: LintFinding, offsetToLineCol/buildLineStarts) across package.json, package-lock.json, server.json, and .claude-plugin/{plugin,marketplace}.json.

Claude-Session: https://claude.ai/code/session_01U24Csv17sJtoAqZtS1eNLU

jeanl and others added 2 commits August 15, 2026 11:06
The CLI discarded almost everything auditText() computes: whole-piece
rhythm findings (the tool's core differentiator vs. word-list linters),
the summary, replacement hints, and strengths all got dropped in favor
of a `topFindings` slice of three terms. That was the first thing a new
user saw and undercut the "we measure prose shape" pitch.

- FileLintResult now carries the full findings list (not a 3-item
  slice), categoryBreakdown, summary, strengths, and the register that
  was actually applied.
- formatText groups findings by category (structural first, vocabulary
  bucketed together), sorts by severity within a group, prints notes
  and replacement hints, and shows line:col positions on lexical
  findings via a new engine/offsets.ts helper. Structural findings are
  never truncated; vocabulary findings cap at 20 with a count of what
  was omitted.
- formatJson is a strict superset of formatText's data now that
  FileLintResult carries everything.

No engine changes. action.yml/orb.yml only care about the exit code,
so neither needed updates. README's sample output block still needs
regenerating from a real run (follow-up, not done here).

Bumps version 0.9.5 -> 0.10.0 (new exported surface: LintFinding,
offsetToLineCol/buildLineStarts) across package.json, package-lock.json,
server.json, and .claude-plugin/{plugin,marketplace}.json.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U24Csv17sJtoAqZtS1eNLU
@jeanl
jeanl merged commit ec65c15 into main Aug 15, 2026
8 checks passed
@jeanl
jeanl deleted the feat/cli-lint-full-output branch August 15, 2026 15:08
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