符規 — Conformance
符規 (Conformance)
符規,正是讓一條在台北寫的規則,能原封不動跑在西雅圖的引擎上。三個等級定義「實作 ATR」代表的意涵——任何符規的引擎,對同一條規則都評估出同一個結果。每一等級在 repository 中以 YAML fixture 形式發布對應的測試套件 (test suite);符規靠跑出來,不靠宣稱。
L1 Engine Conformance Normative
L1 engine 是讓格式可攜的那一層。它 MUST 能解析任何通過 spec/atr-schema.yaml 驗證的規則,MUST 以 §3.5 定義的語意評估 detection.conditions,並 MUST 遵守 scan_target 與 status 的語意——好讓同一條規則,無論引擎出自誰手,都得出同一個判定。L1 engine MAY 拒絕落在其宣告 scan_target 範圍外的規則。
L2 Publisher Conformance Normative
L2 publisher 在廠商前綴 (vendor-prefixed) 的子範圍 (例如 ACME-YYYY-NNNNN) 內發布符合 ATR 語意的規則。L2 publisher MUST 遵守 §3.7 的廢棄政策,SHOULD 為每一條發布規則附上 test_cases。
L3 Sub-range Authority Normative
L3 sub-range authority 是國家級或組織級的主體,在主權 (sovereign) 前綴下鑄造規則 (例如 ATR-TW-2026-NNNNN)。授權依 /charter §5 程序核發;TSC 成立後由其核發,在此之前由主理人 (BDFL) 暫代。
TSC 尚未就任。授權之核發於 TSC 就任後生效;在此之前,由首席維護者 (BDFL) 行使此角色。
測試套件 (Test Suite)
L1 engine 測試套件由主 repository 中 spec/conformance/ 下的 YAML fixture 組成。每個 fixture 配對一條規則與其在固定事件 (event) 上的預期評估結果——契約寫在 fixture 裡,不寫在任何單一實作裡。實作通過的條件是:每個 fixture 都如宣告般評估。兩個都通過的引擎,在測試套件涵蓋的每一條規則上,由構造保證彼此一致。
spec/
└── conformance/
├── L1/
│ ├── 001-basic-match.yaml
│ ├── 002-scan-target-mismatch.yaml
│ ├── 003-status-draft-skip.yaml
│ └── …
├── L2/
│ └── …
└── README.md每個 fixture 為一份 YAML 檔,內含目標規則、輸入 event、與預期評估結果三段。Engine 實作者於本地 clone repo、跑測試套件、產出 pass/fail 報告。
自我認證 (Self-Certification)
實作者在本地執行測試套件,並對 ADOPTERS.md 開立 pull request 加入整合 metadata,即可自我認證 (self-certify)。維護者(TSC 成立後)可隨時對任一已發布產物重跑測試套件以驗證自我認證。
TSC 尚未就任。上述驗證職責於 TSC 就任後由 TSC 行使;在此之前,由首席維護者 (BDFL) 行使此角色。
通過測試套件後,實作者於 ADOPTERS.md ↗ 開立 pull request,內容包含組織名稱、規格版本、整合日期 (ISO 8601)、可驗證之公開證據連結、自我宣告之符規等級。維護者以七日內完成 schema 驗證並合併為目標。完整流程與已合併之實作者見 /implementers。