From 03e1c0102388c0959b83f8d5c6a7a88a876fd691 Mon Sep 17 00:00:00 2001 From: Mahdi Date: Sat, 17 Oct 2026 15:29:37 +0330 Subject: [PATCH] docs: specify date-cutoff prior archive and one-way promote Replace Didar-source classification with org cutoff date, deals/activities-only filter, and a promote tag that does not mutate record fields. Co-authored-by: Cursor --- .../2026-10-14-prior-data-archive-design.md | 2 +- ...-10-17-prior-data-archive-cutoff-design.md | 73 +++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 docs/superpowers/specs/2026-10-17-prior-data-archive-cutoff-design.md diff --git a/docs/superpowers/specs/2026-10-14-prior-data-archive-design.md b/docs/superpowers/specs/2026-10-14-prior-data-archive-design.md index 5771bb6..d487392 100644 --- a/docs/superpowers/specs/2026-10-14-prior-data-archive-design.md +++ b/docs/superpowers/specs/2026-10-14-prior-data-archive-design.md @@ -1,7 +1,7 @@ # بایگانی اطلاعات قبل تاریخ: ۲۰۲۶-۱۰-۱۴ -وضعیت: قفل‌شده توسط کاربر و پیاده‌سازی شروع شده است. +وضعیت: برای منطق طبقه‌بندی، محدودهٔ فیلتر، تاریخ قطع و انتقال، با [`2026-10-17-prior-data-archive-cutoff-design.md`](./2026-10-17-prior-data-archive-cutoff-design.md) جایگزین شده است. سه سطح دسترسی و نام‌گذاری UI هنوز مرجع است مگر سند جدید خلافش بگوید. ## هدف diff --git a/docs/superpowers/specs/2026-10-17-prior-data-archive-cutoff-design.md b/docs/superpowers/specs/2026-10-17-prior-data-archive-cutoff-design.md new file mode 100644 index 0000000..6f5a0df --- /dev/null +++ b/docs/superpowers/specs/2026-10-17-prior-data-archive-cutoff-design.md @@ -0,0 +1,73 @@ +# بایگانی اطلاعات قبل — تاریخ قطع و انتقال یک‌طرفه + +تاریخ: ۲۰۲۶-۱۰-۱۷ +وضعیت: تأیید شده در گفتگو؛ در انتظار دستور پیاده‌سازی. +جایگزین منطق طبقه‌بندی و محدودهٔ فیلتر در [`2026-10-14-prior-data-archive-design.md`](./2026-10-14-prior-data-archive-design.md) است. سه سطح دسترسی (سوپرادمین / مالک برای تیک کاربر / سوئیچ کاربر) همان سند قبلی می‌ماند مگر جایی که این سند صریحاً عوض کند. + +## هدف + +برای کاربرانی که این قابلیت برایشان روشن است، معامله‌ها و فعالیت‌های ساخته‌شده قبل از یک تاریخ قطع محیط، از «کار جاری» جدا شوند. کار جاری محیط ایزوله و پاک است. بایگانی فقط برای دیدن قبلی‌هاست. انتقال به جاری فقط با برچسب است؛ تاریخ و بقیهٔ فیلدها عوض نمی‌شوند. + +کاربری که تیک بایگانی ندارد، محیط کامل را می‌بیند (قبل و جاری با هم) و سوئیچ را نمی‌بیند. + +## مدل داده + +- **تاریخ قطع محیط:** یک تاریخ برای کل سازمان (ورود شمسی در UI). اگر خالی باشد فیلتر اعمال نمی‌شود. +- **مجوز کاربر:** مثل قبل؛ فقط اعضای انتخاب‌شده سوئیچ را می‌بینند. +- **برچسب انتقال روی معامله و فعالیت:** فیلدی مثل `promotedFromPriorAt` (یا معادل). با انتقال پر می‌شود؛ یک‌طرفه؛ هیچ فیلد دیگری از جمله `createdAt` عوض نمی‌شود. + +### قانون قبلی / جاری (فقط معامله و فعالیت) + +| حالت | شرط | +|------|-----| +| قبلی | `createdAt` قبل از تاریخ قطع **و** برچسب انتقال ندارد | +| جاری | `createdAt` در/بعد از تاریخ قطع **یا** برچسب انتقال دارد | + +- استثنای قبلی (باز + موعد آینده در کار جاری) حذف می‌شود. +- معیار منبع ورود «دیدار» برای این قابلیت دیگر استفاده نمی‌شود. +- شخص، شرکت، لید، قانون، یادداشت و بقیهٔ ماژول‌ها در هر دو لنز یکی‌اند (فیلتر لنز ندارند). + +## لنز کاربر + +| وضعیت مجوز | رفتار | +|------------|--------| +| ماژول محیط خاموش، یا تیک کاربر خاموش | لنز `off`؛ بدون فیلتر؛ سوئیچ مخفی | +| تیک روشن | سوئیچ دیده می‌شود؛ پیش‌فرض لنز `current` | +| لنز `current` | فقط معامله/فعالیت جاری (طبق جدول بالا) | +| لنز `archive` | فقط معامله/فعالیت قبلی | + +انتخاب لنز روی عضویت ذخیره می‌شود. با قطع مجوز، انتخاب می‌ماند ولی تا بازگشت مجوز اثری ندارد. + +## رابط کاربری + +### کارت «بایگانی اطلاعات قبل» در دسترسی کاربران + +- کنار عنوان (`h3`): انتخاب‌گر تاریخ شمسی محیط. +- به‌جای لیست بلند چک‌باکس: انتخاب کاربر به‌صورت انتخابی (جستجو/چندتایی). فقط انتخاب‌شده‌ها سوئیچ را دارند. +- ماژول محیط در سوپرادمین مثل قبل شرط لازم است. + +### نوار کناری + +- سوئیچ «کار جاری / بایگانی اطلاعات قبل» فقط وقتی مجوز کاربر برقرار است. +- پیش‌فرض برای کاربر مجاز: کار جاری. + +### منوی سه‌نقطهٔ معامله و فعالیت + +- فقط وقتی لنز روی بایگانی است و رکورد قبلی است (بدون برچسب انتقال): آیتم «انتقال به کار جاری». +- بعد از انتقال: رکورد در کار جاری دیده می‌شود؛ آیتم منو دیگر برای آن رکورد نمی‌آید. +- برگشت به بایگانی وجود ندارد. + +## API و محدودهٔ فیلتر + +- فیلتر لنز فقط روی معامله و فعالیت در فهرست، بورد، داشبورد، شمارش‌ها و گزارش‌هایی که این دو را می‌شمارند. +- endpoint انتقال: کاربر باید مجوز بایگانی داشته باشد، رکورد را ببیند، رکورد قبلی بدون برچسب باشد؛ فقط برچسب می‌زند. +- هر کسی که سوئیچ بایگانی دارد و آن رکورد را می‌بیند می‌تواند انتقال بزند. + +## خارج از محدوده + +- دو حساب یا دو محیط جدا. +- نمایش کلمهٔ «دیدار» در UI این قابلیت. +- تغییر `createdAt` یا کپی کردن رکورد هنگام انتقال. +- دکمهٔ برگشت به بایگانی. +- فیلتر لنز روی شخص، لید، قانون و ماژول‌های غیر از معامله/فعالیت. +- شروع پیاده‌سازی قبل از دستور صریح کاربر.