Skip to content
Apothem
अनुरूपता गेट

सूचकांक

Apothem अनुरूपता गेट — पंद्रह-बार पूर्व-उत्सर्जन गेट (M1-M15) का यांत्रिक अंश जिसे प्रत्येक उत्सर्जित आर्टिफ़ैक्ट को पास करना होता है।

पंद्रह बार

बारIDमैंडेटजाँच वर्गविफलता → कार्रवाई
1M1होस्ट-प्रोजेक्ट लाएडरीवादतर्कपूर्णहोस्ट की परंपराओं से मेल खाने के लिए संशोधित करें
2M2संपादकीय अनुशासन (प्रकटन रजिस्टर)यांत्रिकप्रकटन चिह्न जोड़ें
3M3दस गुणवत्ता आयामतर्कपूर्णविफल आयामों पर संशोधित करें
4M4स्व-अनुप्रयोग (हस्ताक्षरित गेट रिकॉर्ड उपस्थित)यांत्रिकहस्ताक्षरित-रिकॉर्ड ब्लॉक रिकॉर्ड करें
5M5प्राधिकार सिद्धांत (कोई मनगढ़ंत पहचान / एंडपॉइंट / सीक्रेट नहीं)यांत्रिकपूछताछ की ओर मार्गित करें
6M6विशेषज्ञता समावेशन (उजागर अंतराल)तर्कपूर्णअंतराल उजागर करें; परिष्करण उद्धृत करें
7M7विकल्प एनोटेशन (अनुशंसित मार्कर + चालक तर्क)यांत्रिकविकल्प सेट को एनोटेट करें
8M8निश्चयात्मकता (निर्देशात्मक गद्य में कोई हिचकिचाहट नहीं)यांत्रिकहिचकिचाहट को शर्तों में पदोन्नत करें
9M9दृश्य उत्तोलन (संरचनात्मक विषय आरेख वहन करते हैं)तर्कपूर्णआरेख बनाएँ / ताज़ा करें
10M10द्विदिशीय बंधन (पारस्परिक पश्च-पॉइंटर बंद)यांत्रिकअर्ध-किनारे बंद करें
11M11एजाइल स्प्रिंट (Goal / Backlog / DoR / DoD / Review / Retrospective)तर्कपूर्णस्प्रिंट के रूप में पुनर्संरचित करें
12M12चरण रिपोर्टिंग और कैनोनिकल लेआउटयांत्रिकरोलअप बनाएँ; कैनोनिकल लेआउट पर पुनर्स्थापित करें
13M13कोड शिल्प (lint / format / type-check; मैजिक नंबर; bare-except)यांत्रिकप्रति-भाषा कोड-शिल्प नियमों के अनुसार संशोधित करें
14M14सिस्टमिकता (upstream / downstream / peers / enforcers घोषित करती है)तर्कपूर्णघोषित करें; रजिस्ट्री में अनुक्रमित करें
15M15उत्पादन-तैयार (टेस्ट + डॉक्स + CHANGELOG + अनुरूप commit + CI हरा + semver स्थिरता)यांत्रिकअनुपस्थित सतहें जोड़ें

गंभीरता सीढ़ी

गंभीरतागेट पर प्रभाव
क्रिटिकलगेट FAIL — उत्सर्जन बिना शर्त अवरुद्ध
महत्वपूर्णजब 2+ महत्वपूर्ण बार एक साथ विफल हों तो गेट 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.pyM15MAJOR संस्करण वृद्धि के बिना भंजक सार्वजनिक-API परिवर्तनों का पता लगाता है
production_ready_pr_grep.pyM15समान चेंज-सेट अनुशासन (टेस्ट + डॉक्स + CHANGELOG) सत्यापित करता है
secret_leak_grep.pyM15हार्डकोडेड सीक्रेट / क्रेडेंशियल का पता लगाता है
unpinned_action_grep.pyM15GitHub Actions के commit SHA पर पिनिंग को सत्यापित करता है
always_on_budget_grep.pyबजट सीमासदा-चालू नियम बॉडी को 500 ठोस token तक सीमित करता है

गेट चलाना

स्थापित harness पर गेट स्वचालित रूप से चलता है: Claude Code का settings.json इसे PreToolUse हुक के रूप में जोड़ता है जो प्रत्येक Write/Edit से पहले ~/.claude/.apothem/support/conformity/gate.py पर मूर्त प्रति को आह्वान करता है। स्रोत चेकआउट से, मॉड्यूल रूप वही कोड चलाता है:

# एकल-फ़ाइल डिस्पैच (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