// سطح: vasic-util-secondary · سفارش 25

Docs Chain activeاجازه‌نامه: UNVERIFIED

GoDAG + Kahn topological sortSQLite (pure-Go modernc)fsnotifyYAML configexec transforms (Markdown → HTML/PDF/DOCX)

منبع

Docs Chain — dependency DAG · change propagation Change propagates downstream Transform outputs (exec) Persisted state Phases 1–5 implemented (GREEN) · Phases 6–7 planned Markdown source chain member DAG engine Kahn topological sort HTML exec transform PDF exec transform DOCX exec transform SQLite state modernc pure-Go fsnotify watch content-hash / mtime
// معماری

محتوا هیچ سند ردیابی‌شده‌ای نمی‌تواند از هماهنگی خارج شود — مبتنی بر هش محتوا، دوسویه، اتمی.

Docs Chain موتوری جهانی و پیاده‌سازی‌شده با Go برای انتشار وابستگی‌های سند و پایگاه داده به صورت دوسویه است. هنگامی که هر یک از اعضای زنجیره ثبت‌شده تغییر کند — منبع مارک‌داون، یک خروجی HTML/PDF/DOCX یا پایگاه داده SQLite — این موتور با استفاده از هش محتوا تغییر را شناسایی کرده و آن را به صورت اتمی در تمام اعضای متصل منتشر می‌کند.

موتوری Go که اسناد و پایگاه‌های داده را همگام نگه می‌دارد. این موتور با استفاده از بازمحاسبه افزایشی مبتنی بر هش محتوا به سبک سالسا بر روی یک گراف جهت‌دار غیرمدور (ترتیب‌بندی توپولوژیک کان، قطع زودهنگام، یال‌های همگام‌سازی دوسویه، تغییر نام اتمی + کامیت‌های تراکنشی SQLite)، هرگاه هر یک از مصنوعات مرتبط تغییر کند، خروجی‌ها را بازتولید می‌کند.

Docs Chain چیزی است که زمانی ساخته می‌شود که یک بار بیش از حد، همان اسکریپت شکننده «هنگام تغییر مارک‌داون، خروجی PDF را بازتولید کن» را نوشته باشید. این موتور جایگزین تمام آن چسب‌های همگام‌سازی دست‌ساز با یک موتور واقعی می‌شود. این سیستم اسناد و پایگاه‌های داده یک پروژه را به عنوان اعضای یک زنجیره مدل‌سازی می‌کند و هنگامی که هر یک از اعضا تغییر کند، آن تغییر را در تمام اعضای متصل و در تمام جهت‌های اعلام‌شده منتشر می‌کند — بازتولید و بازصدور به صورت اتمی به گونه‌ای که هیچ مصنوع ردیابی‌شده‌ای هرگز نمی‌تواند از هماهنگی خارج شود. طراحی این سیستم دقت خود را مستقیماً از دنیای سیستم‌های ساخت افزایشی به ارث برده است، نه از اسکریپت‌نویسی: شناسایی تغییرات بر اساس هش محتوا انجام می‌شود، نه زمان تغییر، بنابراین یک touch هیچ واکنشی ایجاد نمی‌کند و ویرایش یک بایت دقیقاً همان بازسازی‌هایی را که باید انجام می‌دهد، فعال می‌کند — بدون هشدارهای کاذب، بدون تغییرات از دست‌رفته. به طور رسمی در یک جمله، این سیستم بازمحاسبه افزایشی مبتنی بر هش محتوا به سبک سالسا بر روی یک گراف جهت‌دار غیرمدور است، با ترتیب‌بندی توپولوژیک کان، قطع زودهنگام که زیردرخت‌های بدون تغییر را هرس می‌کند، یال‌های همگام‌سازی دوسویه با مرجعیت اعلام‌شده، و تغییر نام اتمی به علاوه کامیت‌های تراکنشی SQLite به گونه‌ای که در صورت خرابی در میانه انتشار، هرگز یک خروجی نیمه‌نوشته باقی نمی‌ماند. این موتور به صورت یک زیرماژول vasic-digital عرضه می‌شود و به عنوان بخشی اصلی از زیرماژول HelixConstitution مصرف می‌گردد، بنابراین هر پروژه‌ای که این چارچوب را بپذیرد، Docs Chain را به صورت پیش‌فرض دریافت می‌کند و زنجیره‌های خود را از طریق YAMLهای مخصوص هر زمینه ثبت می‌کند. پیاده‌سازی این سیستم در مورد وضعیت خود صادق است (بر اساس بند ۱۱٫۴٫۶ چارچوب): فازهای ۱ تا ۴ (گراف جهت‌دار غیرمدور اصلی + هشینگ، آداپتورهای گره/تبدیل‌ها، هماهنگ‌کننده انتشار با اتمی‌بودن، CLI چندزمینه‌ای مبتنی بر پیکربندی با دستورات sync/verify/doctor/graph/watch) پیاده‌سازی و آزمایش شده‌اند؛ فاز ۴ب افزونه‌های دوسویه عمومی md-to-sqlite/sqlite-to-md (خالص Go، انحراف در سطح ردیف، رفت‌وبرگشت پایدار در سطح بایت) و افزونه colorize-html را اضافه می‌کند؛ فاز ۵ تست جامع واقعی انتها به انتها پیاده‌سازی شده و تأیید شده است. فازهای ۶ تا ۷ (توزیع چارچوب، سیم‌کشی ATMOSphere) همچنان در مرحله برنامه‌ریزی باقی مانده و دسترسی به آن‌ها محدود است. Herald اولین مصرف‌کننده واقعی پایین‌دستی است که همگام‌سازی یک مجموعه چندفرمته ۶۶‌سندی را تأیید می‌کند.

