Success Criteria¶
Measurable outcomes — numbered SC-###, each with a stable anchor (#sc-016). These are the
testable definition of "done" that pairs with the Functional Requirements.
(Source: §40.2.)
- SC-001 — New users can deploy their first application within 10 minutes of signup
- SC-002 — Builds complete within 5 minutes for typical applications (p75 across customer base)
- SC-003 — Deployments complete with zero downtime for running services (measured as zero failed health checks on live Service during rollout)
- SC-004 — Managed database provisioning completes within 3 minutes
- SC-005 — Object storage bucket provisioning completes within 30 seconds
- SC-006 — Real-time log streaming begins within 2 seconds of request
- SC-007 — Cost calculations reflect current resource configuration accurately (no more than 1% discrepancy vs. raw K8s snapshot on any given day)
- SC-008 — GitHub webhooks are processed and acknowledged within 10 seconds
- SC-009 — System handles 100 concurrent API users without degradation (measured as p95 < 500ms response time)
- SC-010 — Rollbacks restore the previous version within 1 minute
- SC-011 — All sensitive credentials are encrypted at rest and never exposed in logs or API responses
- SC-012 — Users can see all resources and costs from a single project view
- SC-013 — Build-minute gross margin on Depot at list rates is ≥20% (§16.7); target post-negotiation ≥50%
- SC-014 — Depot Business-plan negotiation secured by Month 3 post-launch with rate ≤$0.02/min (Financial Model v2.1)
- SC-015 — Blended gross margin across full plan is ≥25% by Month 6, ≥50% by Month 9
- SC-016 — Customer metric and log queries never return another tenant's data (enforced by the server-side tenant filter; verified by an isolation test in CI)
- SC-017 — Platform alerts evaluate and route via Grafana Alerting/OnCall within 2 minutes of a breached threshold (§35.5)
- SC-018 — Customer dashboards reflect new metric samples within ~60 seconds of emission (scrape + remote_write interval), and the billing-staleness gauge (
starform_informer_last_event_timestamp_seconds) alerts if pod data exceeds 300s of staleness (§26.1)