Skip to content

ci: adopt mint for versioning + release provenance - #30

Merged
bdelanghe merged 3 commits into
mainfrom
claude/cold-start-prioritization-q89the
Jul 20, 2026
Merged

ci: adopt mint for versioning + release provenance#30
bdelanghe merged 3 commits into
mainfrom
claude/cold-start-prioritization-q89the

Conversation

@bdelanghe

@bdelanghe bdelanghe commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

What & why

Wire door-kit to mint so releases are
cut in CI from a per-PR intent — deterministic version + changelog + provenance —
instead of a hand-pushed v* tag matched to jsr.json by eye. Same pattern as
verbspec-mcp and the scout-wire adoption.

Tooling only — no intent yet. door-kit's next user-facing change (the
scout-wire 0.3.0 client wrappers) will drop the first .release/ intent; this PR
just puts the rails in place.

Changes

  • .release/README.md — the intent-drop convention.
  • version.ymlmint plan validates intents + previews the next version on
    each PR (mint reusable @v0.3.1).
  • release.yml — on a v* tag, mint in-toto release-provenance + cosign
    keyless signing (reusable @v0.3.1).
  • publish.yml (unchanged) still does the JSR publish on the tag via OIDC.

Note on the version drift

package.json (0.6.0) and jsr.json (0.11.0) currently disagree. mint reads
jsr.json first and, on the next mint version, sets both manifests to the
same computed version — so the drift reconciles at the next release rather than
in this infra PR.

Verification

mint plan run locally against this branch: "no intents — nothing to release
(stays 0.11.0)"
— green, as expected for a tooling-only change. bun test
(standard.yml) and publish.yml's dry-run are unaffected.

🤖 Generated with Claude Code

https://claude.ai/code/session_01H7i26MiqwkD1gCRAY85gJY


Generated by Claude Code


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.

Wire door-kit to mint so future releases are cut in CI from a per-PR
intent (deterministic version + changelog + tag) instead of a hand-pushed
tag matched to jsr.json by eye. No intent yet — this is the tooling only;
the next user-facing change (the scout-wire 0.3.0 client) drops the first
intent.

- .release/README.md — the intent-drop convention.
- version.yml — `mint plan` validates intents + previews the next version
  on every PR (mint reusable @v0.3.1).
- release.yml — on a v* tag, mint in-toto release-provenance + cosign
  keyless signing (reusable @v0.3.1).
- publish.yml (unchanged) still does the JSR publish on the tag via OIDC.

Note: package.json (0.6.0) and jsr.json (0.11.0) currently disagree; mint
reads jsr.json first and, on the next `mint version`, sets BOTH manifests
to the same computed version — reconciling the drift at the next release.

Verified locally: `mint plan` → no intents, stays 0.11.0 (green, nothing to
release yet).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H7i26MiqwkD1gCRAY85gJY
claude added 2 commits July 20, 2026 17:50
A workflow_dispatch job that runs mint version + commit + mint release
entirely in CI, so a release tag is only ever cut by mint from the Actions
UI. No-op without intents; requires the workflow may push to main.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H7i26MiqwkD1gCRAY85gJY
v0.3.1 predates mint's deno.json support (landed in 0.5.0), so `mint plan`
crashed with ENOENT on package.json for deno.json-only repos. Pin the
version/release/cut-release workflows to v0.5.0, which reads + bumps
deno.json / jsr.json / package.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H7i26MiqwkD1gCRAY85gJY
@bdelanghe
bdelanghe merged commit f1e238e into main Jul 20, 2026
10 checks passed
@bounded-systems-front-desk bounded-systems-front-desk Bot moved this from Todo to Done in Front Desk Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants