# ADR-003 — چرا SLO سه ثانیه؟ برای کدام پاسخ؟

Why three seconds, and for which response?

Status: proposed · Date: 2026-10-15

## مسئله / Context

تأییدِ پذیرش run، اولین token و پایانِ بررسی سه تجربهٔ متفاوت‌اند؛ یک عدد برای همهٔ آن‌ها معنا ندارد.

Admission acknowledgement, first token, and completed investigation are different experiences; one number cannot describe all three.

## گزینه‌ها / Alternatives

۱ ثانیه سخت‌گیرانه؛ ۳ ثانیه پیشنهادی؛ ۱۰ ثانیه با انتظار بیشتر؛ یا اجرای غیرتعاملی.

An aggressive one second, proposed three seconds, ten seconds with more waiting, or asynchronous execution.

## انتخاب فعلی / Choice

فقط برای برنامهٔ تعاملی: پیشنهاد ۹۵٪ پاسخ‌های موفق با اولین token مفید در ≤۳۰۰۰ms در پنجرهٔ ۷روزه؛ هنوز تعهد مصوب نیست.

Interactive apps only: propose successful useful-first-token responses within 3000ms for 95% of eligible requests over seven days; not an approved commitment.

## چرایی و trade-off / Rationale and trade-off

۳ ثانیه یک فرضِ تجربهٔ کاربری است، نه استاندارد کتاب. بودجهٔ مسیر ۱۰۰+۳۰۰+۲۵۰+۱۹۰۰+۴۵۰=۳۰۰۰ms است؛ باید با تست کاربر و load test رد یا تأیید شود.

Three seconds is a UX hypothesis, not a book standard. The path budget is 100+300+250+1900+450=3000ms; user testing and load tests must validate it.

## فرض‌ها / Assumptions

E11 بودجه‌های مسیر؛ E03 توکن‌ها؛ E10 burst. صدک‌های اجزا را با هم جمع نمی‌کنیم؛ این تقسیمِ بودجه است، نه p95 اندازه‌گیری‌شده.

E11 path budgets, E03 tokens, E10 bursts. Do not sum component percentiles: this is budget allocation, not a measured end-to-end p95.

## روش آزمون / Validation

SLI از SDK/لبه تا اولین token مفید: good/eligible؛ خطای provider و deadline در مخرج باشند. schema-invalid و cancel پیش از پذیرش جدا تعریف شوند. p95 و error جدا هم گزارش شوند.

Measure SDK/edge to useful first token as good/eligible, including provider errors and deadlines in the denominator. Define invalid/cancelled-before-admission exclusions explicitly; also report p95 and errors separately.

## بازنگری / Revisit

اگر کاربر با ۵ ثانیه هم راضی است یا مدلِ لازم با ۳ ثانیه نمی‌رسد، به‌جای عددسازی، UX/مدل/هدف را بازبینی کن. پاسخِ نهایی agent هدف جدا می‌خواهد.

If users accept five seconds or the required model cannot meet three, revisit UX/model/target rather than inventing results. Final agent completion needs a separate objective.

DDIA: 2, 9, 10
