Skip to main content

Module schema

Module schema 

Source
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_dir is always present, even for non-fragment modes.
Contract
The canonical, fully-defaulted, targets-expanded OSS-RELEASE.md contract.
Release
The release block of the contract (SCHEMA.md §1).
Target
One concrete ecosystem → package → registry publish destination.

Enums§

Adapter
The release tool pinned for a Target so it is not re-inferred each cut.
ChangelogMode
How the changelog is produced (SCHEMA.md §1).
ChangelogSource
The changelog’s structured input (SCHEMA.md §1).
ContributionProvenance
Contributor sign-off requirement, read by /oss-contributing.
DependencyBot
Which dependency-update bot /oss-ci emits.
DocsSite
Optional documentation-site generator (SCHEMA.md §1); production-tier.
Ecosystem
A packaging ecosystem. homebrew is a distribution target, never an ecosystem. Listed in the canonical order used for stable de-dup/expansion.
HealthBadge
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.
ProvenanceLevel
Build-provenance level (SCHEMA.md §1). slsa-l3 is production-only (floor).
Registry
A publish destination for a Target (SCHEMA.md §1).
ReleaseLayout
Repository release layout (SCHEMA.md §1). monorepo drives per-package versions/tags and flips the node adapter default to changesets.
ReleaseModel
Release trigger model (SCHEMA.md §1). auto installs an on-merge workflow; it never publishes from a chat turn.
Status
Machine-readable approval gate (SCHEMA.md §1). /oss-init writes draft and stops; a human flips it to approved. Mutating members refuse a draft (they pass --require-approved).
VersioningBase
Base versioning scheme (SCHEMA.md §1). A calver:<pattern> config splits into Calver + a separate Contract::versioning_pattern; the wire form never carries the calver: prefix.

Constants§

DEFAULT_FRAGMENT_DIR
The changelog fragment directory materialized when the config omits it.
KNOWN_SCHEMA_VERSION
The contract schema_version this build knows how to read.