# ADR-002 — نسخهٔ اول دقیقاً چه کاری انجام می‌دهد؟

What does the first version actually do?

Status: proposed · Date: 2026-10-15

## مسئله / Context

ساخت هم‌زمان همهٔ قابلیت‌ها، گرفتن بازخورد و فهم خرابی‌ها را سخت می‌کند.

Building all capabilities simultaneously complicates feedback and failure diagnosis.

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

همهٔ پنج قابلیت به‌صورت کامل؛ یا یک مسیر end-to-end کوچک و قابل‌آزمایش.

Five complete capabilities at once, or one small testable end-to-end path.

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

ثبت برنامه → ارسال run → یک call مدل و یک ابزار خواندنی → نتیجه و trace؛ سپس توسعهٔ مرحله‌ای.

Register app → submit run → one model call and read-only tool → result/trace, then expand.

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

ابتدا قرارداد مشترک پلتفرم را اثبات می‌کنیم؛ phase اول به GPU، Kafka و Kubernetes وابسته نیست.

Prove the reusable platform contract first; the first phase does not depend on GPUs, Kafka, or Kubernetes.

## فرض‌ها / Assumptions

E01 حجم پایلوت؛ E02 سقف callها فرض‌اند. دادهٔ پایلوت واقعی نداریم.

Pilot volume E01 and call count E02 are assumptions; real pilot data does not exist yet.

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

developer یک app ساده و یک app ابزارمحور را از همان قرارداد اجرا کند؛ پاسخ گم‌شده run جدید نسازد.

Run simple and tool-using apps through the same contract; lost responses do not create duplicate runs.

## بازنگری / Revisit

با اثبات مسیر اول، قابلیت‌های context، eval و serving با gate مستقل اضافه شوند.

After the first path works, add context, evaluation, and serving behind separate gates.

DDIA: 1, 2, 13
