Type ServiceReliabilityManifest | Template
File match service.reliability.yaml service.reliability.yml *.reliability.yaml *.reliability.yml .opensrm.yaml .opensrm.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/opensrm/latest.json
Source https://www.schemastore.org/opensrm.json

Validate with Lintel

npx @lintel/lintel check

Open Service Reliability Manifest - Define service reliability requirements as code https://github.com/rsionnach/opensrm

One of

2. Template object

Definitions

Duration string

Duration format: number followed by ms, s, m, h, d, or w

Ratio number

Ratio value (0.0 - 1.0)

ServiceType string
Tier string

Service criticality tier

AvailabilitySLO object

Availability SLO - measures proportion of successful requests

target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
LatencySLO object

Latency SLO - measures response time at specified percentiles

target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
ErrorRateSLO object

Error rate SLO - measures proportion of failed requests

target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
ThroughputSLO object

Throughput SLO - measures request processing rate

target number required

Minimum throughput

min=0
unit string required

Throughput unit

Values: "rps" "rpm" "rph"
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
ProcessingTimeSLO object

Processing time SLO - job completion time for worker services

target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
LagSLO object

Lag SLO - consumer lag for stream services

max_seconds number required

Maximum acceptable lag in seconds

min=0
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
SuccessRateSLO object

Success rate SLO - measures proportion of successful operations

target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
DurationSLO object

Duration SLO - job execution time for batch services

target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
ScheduleAdherenceSLO object

Schedule adherence SLO - measures timeliness of batch job starts

max_delay string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
DataFreshnessSLO object

Data freshness SLO - measures staleness of batch output data

max_age string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
QueryLatencySLO object

Query latency SLO - response time for database services

target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
ReplicationLagSLO object

Replication lag SLO for database services

max_lag string required

Maximum acceptable replication lag (e.g., 1s, 500ms, 5m)

pattern=^[0-9]+(ms|s|m)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
ConnectionAvailabilitySLO object

Connection availability SLO for database services

target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
ReversalRateSLO object

Reversal rate SLO - measures how often humans override AI decisions https://github.com/rsionnach/opensrm#judgment-slos

target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
observation_period string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
HighConfidenceFailureSLO object

High-confidence failure SLO - measures rate of confident but wrong decisions https://github.com/rsionnach/opensrm#judgment-slos

target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
confidence_threshold number

Ratio value (0.0 - 1.0)

min=0max=1
CalibrationSLO object

Calibration SLO - measures if stated confidence matches actual accuracy (ECE) https://github.com/rsionnach/opensrm#judgment-slos

target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
FeedbackLatencySLO object

Feedback latency SLO - measures time until decision quality is known https://github.com/rsionnach/opensrm#judgment-slos

p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
JudgmentSLOs object

Judgment SLOs for AI gate services - measure decision quality https://github.com/rsionnach/opensrm#judgment-slos

reversal_rate object

Reversal rate SLO - measures how often humans override AI decisions https://github.com/rsionnach/opensrm#judgment-slos

3 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
observation_period string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
high_confidence_failure object

High-confidence failure SLO - measures rate of confident but wrong decisions https://github.com/rsionnach/opensrm#judgment-slos

3 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
confidence_threshold number

Ratio value (0.0 - 1.0)

min=0max=1
calibration object

Calibration SLO - measures if stated confidence matches actual accuracy (ECE) https://github.com/rsionnach/opensrm#judgment-slos

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
feedback_latency object

Feedback latency SLO - measures time until decision quality is known https://github.com/rsionnach/opensrm#judgment-slos

Any of: variant, variant
2 nested properties
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
SLOs object

Service Level Objectives

availability object

Availability SLO - measures proportion of successful requests

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
latency object

Latency SLO - measures response time at specified percentiles

Any of: variant, variant, variant, variant, variant
7 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
error_rate object

Error rate SLO - measures proportion of failed requests

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
throughput object

Throughput SLO - measures request processing rate

3 nested properties
target number required

Minimum throughput

min=0
unit string required

Throughput unit

Values: "rps" "rpm" "rph"
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
processing_time object

Processing time SLO - job completion time for worker services

Any of: variant, variant, variant, variant
6 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
lag object

