Skip to content

Reject retired versions in living docs - #44

Merged
raghubetina merged 2 commits into
mainfrom
claude/currency-lints
Sep 30, 2026
Merged

raghubetina merged 2 commits into
mainfrom
claude/currency-lints

Conversation

@raghubetina

Copy link
Copy Markdown
Contributor

Summary

Step 6 of the 2026-09-29 agent-documentation audit.

Currency test. A new test in test/documentation.test.js fails when living docs name a retired CLI version, Plan format, API range or rails-sketch profile. It also fails on a release-status word ("candidate", "unreleased", "before publishing") next to the current package version.

  • Scope. It scans README, AGENTS, RELEASING, SECURITY and docs/**. docs/release-history.md is dated history and is exempt.
  • Facts. They are read at test time from src/version.js, release/compatibility.json and RAILS_TARGET_PROFILE.
  • Failure messages. Each one says how to fix the hit.

Other changes.

  • Sweep. All 9 hits are fixed, so no baseline is needed:
    • README and docs/commands.md version-transition notes now state current behavior;
    • RELEASING's "Before publishing CLI 0.8.0" wording is replaced with a label-only fix (the runbook cleanup is a later step).
  • docs/README. One added sentence describes the check.
  • Second commit: brace-expansion 5.0.12. Three advisories published 2026-09-29 against the version eslint reaches through minimatch broke npm audit on main. npm audit fix updates the lockfile within the existing range. This is a development dependency, so the package is unchanged.

Docs: updated README, RELEASING, docs/commands.md and docs/README.md.

Validation

  • npm run check: 215/215
  • npm audit: 0 vulnerabilities
  • AGENTS.md is still within its 2,048-byte cap.

Review

cross-review 0.7.3 (codex-review), max effort, with firstdraft's docs/review-focus.md as the focus file. Round 1 found one medium issue: wrapped Markdown lines hid a release-status phrase. It was fixed with regression probes, and the delta round approved (session d14ae346-6b85-46bd-a11f-7972ff9a8214).

After CLI 0.8.0 shipped, the README and command reference still
explained current behavior through CLI 0.2, 0.3, 0.4, and 0.6, and
RELEASING.md still said "Before publishing CLI 0.8.0". In the
2026-09-29 documentation audit, model review caught none of the
retired-phrase or census probes, so this drift needs a mechanical
check.

The documentation test reads the package version, the API range and
Plan formats in release/compatibility.json, and the Rails profile
that artifact validation accepts. Living pages may name only those
identities. A version without an API or Plan label is checked as a
CLI version. Otherwise the just-retired CLI line would pass whenever
the API range still accepts it, as API 0.7.x does beside CLI 0.8.0.

Living pages also may not call the package version a candidate,
upcoming, pending, or unpublished release, or give a version a
prerelease suffix. Dated release history is exempt. Each failure
names the file, line, and identity, and says how to fix it.

The sweep states current behavior without the old versions. Every
scanned page ships in the package or routes agent work, so each hit
is fixed rather than kept in a baseline.
npm audit fails on main and on every pull request: brace-expansion
5.0.9, which eslint reaches through minimatch, is affected by
GHSA-q2hr-2g5m-vwhr, GHSA-qhr7-859c-m2p7 and GHSA-6j4f-fj2g-mc7p,
published 2026-09-29. npm audit fix moves the lockfile to 5.0.12
within minimatch's existing range. It is a development dependency,
so the published package does not change.
@raghubetina
raghubetina marked this pull request as ready for review September 30, 2026 12:06
@raghubetina
raghubetina merged commit 8fbbe33 into main Sep 30, 2026
4 checks passed
@raghubetina
raghubetina deleted the claude/currency-lints branch September 30, 2026 13:38
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