chore: report 0.2.0, the version --ttl actually shipped in - #3
Conversation
`--ttl` (#2) added a flag to `publish` and left `SteleVersion.current` at `0.1.0`, so two binaries with different command surfaces both identify as `stele-cli/0.1.0`. The server's `426` gate compares exactly that string, which means the drift is invisible to the one mechanism built to catch it: an install predating #2 answers `stele publish --ttl` with an unknown-flag error while reporting the same version as an install that supports it. Bump to 0.2.0. Additive change, so the server's `minimumCLIVersion` stays at `0.1.0` — a 0.1.0 client is still correct, it simply has no `--ttl`. Raising the floor would `426` every installed client to prevent drift that does no harm. Nothing else needed changing: `SteleVersion.current` is the only version literal in the repo, and every test interpolates it rather than hardcoding a string. Verified with the integration smoke against a real server — 72/72, driven by the installed 0.2.0 binary, which is what actually proves the new version is not gated rather than assuming the comparison. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E3vBKBewMwmbCo5VxBLrmA
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe change updates ChangesVersion Metadata
Estimated code review effort: 1 (Trivial) | ~2 minutes Poem
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
--ttl(#2) added a flag topublishand leftSteleVersion.currentat0.1.0. Two binaries with different command surfaces therefore both identify asstele-cli/0.1.0— and that string is exactly what the server's426gate compares, so the drift is invisible to the one mechanism built to catch it.The concrete failure: an install predating #2 answers
stele publish --ttlwith an unknown-flag error while reporting the same version as an install that supports it. I hit this on my own machine before noticing the cause.What changed
One line.
SteleVersion.currentis the only version literal in the repo, and all five test assertions interpolate it rather than hardcoding a string, so nothing needed updating in lockstep.What deliberately did not change
minimumCLIVersionon the server stays at0.1.0. This is an additive change — a 0.1.0 client is still correct, it just has no--ttl. Raising the floor would answer426to every installed client to prevent drift that does no harm.Nothing on the server side needed touching at all: its version literals are parser fixtures (
stele-cli/0.1.0as a parse input,stele-cli/0.0.1as the outdated case) and its gate tests derive relatively fromminimumCLIVersion.Verification
scripts/integration-smoke.shagainst a real server on a virgin database: 72/72, driven by the installed0.2.0binary rather than--binThat last detail is the point — it proves the bumped version is not gated, rather than asserting
0.2.0 >= 0.1.0and hoping.Still open
This repo has no tags and no release automation, which is how
--ttlshipped under0.1.0in the first place. The bump is a hand-edit nothing reminds you to make. Worth closing separately — either a CI check that fails a PR touchingSources/without touchingVersion.swift, or real tagged releases.🤖 Generated with Claude Code
https://claude.ai/code/session_01E3vBKBewMwmbCo5VxBLrmA
Summary by CodeRabbit