fix(docs): correct four stale version pins + make the toolchain comment un-staleable - #916
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_f7d57c78-2b10-4c2e-9b14-4dabb77fb030) |
|
@coderabbitai review Generated by Claude Code |
|
|
…nt un-staleable The requested fix was rust-toolchain.toml's comment (channel 1.97.1, prose still said 1.95.0). Tracing it surfaced a larger, live problem. CLAUDE.md's Key Dependencies block — the mandatory first read for every session — was stale on four lines, dated 'Verified against Cargo.lock 2026-06-14', which pre-dates the lance-9 sweep (b2b08b0): lance =7.0.0 -> =9.0.0 lance-linalg =7.0.0 -> =9.0.0 lancedb =0.30.0 -> =0.33.0 datafusion 53 -> 54 (our direct pin) datafusion is the one that had already propagated: the wrong 53 travelled from CLAUDE.md into weather-substrate-poc-v2.md (#915, merged), where 54.1.0 in Cargo.lock was additionally mischaracterized as suspicious drift. 54 is our direct pin in every manifest; lance/lancedb/lance-index all require it, and the move is recorded and MEASURED in lance9-datafusion54-upgrade-probe-v1.md. BOTH datafusion majors are REQUIRED and the dual state is documented upstream: deltalake-core 0.32.4 pins datafusion 53.1.0 (+ -datasource, -physical-expr-adapter), backing the optional delta feature, while the lance family pins 54. Cargo permits the coexistence because they are different semver majors. The docs now say so explicitly, with a do-NOT-collapse-the-lock warning — an earlier draft of this fix called 53 a 'residual transitive', which would have invited exactly that breakage. The lockstep discipline itself was never broken — every manifest carries exact =9.0.0 / =0.33.0. Only the docs lagged, which is the more dangerous shape: the code compiles and the doc is what a new session reads first. rust-toolchain.toml is fixed STRUCTURALLY rather than by correcting the value. That comment has been wrong twice for the same reason (10f87fb fixed a stale 1.94.1; it then went stale at 1.95.0) because it restates a value that a bump edits elsewhere. It now points at the channel line as authoritative and carries an append-only bump log. channel and components are untouched; TOML re-verified. Plan corrected via a dated CORRECTION block, append-only, not a silent edit. Board: two EPIPHANIES entries (the propagation; the restated-value half-life), each carrying its own self-correction. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
d11117a to
798da62
Compare
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
What
Started as the requested one-line fix —
rust-toolchain.toml's comment said "Pinned to 1.95.0" whilechannel = "1.97.1". Tracing it surfaced a live problem:CLAUDE.md's Key Dependencies block, the mandatory first read for every session, was stale on four lines and had already propagated a wrong pin into a merged plan.CLAUDE.mdsaidlance = "=7.0.0"=9.0.0lance-linalg = "=7.0.0"=9.0.0lancedb = "=0.30.0"=0.33.0datafusion = "53"54(our direct pin)Dated "Verified against Cargo.lock 2026-06-14" — which pre-dates the lance-9 sweep (
b2b08b07).A session trusting it would have pinned lance 7 against a lance-9 tree and failed to build. The lockstep discipline itself was never broken — every manifest carries exact
=9.0.0/=0.33.0. Only the docs lagged, which is the more dangerous shape: the code compiles, and the doc is what a new session reads first.Both DataFusion majors are REQUIRED — do not collapse the lock
An earlier draft of this fix called
datafusion 53.1.0a "residual transitive." That was wrong and more dangerous than the original error — it frames a required dependency as cruft, inviting someone to tidyCargo.lockto one major and silently break thedeltafeature.lance/lancedb/lance-index/lance-datafusionall require it. Recorded and MEASURED inlance9-datafusion54-upgrade-probe-v1.md.deltalake-core 0.32.4pinsdatafusion 53.1.0(+-datasource,-physical-expr-adapter) upstream, backing the optionaldeltafeature.Two semver majors coexisting is the correct, documented state. It lifts when deltalake moves to DF 54 — not by any action here.
CLAUDE.mdnow carries that warning explicitly.The toolchain comment is fixed structurally, not by correcting the value
That comment has been wrong twice for the same reason:
10f87fb6fixed a stale1.94.1, and it then went stale at1.95.0afterb2b08b07. A bump editschanneland nobody re-reads the paragraph below it — so correcting the value just resets the clock.It now doesn't restate the version at all (points at
channelas authoritative) and carries an append-only bump log, one line per bump with commit and reason. Appending can't contradict; re-narrating always can.channelandcomponentsare untouched — TOML re-verified parsing to{'channel': '1.97.1', 'components': ['rustfmt', 'clippy']}.Also
weather-substrate-poc-v2.md§6 — my own wrong characterization corrected via a dated⊘ CORRECTIONblock (append-only, not a silent edit), since plan(weather): POC v2 — jc-gated representation → hardware → prediction #915 is already merged.EPIPHANIES.mdentries, each carrying its own self-correction:E-CLAUDE-MD-KEY-DEPENDENCIES-WENT-STALE-AND-PROPAGATED-A-WRONG-PIN-INTO-A-PLAN-1— the propagation is the finding, not the staleness. Meta-lesson: "this version looks unexpected" has three causes — stale doc, real drift, and legitimate multi-major coexistence. I reached for the first two and skipped the third, twice in opposite directions. Read who requires it before calling a version anomalous.E-A-COMMENT-THAT-RESTATES-A-PINNED-VALUE-GOES-STALE-EVERY-BUMP-1— any prose duplicating a machine-readable value has a half-life. Derive it, or make the duplicate append-only.Rule proposed: a version block asserting "verified against Cargo.lock <date>" is a claim with an expiry. A dependency sweep's PR must update every doc restating its pins — same-commit board hygiene, applied to version facts.
Docs + one config comment only. No code, no dependency changes, no lockfile changes.
🤖 Generated with Claude Code
Generated by Claude Code