Skip to content

Pin the core dependency to a tag instead of tracking main - #25

Merged
fylorn merged 1 commit into
devfrom
chore/pin-core-tag
Sep 23, 2026
Merged

fylorn merged 1 commit into
devfrom
chore/pin-core-tag

Conversation

@fylorn

@fylorn fylorn commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Why

The five core crates were declared as branch = "main", so every cargo update took whatever happened to be on that branch.

Nothing has broken yet, but only by luck. The lock sat on 6d27617 (core v0.1.0) while core moved 127 commits to v0.29.0 — and across that entire span, the crates we consume changed by four lines:

crate commits lines
tw-provider 1 1 (a description field)
tw-resil 2 2
tw-crypto 2 2
tw-protocol 2 2
tw-types 9 144 (all desktop-side additions)

There was nothing to collide with, so tracking a moving branch cost nothing.

That is about to stop being true: the shared layer between this repo and core is going to be worked on, and an unpinned branch would turn every core merge into a coin flip on this build. The desktop app has always pinned a tag; this does the same.

What

branch = "main" → tag = "v0.29.0" in crates/common/Cargo.toml and crates/gateway/Cargo.toml, plus the resulting Cargo.lock move.

No source changes. cargo check --workspace --all-targets is clean — which is the table above stated a second way.

🤖 Generated with Claude Code

The five core crates were declared as `branch = "main"`, so every
`cargo update` took whatever was on that branch at the time. Nothing has
broken yet, but only by luck: the lock sat on `6d27617` (core v0.1.0)
while core moved 127 commits to v0.29.0, and across that span the crates
we consume changed by four lines in total — three `description` fields
and one doc comment. There was nothing to collide with.

That stops being true now. The shared layer is about to be worked on, so
an unpinned branch turns every core merge into a coin flip on this
build. The desktop app has always pinned a tag; this does the same.

Moving the lock from v0.1.0 to v0.29.0 compiles clean across the
workspace with no source changes, which is the same fact stated a
second way.

Co-Authored-By: Claude Opus 5 <[email protected]>
@fylorn
fylorn merged commit a890511 into dev Sep 23, 2026
@fylorn
fylorn deleted the chore/pin-core-tag branch September 23, 2026 07:18
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