Summary
musher-dev/specifications published core, component, blueprint and listing v1.0.0 on 2026-09-18. The v1 grammar is a breaking pre-release rewrite with no legacy compatibility mode, so every document in this repository no longer validates:
- ADR 0026: a component declares requirements.
- ADR 0028: explicit bindings and logical values.
- ADR 0030: atomic connections.
- ADR 0031: one grammar.
The platform adopts v1 in musher-dev/platform#2787 and will reject the old spellings.
What needs re-spelling
docs/pre-release-migration.md in the specifications repo has the full table. The changes that hit the examples here are:
Components
spec.type: SERVICE | WORKER | JOB | EXTERNAL replaces workload.type.
source: {image} and source: {git: {repositoryURL, ref: {branch}|{commit}, build: {dockerfile}|{buildpacks}}}.
targetPort replaces containerPort.
envVars is a map NAME: value.
command is an argv list.
- Probes are written
http: {endpoint, path}.
- Volumes:
minSizeGiB replaces sizeGiB, shared: false|true replaces accessMode: READ_WRITE_ONCE, and the volume is allocated on the blueprint node.
- Inputs use lowercase JSON Schema types.
default, sensitive and presentationHint sit beside schema.
metadata.description is required.
- Outputs use
from: {value|input|endpoint+property|template}.
Blueprints
compute.profile replaces size.
- Nodes allocate
volumes.<name>.sizeGiB and choose exposure.<endpoint>: PUBLIC.
- Every input is bound explicitly with
bindings.<input>: {parameter}|{node, output}|{value}.
- Parameters carry
ui, default, generator or from.
Also update scripts/musher-apply.sh, the READMEs and CI to the platform's v1 document routes: PUT …/versions/{revision}/document.
Summary
musher-dev/specificationspublishedcore,component,blueprintandlistingv1.0.0 on 2026-09-18. The v1 grammar is a breaking pre-release rewrite with no legacy compatibility mode, so every document in this repository no longer validates:The platform adopts v1 in musher-dev/platform#2787 and will reject the old spellings.
What needs re-spelling
docs/pre-release-migration.mdin the specifications repo has the full table. The changes that hit the examples here are:Components
spec.type: SERVICE | WORKER | JOB | EXTERNALreplacesworkload.type.source: {image}andsource: {git: {repositoryURL, ref: {branch}|{commit}, build: {dockerfile}|{buildpacks}}}.targetPortreplacescontainerPort.envVarsis a mapNAME: value.commandis an argv list.http: {endpoint, path}.minSizeGiBreplacessizeGiB,shared: false|truereplacesaccessMode: READ_WRITE_ONCE, and the volume is allocated on the blueprint node.default,sensitiveandpresentationHintsit besideschema.metadata.descriptionis required.from: {value|input|endpoint+property|template}.Blueprints
compute.profilereplacessize.volumes.<name>.sizeGiBand chooseexposure.<endpoint>: PUBLIC.bindings.<input>: {parameter}|{node, output}|{value}.ui,default,generatororfrom.Also update
scripts/musher-apply.sh, the READMEs and CI to the platform's v1 document routes:PUT …/versions/{revision}/document.