مستندات، خروجی‌ها و پایگاه‌های داده به محض اینکه به صورت دستی یا با اسکریپت‌های شکننده نگهداری شوند، از هم دور می‌شوند. Docs Chain همگام‌سازی را مکانیکی، دقیق بر اساس هش محتوا و اتمی می‌کند، به گونه‌ای که تغییری در هر نقطه از زنجیره، به درستی و به صورت ایمن تمام موارد پایین‌دستی (و بالادستی) را به‌روزرسانی می‌کند.

محتوا

این سیستم تضمین‌های درستیِ به‌سختی به‌دست‌آمده‌ای را که نویسندگان کامپایلرها و سیستم‌های ساخت بدیهی می‌پندارند — گراف‌های وابستگی با هش محتوا، بازمحاسبهٔ کمینه، کامیت‌های اتمی — به سمت مستندات و پایگاه‌های داده نشانه می‌گیرد؛ حوزه‌ای که از دیرباز با کرون‌جاب‌ها و حسن‌نیت‌ها سرپا مانده است. همگام‌سازی دوسویه واقعی به این معناست که رابطهٔ میان یک منبع و خروجی‌اش در هر دو جهت اعمال می‌شود، پس «مستندات قدیمی شده» و «خروجی با منبع همخوانی ندارد» دیگر باگ‌های تکرارشونده نخواهند بود، بلکه حالتی می‌شوند که موتور اجازه نمی‌دهد وجود داشته باشد.

  • بازمحاسبهٔ افزایشی با هش محتوا (نه زمان تغییر) روی یک گراف جهت‌دار غیرمدور با توقف زودهنگام.
  • همگام‌سازی دوسویه با لبه‌های اعلام‌شدهٔ مرجعیت (مستندات ↔ خروجی‌ها ↔ SQLite).
  • کامیت با تغییرنام اتمی + تراکنش SQLite برای انتشار ایمن در برابر کرش.
  • رفت‌وبرگشت خالص Go از md-to-sqlite/sqlite-to-md با تشخیص انحراف در سطح ردیف.

  • بازسازی‌های کاذب: با تشخیص هش محتوا به‌جای مهرهای زمانی حل شده است.
  • به‌روزرسانی‌های جزئی/خراب: با تغییرنام اتمی و تراکنش‌های SQLite حل شده است.
  • ترتیب‌دهی صحیح چندعضوی: با مرتب‌سازی توپولوژیک کان و توقف زودهنگام حل شده است.
  • گزارش‌دهی صادقانهٔ قابلیت‌ها: با علامت‌گذاری هر فاز به‌عنوان پیاده‌سازی‌شده یا برنامه‌ریزی‌شده طبق بند ۱۱٫۴٫۶ حل شده است.

  • Go — کل موتور (internal/hash، graph، adapter، orchestrator، config، state، runner، cmd/docs_chain).
  • گراف جهت‌دار غیرمدور + مرتب‌سازی توپولوژیک کان — ترتیب‌دهی وابستگی‌ها با توقف زودهنگام.
  • SQLite (خالص Go مدرن‌سی) — اعضای پایگاه داده و کامیت‌های تراکنشی.
  • fsnotify — دیمون watch برای انتشار زنده.
  • پیکربندی YAML — ثبت زنجیره به‌ازای هر زمینه.
  • تبدیل‌های exec — تولید پلاگین‌پذیر Markdown به HTML/PDF/DOCX.

صداقت نقشه‌راه: فازهای ۶–۷ (توزیع قانون اساسی، سیم‌کشی اتمسفر) برنامه‌ریزی‌شده/دروازه‌دار برای اپراتور هستند — هنوز منتشر نشده‌اند.