Skip to content

docs(cargo): correct stale publishable-set comment (2 crates, not 5)#385

Merged
githubrobbi merged 3 commits into
mainfrom
docs/correct-publishable-set
Jun 10, 2026
Merged

docs(cargo): correct stale publishable-set comment (2 crates, not 5)#385
githubrobbi merged 3 commits into
mainfrom
docs/correct-publishable-set

Conversation

@githubrobbi

Copy link
Copy Markdown
Collaborator

What

The root Cargo.toml publish-policy comment claimed five crates were publish = true (uffs-broker, uffs-broker-protocol, uffs-security, uffs-text, uffs-time).

Why it's wrong

cargo metadata --no-deps is authoritative and shows only two members resolve to publish = ANY:

Crate Resolved publish
uffs-text ANY (publishable)
uffs-time ANY (publishable)
all 17 others [] (publish = false)

uffs-broker, uffs-broker-protocol, and uffs-security were flipped back to publish = false (publish.workspace = true) with "Intentionally NOT published" rationale (name-squat reservations / internal-only — see each crate's per-manifest comment and crates-io-publishability-deep-dive.md §7.3–7.5). The root comment was never updated.

Change

Comment-only correction in root Cargo.toml; points readers at cargo metadata --no-deps as the live source of truth. No manifest semantics change.

Verification

Full pre-push gate green (cargo-check, lint-tests, tests, lint-ci-windows, deny, vet).

toolchain-sync probes candidate nightlies in a per-candidate scratch

CARGO_TARGET_DIR, then commits the bump and exits without touching the

main caches. Both retain the OLD nightly's artifacts, so the next

build dies with E0514 'found crate X compiled by an incompatible

version of rustc' (observed: assert_cmd/winnow/tempfile/toml_parser).

Two caches must be invalidated, not one:

  1. cargo clean        — main target/ rlibs/rmeta carry the old rustc

                          commit-hash; cargo fingerprints do not force a

                          full rebuild across a nightly bump.

  2. sccache --stop-server — the long-lived sccache daemon caches its

                          compiler-version detection keyed by the rustc

                          binary mtime/size. Under rustup, rustc is a

                          toolchain-agnostic proxy (~/.cargo/bin/rustc ->

                          rustup) whose bytes never change across a bump,

                          so the daemon keeps serving the OLD nightly's

                          objects and re-poisons target/ right after a

                          cargo clean. Restarting forces a fresh rustc -vV

                          probe. A full 30 GiB cache wipe is unnecessary.

Both run only in the 'found newer nightly' success branch, not the

'no bump available' branch.
cargo metadata --no-deps proves only uffs-text and uffs-time resolve to

publish=ANY; the other 17 members are publish=false. The root manifest

comment still claimed uffs-broker, uffs-broker-protocol, and uffs-security

were publish=true, but all three were since flipped back to publish=false

(name-squat reservations / internal-only — see each crate's per-manifest

rationale and crates-io-publishability-deep-dive.md 7.3-7.5).

Point readers at 'cargo metadata --no-deps' as the live source of truth.
@githubrobbi githubrobbi enabled auto-merge (squash) June 10, 2026 01:16
@githubrobbi githubrobbi merged commit f761c5c into main Jun 10, 2026
28 checks passed
@githubrobbi githubrobbi deleted the docs/correct-publishable-set branch June 10, 2026 02:04
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