Release Plan — Trust Compiler 3.7 Evidence Portability¶
Purpose: Record v3.7.0 as the first public Assay line where three bounded receipt families are claim-visible in Trust Basis: eval outcomes, runtime decision details, and inventory/provenance surfaces.
Status: released as v3.7.0 on 2026-04-29.
The release workflow created the GitHub Release, release assets, provenance artifacts, crates.io publications, and PyPI publication from tag v3.7.0.
SSOT (do not re-invent semantics here):
- CHANGELOG.md — factual shipped items for the release.
- Receipt family matrix — receipt families, event types, included fields, excluded fields, and non-claims.
- PLAN-P41 — OpenFeature boolean decision receipt import boundary.
- PLAN-P43 — CycloneDX ML-BOM model-component receipt import boundary.
- PLAN-P45 — bounded Trust Basis claim for supported inventory receipt boundaries.
- PLAN-P45b — bounded Trust Basis claim for supported decision receipt boundaries.
The companion Harness recipe lives in Rul1an/Assay-Harness. Assay owns the artifact semantics; Assay Harness owns CI orchestration and review projection.
Framing¶
Suggested lead:
Assay v3.7.0 completes the first three-family evidence-portability line: selected eval outcomes, runtime decision details, and model inventory/provenance surfaces can be reduced into bounded Assay receipts, bundled, compiled into Trust Basis, and compared as claim-level artifacts.
Avoid calling this Promptfoo, OpenFeature, CycloneDX, or Mastra integration, partnership, official support, correctness, safety, or compliance truth. These are downstream receipt compiler lanes over existing public surfaces.
Version Advice: 3.7.0 Minor¶
This is a minor release, not a patch:
| Area | Why it fits a minor bump |
|---|---|
| CLI surface | Adds supported receipt importers beyond Promptfoo: OpenFeature decision details, CycloneDX ML-BOM model components, and Mastra ScoreEvent artifacts. |
| Trust Basis | Adds additive visibility for supported decision and inventory receipt boundaries. |
| Trust Card | Bumps the visible Trust Card schema to v5 because the claim table changes. |
| Consumer story | Moves evidence portability from one eval lane to a three-family claim-visible surface. |
Patch releases remain for fixes-only. This release changes the user-visible artifact pipeline while keeping the epistemic boundary narrow.
Pre-Release Verification¶
-
cargo fmt --check -
cargo check -p assay-cli --all-targets -
cargo test -p assay-evidence trust_basis -- --nocapture -
cargo test -p assay-cli --test evidence_test -- --nocapture -
cargo test -p assay-cli --test trust_basis_test -- --nocapture -
cargo test -p assay-cli --test trustcard_test -- --nocapture -
cargo run -p assay-cli -- evidence import openfeature-details --help -
cargo run -p assay-cli -- evidence import cyclonedx-mlbom-model --help -
cargo run -p assay-cli -- evidence import mastra-score-event --help - crates.io publication completed through the release workflow.
- CHANGELOG.md, README.md, and docs/ROADMAP.md agree on the release line.
Publish-order note: assay-cli depends on internal workspace crates at the same version. A pre-publish assay-cli dry-run can fail until assay-common and the other dependency crates are visible on crates.io. That is a publish-order blocker, not an assay-cli packaging failure. The release workflow publishes the configured crate list in dependency order via scripts/ci/publish_idempotent.sh.
Release Notes Outline¶
Users¶
- Import bounded OpenFeature boolean
EvaluationDetailsrows into verifiable decision receipt bundles withassay evidence import openfeature-details. - Import one selected CycloneDX ML-BOM
machine-learning-modelcomponent into inventory receipt bundles withassay evidence import cyclonedx-mlbom-model. - Import reduced, reviewer-safe Mastra ScoreEvent JSONL artifacts with
assay evidence import mastra-score-event. - Compile supported receipt bundles into Trust Basis and compare Trust Basis artifacts with
assay trust-basis diff.
Integrators¶
- Preserve the bounded-receipt distinction: raw upstream payloads, provider config, targeting context, full BOM graphs, model-card bodies, dataset bodies, and observability trace trees remain outside the receipt truth boundary.
- Treat
external_eval_receipt_boundary_visible,external_decision_receipt_boundary_visible, andexternal_inventory_receipt_boundary_visibleas boundary/provenance claims, not correctness or compliance claims. - Key Trust Basis and Trust Card consumers by stable
claim.id, not row count.
What This Release Is Not¶
- Not official integration, endorsement, or partnership with any upstream tool.
- Not full Promptfoo, OpenFeature, CycloneDX, or Mastra export support.
- Not model correctness, flag correctness, model safety, dataset approval, BOM completeness, license, vulnerability, or compliance truth.
- Not a new aggregate trust score or
safe/unsafebadge. - Not a Trust Basis score claim for Mastra ScoreEvent receipts.
Companion Harness Release¶
Prepare an Assay Harness v0.3.0 companion release after the Assay tag. The Harness release should carry the Promptfoo, OpenFeature, and CycloneDX recipes over the Assay v3.7.0 Trust Basis surface. Use a Harness-local version line; do not reuse Assay's 3.7.0 semver.
Tagging¶
After all release checks pass on the merged release commit:
The tag runs .github/workflows/release.yml. Crates.io publishing should be confirmed separately with dry-runs and the release workflow outcome.