ooPJD

Versionen & Gültigkeit

Das Versionsregister der oPJD-Spezifikation — Lebenszyklus, Gültigkeitsregeln für Austauschpartner und Konformitätsstufen. Quelle: versions.json, maschinenlesbar.

Versionsregister

Diese Tabelle wird zur Build-Zeit aus /schema/versions.json generiert — dem maschinenlesbaren Register, das auch Werkzeuge und der MCP-Server nutzen.

VersionStatusFreigegebenGültig bisArtefakte
0.2.0latestEntwurf (draft)——SchemaDictionaryBeispieleChangelog
0.1.0Zurückgezogen (retired)——nie als Datei publiziert — siehe Changelog

Verbindliche URLs

Die unversionierten Pfade (/schema/opjd-package.schema.json, /schema/examples/) folgen immer der aktuellen Version und sind Bequemlichkeits-Einstiege. Verbindlich für den Austausch ist ausschließlich die versionierte URL.

Lebenszyklus

StatusBedeutung
Entwurf (draft)In Arbeit. Der Inhalt kann sich unter derselben Versionsnummer noch ändern. Nicht für den produktiven Austausch — Pilotierung nur nach bilateraler Absprache.
Konsultation (review)Inhaltlich eingefroren als Freigabekandidat; öffentliche Kommentierungsfrist bzw. Gremienabstimmung läuft. Nur noch redaktionelle Korrekturen.
Freigegeben (released)Unveränderlich. Jede inhaltliche Änderung erzeugt eine neue Version. Zulässig für neue Pakete.
Abgekündigt (deprecated)Für neue Pakete nicht mehr verwenden. Empfänger müssen Pakete dieser Version bis zum Stichtag sunset_at weiter annehmen.
Zurückgezogen (retired)Nach dem Stichtag. Keine Annahmepflicht mehr. Artefakte bleiben dauerhaft abrufbar — nichts wird gelöscht.

Zulässige Übergänge: draft→review, review→draft (Rückläufer), review→released, released→deprecated, deprecated→retired, draft→retired (verworfen). released ist eine Einbahnstraße.

Freigegeben heißt eingefroren

Ab Status released ist die Schemadatei byte-eingefroren; versions.json führt ihre SHA-256-Prüfsumme, die CI erzwingt sie. Korrekturen — auch Tippfehler — erzeugen eine neue Patch-Version.

Gültigkeit für Austauschpartner

Neue Pakete deklarieren in schema_version eine Version mit Status released (bevorzugt die neueste); während der 0.x-Phase ersatzweise die aktuelle draft-/review-Version nach bilateraler Absprache. Empfänger müssen alle Versionen mit Status released sowie deprecated (bis sunset_at) annehmen.

Versionierungspolitik

SemVer mit Fachsemantik

SemVer mit Domänensemantik: MAJOR = Bedeutungsänderung oder Strukturbruch (Migration erforderlich), MINOR = additive Erweiterung oder Präzisierung ohne Bruch, PATCH = redaktionell (Beschreibungen, Beispiele, Tippfehler). Sonderregel 0.x (Entwurfsphase): auch Minor darf brechen, wird dann im Changelog als BREAKING markiert.

Konformitätsstufen (Kurzfassung)

StufeBedeutung
Stufe 1 — schema-valideFehlerfreie Validierung gegen das JSON Schema der deklarierten Version (Draft 2020-12, strikt).
Stufe 2 — referenziell integerZusätzlich: alle IDs eindeutig, jede Referenz löst auf, Relationsziele entsprechen dem erwarteten Typ.
Stufe 3 — grammatik-geprüftZusätzlich: Episodengrammatik maschinell ausgewertet (Überlappungsfreiheit, Erwartungsregeln je Episodentyp).

Vollständige Definitionen und Kompatibilitätszusagen: KONFORMITAET.md.