Skip to content

fix: put the wiki version note in the lockstep check, and enforce it in CI - #107

Merged
acamarata merged 1 commit into
mainfrom
fix/wiki-version-lockstep
Sep 13, 2026
Merged

acamarata merged 1 commit into
mainfrom
fix/wiki-version-lockstep

Conversation

@acamarata

Copy link
Copy Markdown
Collaborator

The drift

.github/wiki/Home.md advertised Version 0.0.8 in its subtitle and v0.0.8 under Current Version, while package.json is at 1.3.6. The public admin documentation named a pre-1.0 release for the entire 1.x line.

Why it drifted — two causes, both fixed

1. The wiki was never a lockstep source. scripts/check-version-lockstep.sh covered package.json, src/lib/cli-version.ts, and the sibling repo's version.go — not the wiki. It now treats both Home.md strings as blocking sources. These are the version a reader actually sees, so a stale one matters more than a stale internal constant. Deleting either marker line fails the check rather than silently disabling it.

2. CI didn't run the script. version-lockstep.yml re-implemented the package.json vs cli-version.ts comparison inline. Anything added to the script was therefore never enforced in CI. The workflow now invokes the script, so CI and the pre-commit hook agree by construction instead of by maintenance.

Home.md corrected to 1.3.6 in both places.

Verification

Case Result
Corrected tree passes, all four sources agree on 1.3.6
Subtitle reverted to 0.0.8 exit 1, "out of lockstep" message
Current Version line deleted exit 1, delete-guard message
CI-shaped checkout (no sibling cli/) passes; Go cross-check self-skips as designed
bash -n, workflow YAML parse clean

Both negative cases were exercised, not assumed.

Deliberately not changed

The two remaining v1.2.3 strings in the wiki are illustrative sample values — one inside a nself prod rollback --version= CLI example, one in a mocked dashboard panel. They are not version notes, and rewriting sample values would be churn.

Closes acceptance row 7 of P6-E9-W4-S3-T1 (doc-sync ritual).

…in CI

.github/wiki/Home.md advertised "Version 0.0.8" in its subtitle and "**v0.0.8**"
under Current Version while package.json was at 1.3.6 — the public admin
documentation named a pre-1.0 release for the entire 1.x line.

Two reasons it drifted, both fixed:

- check-version-lockstep.sh covered package.json, cli-version.ts and the
  sibling repo's version.go, but not the wiki. It now treats both Home.md
  strings as blocking sources: they are the version a reader actually sees, so
  a stale one matters more than a stale internal constant. Deleting either line
  fails the check rather than silently disabling it.
- version-lockstep.yml re-implemented the package.json vs cli-version.ts
  comparison inline instead of calling the script, so anything added to the
  script was never enforced in CI. The workflow now runs the script, which
  makes CI and the pre-commit hook agree by construction.

Home.md corrected to 1.3.6 in both places.

Verified: the check passes on the corrected tree and fails correctly in both
negative cases — subtitle reverted to 0.0.8 (exit 1, drift message), and the
Current Version line deleted (exit 1, delete-guard message). Also exercised in a
CI-shaped checkout with no sibling cli/ repo, where the Go cross-check self-skips
and the gate still passes on its own. bash -n and YAML parse both clean.

The two remaining v1.2.3 strings in the wiki are illustrative sample values
inside a CLI example and a mocked dashboard panel, not version notes, and are
deliberately left alone.
@acamarata
acamarata merged commit fb36c83 into main Sep 13, 2026
31 of 32 checks passed
@acamarata
acamarata deleted the fix/wiki-version-lockstep branch September 13, 2026 18:25
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