Skip to content

Conversation

@rsionnach
Copy link
Contributor

Summary

Adds the OpenSRM (Open Service Reliability Manifest) JSON Schema to SchemaStore.

OpenSRM is an open specification for declaring service reliability requirements as code. It enables shift-left reliability by defining SLOs, contracts, and dependencies before deployment.

Key features:

  • Service types: api, worker, stream, ai-gate, batch, database
  • SLO definitions (availability, latency, error rate, throughput, and more)
  • Judgment SLOs for AI-powered decision services (reversal rate, calibration, feedback latency)
  • Database SLOs (query latency, replication lag, connection availability)
  • Batch SLOs (duration, schedule adherence, data freshness)
  • Service contracts and dependency expectations
  • Observability and deployment requirements
  • Template inheritance for reduced duplication

Links:

File matches:

  • service.reliability.yaml / .yml
  • *.reliability.yaml / .yml
  • .opensrm.yaml / .yml

Files

File Description
src/schemas/json/opensrm.json JSON Schema (draft-07)
src/api/json/catalog.json Catalog entry (alphabetical under "O")
src/schema-validation.jsonc Added to ajvNotStrictMode (uses anyOf + required patterns)
src/test/opensrm/ 8 positive test files (api, worker, stream, ai-gate, template, with-template)
src/negative_test/opensrm/ 5 negative test files (missing name, invalid type/target/duration/kind)

Validation

All tests pass node cli.js check --schema-name opensrm.json:

  • Catalog entry valid
  • Schema compiles (Ajv non-strict mode)
  • 8/8 positive tests pass
  • 5/5 negative tests correctly fail

OpenSRM is an open specification for declaring service reliability
requirements as code. It enables shift-left reliability by defining
SLOs, contracts, and dependencies before deployment.

- Schema: src/schemas/json/opensrm.json (draft-07)
- 8 positive tests, 5 negative tests
- Added to ajvNotStrictMode (uses anyOf + required patterns)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@madskristensen madskristensen merged commit 7d7c0d1 into SchemaStore:master Jan 30, 2026
5 checks passed
@madskristensen
Copy link
Contributor

Thanks

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.

2 participants