Skip to content

Rule versions

Each category is released as a whole, in semantic versions, and each file is named for the release it changed in: a rule untouched since 1.0.0 has only 1.0.0.toml. A released file never changes; a change is a new file named for the next release, written in full, which takes the older file's place in its folder.

The version numbers are a promise about your lint gate:

Release May
patch, 1.0.1 only remove false positives
minor, 1.1.0 add only info findings, or more cases
major, 2.0.0 add a warning or an error, or remove a rule

validia rules versions lists each category's releases and what changed in each, file by file. Settings pin one category at a time, and moving forward is the default:

[lint.rules]
wording = "1"        # the newest 1.x.y release: never a new warning
security = "1.2.0"   # exactly as released at 1.2.0
# every other category: "latest"

A pin is a ceiling. It reads every folder of its category as it was at that release: the newest file at or before it.

Pin Reads
"latest" the newest release
"1" the newest 1.x.y
"1.2" the newest 1.2.y
"1.2.3" exactly 1.2.3

Under a pin, a rule first released later does not exist yet, and a rule removed later is still there. A pin must match a release that exists, so a typo fails instead of reading as a ceiling. --set lint.rules.wording=1 pins for a single run, and a suite folder's own validia.toml pins for that suite alone.

To retire a rule, a release ships a default file with enabled = false: its older provider and model files are then skipped, and examples that name it are left out.

Every report names the rules it used, so a result can be reproduced against the same checks:

rules 1.0.0 (wording 1.1.0) for anthropic:claude-opus-5-5 + rules/

That is the release most categories were read at, any category read at another, the model, and the project's own folder when there is one.

Release history

Every release of every category, newest first. validia rules versions prints the same.

wording

1.0.0 (latest), released 2026-10-07:

  • First release. (17 files)
  • First release: capitals, '!!' and 'default to' are warnings on the models documented to overtrigger on them. (wording/capitals anthropic/default, wording/exclamation-marks anthropic/default)
  • First release: capitals and '!!' are warnings on Gemini 3, where over-triggering is documented. (wording/capitals google/default, wording/exclamation-marks google/default)
  • First release: capitals and '!!' are warnings on GPT-4.1 and GPT-5, where over-triggering is documented. (wording/capitals openai/default, wording/exclamation-marks openai/default)

instructions

1.0.0 (latest), released 2026-10-07:

  • First release. (11 files)
  • First release: capitals, '!!' and 'default to' are warnings on the models documented to overtrigger on them. (instructions/default-when-unsure anthropic/default)
  • First release: a run of prohibitions is information here, because Opus 5.5 follows a named avoid-list. (instructions/prohibition-list anthropic/claude-opus-5-5)

context

1.0.0 (latest), released 2026-10-07:

  • First release. (12 files)

reasoning

1.0.0 (latest), released 2026-10-07:

  • First release. (11 files)
  • First release: a self-verification line is a warning on Opus 5, where it is documented. (reasoning/self-verify anthropic/claude-opus-5)
  • First release: asking to see the model's reasoning is an error on the five models whose safeguards refuse it. (reasoning/show-reasoning anthropic/default)

output

1.0.0 (latest), released 2026-10-07:

  • First release. (8 files)
  • First release: a blanket ban on bullets or headers is a warning on Fable 5.1, which already under-formats. (output/format-ban anthropic/claude-fable-5-1)
  • First release: suppressing narration is a warning on Fable 5.1 and Sonnet 5.5, which narrate progress between tools. (output/hold-progress anthropic/default)

tools

1.0.0 (latest), released 2026-10-07:

  • First release. (8 files)
  • First release: examples in a description get OpenAI's advice, which differs from Claude's. (tools/examples-in-tool openai/default)

security

1.0.0 (latest), released 2026-10-07:

  • First release. (security/hide-instructions default, security/obey-input default, security/examples default)

maintenance

1.0.0 (latest), released 2026-10-07:

  • First release. (maintenance/change-history default, maintenance/grading-talk default, maintenance/examples default)