Lag SLO - consumer lag for stream services

3 nested properties
max_seconds number required

Maximum acceptable lag in seconds

min=0
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
success_rate object

Success rate SLO - measures proportion of successful operations

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
duration object

Duration SLO - job execution time for batch services

Any of: variant, variant, variant, variant
6 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
schedule_adherence object

Schedule adherence SLO - measures timeliness of batch job starts

2 nested properties
max_delay string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
data_freshness object

Data freshness SLO - measures staleness of batch output data

2 nested properties
max_age string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
query_latency object

Query latency SLO - response time for database services

Any of: variant, variant, variant, variant, variant
7 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
replication_lag object

Replication lag SLO for database services

2 nested properties
max_lag string required

Maximum acceptable replication lag (e.g., 1s, 500ms, 5m)

pattern=^[0-9]+(ms|s|m)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
connection_availability object

Connection availability SLO for database services

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
openslo object[]

References to external OpenSLO files

custom object[]

Custom SLO types

judgment object

Judgment SLOs for AI gate services - measure decision quality https://github.com/rsionnach/opensrm#judgment-slos

4 nested properties
reversal_rate object

Reversal rate SLO - measures how often humans override AI decisions https://github.com/rsionnach/opensrm#judgment-slos

3 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
observation_period string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
high_confidence_failure object

High-confidence failure SLO - measures rate of confident but wrong decisions https://github.com/rsionnach/opensrm#judgment-slos

3 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
confidence_threshold number

Ratio value (0.0 - 1.0)

min=0max=1
calibration object

Calibration SLO - measures if stated confidence matches actual accuracy (ECE) https://github.com/rsionnach/opensrm#judgment-slos

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
feedback_latency object

Feedback latency SLO - measures time until decision quality is known https://github.com/rsionnach/opensrm#judgment-slos

Any of: variant, variant
2 nested properties
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
ContractLatency object

Latency guarantees in a contract

p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
ContractThroughput object

Throughput guarantees in a contract

max_rps integer

Maximum sustained requests per second

min=1
burst integer

Maximum burst capacity

min=1
ContractJudgment object

Judgment guarantees in a contract for AI gate services

max_reversal_rate number

Ratio value (0.0 - 1.0)

min=0max=1
max_hcf_rate number

Ratio value (0.0 - 1.0)

min=0max=1
max_feedback_latency string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
Contract object

Reliability guarantees promised to dependents https://github.com/rsionnach/opensrm#contracts

availability number

Ratio value (0.0 - 1.0)

min=0max=1
latency object

Latency guarantees in a contract

3 nested properties
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
throughput object

Throughput guarantees in a contract

2 nested properties
max_rps integer

Maximum sustained requests per second

min=1
burst integer

Maximum burst capacity

min=1
judgment object

Judgment guarantees in a contract for AI gate services

3 nested properties
max_reversal_rate number

Ratio value (0.0 - 1.0)

min=0max=1
max_hcf_rate number

Ratio value (0.0 - 1.0)

min=0max=1
max_feedback_latency string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
Dependency object

Upstream dependency and expected guarantees

service string required

Dependency identifier (service name)

type string

Type of dependency

Values: "service" "database" "cache" "queue" "external"
critical boolean

Whether failure causes service failure

Default: true
expects object

Expected guarantees from dependency

2 nested properties
availability number

Ratio value (0.0 - 1.0)

min=0max=1
latency object
1 nested properties
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
manifest string

URL to dependency's SRM manifest

format=uri
Ownership object

Service ownership information

team string required

Team identifier

slack string

Slack channel for alerts (e.g., '#team-oncall')

email string

Team email address

format=email
escalation string

On-call rotation or escalation policy name

pagerduty object

PagerDuty integration

2 nested properties
service_id string

PagerDuty service ID

escalation_policy_id string

PagerDuty escalation policy ID

runbook string

URL to operational runbook

format=uri
documentation string

URL to service documentation

format=uri
oncall_required boolean

Whether on-call rotation is required

Instrumentation object

Telemetry configuration for AI gate services

events object required

Event name mappings

3 nested properties
decision string required

Event name emitted when AI makes a decision

