STEP 1587 — Integrity Forensics 5-Pattern Spike
要旨
ARIS integrity-forensics (46 pattern × 8 family × 9 auditor dimension、 GRIM/GRIMMER/statcheck 統合 数値自己整合性 audit) の Family A 数値系 5 pattern を Rei stack に minimum viable spike。 Pure TypeScript、 no external dep、 Rei stack Papers 130-176 の numeric claim post-hoc audit tool + Rei stack 自 experiment result の consistency check として value 高。
5 pattern check
| ID | Name | Check | Verdict on fail |
|---|---|---|---|
| P1 | GRIM (Granularity-Related Inconsistency of Means) | n × mean が integer に近いか (integer scale 前提) | SOFT_FLAG |
| P2 | statcheck subset | p-value ↔ z-stat 一致 (Abramowitz-Stegun normal CDF 近似) | SOFT_FLAG (diff>0.01) / HARD_FLAG (diff>0.05) |
| P3 | sample size sanity | n ≥ threshold (default 5、 statistical power minimum) | SOFT_FLAG |
| P4 | SD non-negative | SD ≥ 0 (definitionally impossible for <0) | HARD_FLAG |
| P5 | mean within bounds | scaleMin ≤ mean ≤ scaleMax | HARD_FLAG |
Verdict aggregation
overallFlag 優先順位: HARD_FLAG > SOFT_FLAG > CLEAN > INSUFFICIENT
auditClaim(claim, opts) → IntegrityVerdict {
overallFlag,
patternFindings: [P1, P2, P3, P4, P5], // 各 pattern の 個別 finding
summary,
claim
}
extractClaimsFromText(text) → ExtractedNumericClaim[]
regex 抽出: n / M(mean) / SD / p(-value) / z(-stat) / scale [min, max]
Test coverage (34/34 PASS)
test/step1587-integrity-forensics-spike-test.ts:
- P1: n=5 mean=3.0 CLEAN / n=5 mean=3.14 SOFT_FLAG / n=-3 HARD_FLAG / missing INSUFFICIENT
- P2: z=1.96 p=0.05 CLEAN / z=1.96 p=0.5 HARD_FLAG / z=1.96 p=0.03 SOFT_FLAG / missing INSUFFICIENT
- P3: n=10 CLEAN / n=3 SOFT_FLAG / explicit threshold 100 で n=30 SOFT_FLAG
- P4: SD=1.5/0 CLEAN / SD=-0.5 HARD_FLAG / missing INSUFFICIENT
- P5: mean=3 in [1,5] CLEAN / mean=7 out HARD_FLAG
- Aggregation: 全 CLEAN → CLEAN / SD=-0.5 dominates HARD_FLAG / SOFT dominates over INSUFFICIENT / all INSUFFICIENT
- Text extraction: 「n = 50, M = 3.42, SD = 0.87, p = 0.031, z = 2.15. Scale [1, 5]」 → 全 field 正確 extract、 scale 0-10 dash format / no numerics → all undefined
- E2E: text → extract → audit で SOFT_FLAG (n=30 mean=3.14 P1 GRIM)
Honest scope
- 46 pattern の 5 subset のみ (Family A 数値系、 残 Family B-H は 別 STEP defer)
- GPT auditor 経路 (ARIS の gpt-5.6-sol) は含めない = pure deterministic check のみ
- Text extraction regex は Rei stack Papers 想定、 general academic paper には 追加 pattern 必要
- obligations ledger (append-only) は STEP 1572 pattern (eval-fallback-log) 継承 (本 spike では ledger 未 wire、 caller 側で 実装)
- Papers 130-176 の 実 audit run は 別 STEP allocate (本 STEP は engine のみ)
Related
src/aios/integrity-forensics/integrity-forensics-engine.ts— engine 実装 (~275 行)test/step1587-integrity-forensics-spike-test.ts— test- STEP 1572 (fallback ledger pattern の source)
- STEP 1585 (ARIS learn-in 姉妹)
- ARIS integrity-forensics (upstream): 46 pattern × 8 family × 9 auditor dimension (GRIM/GRIMMER/statcheck 統合)