Skip to content

تنظيف: حذف مكتبات stdlib الميتة (async/embedded/audio3d)#205

Merged
SalehKadah merged 3 commits into
devfrom
agent/remove-dead-stdlib-modules
Jul 18, 2026
Merged

تنظيف: حذف مكتبات stdlib الميتة (async/embedded/audio3d)#205
SalehKadah merged 3 commits into
devfrom
agent/remove-dead-stdlib-modules

Conversation

@SalehKadah

Copy link
Copy Markdown
Collaborator

الملخّص

  • حذف stdlib/async، stdlib/embedded، stdlib/audio3d بالكامل — أُثبت (بحث نصّي شامل + فحص CMake) أنها كود ميت:
    • لا CMakeLists.txt يربطها بأي هدف بناء (لا وجود أصلًا لملف CMake داخل stdlib/، ولا add_subdirectory من الجذر).
    • لا مستهلك في interpreter/src/ أو compiler/src/ — دالة قناة الفعلية منفَّذة أصلًا ومستقلّةً في interpreter/src/builtins/builtin_core_io.cpp (Bn::Concurrency::CHANNEL)، بمعزل تامّ عن stdlib/async.
    • غير موزَّعة بالمثبّت (distribution/installer/sad-setup.iss يوزّع فقط core/io/math/string/network/graphics/database).
    • حُذف أيضًا اختباريّ وحدة يتيمان (tests/unit/stdlib/test_async_module.cpp, tests/unit/comprehensive/test_async_comprehensive.cpp) كانا يضمّان channels.cpp المحذوف عبر #include مباشر، وغير مربوطين بأيّ هدف CMake أصلًا.
  • تتضمّن الدفعة أيضًا عملًا سابقًا قائمًا على شجرة العمل (تعديلات المترجم/المفسّر/الأدوات/الاختبارات، ونظام أعلام CLI المولَّد من language-truth/cli_flags.yaml) محفوظًا كما هو ضمن نفس الالتزام.

خطة الاختبار

  • cmake --build build --config Debug --target sad-run يبني بلا أخطاء بعد الحذف
  • cmake --build build --config Release --target sad-build يبني بلا أخطاء بعد الحذف
  • ctest --test-dir build -R Comprehensive أخضر (تأكيد أن حذف اختباري async اليتيمين لم يكسر أي هدف)
  • tests/runner.py --level P0 أخضر

- حذف stdlib/async، stdlib/embedded، stdlib/audio3d بالكامل: لا CMakeLists
  يربطها بأي هدف بناء، لا مستهلك في المفسر/المترجم، لا توزيع بالمثبّت.
  دالة قناة الفعلية منفَّذة أصلًا في interpreter/src/builtins/builtin_core_io.cpp
  بمعزل تام عن stdlib/async (تكرار كود ميت لا استخدام حيّ).
- حذف اختباري الوحدة اليتيمين المرتبطين بـchannels.cpp المحذوف
  (tests/unit/stdlib/test_async_module.cpp،
  tests/unit/comprehensive/test_async_comprehensive.cpp) — غير مربوطين
  بأي هدف CMake أصلًا.
- تضمين تعديلات سابقة قائمة على شجرة العمل (مترجم/مفسّر/أدوات/اختبارات
  ونظام أعلام CLI المولَّد) كجزء من نفس الدفعة.
@github-actions

Copy link
Copy Markdown

📘 تذكير مزامنة التوثيق التقنيّ

هذا الـPR يلمس مصادر يعرضها التوثيق التقنيّ. الصفحات المُولَّدة تُعاد بناؤها آليًّا عند الدمج/الإصدار؛ راجع الصفحات النثريّة إن تغيّر سلوكها:

تذكيرٌ آليّ — لا يحجب الدمج.

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

📘 تذكير مزامنة التوثيق التقنيّ

هذا الـPR يلمس مصادر يعرضها التوثيق التقنيّ. الصفحات المُولَّدة تُعاد بناؤها آليًّا عند الدمج/الإصدار؛ راجع الصفحات النثريّة إن تغيّر سلوكها:

تذكيرٌ آليّ — لا يحجب الدمج.

SalehKadah and others added 2 commits July 18, 2026 05:21
حذف stdlib الميت (async/embedded/audio3d) ترك عطبين يُبقيان CI أحمر:

- cmake/tests_comprehensive.cmake: أُزيلت كتلة add_comprehensive_test
  للاختبار المحذوف test_async_comprehensive.cpp (كانت تُفشل CMake Generate
  على كلّ المنصّات قبل أيّ ترجمة).
- scripts/codegen/test_xpy_codegen_guard.py: أُضيف مُخرَجا نطاق cli_flags
  (cli_flags_generated.h + cli_flags.ar.md) إلى EXPECTED_OUTPUTS — #205
  أضاف النطاق إلى x.py دون تحديث مجموعة الحارس ⇒ فشل Codegen Sync.

محلّيًّا: pytest حارس التوليد 7/7 (كان 1 فاشلة)، ولا مراجع معلَّقة أخرى
للوحدات المحذوفة في مصادر مُترجَمة. مراجعة أميليا 🟢 بعد الالتزام الانتقائيّ.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
يضمّ عمل الرسومات الحرّة وTool SoT إلى #205 (قرار المالك):

رسومات الوضع الحرّ (features/graphics/backends/freestanding):
- renderer: تشكيل عربيّ سياقيّ + عكس مدى + مؤشّر فأرة مرسوم + hitTest.
- arabic_shaper.{h,cpp}: شكّال متعدّد المنصّات (ترويسات قياسيّة فقط) —
  رُبط بـSAD_UI_FREESTANDING_SOURCES لأنّ renderer.cpp يعتمده على كلّ
  المنصّات. linuxfb/evdev/psf_font لينكس-خاصّة تبنيها sad-os خارجيًّا
  فتُركت خارج الهدف (حارس اليتيمة يحرس compiler/interpreter فقط).
- tools: sad_desktop (مشغّل) + fb_demo + اختبار الشكّال.

REPL Tool SoT:
- آبلت التقويم (calendar.yaml + tool_calendar.schema.json) — أمر «التاريخ».
- repl_commands/repl_line_editor: cd + إكمال سياقيّ بمراجع SoT حيّة.
- المولَّد repl_sot_generated متزامن (x.py gen --check أخضر).

مراجعة أميليا 🟢 بلا بنود ملزمة (النقاط الخمس نظيفة: لا رابط مكسور،
لا سلاسل مباشرة، اتّساق SoT تامّ، عزل منصّيّ سليم).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

📚 تذكير مزامنة دليل المطوّرين

هذا الـPR يلمس مصادر موثَّقة في دليل المطوّرين. راجع الفصول الآتية وحدّثها إن تغيّر سلوكها، ثم ثبّت البصمات هناك (python scripts/check_sync.py --update):

بندٌ في معيار الإنجاز. تذكيرٌ آليّ — لا يحجب الدمج.

@SalehKadah
SalehKadah merged commit dd92be3 into dev Jul 18, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant