fix: put the wiki version note in the lockstep check, and enforce it in CI - #107
Merged
Merged
Conversation
…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.
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.
The drift
.github/wiki/Home.mdadvertised Version 0.0.8 in its subtitle and v0.0.8 under Current Version, whilepackage.jsonis 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.shcoveredpackage.json,src/lib/cli-version.ts, and the sibling repo'sversion.go— not the wiki. It now treats bothHome.mdstrings 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.ymlre-implemented thepackage.jsonvscli-version.tscomparison 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.mdcorrected to 1.3.6 in both places.Verification
Current Versionline deletedcli/)bash -n, workflow YAML parseBoth negative cases were exercised, not assumed.
Deliberately not changed
The two remaining
v1.2.3strings in the wiki are illustrative sample values — one inside anself 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).