SLO intents
An intent expresses the reliability outcome you want to measure.
- Nines can help turn natural language into a draft, discover relevant telemetry and prepare a change set.
- The deterministic compiler and explicit human review determine what can be applied.
- Model-assisted drafting and tool-driven preparation remain experimental. The guided path and offline CLI do not require a model.
- Intent YAML can set
spec.lifecycleand policyminEvents.- The compiler preserves them in the SLO and its intent provenance.
- Review shows lifecycle changes and their paging impact.
- Agent context includes lifecycle and suppression separately from measured reliability; a disabled alert is not evidence that an objective is healthy. See lifecycle and traffic guards.
Define a goal and measurement
- An intent includes the service, source, target, window and SLO-owned measurement. These are reviewable inputs, not values a model may silently change during deployment.
apiVersion: nines.dev/v1alpha1
kind: ServiceLevelObjectiveIntent
metadata:
name: api-success-intent
project: production
spec:
description: Production API request attempts should complete successfully.
service: api
source: primary
outcome: availability
population:
service: api
environment: production
target: 0.999
windowSeconds: 2419200 # Rolling 28 days
noDataPolicy: unknown
stepSeconds: 60
measurement:
type: availability
metric: http_requests_total
labels: {service: api, environment: production}
successLabels: {status: "200"}
scrapeIntervalSeconds: 15
observationPoint: Completed API requests, including failures. Requests never reaching the server are excluded.
# Optional alert policy. These values are explicitly authored, not inferred.
policy:
shortWindow: 5m
longWindow: 1h
burnRate: 14.4
forSeconds: 120
minCoverage: 1
# To propose a link to an existing CUJ, specify its current revision and step:
# journey:
# name: checkout
# step: payment
# expectedRevision: 1
# required: true
Follow the review flow
- Draft the goal. Use the portal or author intent YAML. State the user outcome and the observation point, including excluded traffic and retries.
- Verify telemetry. Model mode can first propose a measurement from the tenant’s template catalog. The recipe and digest are recorded for review; its examples are not telemetry evidence. Discover the metric and matching populations through the tenant's configured source. Missing or ambiguous evidence requires clarification.
- Confirm the measurement. An owner/editor confirms the exact goal and measurement digests. A model or agent role cannot perform this confirmation.
- Prepare the changes. Inspect the proposed SLO, optional critical user journey link, parameter diff, rationale, assumptions and available backtest evidence.
- Approve the exact change set. Record a reason and review its limits. Edits to the goal, measurement, source or affected revisions invalidate the previous approval.
- Apply and verify. The SLO and proposed journey change commit atomically. Rule delivery then follows the telemetry connection's automatic or manual policy. Check measurement coverage, backend evaluation and output separately.
- A successful model response is not permission to write production configuration. The workflow model has no approval or direct resource-write tool.
Choose a model provider
- Model configuration is optional and provider-specific.
- Nines supports native Anthropic and other documented provider routes, compatible endpoints and local model configurations.
- You do not need an OpenAI account to use the deterministic platform or a different supported adapter.
- Configure provider credentials in the server environment or secret manager.
- Do not put keys in intent YAML, prompts, project files or exported evidence.
- See provider setup and measured acceptance for exact configuration and current limits; drafting support does not imply full tool-calling workflow support.
Optional semantic advice
- System One advice with Jev suggests a template category and assesses whether the description defines eligible events, success and the observation point.
- It works in guided or model-directed preparation with separate consent.
- Results are advisory probabilities, never telemetry evidence or permission to apply a change.
Understand rollback
- Existing definitions can be restored as new revisions through a separately reviewed rollback.
- Newly created resources have no previous definition and block this restore path.
- Applying a restore cannot undo consumed error budget or recover missing historical telemetry.
- See recommendation governance for approval withdrawal, audit export and revision-safe rollback, and MCP and skills for agent access.
Keep duration units explicit
- Latency form fields accept units such as
30ms,300usor0.03s; unitless form input is rejected. - Natural-language drafting preserves the exact unit in the quoted evidence. A draft cannot substitute
30sfor an entered30ms. - Versioned numeric
thresholdSecondsfields remain seconds:30msis serialized as0.03, not30. Burn windows remain whole-second windows and reject subsecond values instead of rounding them.
Continue when a conversation is full
- Each conversation permits eight preparation runs and forty messages, with two message slots reserved when starting preparation. Preparation and stored records also have byte limits.
- The portal identifies a full conversation and offers Start new conversation with this goal. Only the typed goal is copied; evidence, confirmations, approvals and change sets are not copied.
- The original conversation and audit history remain available. Verify telemetry and review the new proposal again before applying it.
- API clients receive HTTP 429 with an
intent_*_limitcode and the applicable limit. A conversation-capacity error needs a new conversation; retrying the same request does not free capacity. - The tenant-wide saved-conversation limit is separate. Contact an administrator when that limit is reached; history is not silently deleted.