Browse documentation
View Markdown

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.lifecycle and policy minEvents.
    • 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.
yaml
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

  1. Draft the goal. Use the portal or author intent YAML. State the user outcome and the observation point, including excluded traffic and retries.
  2. 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.
  3. Confirm the measurement. An owner/editor confirms the exact goal and measurement digests. A model or agent role cannot perform this confirmation.
  4. Prepare the changes. Inspect the proposed SLO, optional critical user journey link, parameter diff, rationale, assumptions and available backtest evidence.
  5. 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.
  6. 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, 300us or 0.03s; unitless form input is rejected.
  • Natural-language drafting preserves the exact unit in the quoted evidence. A draft cannot substitute 30s for an entered 30ms.
  • Versioned numeric thresholdSeconds fields remain seconds: 30ms is serialized as 0.03, not 30. 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_*_limit code 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.