reversal string required

Event name emitted when a decision is overridden

outcome string

Event name emitted when ground truth is known

attributes object

Attribute name mappings

3 nested properties
decision_id string

Field name for decision identifier

Default: "decision_id"
confidence string

Field name for confidence score

Default: "confidence"
decision string

Field name for decision value

Default: "decision"
Observability object

Observability requirements

metrics object

Metric requirements

3 nested properties
required string[]

Metric names that must exist

labels object
1 nested properties
required string[]

Labels that must be present

convention string

Metric naming convention

Default: "opentelemetry"
Values: "opentelemetry" "prometheus"
dashboards object

Dashboard requirements

2 nested properties
required boolean

Whether dashboards must exist

urls string[]

URLs to service dashboards

alerts object

Alert requirements

2 nested properties
required boolean

Whether alerts must be configured

definitions object[]
tracing object

Distributed tracing requirements

2 nested properties
required boolean

Whether distributed tracing must be enabled

sampling_rate number

Expected sampling rate (0.0 - 1.0)

min=0max=1
Deployment object

Deployment requirements

environments string[]

Environments where service is deployed

gates object

Deployment gates

3 nested properties
error_budget object
2 nested properties
enabled boolean
threshold number
slo_compliance object
2 nested properties
enabled boolean
min_compliance number
min=0max=1
recent_incidents object
4 nested properties
enabled boolean
lookback string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
max_p1 integer
min=0
max_p2 integer
min=0
rollback object

Rollback configuration

2 nested properties
automatic boolean

Whether automatic rollback is enabled

criteria object
2 nested properties
error_rate_increase string

Error rate increase threshold

latency_increase string

Latency increase threshold

Metadata object

Service identity and classification

name string required

Unique service identifier (lowercase alphanumeric with hyphens)

pattern=^[a-z0-9-]+$
team string required

Owning team identifier

tier string required

Service criticality tier

Values: "critical" "high" "standard" "low"
template string

Name of template to inherit from

description string

Human-readable description

labels Record<string, string>

Key-value pairs for filtering/grouping

annotations Record<string, string>

Arbitrary metadata (not used for selection)

TemplateMetadata object

Template identity

name string required

Unique template identifier

pattern=^[a-z0-9-]+$
description string

Human-readable description

Spec object

Reliability requirements

type string
Values: "api" "worker" "stream" "ai-gate" "batch" "database"
slos object

Service Level Objectives

16 nested properties
availability object

Availability SLO - measures proportion of successful requests

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
latency object

Latency SLO - measures response time at specified percentiles

Any of: variant, variant, variant, variant, variant
7 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
error_rate object

Error rate SLO - measures proportion of failed requests

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
throughput object

Throughput SLO - measures request processing rate

3 nested properties
target number required

Minimum throughput

min=0
unit string required

Throughput unit

Values: "rps" "rpm" "rph"
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
processing_time object

Processing time SLO - job completion time for worker services

Any of: variant, variant, variant, variant
6 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
lag object

Lag SLO - consumer lag for stream services

3 nested properties
max_seconds number required

Maximum acceptable lag in seconds

min=0
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
success_rate object

Success rate SLO - measures proportion of successful operations

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
duration object

Duration SLO - job execution time for batch services

Any of: variant, variant, variant, variant
6 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
schedule_adherence object

Schedule adherence SLO - measures timeliness of batch job starts

2 nested properties
max_delay string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
data_freshness object

Data freshness SLO - measures staleness of batch output data

2 nested properties
max_age string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
query_latency object

Query latency SLO - response time for database services

Any of: variant, variant, variant, variant, variant
7 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
replication_lag object

Replication lag SLO for database services

2 nested properties
max_lag string required

Maximum acceptable replication lag (e.g., 1s, 500ms, 5m)

pattern=^[0-9]+(ms|s|m)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
connection_availability object

Connection availability SLO for database services

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
openslo object[]

References to external OpenSLO files

custom object[]

Custom SLO types

judgment object

Judgment SLOs for AI gate services - measure decision quality https://github.com/rsionnach/opensrm#judgment-slos

4 nested properties
reversal_rate object

