fix(ci): clear the Vale findings that keep master red - #195
Merged
Conversation
Master has been failing "Prose Quality (Vale)" on 9 findings. This clears those, plus 2 more in the same file so it comes out clean. - `EthSystems.Marketing` on "only" and "first" in `approach-private-broadcasting`, `approach-private-bonds`, `CONTRIBUTING.md` and two CHANGELOG entries - `EthSystems.Terminology` in `GLOSSARY.md`: "data availability" becomes "Data Availability", "Multi-Party Computation" becomes lowercase, both per the repo's own canonical forms Rewrites preserve meaning. Two CHANGELOG lines are touched, which are historical entries, so the edits there are minimal. Vale now reports 0 findings across all five files.
rymnc
approved these changes
Sep 9, 2026
oskarth
added a commit
that referenced
this pull request
Sep 10, 2026
#195 lower-cased "MPC (Multi-Party Computation)" to satisfy an EthSystems.Terminology swap that this branch removes. The glossary writes "FHE (Fully Homomorphic Encryption)" and "TEE (Trusted Execution Environment)" in title case on the lines around it, so the swap was contradicting the glossary it claims to enforce. GLOSSARY.md also sits outside the six directories the Vale job lints, so the edit was made to clear a finding the job was never meant to report. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016pAEx9anABeEhngGvF6qjZ
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".
rymnc
pushed a commit
to ethsystems/web
that referenced
this pull request
Sep 11, 2026
Bumps the `content` submodule (ethsystems/map) from [`1221c36`](ethsystems/map@1221c36) to [`b468053`](ethsystems/map@b468053) — 10 commits, 9 new pages. | Type | Added | PR | | --- | --- | --- | | Vendor | Bermuda | [#191](ethsystems/map#191) | | Vendor | Inco | [#177](ethsystems/map#177) | | Vendor | Interfold | [#194](ethsystems/map#194) | | Vendor | The Graph | [#193](ethsystems/map#193) | | Pattern | Confidential Policy Verdicts | [#183](ethsystems/map#183) | | Pattern | Ephemeral Committees | [#194](ethsystems/map#194) | | Pattern | Private Geospatial Attestation | [#184](ethsystems/map#184) | | Pattern | Reproducible Audit Extraction | [#193](ethsystems/map#193) | | Pattern | Verifiable DKG & Threshold Decryption | [#194](ethsystems/map#194) | Also included: Privacy Pools deployment status/link correction ([#192](ethsystems/map#192)), 18 terminology fixes across existing pages ([#188](ethsystems/map#188)), and Vale CI config fixes ([#195](ethsystems/map#195), [#196](ethsystems/map#196)). Prompted by: ac Co-authored-by: ethsystems-bot <321619048+ethsystems-bot@users.noreply.github.com>
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.
Master has been red on
Prose Quality (Vale)for a while. This clears it.What CI reports
The check surfaces 9 findings. All are in files nobody touched recently.
approach-private-broadcasting.md:95onlyapproach-private-bonds.md:168onlyapproach-private-bonds.md:126firstCONTRIBUTING.md:14,:69firstCHANGELOG.md:32,:39onlyGLOSSARY.md:50data availabilityGLOSSARY.md:114Multi-Party ComputationI also cleared 2 more
firsthits inapproach-private-broadcasting.mdat L97 and L111, so that file comes out clean rather than half fixed.Notes on specific edits
GLOSSARY.mdgets the canonical forms the repo already enforces.data availabilitybecomesData Availability.Multi-Party Computationbecomes lowercase.Two
CHANGELOG.mdlines are historical entries. I kept those edits minimal.chain-state-only resolution SNARKbecomesresolution SNARK over chain state alone, and(warnings only)becomes(warnings, not errors). Meaning is unchanged in both.first-class primitivesbecomesnative primitives. The rest are sentence splits.What this does not do
I ran Vale locally across the repo. There are 224 warnings in 97 files, and this PR clears 11 of them. The other 213 are not reported by CI, so master goes green without them.
Worth knowing before you decide on a wider sweep: 40 of the 196
EthSystems.Marketinghits are hyphenated compounds such asread-only,chain-state-onlyandfirst-class. Those are false positives.Marketing.ymlmatches on a word boundary, so a hyphen prefix still fires. Teaching the rule to skip hyphenated compounds would remove all 40 with no prose churn. That is a lint policy change, so I left it out of this PR.Prompted by: ac