Skip to content
Apothem
Gerbang konformitas

Indeks

Gerbang konformitas Apothem — fraksi mekanis dari gerbang pra-emisi lima belas-poin (M1-M15) yang harus dilewati setiap artefak yang dipancarkan.

Lima belas poin

PoinIDMandatKelas pemeriksaanKegagalan → tindakan
1M1Agnostisisme Proyek-InangPenalaranRevisi agar sesuai dengan konvensi inang
2M2Disiplin Editorial (registri pengungkapan)MekanisTambahkan penanda pengungkapan
3M3Sepuluh Dimensi KualitasPenalaranRevisi pada dimensi yang gagal
4M4Penerapan-Diri (blok rekaman bertanda tangan hadir)MekanisCatat blok rekaman bertanda tangan
5M5Prinsip Otoritas (tanpa identitas / endpoint / rahasia yang dibuat-buat)MekanisArahkan ke pertanyaan
6M6Penyertaan Keahlian (celah yang dimunculkan)PenalaranMunculkan celah; kutip penyempurnaan
7M7Anotasi Opsi (penanda rekomendasi + alasan pendorong)MekanisAnotasi set opsi
8M8Kepastian (tanpa pengelakan dalam prosa preskriptif)MekanisNaikkan pengelakan menjadi kondisional
9M9Daya-Ungkit Visual (materi pokok struktural membawa diagram)PenalaranBuat / segarkan diagram
10M10Pengikatan Dua-Arah (penunjuk balik timbal-balik tertutup)MekanisTutup setengah-sisi
11M11Sprint Agile (Tujuan / Backlog / DoR / DoD / Review / Retrospektif)PenalaranStruktur-ulang sebagai sprint
12M12Pelaporan Fase & Tata-Letak KanonisMekanisBuat ringkasan; pindahkan ke tata-letak kanonis
13M13Kerajinan Kode (linter / formatter / pemeriksa-tipe; angka ajaib; bare-except)MekanisRevisi sesuai aturan kerajinan kode per-bahasa
14M14Sistemikitas (mendeklarasikan hulu / hilir / sejawat / penegak)PenalaranDeklarasikan; indeks dalam registri
15M15Siap-Produksi (tes + dokumen + CHANGELOG + commit yang patuh + CI hijau + stabilitas semver)MekanisTambahkan permukaan yang hilang

Tangga keparahan

KeparahanEfek pada gerbang
KritisGerbang FAIL — emisi diblokir tanpa syarat
PentingGerbang FAIL ketika 2+ poin Penting gagal bersamaan
AnjuranGerbang WARN — dicatat dalam rekaman bertanda tangan; tidak memblokir emisi

Sebagian besar pencocok fraksi mekanis berdefault ke Penting. M5 (otoritas — rahasia, endpoint yang dibuat-buat) dan M12 (keluaran yatim) bersifat Kritis.

%% 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

Pencocok fraksi mekanis

Fraksi mekanis berada di src/apothem/conformity/*_grep.py, diorkestrasi oleh src/apothem/conformity/gate.py.

PencocokPoinFungsi
hedging_grep.pyM8Mendeteksi kosakata pengelakan dalam prosa preskriptif
option_annotation_grep.pyM7Memverifikasi penanda **Recommended** + alasan pendorong pada set opsi
user_confirm_grep.pyM5Memblokir placeholder <USER-CONFIRM:…> dari emisi
binding_reciprocity_grep.pyM10Mendeteksi setengah-sisi dalam ## Bindings (§0.j five-direction)
orphan_output_grep.pyM12Menandai artefak tanpa konsumen / tanpa entri indeks / tanpa atribusi produsen
bare_except_grep.pyM13Mendeteksi except: / except Exception: tanpa komentar pembenaran
magic_number_grep.pyM13Mendeteksi literal numerik dalam logika bisnis
commented_out_code_grep.pyM13Mendeteksi blok kode yang dikomentari
file_header_grep.pyM13Memverifikasi keberadaan header lisensi SPDX satu-baris
frontmatter_grep.pyM14Memverifikasi field frontmatter wajib pada empat direktori direktif kanonis yang tercantum di bawah
semver_stability_grep.pyM15Mendeteksi perubahan API publik yang merusak tanpa kenaikan versi MAJOR
production_ready_pr_grep.pyM15Memverifikasi disiplin set-perubahan yang sama (tes + dokumen + CHANGELOG)
secret_leak_grep.pyM15Mendeteksi rahasia / kredensial yang dikodekan-keras
unpinned_action_grep.pyM15Memverifikasi penyematan GitHub Actions ke commit SHA
always_on_budget_grep.pybatas anggaranMembatasi badan rule selalu-aktif pada 500 token substantif

Menjalankan gerbang

Pada harness yang terpasang, gerbang berjalan otomatis: settings.json Claude Code mengaitkannya sebagai hook PreToolUse yang memanggil salinan termaterialisasi di ~/.claude/.apothem/support/conformity/gate.py sebelum setiap Write/Edit. Dari checkout sumber, bentuk modul menjalankan kode yang sama:

# Pengiriman berkas-tunggal (meniru hook PreToolUse):
echo '{"tool_input": {"file_path": "path/to/file", "content": "..."}}' \
    | python -m apothem.conformity.gate --hook

# Sapuan komposit di seluruh repositori:
python -m apothem.conformity.gate --sweep src/ site/content/docs/ rules/

Lihat Menjalankan gerbang konformitas untuk prosedur lengkap.

Referensi

On this page