Reversal rate SLO - measures how often humans override AI decisions https://github.com/rsionnach/opensrm#judgment-slos

high_confidence_failure object

High-confidence failure SLO - measures rate of confident but wrong decisions https://github.com/rsionnach/opensrm#judgment-slos

calibration object

Calibration SLO - measures if stated confidence matches actual accuracy (ECE) https://github.com/rsionnach/opensrm#judgment-slos

feedback_latency object

Feedback latency SLO - measures time until decision quality is known https://github.com/rsionnach/opensrm#judgment-slos

Any of: variant, variant
contract object

Reliability guarantees promised to dependents https://github.com/rsionnach/opensrm#contracts

4 nested properties
availability number

Ratio value (0.0 - 1.0)

min=0max=1
latency object

Latency guarantees in a contract

3 nested properties
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
throughput object

Throughput guarantees in a contract

2 nested properties
max_rps integer

Maximum sustained requests per second

min=1
burst integer

Maximum burst capacity

min=1
judgment object

Judgment guarantees in a contract for AI gate services

3 nested properties
max_reversal_rate number

Ratio value (0.0 - 1.0)

min=0max=1
max_hcf_rate number

Ratio value (0.0 - 1.0)

min=0max=1
max_feedback_latency string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
instrumentation object

Telemetry configuration for AI gate services

2 nested properties
events object required

Event name mappings

3 nested properties
decision string required

Event name emitted when AI makes a decision

reversal string required

Event name emitted when a decision is overridden

outcome string

Event name emitted when ground truth is known

attributes object

Attribute name mappings

3 nested properties
decision_id string

Field name for decision identifier

Default: "decision_id"
confidence string

Field name for confidence score

Default: "confidence"
decision string

Field name for decision value

Default: "decision"
dependencies Dependency[]

Upstream dependencies

ownership object

Service ownership information

8 nested properties
team string required

Team identifier

slack string

Slack channel for alerts (e.g., '#team-oncall')

email string

Team email address

format=email
escalation string

On-call rotation or escalation policy name

pagerduty object

PagerDuty integration

2 nested properties
service_id string

PagerDuty service ID

escalation_policy_id string

PagerDuty escalation policy ID

runbook string

URL to operational runbook

format=uri
documentation string

URL to service documentation

format=uri
oncall_required boolean

Whether on-call rotation is required

observability object

Observability requirements

4 nested properties
metrics object

Metric requirements

3 nested properties
required string[]

Metric names that must exist

labels object
convention string

Metric naming convention

Default: "opentelemetry"
Values: "opentelemetry" "prometheus"
dashboards object

Dashboard requirements

2 nested properties
required boolean

Whether dashboards must exist

urls string[]

URLs to service dashboards

alerts object

Alert requirements

2 nested properties
required boolean

Whether alerts must be configured

definitions object[]
tracing object

Distributed tracing requirements

2 nested properties
required boolean

Whether distributed tracing must be enabled

sampling_rate number

Expected sampling rate (0.0 - 1.0)

min=0max=1
deployment object

Deployment requirements

3 nested properties
environments string[]

Environments where service is deployed

gates object

Deployment gates

3 nested properties
error_budget object
slo_compliance object
recent_incidents object
rollback object

Rollback configuration

2 nested properties
automatic boolean

Whether automatic rollback is enabled

criteria object
TemplateSpec object

Partial spec for template inheritance

type string
Values: "api" "worker" "stream" "ai-gate" "batch" "database"
slos object

Service Level Objectives

16 nested properties
availability object

Availability SLO - measures proportion of successful requests

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
latency object

Latency SLO - measures response time at specified percentiles

Any of: variant, variant, variant, variant, variant
7 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
error_rate object

Error rate SLO - measures proportion of failed requests

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
throughput object

Throughput SLO - measures request processing rate

3 nested properties
target number required

Minimum throughput

min=0
unit string required

Throughput unit

Values: "rps" "rpm" "rph"
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
processing_time object

Processing time SLO - job completion time for worker services

Any of: variant, variant, variant, variant
6 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
lag object

Lag SLO - consumer lag for stream services

3 nested properties
max_seconds number required

Maximum acceptable lag in seconds

min=0
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
success_rate object

