Skip to content

release: v0.3.0 (require verified platform seal by default)#8

Merged
bartekus merged 1 commit into
mainfrom
release/v0.3.0
Jul 3, 2026
Merged

release: v0.3.0 (require verified platform seal by default)#8
bartekus merged 1 commit into
mainfrom
release/v0.3.0

Conversation

@bartekus

@bartekus bartekus commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

release: v0.3.0

Cuts the first release since v0.2.0. Bundles the three unreleased PRs (#5, #6, #7),
one of which is a breaking change to verify-certificate, so this is a minor
bump under 0.x (0.2.0 → 0.3.0).

What ships

Release mechanics

  • Version bumped in lockstep across Cargo.toml (workspace + internal dep pins),
    npm/package.json (main + five platform optionalDependencies), and
    py/pyproject.toml; Cargo.lock regenerated. Both publish-time version-lock
    checks (npm --write-main, py --lock-only) verify at 0.3.0.
  • New CHANGELOG.md carries the breaking-change migration note so pinned tenants
    are not surprised by the exit-code flip.
  • .derived/codebase-index/by-package/tenant-tail.json regenerated by the pinned
    spec-spine (npm package version 0.2.0 → 0.3.0).

Verified locally

cargo fmt --check · clippy -D warnings --locked · build --locked ·
test --locked (8 suites, 132 tests, 0 failures) · spec-spine compile /
index check / lint --fail-on-warn all green.

Spec-Drift-Waiver: Cargo.toml, npm/package.json, py/pyproject.toml release version bump to 0.3.0; a version-number change with no behavioral or spec-content change (the shipped behaviors were authored and spec-coupled in #5, #6, and #7). Mirrors the accepted v0.2.0 release waiver in #4.

First release since v0.2.0, bundling PRs #5, #6, and #7. PR #7 is a breaking
change to verify-certificate, so this is a minor bump under 0.x.

- Breaking (#7, spec 001): verify-certificate requires a verified platform seal
  by default; an unsealed or unadjudicated certificate exits 1. Restore the prior
  behavior with --allow-unsealed. --require-sealed is now a deprecated no-op.
- Added (#6, spec 003): release builds assert the manylinux_2_17 glibc floor.
- Fixed (#5): hardened the verify cores, exit-code contract, and release pipeline.

Version bumped in lockstep across Cargo.toml, npm/package.json (main + five
platform pins), and py/pyproject.toml; Cargo.lock and the codebase-index shard
regenerated. New CHANGELOG.md carries the migration note for pinned tenants.
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

AI Code Review

I have enough context. Here is the review:


Review: v0.3.0 Release PR

This PR is a mechanical release: version bumps across four manifests, a new CHANGELOG, and the regenerated npm package shard in .derived/. The functional changes shipped in PRs #5#7.


Spec-spine Compliance

Missing CHANGELOG.md in the spec corpus

CHANGELOG.md is not establishes-d or references-d by any spec. The file is new and sits at the repo root, which is in spec 000-tenant-tail-bootstrap's territory (the workspace). If the coupling gate runs against this diff, it will flag the unclaimed file. Either add a references entry to 000-tenant-tail-bootstrap/spec.md, or add CHANGELOG.md to that spec's establishes list.

--sbom-dir attribution in 0.2.0 entry vs. CLAUDE.md wording

The CHANGELOG 0.2.0 entry attributes --sbom-dir to "OAP spec 203 FR-003". CLAUDE.md currently says "verify-sbom -- deliberately absent, not stubbed. Its core (OAP spec 203) does not exist yet." However, specs/003-distribution/spec.md §2 explicitly reconciles this ("--sbom-dir... folds the SBOM binding check into the certificate verify rather than a separate verb"), so the implementation is correct and the spec is correct. The gap is in CLAUDE.md, which says "OAP spec 203 does not exist yet" without clarifying that FR-003 is partially implemented through --sbom-dir. CLAUDE.md is misleading to future contributors; it should be updated to match the spec.

Derived shard completeness

Only .derived/codebase-index/by-package/tenant-tail.json changed. The spec-registry shards (by-spec/001-*.json, by-spec/003-*.json) and codebase-index spec shards are unchanged. This is correct for this PR — the spec and code files themselves didn't change here. Confirming that the coupling gate was satisfied in PRs #7 and #6 (where the actual code changed) is outside this diff's scope, but the determinism CI job will catch any shard divergence.


Bugs / Logic

CHANGELOG links use unverified org name

[0.3.0]: https://github.com/stagecraft-ing/tenant-tail/compare/v0.2.0...v0.3.0

The org stagecraft-ing is only mentioned here and not derivable from the codebase. If the actual repo is under a different org (e.g. stagecraft-eng), all three compare/release links are broken. Verify before tagging.

Semver claim vs. npm range semantics

The CHANGELOG correctly notes ~0.2/^0.2 consumers won't cross this boundary. However, since 0.3.0 is a breaking change under 0.x semver, it could have been a 0.3.0 major bump (minor bump under 0.x is the convention used here and stated explicitly). This is intentional and documented, no action needed — just noting it's a judgment call.


Security

No new network surface, signing keys, or user-controlled input paths introduced in this diff. The version bump itself carries no security concerns.


Performance

Not applicable to this diff.


Summary

One actionable issue: CHANGELOG.md is unclaimed by any spec and will trip the coupling gate. The CLAUDE.md wording about "OAP spec 203 does not exist yet" should be updated to avoid confusing future contributors. The GitHub org name in the compare links should be confirmed before the tag is pushed.


Automated review by Claude. Diff size: 78 lines.

@bartekus
bartekus merged commit 4bbb116 into main Jul 3, 2026
9 checks passed
@bartekus
bartekus deleted the release/v0.3.0 branch July 3, 2026 20:38
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