# Result — 001 Plan Doc Writing

> اکشن مرتبط: [`action/001_action_plan_doc_writing.md`](001_action_doc_writing.md)
> تاریخ اجرا: 2026-06-09

این ریزالتِ اجرای قاعده‌ی «نوشتن داک پلن» است. خودِ اکشن جنرال است؛ این‌جا فقط
جزئیات این اجرا و درس‌آموخته‌ها ثبت می‌شود تا دفعه‌ی بعد سریع‌تر و بی‌خطا انجام شود.

## قاعده‌ای که فهمیدم و اعمال کردم

سیستم دو لایه است:

| لایه | مسیر | ماهیت |
|------|------|-------|
| Action | `docs/action/NNN_action_*.md` | عمومی، قابل‌استفاده‌ی مجدد، ورودیِ کار |
| Result | `docs/result/NNN_result_*.md` | مخصوص همان اجرا، شامل درس‌آموخته‌ها، خروجیِ کار |

قواعد:
- نام result دقیقاً قرینه‌ی action است: `NNN_action_X` → `NNN_result_X`.
- شماره‌ی `NNN` بین جفتِ action/result مشترک است.
- چون action ممکن است دوباره برای موقعیت مشابه داده شود، **هیچ جزئیاتِ مخصوصِ یک اجرا نباید داخل action برود** — همه‌ی آن‌ها در result.
- result باید «چیزهایی که کاربر لازم است بداند» + «درس‌آموخته» را داشته باشد.

## چه چیزی در این اجرا تولید شد

سند پلن (`docs/Plan.md`) با یک سکشن **«پیاده‌سازی — معماری Bridge»** گسترش یافت:
- دیاگرام Mermaid از جریان داده (Meet → content script → service worker → پایتون → فایل → MCP/Claude)
- توضیح «چرا client نه server» (CSP گوگل میت + لایف‌سایکل MV3)
- جدول وضعیت گام ۱ + چک‌لیست مراحل بعدی

همین محتوا در `docs/action/002_action_plan.md` به‌عنوان نسخه‌ی action نگه داشته شده.

## درس‌آموخته‌ها (برای دفعه‌ی بعد)

1. **Mermaid در Obsidian:** متنِ هر node را داخل `"..."` بگذار و برای شکستن خط از
   `<br/>` استفاده کن. کاراکترهای `<` و `>` داخل لیبل را به‌صورت `&lt;` و `&gt;`
   بنویس وگرنه پارسر Mermaid خطا می‌دهد (مثلاً `<sessionId>` → `&lt;sessionId&gt;`).
2. **جهت‌دهی فارسی + کد:** عنوان‌ها و توضیح فارسی، ولی نام فایل/کد/پروتکل را داخل
   backtick انگلیسی نگه دار تا RTL آن‌ها را به‌هم نریزد.
3. **لینک‌های نسبی:** result در `docs/result/` است و action در `docs/action/`؛ برای
   ارجاع از داخل result به action از `../action/...` استفاده کن (که در Obsidian و
   هم در GitHub درست باز می‌شود).
4. **`002_result_plan.md` خالی مانده:** قرینه‌اش (`002_action_plan`) پر است ولی
   ریزالتش هنوز نوشته نشده — اگر آن اجرا کامل شد باید پر شود.
5. **همگام‌سازی action 002 با Plan.md:** الان `docs/Plan.md` و
   `docs/action/002_action_plan.md` محتوای یکسانی دارند؛ اگر یکی تغییر کرد باید
   تصمیم بگیریم کدام «منبع حقیقت» است تا واگرا نشوند.

## باز است / نیاز به تصمیم

- منبع حقیقتِ پلن کدام است: `docs/Plan.md` یا `docs/action/002_action_plan.md`؟
- آیا result ها هم باید در Obsidian قابل‌ناوبری باشند (مثلاً با لینک دوطرفه به action)؟
