From afca873206f75303c31ce877d5edd4cd0163c2d2 Mon Sep 17 00:00:00 2001 From: Jakob Heuser Date: Mon, 31 Aug 2026 13:47:05 -0700 Subject: [PATCH 1/3] chore(vale): take Vale 3.19.0, re-measured Bumps VALE_VERSION to 3.19.0 and re-derives everything that is a claim about the binary rather than about our code. Every row of VALE_FORMAT_TIERS was re-probed against the 3.19.0 binary and none moved; the generated vocabulary regenerates byte-identical apart from its version string, and the corpus differential (panic shapes included) still holds. What moved is what a table of existing rows cannot report by construction: - `.ex`/`.exs` gained comment and `@doc` extraction, so they leave the unnamed plaintext fallback for the comment tier. Measured both ways: a bare non-comment line fires on 3.18.0 and is silent on 3.19.0. This is a NARROWING, and a silent one, so `agent update` gains a ledger entry telling a reader why their Elixir findings disappeared. - `.mdx` stays `markup` and changed underneath the tier: a JSX element's children are read as the Markdown they are, and carry the element name as a `text.class.` scope. That family is already an open prefix in the schema, so it validates today. Also fixes a latent bug in two recipes, which wrote "`.mdx` is supported as of Vale v%(VALE_VERSION)s" with the version interpolated. Native MDX arrived in 3.18.0, so raising the pin would have silently turned a true sentence into a false one. Both now name the release that did it. --- .changeset/vale-3-19-0.md | 19 ++++++++++ packages/cli/src/agent/create-vale-rule.txt | 32 ++++++++++++----- packages/cli/src/agent/route.txt | 15 +++++--- packages/cli/src/agent/update.txt | 17 +++++++-- .../src/generated/vale-vocabulary-report.md | 12 +++---- packages/cli/src/generated/vale-vocabulary.ts | 14 ++++---- packages/cli/src/rules/capabilities.ts | 36 +++++++++++++++---- packages/cli/src/schemas/vale-rule.ts | 4 +-- packages/cli/test/reconcile-marker.test.ts | 2 +- .../cli/test/vale-vendor-contract.test.ts | 2 ++ 10 files changed, 116 insertions(+), 37 deletions(-) create mode 100644 .changeset/vale-3-19-0.md diff --git a/.changeset/vale-3-19-0.md b/.changeset/vale-3-19-0.md new file mode 100644 index 00000000..66ea959b --- /dev/null +++ b/.changeset/vale-3-19-0.md @@ -0,0 +1,19 @@ +--- +"@taskless/cli": patch +--- + +Vale moves to 3.19.0. + +Elixir (`.ex`, `.exs`) gained comment and `@doc` extraction, so it leaves +the plaintext fallback for the comment tier. This narrows what a Vale rule +matching Elixir reports: the code body is no longer prose, and findings that +came from it disappear silently. `taskless agent update` explains the drop and +where to take a rule that was relying on it. + +MDX gained coverage in the other direction — a JSX element's children are read +as the Markdown they are, so prose inside a wrapping component such as +`` or `