Skip to content
Apothem
بوّابة المطابقة

الفهرس

بوّابة المطابقة في Apothem — الجزء الآلي من بوّابة ما-قبل-الإصدار ذات الخمسة عشر حاجزًا (M1-M15) التي يجب أن يجتازها كل أثر مُصدَر.

الحواجز الخمسة عشر

الحاجزالمُعرِّفالتفويضصنف الفحصالإخفاق ← الإجراء
1M1لاأدريّة المشروع المُضيفاستدلاليراجِع لمطابقة اصطلاحات المُضيف
2M2الانضباط التحريري (سجلّ الإفصاح)آليأضِف علامات الإفصاح
3M3أبعاد الجودة العشرةاستدلاليراجِع على الأبعاد المُخفِقة
4M4التطبيق الذاتي (كتلة السجلّ الموقَّعة حاضرة)آليسجّل كتلة السجلّ الموقَّعة
5M5مبدأ السلطة (لا هوية / نقطة-نهاية / سرّ مُلفَّق)آليوجِّه إلى الاستفسار
6M6دمج الخبرة (الثغرات المُبرَزة)استدلاليأبرِز الثغرات؛ استشهِد بالصقل
7M7وصم الخيارات (علامة موصًى به + مبرّر الدافع)آليصِم مجموعات الخيارات
8M8القطعية (لا تحوّط في النثر المُلزِم)آليرقِّ التحوّطات إلى شروط
9M9الرافعة البصرية (المواد البنيوية تحمل مخطّطات)استدلاليأنشِئ / حدِّث المخطّط
10M10الربط ثنائي الاتّجاه (المؤشّرات الخلفية المتبادلة مُغلَقة)آليأغلِق أنصاف-الحواف
11M11السباقات الرشيقة (الهدف / قائمة الأعمال / DoR / DoD / المراجعة / الاسترجاع)استدلاليأعِد البِنية بوصفها سباقات
12M12تقارير الأطوار والتخطيط الكانونيآليأنشِئ التجميع؛ أعِد التموضع إلى التخطيط الكانوني
13M13إتقان الشيفرة (lint / format / type-check؛ العدد السحري؛ bare-except)آليراجِع وفق قواعد إتقان الشيفرة لكلّ لغة
14M14النَظْميّة (تُعلِن المنبع / المصبّ / الأقران / المُنفِّذين)استدلاليأعلِن؛ افهرِس في السجلّات
15M15الجاهزية للإنتاج (اختبارات + وثائق + CHANGELOG + commit مطابِق + CI خضراء + استقرار semver)آليأضِف الأسطح الناقصة

سُلّم الخطورة

الخطورةالأثر على البوّابة
حرِجةالبوّابة FAIL — الإصدار محظور بلا قيد
مهمّةالبوّابة FAIL حين يُخفِق حاجزان مهمّان أو أكثر في آنٍ معًا
استشاريةالبوّابة WARN — تُسجَّل في السجلّ الموقَّع؛ لا تحظر الإصدار

تتخذ معظم مُطابِقات الجزء الآلي قيمة مهمّة افتراضيًّا. أمّا M5 (السلطة — الأسرار، نقاط النهاية المُلفَّقة) وM12 (المخرجات اليتيمة) فهما حرِجان.

%% provenance: hand-authored %%
%% verified: 2026-07-06 %%
%% cross-reference: the Severity ladder table above; src/apothem/conformity/gate.py (severity aggregation) %%
flowchart TD
    accTitle: Conformity-gate severity-to-verdict decision flow
    accDescr: A finding's severity determines the gate verdict. A Critical finding — M5 authority or M12 orphan output — fails the gate and blocks emission unconditionally. Important findings block only when two or more fail simultaneously; a single Important finding does not block. Advisory findings are logged in the signed record and never block emission.
    F["Finding raised<br/>by a matcher"] --> S{"Severity?"}
    S -->|Critical| C["Critical<br/>M5 authority · M12 orphan output"]
    S -->|Important| I["Important<br/>most mechanical matchers"]
    S -->|Advisory| A["Advisory"]
    C --> FAIL["Gate FAIL<br/>emission blocked"]
    I --> Q{"2+ Important<br/>bars failing?"}
    Q -->|yes| FAIL
    Q -->|no| WARN["Gate WARN<br/>logged in signed record<br/>emission proceeds"]
    A --> WARN

مُطابِقات الجزء الآلي

يعيش الجزء الآلي في src/apothem/conformity/*_grep.py، بتنسيق من src/apothem/conformity/gate.py.

المُطابِقالحاجزالوظيفة
hedging_grep.pyM8يكشف مفردات التحوّط في النثر المُلزِم
option_annotation_grep.pyM7يتحقّق من علامة **Recommended** + مبرّر الدافع على مجموعات الخيارات
user_confirm_grep.pyM5يحظر نواقل <USER-CONFIRM:…> من الإصدار
binding_reciprocity_grep.pyM10يكشف أنصاف-الحواف في ## Bindings (§0.j five-direction)
orphan_output_grep.pyM12يَسِم الآثار التي لا مُستهلِك لها / لا مدخل فهرسة / لا إسناد مُنتِج
bare_except_grep.pyM13يكشف except: / except Exception: دون تعليق مُبرِّر
magic_number_grep.pyM13يكشف الحرفيات العددية في منطق الأعمال
commented_out_code_grep.pyM13يكشف كتل الشيفرة المُعلَّق عليها
file_header_grep.pyM13يتحقّق من وجود ترويسة رخصة SPDX أحادية السطر
frontmatter_grep.pyM14يتحقّق من حقول الـ frontmatter المطلوبة على دلائل التوجيه الكانونية الأربعة المُدرَجة أدناه
semver_stability_grep.pyM15يكشف تغييرات API العام الكاسرة دون رفع نسخة MAJOR
production_ready_pr_grep.pyM15يتحقّق من انضباط مجموعة-التغيير نفسها (اختبارات + وثائق + CHANGELOG)
secret_leak_grep.pyM15يكشف الأسرار / بيانات الاعتماد المُضمَّنة بالصلب
unpinned_action_grep.pyM15يتحقّق من تثبيت GitHub Actions على commit SHA
always_on_budget_grep.pyسقف الميزانيةيُقيِّد متن القاعدة دائمة-التشغيل عند 500 token جوهري

تشغيل البوّابة

على harness مُثبَّت، تعمل البوّابة تلقائيًّا: يُوصِّل settings.json الخاص بـ Claude Code البوّابةَ بوصفها خطّاف PreToolUse يستدعي النسخة المُجسَّدة في ~/.claude/.apothem/support/conformity/gate.py قبل كل Write/Edit. ومن استخراج المصدر، تُشغِّل صيغة الوحدة الشيفرةَ نفسها:

# توزيع ملفّ واحد (يحاكي خطّاف PreToolUse):
echo '{"tool_input": {"file_path": "path/to/file", "content": "..."}}' \
    | python -m apothem.conformity.gate --hook

# مسح مُركَّب عبر المستودع:
python -m apothem.conformity.gate --sweep src/ site/content/docs/ rules/

راجِع تشغيل بوّابة المطابقة للإجراء الكامل.

مرجع

On this page