Success rate SLO - measures proportion of successful operations

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
duration object

Duration SLO - job execution time for batch services

Any of: variant, variant, variant, variant
6 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
schedule_adherence object

Schedule adherence SLO - measures timeliness of batch job starts

2 nested properties
max_delay string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
data_freshness object

Data freshness SLO - measures staleness of batch output data

2 nested properties
max_age string required

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
query_latency object

Query latency SLO - response time for database services

Any of: variant, variant, variant, variant, variant
7 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
p50 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p90 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p95 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p99 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
p999 string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
replication_lag object

Replication lag SLO for database services

2 nested properties
max_lag string required

Maximum acceptable replication lag (e.g., 1s, 500ms, 5m)

pattern=^[0-9]+(ms|s|m)$
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
connection_availability object

Connection availability SLO for database services

2 nested properties
target number required

Ratio value (0.0 - 1.0)

min=0max=1
window string

Duration format: number followed by ms, s, m, h, d, or w

pattern=^[0-9]+(ms|s|m|h|d|w)$
openslo object[]

References to external OpenSLO files

custom object[]

Custom SLO types

judgment object

Judgment SLOs for AI gate services - measure decision quality https://github.com/rsionnach/opensrm#judgment-slos

4 nested properties
reversal_rate object

Reversal rate SLO - measures how often humans override AI decisions https://github.com/rsionnach/opensrm#judgment-slos

high_confidence_failure object

High-confidence failure SLO - measures rate of confident but wrong decisions https://github.com/rsionnach/opensrm#judgment-slos

calibration object

Calibration SLO - measures if stated confidence matches actual accuracy (ECE) https://github.com/rsionnach/opensrm#judgment-slos

feedback_latency object

Feedback latency SLO - measures time until decision quality is known https://github.com/rsionnach/opensrm#judgment-slos

Any of: variant, variant
ownership object

Service ownership information

8 nested properties
team string required

Team identifier

slack string

Slack channel for alerts (e.g., '#team-oncall')

email string

Team email address

format=email
escalation string

On-call rotation or escalation policy name

pagerduty object

PagerDuty integration

2 nested properties
service_id string

PagerDuty service ID

escalation_policy_id string

PagerDuty escalation policy ID

runbook string

URL to operational runbook

format=uri
documentation string

URL to service documentation

format=uri
oncall_required boolean

Whether on-call rotation is required

instrumentation object

Telemetry configuration for AI gate services

2 nested properties
events object required

Event name mappings

3 nested properties
decision string required

Event name emitted when AI makes a decision

reversal string required

Event name emitted when a decision is overridden

outcome string

Event name emitted when ground truth is known

attributes object

Attribute name mappings

3 nested properties
decision_id string

Field name for decision identifier

Default: "decision_id"
confidence string

Field name for confidence score

Default: "confidence"
decision string

Field name for decision value

Default: "decision"
ServiceReliabilityManifest object

Service Reliability Manifest - defines reliability requirements for a service

apiVersion string required

Schema version. Must be srm/v1

Constant: "srm/v1"
kind string required

Document type

Constant: "ServiceReliabilityManifest"
metadata object required

Service identity and classification

7 nested properties
name string required

Unique service identifier (lowercase alphanumeric with hyphens)

pattern=^[a-z0-9-]+$
team string required

Owning team identifier

tier string required

Service criticality tier

Values: "critical" "high" "standard" "low"
template string

Name of template to inherit from

description string

Human-readable description

labels Record<string, string>

Key-value pairs for filtering/grouping

annotations Record<string, string>

Arbitrary metadata (not used for selection)

spec object required

Reliability requirements

8 nested properties
type string
Values: "api" "worker" "stream" "ai-gate" "batch" "database"
slos object

Service Level Objectives

16 nested properties
availability object

Availability SLO - measures proportion of successful requests

latency object

Latency SLO - measures response time at specified percentiles

Any of: variant, variant, variant, variant, variant
error_rate object

Error rate SLO - measures proportion of failed requests

throughput object

Throughput SLO - measures request processing rate

processing_time object

Processing time SLO - job completion time for worker services

Any of: variant, variant, variant, variant
lag object

Lag SLO - consumer lag for stream services

