JSON Schemas

Each Open Delivery Spec module has a JSON Schema (Draft 2020-12) that defines the canonical, machine-validatable structure for that artifact type.

Using Schemas

Tools and AI agents can validate artifacts against these schemas:

# With ODS CLI
ods validate branch feature/add-oauth-login

# With any JSON Schema validator
ajv validate -s schemas/branch-naming.json -d my-branch.json

# With Python
pip install jsonschema
jsonschema -i my-branch.json schemas/branch-naming.json

Schema Index

# Module Schema Raw
01 Branch Naming branch-naming.json Download
02 Commit Message commit-message.json Download
03 PR Description pr-description.json Download
04 AI Change Review ai-change-review.json Download
05 CI Failure ci-failure.json Download
06 Release Readiness release-readiness.json Download
07 Approval Workflow approval-workflow.json Download
08 Rollback Plan rollback-plan.json Download
09 Production Release Evidence prod-release-evidence.json Download

Schema Structure

Every ODS schema follows this convention:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://open-delivery-spec.dev/schemas/<module>.json",
  "title": "ODS <Module>",
  "description": "...",
  "required": ["..."],
  "properties": {
    // module-specific fields
  }
}

Fields common across many schemas:

  • ai_generated / ai_tool — AI attribution (required when AI was involved)
  • version / spec_version — Spec version for forward compatibility
  • timestamp — ISO 8601 timestamp of artifact creation

Versioning

Schemas follow SemVer aligned with SPEC_VERSIONING.md. The $id URI reflects the spec version:

  • v1.0.0 schemas use https://open-delivery-spec.dev/schemas/ (no version in path)
  • Future breaking changes will increment the major version in $id.