From 5377ddbfbffdb053a0c30518cb9cb3892b3387ff Mon Sep 17 00:00:00 2001
From: parsa aghaei
Date: Sun, 26 Jul 2026 16:20:59 +0330
Subject: [PATCH] docs: audit and re-prioritize backlog across database, NestJS
backend, admin panel, and testing layers
---
.ai_agency/memory/backlog.json | 300 +++++++--------------------------
.ai_agency/memory/state.json | 18 +-
2 files changed, 68 insertions(+), 250 deletions(-)
diff --git a/.ai_agency/memory/backlog.json b/.ai_agency/memory/backlog.json
index bc420e5..b6c4263 100644
--- a/.ai_agency/memory/backlog.json
+++ b/.ai_agency/memory/backlog.json
@@ -1,296 +1,114 @@
[
{
"id": "TASK-101",
- "title": "پیادهسازی متاتگهای داینامیک و Structured Data (JSON-LD) برای سئوی محصولات و صفحات اصلی",
+ "title": "Prisma Schema & Database Indexing Optimization (PostgreSQL)",
"priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
+ "assigned_role": "04_dev_backend",
+ "status": "pending",
+ "max_file_count": 2,
+ "estimated_minutes": 20,
"dependency_task_ids": [],
"acceptance_criteria": [
- "افزوده شدن متاتگهای داینامیک OpenGraph و Schema.org Product در app/shop/[slug]/page.tsx",
- "اعتبارسنجی تگهای JSON-LD برای گوگل Rich Snippet"
+ "افزودن ایندکس روی فیلدهای پرکاربرد جستجو نظیر categorySlug و suitableFor در مدل Product",
+ "اعتبارسنجی ارجاعات ریلیشنها و پشتیبانی متوازن از فیلدهای B2B/Wholesale"
]
},
{
"id": "TASK-102",
- "title": "تکمیل و بهینهسازی سیستم راهنمای تعاملی گامبهگام (Pet Recommendation Wizard) بر اساس محصولات واقعی",
+ "title": "Seed Data & Official Catalog Sync in Prisma (backend/prisma/seed.ts)",
"priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": [],
+ "assigned_role": "04_dev_backend",
+ "status": "pending",
+ "max_file_count": 2,
+ "estimated_minutes": 25,
+ "dependency_task_ids": ["TASK-101"],
"acceptance_criteria": [
- "طراحی فرم چند مرحلهای انتخاب پت (سگ/گربه)، وزن، سن و عارضه",
- "محاسبه دوز دقیق مصرفی و نمایش پیشنهاد محصول واقعی با دکمه افزودن مستقیم به سبد خرید"
+ "همگامسازی کامل ۳۰ محصول کاتالوگ رسمی Canina آلمان با قیمتهای دقیق تکفروشی و قیمت عمده همکار",
+ "اجرای موفقیتآمیز npx prisma db seed بدون خطا"
]
},
{
"id": "TASK-103",
- "title": "طراحی فرم درخواست احراز هویت خریدار عمده (پتشاپها و کلینیکهای دامپزشکی)",
+ "title": "NestJS Global DTO Validation Pipes & Sanitization (backend/src/main.ts)",
"priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
+ "assigned_role": "04_dev_backend",
+ "status": "pending",
"max_file_count": 3,
"estimated_minutes": 15,
- "dependency_task_ids": [],
+ "dependency_task_ids": ["TASK-102"],
"acceptance_criteria": [
- "ایجاد فرم ثبت درخواست حساب عمدهفروشی شامل شماره نظام دامپزشکی / پروانه کسب و آپلود مدرک",
- "اتصال فرم به سرویس احراز هویت / ثبت نام و مدیریت استیت در Zustand"
+ "فعالسازی ValidationPipe سراسری با whitelist و forbidNonWhitelisted",
+ "تنظیم Global Exception Filter برای ساختار استاندارد پاسخ به خطاهای API"
]
},
{
"id": "TASK-104",
- "title": "پیادهسازی پنل و جدول سفارش حجمی (Bulk Order Matrix) برای خریداران عمده تاییدشده",
+ "title": "NestJS Auth & B2B Wholesale Role Guard Verification (backend/src/auth)",
"priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
+ "assigned_role": "04_dev_backend",
+ "status": "pending",
"max_file_count": 3,
- "estimated_minutes": 15,
+ "estimated_minutes": 20,
"dependency_task_ids": ["TASK-103"],
"acceptance_criteria": [
- "طراحی جدول ماتریسی محصولات با ورودی تعداد ثبت سریع سفارش حجمی برای نقشهای Wholesale",
- "محاسبه مجموع فاکتور عمده با اعمال تخفیفهای ویژه همکار"
+ "پیادهسازی گارد دسترسی RolesGuard برای نقشهای User_Wholesale و ADMIN",
+ "مخفیسازی قیمت عمده در سرویس محصولات در صورت عدم تایید گارد احراز هویت"
]
},
{
"id": "TASK-105",
- "title": "ریدیزاین بصری UI/UX و ارتقای حس استریملاین دارویی و لوکس فروشگاه کانینا",
- "priority": "MEDIUM",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
+ "title": "NestJS Admin Orders & B2B Document Approval Service (backend/src/admin)",
+ "priority": "HIGH",
+ "assigned_role": "04_dev_backend",
+ "status": "pending",
"max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": [],
+ "estimated_minutes": 20,
+ "dependency_task_ids": ["TASK-104"],
"acceptance_criteria": [
- "ارتقای انیمیشنهای ورود، دکمهها، کارتهای محصولات و هدر/فوتر با بالاترین استانداردهای بصری",
- "تضمین پاسخگویی ۱۰۰٪ در رزولوشنهای دسکتاپ، تبلت و موبایل"
+ "ایجاد سرویس تایید مدارک و پروانه کسب خریداران عمده جهت تغییر نقش به User_Wholesale",
+ "پیادهسازی کنترلرهای تغییر وضعیت سفارشات عمده و صادرات فاکتور"
]
},
{
"id": "TASK-106",
- "title": "ایجاد مجموعه تستهای خودکار کامپوننتها و استورهای اصلی (Testing Suite - Vitest/Jest)",
+ "title": "Backend Unit & Integration Test Suite (Jest)",
"priority": "HIGH",
"assigned_role": "06_qa_engineer",
- "status": "completed",
+ "status": "pending",
"max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": [],
+ "estimated_minutes": 20,
+ "dependency_task_ids": ["TASK-105"],
"acceptance_criteria": [
- "ایجاد تستهای واحد برای صحت کارکرد محاسبه دوز در SmartAdvisor",
- "ایجاد تستهای واحد برای مدیریت سبد خرید و اعمال تخفیف همکار در cartStore"
+ "نوشتن تستهای واحد کنترلرهای Auth و Products با Jest",
+ "تضمین درصد پوشش تست (Code Coverage) بالای ۸۰٪ برای سرویسهای اصلی بکاند"
]
},
{
"id": "TASK-107",
- "title": "بهینهسازی کارایی تصاویر و تبدیل تمام تگهای img به next/image در SafeImage",
- "priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": [],
- "acceptance_criteria": [
- "انتقال تمام تگهای HTML img به کامپوننت بهینهشده Image از next/image",
- "تضمین لودینگ سریع، کاهش LCP و هندلینگ صحیح خطاهای لودینگ تصویر"
- ]
- },
- {
- "id": "TASK-108",
- "title": "ایجاد لایههای loading.tsx و error.tsx استاندارد در Next.js App Router",
- "priority": "MEDIUM",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": [],
- "acceptance_criteria": [
- "ایجاد app/loading.tsx با اسکلتونهای مدرن و استریمینگ",
- "ایجاد app/error.tsx جهت مدیریت خطاهای غیرمنتظره و دکمه تلاش مجدد"
- ]
- },
- {
- "id": "TASK-109",
- "title": "تکمیل مدیریت خریداران عمده و پروانههای ثبتشده در پنل مدیریت (Admin Panel)",
- "priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": [],
- "acceptance_criteria": [
- "افزوده شدن تب تایید مدارک خریداران عمده در صفحه Users پنل مدیریت",
- "قابلیت تایید مدرک و ارتقای نقش کاربر به User_Wholesale"
- ]
- },
- {
- "id": "TASK-110",
- "title": "بهینهسازی فنی سئو، Sitemap داینامیک و Robots.txt",
- "priority": "MEDIUM",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": [],
- "acceptance_criteria": [
- "بهروزرسانی sitemap.ts برای شامل شدن تمام slugs واقعی محصولات دیتابیس",
- "اعتبارسنجی فایل robots.ts برای موتورهای جستجو"
- ]
- },
- {
- "id": "TASK-111",
- "title": "افزودن فیلتر محصولات در صفحه لیست مکملها بر اساس نسخه دامپزشکی و گروهبندی تخصصی",
- "priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": [],
- "acceptance_criteria": [
- "افزودن فیلتر محصولات نیازمند نسخه در ArchivePage و SearchResultsPage",
- "امکان فیلتر سریع مکملهای خانگی بدون نسخه در کنار مکملهای تجویزی"
- ]
- },
- {
- "id": "TASK-112",
- "title": "افزودن مدال ثبت مستقیم نسخه دامپزشکی و ارسال تصاویر نسخه برای خرید سریع بدون معطلی",
- "priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": ["TASK-111"],
- "acceptance_criteria": [
- "ایجاد PrescriptionUploadModal جهت آپلود تصویر نسخه پزشکی",
- "امکان ارسال سریع درخواست مشاوره/تامین داروی تجویزی برای خریداران دارای نسخه"
- ]
- },
- {
- "id": "TASK-113",
- "title": "افزودن قابلیت دانلود PDF و اکسل لیست قیمت عمدهفروشی Canina در B2BPortal برای پتشاپها و کلینیکها",
- "priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": ["TASK-112"],
- "acceptance_criteria": [
- "افزودن دکمه دریافت کاتالوگ و لیست قیمت B2B به صورت اکسل/CSV و آمادهسازی برای چاپ",
- "امکان خروجی گرفتن سریع از لیست سفارش حجمی برای همکاران و پتشاپهای تاییدشده"
- ]
- },
- {
- "id": "TASK-114",
- "title": "افزودن نشانگر نشاندار بودن محصولات رسمی کاتالوگ Canina و لینک دانلود کاتالوگ پیدیاف در هدر و فوتر",
- "priority": "MEDIUM",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": ["TASK-113"],
- "acceptance_criteria": [
- "افزودن دکمه دانلود کاتالوگ رسمی PDF برند Canina در فوتر و منوی اصلی",
- "نمایش بنر اصالت کاتالوگ رسمی محصولات در صفحات جزئیات محصول"
- ]
- },
- {
- "id": "TASK-115",
- "title": "افزودن ماشینحساب محاسبه دوز دقیق و هزینه دوره درمانی مکملها در ProductPage برای پتدارها",
- "priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": ["TASK-114"],
- "acceptance_criteria": [
- "محاسبه تعداد قوطی/بسته مورد نیاز دوره درمانی بر اساس وزن پت",
- "نمایش تخمین هزینه دوره درمانی و تعداد روزهای تامین مکمل"
- ]
- },
- {
- "id": "TASK-116",
- "title": "افزودن سیستم پشتیبانی آنی تیکت و مشاوره آنلاین دامپزشک در پنل کاربری Dashboard",
- "priority": "HIGH",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": ["TASK-115"],
- "acceptance_criteria": [
- "افزودن بخش تیکت پشتیبانی و استعلام نسخه در UserDashboard",
- "امکان پیگیری پاسخهای متخصص دامپزشک Canina برای کاربران"
- ]
- },
- {
- "id": "TASK-117",
- "title": "افزودن بنر گارانتی اصالت کاتالوگ Canina آلمان و پشتیبانی تلفنی فوری در CartDrawer و CheckoutPage",
- "priority": "MEDIUM",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": ["TASK-116"],
- "acceptance_criteria": [
- "افزودن نشان گارانتی اصالت کالا و مشاوره رایگان قبل خرید در کشوی سبد خرید",
- "ارتقای اعتماد پتدارها و خریداران سریع در هنگام تسویهحساب"
- ]
- },
- {
- "id": "TASK-118",
- "title": "افزودن راهنمای متنی و نشان ویژه نحوه نگهداری داروها و شرایط ذخیرهسازی مکملها در ProductPage",
- "priority": "LOW",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": ["TASK-117"],
- "acceptance_criteria": [
- "افزودن باکس اطلاعات شرایط نگهداری (دمای نگهداری، دور از نور و رطوبت) بر اساس کاتالوگ رسمی",
- "نمایش هشدارهای مصرف و منع مصرف (Contraindications) در صفحه جزئیات محصول"
- ]
- },
- {
- "id": "TASK-119",
- "title": "افزودن بنر و فیلتر سریع محصولات بدون قند و فاقد گلوتن در کاتالوگ و دانشنامه علمی برای پتهای دارای حساسیت",
- "priority": "MEDIUM",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": ["TASK-118"],
- "acceptance_criteria": [
- "امکان فیلتر سریع محصولات فاقد آلرژن و مناسب رژیمهای حساس پزشکی",
- "نمایش نشانهای استاندارد سلامت در کارتهای محصولات کاتالوگ"
- ]
- },
- {
- "id": "TASK-120",
- "title": "افزودن قابلیت به اشتراکگذاری سریع دوزها و مشخصات دارویی مکملها در پیامرسانها در ProductPage",
- "priority": "LOW",
- "assigned_role": "05_dev_frontend",
- "status": "completed",
- "max_file_count": 3,
- "estimated_minutes": 15,
- "dependency_task_ids": ["TASK-119"],
- "acceptance_criteria": [
- "افزودن دکمه اشتراکگذاری سریع مشخصات دارویی و لینک محصول برای دامپزشک یا پتدار",
- "ارتقای تجربه کاربری اطلاعرسانی سریع نسخه و دوز"
- ]
- },
- {
- "id": "TASK-121",
- "title": "افزودن راهنمای سریع و مدال جدول دوزهای کلی کاتالوگ رسمی Canina آلمان در SmartAdvisor",
+ "title": "Frontend Error Boundaries & Global Loading Skeletal Streaming",
"priority": "MEDIUM",
"assigned_role": "05_dev_frontend",
"status": "pending",
"max_file_count": 3,
"estimated_minutes": 15,
- "dependency_task_ids": ["TASK-120"],
+ "dependency_task_ids": ["TASK-106"],
"acceptance_criteria": [
- "افزودن دکمه راهنمای سریع جدول دوز استاندارد کاتالوگ آلمان در SmartAdvisor",
- "ارتقای آگاهی پتدارها برای مصرف صحیح بدون نیاز به نسخه"
+ "تقویت ErrorBoundary در لایههای حساس مانند ProductPage و B2BPortal",
+ "ارتقای تجربه کاربری با اسکلتونهای استریمینگ متوازن"
+ ]
+ },
+ {
+ "id": "TASK-108",
+ "title": "B2B Wholesale Matrix & Prescription Direct Quick Order Optimization",
+ "priority": "MEDIUM",
+ "assigned_role": "05_dev_frontend",
+ "status": "pending",
+ "max_file_count": 3,
+ "estimated_minutes": 20,
+ "dependency_task_ids": ["TASK-107"],
+ "acceptance_criteria": [
+ "ارتباط آنی پورتال B2B به سرویس احراز هویت بکاند",
+ "بهینهسازی ثبت سفارشات حجمی (Bulk Order) با تخفیف ۳۰٪ برای همکاران تاییدشده"
]
}
]
diff --git a/.ai_agency/memory/state.json b/.ai_agency/memory/state.json
index 15d1dfb..a938cc8 100644
--- a/.ai_agency/memory/state.json
+++ b/.ai_agency/memory/state.json
@@ -1,13 +1,13 @@
{
- "project_name": "Canina Veterinary E-Commerce",
+ "project_name": "Canina Veterinary E-Commerce System",
"project_mode": "BROWNFIELD",
- "status": "IN_PROGRESS",
+ "status": "AWAITING_USER_APPROVAL",
"checkpoint": {
- "stage": "TASK_EXECUTION",
- "active_agent": "05_dev_frontend",
- "current_ticket_id": "TASK-121",
- "sub_step_index": 10,
- "total_sub_steps": 10
+ "stage": "AUDIT_AND_PRIORITIZATION_COMPLETED",
+ "active_agent": "02_product_manager",
+ "current_ticket_id": "TASK-101",
+ "sub_step_index": 0,
+ "total_sub_steps": 8
},
"execution_guards": {
"retry_count": 0,
@@ -20,7 +20,7 @@
"last_healthy_commit": "HEAD"
},
"context_buffer": {
- "last_agent_summary": "All 10 tickets across Phase 1 (Product & UX Features) and Phase 2 (Deep Engineering & Refactoring) successfully completed, QA verified, and merged into develop."
+ "last_agent_summary": "Full project audit completed by 00_auditor and 02_product_manager. Backlog re-prioritized focusing first on Prisma DB, NestJS backend validation/guards, Admin approval, and Jest tests before frontend feature polish."
},
- "last_updated": "2026-07-26T14:59:00Z"
+ "last_updated": "2026-07-26T16:20:00Z"
}