success_rate object

Success rate SLO - measures proportion of successful operations

duration object

Duration SLO - job execution time for batch services

Any of: variant, variant, variant, variant
schedule_adherence object

Schedule adherence SLO - measures timeliness of batch job starts

data_freshness object

Data freshness SLO - measures staleness of batch output data

query_latency object

Query latency SLO - response time for database services

Any of: variant, variant, variant, variant, variant
replication_lag object

Replication lag SLO for database services

connection_availability object

Connection availability SLO for database services

openslo object[]

References to external OpenSLO files

custom object[]

Custom SLO types

judgment object

Judgment SLOs for AI gate services - measure decision quality https://github.com/rsionnach/opensrm#judgment-slos

contract object

Reliability guarantees promised to dependents https://github.com/rsionnach/opensrm#contracts

4 nested properties
availability number

Ratio value (0.0 - 1.0)

min=0max=1
latency object

Latency guarantees in a contract

throughput object

Throughput guarantees in a contract

judgment object

Judgment guarantees in a contract for AI gate services

instrumentation object

Telemetry configuration for AI gate services

2 nested properties
events object required

Event name mappings

attributes object

Attribute name mappings

dependencies Dependency[]

Upstream dependencies

ownership object

Service ownership information

8 nested properties
team string required

Team identifier

slack string

Slack channel for alerts (e.g., '#team-oncall')

email string

Team email address

format=email
escalation string

On-call rotation or escalation policy name

pagerduty object

PagerDuty integration

runbook string

URL to operational runbook

format=uri
documentation string

URL to service documentation

format=uri
oncall_required boolean

Whether on-call rotation is required

observability object

Observability requirements

4 nested properties
metrics object

Metric requirements

dashboards object

Dashboard requirements

alerts object

Alert requirements

tracing object

Distributed tracing requirements

deployment object

Deployment requirements

3 nested properties
environments string[]

Environments where service is deployed

gates object

Deployment gates

rollback object

Rollback configuration

Template object

Reusable template for service reliability manifests

apiVersion string required

Schema version. Must be srm/v1

Constant: "srm/v1"
kind string required

Document type

Constant: "Template"
metadata object required

Template identity

2 nested properties
name string required

Unique template identifier

pattern=^[a-z0-9-]+$
description string

Human-readable description

spec object required

Partial spec for template inheritance

4 nested properties
type string
Values: "api" "worker" "stream" "ai-gate" "batch" "database"
slos object

Service Level Objectives

16 nested properties
availability object

Availability SLO - measures proportion of successful requests

latency object

Latency SLO - measures response time at specified percentiles

Any of: variant, variant, variant, variant, variant
error_rate object

Error rate SLO - measures proportion of failed requests

throughput object

Throughput SLO - measures request processing rate

processing_time object

Processing time SLO - job completion time for worker services

Any of: variant, variant, variant, variant
lag object

Lag SLO - consumer lag for stream services

success_rate object

Success rate SLO - measures proportion of successful operations

duration object

Duration SLO - job execution time for batch services

Any of: variant, variant, variant, variant
schedule_adherence object

Schedule adherence SLO - measures timeliness of batch job starts

data_freshness object

Data freshness SLO - measures staleness of batch output data

query_latency object

Query latency SLO - response time for database services

Any of: variant, variant, variant, variant, variant
replication_lag object

Replication lag SLO for database services

connection_availability object

Connection availability SLO for database services

openslo object[]

References to external OpenSLO files

custom object[]

Custom SLO types

judgment object

Judgment SLOs for AI gate services - measure decision quality https://github.com/rsionnach/opensrm#judgment-slos

ownership object

Service ownership information

8 nested properties
team string required

Team identifier

slack string

Slack channel for alerts (e.g., '#team-oncall')

email string

Team email address

format=email
escalation string

On-call rotation or escalation policy name

pagerduty object

PagerDuty integration

runbook string

URL to operational runbook

format=uri
documentation string

URL to service documentation

format=uri
oncall_required boolean

Whether on-call rotation is required

instrumentation object

Telemetry configuration for AI gate services

2 nested properties
events object required

Event name mappings

attributes object

Attribute name mappings