Problem
#39 R2 verify 對 public API 邊界的三個 LOW 缺口(internal 路徑皆不受影響、方向皆 fail-closed,故不擋 #39):
- Jacobi 收斂容差是絕對值(
tolerance = 1e-24 對 squared off-norm):元素量級 ≳4.5e3 的輸入可達下限 (eps·max|A|)² 超過容差 → converged 恆 false → 恆 untestable。internal agreement ∈ [0,1] 完全不受影響。修法:相對容差(tol · ‖A‖²_F)。
- inclusion filter 單向(
ConsensusValidity.swift 的 included/excluded 只看該引擎自己的列):asymmetric caller(upper-triangular 慣例)會把有 incoming 資料的引擎誤判 excluded 並印「no co-answer data」假句;退化為 untestable。denseAgreement 已對稱化(R1 M3 fix),但 filter 沒跟上 — doc 已寫明 precondition(403bb12),本 issue 追蹤機械防護(雙向判定或入口 precondition 檢查)。
writeOutputs 的 singleConsensus: nil 預設參數:呼叫端忘傳就靜默丟掉檢定結果(現行唯一 production caller 有傳)。
Source: surfaced during /idd-verify #39 R2 (security NEW-6 + logic N3 + DA §5.4)
Problem
#39 R2 verify 對 public API 邊界的三個 LOW 缺口(internal 路徑皆不受影響、方向皆 fail-closed,故不擋 #39):
tolerance = 1e-24對 squared off-norm):元素量級 ≳4.5e3 的輸入可達下限(eps·max|A|)²超過容差 →converged恆 false → 恆 untestable。internal agreement ∈ [0,1] 完全不受影響。修法:相對容差(tol · ‖A‖²_F)。ConsensusValidity.swift的 included/excluded 只看該引擎自己的列):asymmetric caller(upper-triangular 慣例)會把有 incoming 資料的引擎誤判 excluded 並印「no co-answer data」假句;退化為 untestable。denseAgreement 已對稱化(R1 M3 fix),但 filter 沒跟上 — doc 已寫明 precondition(403bb12),本 issue 追蹤機械防護(雙向判定或入口 precondition 檢查)。writeOutputs的singleConsensus: nil預設參數:呼叫端忘傳就靜默丟掉檢定結果(現行唯一 production caller 有傳)。Source: surfaced during /idd-verify #39 R2 (security NEW-6 + logic N3 + DA §5.4)