# TaskGet

يجلب السجل الكامل لمهمة واحدة بالمعرف، بما في ذلك وصفها وحالتها الحالية ومالكها وبياناتها الوصفية وحواف تبعياتها. استخدمه عندما لا يكون الملخص الذي يُعيده `TaskList` كافياً للتصرف بناءً على المهمة.

## متى يُستخدم

- عندما تلتقط مهمة من `TaskList` وتحتاج إلى الوصف الكامل قبل البدء في العمل.
- عندما توشك على وسم مهمة بـ `completed` وتريد إعادة فحص معايير القبول.
- عندما تحتاج إلى فحص ما تحجبه هذه المهمة (`blocks`) أو ما يحجبها (`blockedBy`) لتقرير الخطوة التالية.
- عندما تُحقق في التاريخ — من يملكها، وما البيانات الوصفية المُرفقة، ومتى تغيرت حالتها.
- عندما يشير زميل فريق أو جلسة سابقة إلى معرف مهمة وتحتاج إلى السياق.

فضِّل `TaskList` عندما تحتاج فقط إلى مسح عالي المستوى؛ واحجز `TaskGet` للسجل المحدد الذي تعتزم قراءته بعناية أو تعديله.

## المعاملات

- `taskId` (سلسلة، مطلوب): معرف المهمة المُعاد من `TaskCreate` أو `TaskList`. المعرفات ثابتة طوال عمر المهمة.

## أمثلة

### مثال 1

ابحث عن مهمة رأيتها للتو في القائمة.

```
TaskGet(taskId: "t_01HXYZ...")
```

الحقول النموذجية في الاستجابة: `id`، `subject`، `description`، `activeForm`، `status`، `owner`، `blocks`، `blockedBy`، `metadata`، `createdAt`، `updatedAt`.

### مثال 2

حل التبعيات قبل البدء.

```
TaskGet(taskId: "t_01HXYZ...")
# Inspect blockedBy — if any referenced task is still pending
# or in_progress, work on the blocker first.
```

## ملاحظات

- `TaskGet` للقراءة فقط وآمن للاستدعاء المتكرر؛ فهو لا يغير الحالة أو الملكية.
- إذا كان `blockedBy` غير فارغ ويحتوي على مهام غير `completed`، فلا تبدأ هذه المهمة — احل العوائق أولاً (أو نسق مع مالكها).
- قد يكون حقل `description` طويلاً. اقرأه بالكامل قبل التصرف؛ التصفح السطحي يؤدي إلى معايير قبول فائتة.
- `taskId` غير معروف أو محذوف يُعيد خطأً. أعد تشغيل `TaskList` لاختيار معرف حالي.
- إذا كنت ستُعدل مهمة، فاستدعِ `TaskGet` أولاً لتجنب الكتابة فوق حقول غيَّرها زميل فريق للتو.
