Skip to content

verify(canary): exercise the canary label + note surface on two real 0.0.4 canaries #1149

Description

@rickylabs

Relocated from #1121, which #1122 implements. Part of epic #1120.

#1121 carried this criterion:

  • Exercised on two real canaries with different payloads (0.0.4-canary.1, 0.0.4-canary.2); the second payload differs from the first rather than repeating it

No PR can satisfy it. It is evidence about the tool, gathered by running the release process — not a property of the code. Holding #1122 until both canaries exist would also invert the agreed sequence, which merges the tooling behind canary 1.

Relocated rather than ticked, following the #1090 precedent established in 0.0.4. Ticking an unmet box to green a gate is the one shortcut that would make the whole exercise worthless.

What must be observed

  • A canary published; its label derived from the published version, never typed — release:canary-label --published-version reads the version from JSR; canary.10 run: published-version PASS: 0.0.5-canary.10 exists on @netscript/cli
  • Prerelease note lists the PRs and closed issues, and does not take Latest — canary.10: release-note-publication PASS: created prerelease v0.0.5-canary.10; make_latest=false
  • A second canary published after further merges and labelled — exercised across canary.7→.8→.9→.10→.11
  • Payloads differ rather than repeat — canary.10 derived 11 PR(s), 10 closed issue(s) over f69eebf43..origin/main; each canary reported a distinct train. Content-derived membership held across every boundary
  • Every gate's report recorded, including pass-vs-did-not-run — per-canary in the run worklog. This criterion earned its keep: canary.10 reported publish FAILURE while all 25 packages were live, producing finding 40 (a publish step's exit code is not the publish's outcome)
  • Divergences recorded as findings — canary.2's post-cancel-race divergence, canary.10's unreconciled post-publish state (finding 40), canary.11's 25-of-37 partial (release: JSR weekly publish-attempt limit (1000/scope) exhausted — canary.11 published 25 of 31 packages #1312). Reconciliation used the lane's own release:canary-label tool, not hand edits

Why the recording matters as much as the passing

0.0.4 shipped two guards whose condition could never become true, and a third was found in the release preflight during this very exercise (#1145 — a .generated skip pattern that could not match the file it was written for). A gate that passes because it did not run is the failure mode this cadence exists to eliminate, so "what did each gate actually report" is the deliverable, not a footnote.

Provenance

0.0.4 canary exercise, 2026-08-03. Relocated by the orchestrator so #1122 can merge on its implementable criteria.


Scope note (orchestrator, 2026-08-05): criteria originally named 0.0.4-canary.1/.2 because this was filed during 0.0.4. The surface was actually exercised across five 0.0.5 canaries (7–11). Owner delegated the call; criteria rewritten to the milestone actually exercised rather than closing against wording that was never tested. Evidence: #1149 (comment)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions