Skip to content

control-plane: canonical srcos $id wrappers for legacy schemas#38

Merged
mdheller merged 10 commits intomainfrom
spec/control-plane-ids-20260418
Apr 18, 2026
Merged

control-plane: canonical srcos $id wrappers for legacy schemas#38
mdheller merged 10 commits intomainfrom
spec/control-plane-ids-20260418

Conversation

@mdheller
Copy link
Copy Markdown
Contributor

This PR eliminates multi-authority schema identity in the control-plane tranche without breaking legacy consumers.

Problem:

Approach (no loss of intent):

  1. Keep legacy schemas stable
  • Preserve existing *.schema.json files and their legacy $id values.
  1. Add canonical wrappers
  • Add *.json wrapper schemas with canonical $id under https://schemas.srcos.ai/v2/control-plane/<Type>.json.
  • Each wrapper uses allOf with a single $ref to the legacy schema.
  1. Document the policy
  • Update schemas/control-plane/README.md to define the two-layer identity model and list canonical wrapper filenames.

Wrappers added:

  • ExperienceProfile.json
  • IsolationProfile.json
  • ReleaseSet.json
  • BootReleaseSet.json
  • EnrollmentToken.json
  • Fingerprint.json
  • MeshSkill.json
  • SkillExecutionEvent.json
  • IncidentEvent.json

Notes:

  • Legacy refs continue to work.
  • New work should reference canonical wrappers.
  • A future major/minor may fully normalize legacy $id values once downstream consumers migrate.

@mdheller mdheller merged commit 62b56ea into main Apr 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant