Skip to content

chore(release): the published crate predates its sixth backend - #4491

Merged
gHashTag merged 1 commit into
masterfrom
chore/t27c-0-3-0
Sep 21, 2026
Merged

gHashTag merged 1 commit into
masterfrom
chore/t27c-0-3-0

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

The published crate predates its sixth backend

crates.io serves t27c 0.2.0 — one version, 13 downloads, nothing yanked.
gen-js landed on master in #4472. So the compiler a reader installs with
cargo install t27c cannot emit JavaScript while the compiler on master can,
and for anyone who has not cloned this repository the registry copy is the only
t27c that exists.

Minor rather than patch, because a sixth backend is added functionality: the
five existing targets — Zig, Verilog, Verilog (HIR), C, Rust — are untouched.

What moves, and why exactly these files

File Why
bootstrap/Cargo.toml read by the VERSION TRUTH step for a t27c-v* tag
.zenodo.json read by the same step, in the same comparison
Cargo.lock the workspace lock records the member version
docs/now/2026-09-21-…md required by check-now-freshness

VERSION TRUTH checks both manifests against the tag. A half-bumped pair fails the
tag, not the pull request — which is the expensive place to discover it.

Rehearsed here, not left to CI

cargo publish --dry-run --manifest-path bootstrap/Cargo.toml

reaches Uploading t27c v0.3.0 and stops itself, exit 0. An earlier attempt
refused outright over one uncommitted manifest — the gate working, not failing.

No DOI is minted, deliberately

zenodo-publish.yml looks up ZENODO_DEPOSITION_T27C; gh variable list --repo gHashTag/t27 returns nothing, so that job skips. A DOI cannot be withdrawn
once minted, so enabling it is its own decision and not a side effect of cutting
a crate.

What this does NOT establish

The dry run proves the crate packages and that the manifests agree with the tag.
It runs no generated JavaScript and compiles none — that t27c gen-js is correct
is what #4471 and #4472 argued, and nothing here re-argues it.

Unlike a branch, a published version is permanent: 0.3.0 can be yanked,
never replaced and never reused.

Closes #4490

t27c on crates.io is 0.2.0. The compiler gained gen-js in #4472, so the version
a user installs from the registry cannot emit JavaScript while the compiler on
master can. Minor rather than patch: a new backend is added functionality, and
additive -- the five existing targets are untouched.

Both files the release pipeline's VERSION TRUTH gate reads for a t27c-v* tag are
bumped together, because the gate refuses a tag whose manifests do not already
say what the tag says, and a half-bumped pair fails the tag rather than the PR.

ZENODO_DEPOSITION_T27C stays unset on purpose, so zenodo-publish.yml skips and
mints no DOI. A DOI cannot be withdrawn; enabling it is its own decision, not a
side effect of cutting a crate release.

Closes #4490

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-09-21 03:30:40 UTC

Summary

Status Count
Total Open PRs 21
PRs with Failing Checks 18
PRs with All Checks Green 3
READY 2
FAILING 18
PENDING 0
NO CHECKS YET 0

These columns do not partition: 2 + 18 + 0 + 0 = 20, and there are 21 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=403499176a5d != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit f782c53 into master Sep 21, 2026
33 of 38 checks passed
@gHashTag
gHashTag deleted the chore/t27c-0-3-0 branch September 21, 2026 03:32
@gHashTag
gHashTag restored the chore/t27c-0-3-0 branch September 28, 2026 10:05
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.

chore(release): t27c on crates.io is 0.2.0 and predates the gen-js backend

1 participant