SIGN IN SIGN UP

docs: release provenance — rust-v0.1.0 retro-tag + version-streams section (LEO-416) (#41)

* docs: release provenance -- rust-v0.1.0 retro-tag note + version-streams section (LEO-416)

The crates.io 0.1.0 publish (2026-07-01) was the one-time manual name-claim
and predated the rust-v release flow, so no tag marked it. An annotated
rust-v0.1.0 tag now points at e47b529 (master at publish time, confirmed
against the crates.io publish timestamps); CONTRIBUTING records why the tag
is retroactive and why a bare tag cannot re-fire publish-crates.yml (it
triggers on published Releases only -- verified: zero workflow runs).

New CONTRIBUTING 'Version streams' section gives 'what version is
sensorwatch?' a documented answer: three deliberately independent streams
(Python 0.2.0, C ABI draft 0.2.0, Rust workspace 0.1.0), parity is
coincidence not contract, no pre-1.0 convergence planned. Records the two
LEO-415 breadcrumbs: the published crates carry unreleased public API
(Snapshot::from_buffer + regenerated sys bindings) so the next crate
release bumps to 0.2.0, and the CLI crate's two outside-crate-root
references block cargo package if it is ever published. CHANGELOG links the
new section; registry badges already landed with LEO-412.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: review round 1 -- correct the cargo-package claim, fix annotated/bare tag wording (LEO-416)

The codex reviewer ran cargo package and disproved the claim that the CLI
crate's two outside-crate-root references block packaging: with a version
on the path dependency, packaging and verify succeed (the e2e module is
cfg(test)-gated, so the verify build never compiles it) -- only the
packaged crate's own tests fail without in-crate copies. CONTRIBUTING,
CHANGELOG, and the originating comment in src/e2e.rs now name the
versionless path-only dependency (a deliberate choice, documented in the
CLI Cargo.toml) plus publish=false as the actual publish preconditions,
and characterize the two copies as packaged-test self-containment. Also
folds in the claude reviewer's precondition nit with the corrected Cargo
claim, and kimi's pointer-to-e2e.rs suggestion.

'Bare git tag' -> 'annotated git tag with no accompanying GitHub Release'
(ambiguous with lightweight tags; flagged by codex and Copilot). The tag
annotation itself carries the same wording and is re-created locally with
the corrected text; pushing the revised tag object rewrites a published
tag, so it awaits the maintainer's explicit go.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: review round 2 -- separate the cargo-package blocker from the publish flag (LEO-416)

Both LGTM reviewers flagged the same conflation: 'the cargo package
blocker is the path dependency plus flipping publish = false' attaches the
flag to packaging, but publish = false gates cargo publish only --
re-verified empirically alongside the round-1 repro (cargo package
succeeds with the flag still set once the path dep has a version, both
outside-root test references untouched). CONTRIBUTING and CHANGELOG now
state: one cargo-package blocker (the deliberately unversioned path
dependency), publish additionally requires the flag flip, and the two
test-resource copies are packaged-test self-containment.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
L
lcj-claude-coder committed
da80090ffa28e4b075ef6b9955b367bf93377a6f
Parent: 9521730
Committed by GitHub <noreply@github.com> on 7/16/2026, 12:58:36 AM