Repository navigation
docs(spec): SLO spec matches shipped defaults (7d reliability, 50-sample minimum, customer-failure exclusion) (agent:clawd) - #56
Conversation
…days at 50 samples, customer-caused failures excluded, each SLO judged on its own window
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reachedEnable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Next included review available in 51 minutes. View limit details
Walkthrough
Merge Risk:
|
…nt config CodeRabbit on PR #56: the spec claims a 50-operation / 7-day reliability default, but rows materialized by 20260824011500 and the provisioning function still held 20 / 1,440, and stored rows override the code fallback at read time. - new migration updates only untouched legacy default rows (version- scoped predicate preserves tenant-customized policies) - provisioning function replaced so new tenants get 50 / 10,080 - spec: scope the insufficient_data rule to incident evaluation and document the Cockpit display-only widest-window lowSample fallback - postgres test: register the migration and assert provisioned defaults Verified: pnpm test:postgres:v1 equivalent (test-signalops-postgres-v1.mjs against a loopback postgres:16) passes. [agent:clawd]
… rows (agent:clawd) CodeRabbit major follow-up on the d14eca6 default migration: the migration updated 20/24h rows to 50/7d while keeping version operation-reliability-2026-08-24, but the shipped code default (src/lib/signalops/v1/slo.ts) is operation-reliability-7d-2026-10-27, and incident identity is (tenant, metric, route scope, policy version). Keeping the old label would let incident sync reuse a pre-migration incident, retain its acknowledgement, and skip the opening alert for the revised rule. - guard migration now sets version operation-reliability-7d-2026-10-27 on the untouched legacy rows it updates; - replacement provisioning function inserts the same revised version so new tenants match the code default; - postgres migration test asserts the provisioned version alongside sample/window. Verification: node --check, eslint, tsc, next build all green locally.
What
docs/specs/signalops-slo-incidents-v1.mdstill described the pre-#55 contract. This syncs the spec with what actually shipped in60edbe8+ec6851a(PR #55):minimumSample: 50, windowMinutes: 10_080).totals.successRatekeeps the raw outcome rate.sloRangeForWindowV1), while provider/telemetry/capacity decisions always read 24h; cockpit display evaluation widens the window until the minimum sample is met.Docs-only change; no code, no migrations, no API surface touched. Every claim in the paragraph was checked against
src/lib/signalops/v1/slo.ts(DEFAULT_POLICY_TEMPLATES,sloRangeForWindowV1) andsrc/lib/signalops/v1/incidents.ts(window-scoped snapshot judging).Verification
slo.tsdefaults andincidents.tssnapshot selection.prettier --checkon the file: the only findings are pre-existing table-alignment style onmain(no format job in CI); no new violations from this change.agent:clawd
Summary by CodeRabbit