Expand description
The ONE canonical serde model for OSS-RELEASE.md (ADR-0003 §1).
These types are the single normalization model that contract show,
contract validate, audit, the facts consumers, and release planning all
use — no second parser anywhere. Their serialized form is the canonical
JSON contract every /oss-* member reads (SCHEMA.md §4, preserved
byte-for-shape by the migration rule). Public wire access goes through
crate::protocol::contract, which re-exports these types and owns the
wire-version declaration so internals and wire can diverge under the
migration rule (ADR-0001 §2).
Hot file (ADR-0001): a change here ripples to every family member. Every
enum’s as_str form is the wire string; a change to one is
a schema_version bump, never silent.
Structs§
- Changelog
- The changelog block of the contract (SCHEMA.md §1).
fragment_diris always present, even for non-fragmentmodes. - Contract
- The canonical, fully-defaulted,
targets-expandedOSS-RELEASE.mdcontract. - Release
- The release block of the contract (SCHEMA.md §1).
- Target
- One concrete
ecosystem → package → registrypublish destination.
Enums§
- Adapter
- The release tool pinned for a
Targetso it is not re-inferred each cut. - Changelog
Mode - How the changelog is produced (SCHEMA.md §1).
- Changelog
Source - The changelog’s structured input (SCHEMA.md §1).
- Contribution
Provenance - Contributor sign-off requirement, read by
/oss-contributing. - Dependency
Bot - Which dependency-update bot
/oss-ciemits. - Docs
Site - Optional documentation-site generator (SCHEMA.md §1); production-tier.
- Ecosystem
- A packaging ecosystem.
homebrewis a distribution target, never an ecosystem. Listed in the canonical order used for stable de-dup/expansion. - Health
Badge - A README health badge (SCHEMA.md §1). Every badge needs its producer enabled (floor 4).
- Maturity
- Master maturity dial that gates every member’s output (SCHEMA.md §1).
Required — inference is
/oss-init’s job, not the normalizer’s. - Provenance
Level - Build-provenance level (SCHEMA.md §1).
slsa-l3is production-only (floor). - Registry
- A publish destination for a
Target(SCHEMA.md §1). - Release
Layout - Repository release layout (SCHEMA.md §1).
monorepodrives per-package versions/tags and flips the node adapter default tochangesets. - Release
Model - Release trigger model (SCHEMA.md §1).
autoinstalls an on-merge workflow; it never publishes from a chat turn. - Status
- Machine-readable approval gate (SCHEMA.md §1).
/oss-initwritesdraftand stops; a human flips it toapproved. Mutating members refuse a draft (they pass--require-approved). - Versioning
Base - Base versioning scheme (SCHEMA.md §1). A
calver:<pattern>config splits intoCalver+ a separateContract::versioning_pattern; the wire form never carries thecalver:prefix.
Constants§
- DEFAULT_
FRAGMENT_ DIR - The changelog fragment directory materialized when the config omits it.
- KNOWN_
SCHEMA_ VERSION - The contract
schema_versionthis build knows how to read.