fix(ci): vale config - #196
Merged
Merged
Conversation
oskarth
added a commit
that referenced
this pull request
Sep 10, 2026
The Prose Quality (Vale) job has never worked as a gate. #196 turned it green by adding `continue-on-error: true`, so the step can no longer fail the build. The green run itself proves it: run 34344604531 still logs `##[error]Vale and reviewdog exited with status code: 1` after reporting 207 findings. Three defects stack up. 1. The `files` input never reaches Vale. `.github/workflows/ci.yml` passed it as a YAML block scalar, and #196 changed that to a block scalar plus `separator: "\n"`. Neither works. vale-action reads `separator` through `@actions/core` `getInput`, which trims whitespace, so the newline arrives as an empty string and the multi-line `files` value falls through to `JSON.parse` and throws. The action logs "User-specified path is invalid; falling back to 'all'" and lints the whole repository instead of the six content directories. 2. EthSystems.Marketing flags the bare words "only", "first" and "unique". Those are ordinary technical prose and produce most of the findings in the linted scope. 3. reviewdog exits 1 on any result, whatever `fail_on_error` says, and GitHub caps annotations at 50 per job. So the job fails on volume, and the only way anyone found to stop it failing was to stop it reporting. Changes: - Scope the Marketing rule to promotional claims: "the only solution", "world's first", "first-of-its-kind", "truly unique", "leading provider", and the existing superlative and buzzword lists. - Drop the Terminology swap that forced "Multi-Party Computation" to lower case, and restore the title-case expansion in GLOSSARY.md that #195 changed to satisfy it. The glossary writes "FHE (Fully Homomorphic Encryption)" and "TEE (Trusted Execution Environment)" in title case on the lines around it, and GLOSSARY.md is not one of the files the job lints, so that finding should never have been reported. - Ignore file names used as markdown link text. They are identifiers, not prose. - Pass `files` as a JSON array, the one form the action parses. - Drop `continue-on-error` from the Vale step so it can gate again. - Fix the real content: enterprise-grade, next-generation, scalable, robust and comprehensive in five vendor and pattern cards, plus the remaining ERC-7573 and DA Layer terminology drift. Verified with Vale 3.20.0, the version CI installs. Findings in the linted scope: 187 on master, 0 here. Whole repository: 207 to 7, all in QA-AUDIT.md and the gitignored validation report, neither of which the job lints. On a fixture the rules still catch "leading provider", "enterprise-grade" and "world's first", and no longer flag "only the sender learns the amount", "the first step" or "a unique nullifier".
oskarth
added a commit
that referenced
this pull request
Sep 10, 2026
The Prose Quality (Vale) job has never worked as a gate. #196 turned it green by adding `continue-on-error: true`, so the step can no longer fail the build. The green run itself proves it: run 34344604531 still logs `##[error]Vale and reviewdog exited with status code: 1` after reporting 207 findings. Three defects stack up. 1. The `files` input never reaches Vale. `.github/workflows/ci.yml` passed it as a YAML block scalar, and #196 changed that to a block scalar plus `separator: "\n"`. Neither works. vale-action reads `separator` through `@actions/core` `getInput`, which trims whitespace, so the newline arrives as an empty string and the multi-line `files` value falls through to `JSON.parse` and throws. The action logs "User-specified path is invalid; falling back to 'all'" and lints the whole repository instead of the six content directories. 2. EthSystems.Marketing flags the bare words "only", "first" and "unique". Those are ordinary technical prose and produce most of the findings in the linted scope. 3. reviewdog exits 1 on any result, whatever `fail_on_error` says, and GitHub caps annotations at 50 per job. So the job fails on volume, and the only way anyone found to stop it failing was to stop it reporting. Changes: - Scope the Marketing rule to promotional claims: "the only solution", "world's first", "first-of-its-kind", "truly unique", "leading provider", and the existing superlative and buzzword lists. - Drop the Terminology swap that forced "Multi-Party Computation" to lower case, and restore the title-case expansion in GLOSSARY.md that #195 changed to satisfy it. The glossary writes "FHE (Fully Homomorphic Encryption)" and "TEE (Trusted Execution Environment)" in title case on the lines around it, and GLOSSARY.md is not one of the files the job lints, so that finding should never have been reported. - Ignore file names used as markdown link text. They are identifiers, not prose. - Pass `files` as a JSON array, the one form the action parses. - Drop `continue-on-error` from the Vale step so it can gate again. - Fix the real content: enterprise-grade, next-generation, scalable, robust and comprehensive in five vendor and pattern cards, plus the remaining ERC-7573 and DA Layer terminology drift. Verified with Vale 3.20.0, the version CI installs. Findings in the linted scope: 187 on master, 0 here. Whole repository: 207 to 7, all in QA-AUDIT.md and the gitignored validation report, neither of which the job lints. On a fixture the rules still catch "leading provider", "enterprise-grade" and "world's first", and no longer flag "only the sender learns the amount", "the first step" or "a unique nullifier".
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.
What are you adding?
Description
fixes the vale config issue after inspecting ci logs
Checklist