STEP 1379 — Cohen's d threshold BOTH 経路 (STEP 1376 v0.2)

STEP 1379 STEP 1376 v0.2 拡張 test 39/39 PASS
2026-08-23 · rei-aios · cohenDMin 引数追加、activate 4/8 → 5/8 (BOTH 追加)

1. 契機

STEP 1376 v0.1 honest scope §3 (2026-08-23): 「Cohen's d 効果量は 計算 + 返却 のみ、 verdict 判定には 未使用 (v0.2 で BOTH 「有意だが 微小」 経路 追加検討)」

4 defer 実装後の next candidate として 予告済の v0.2 拡張。 large n で 「p-value は 有意 だが effect size 微小 = 実用的に nothing-burger」 case を BOTH で 明示的に 表現。

Cohen 1988 (Statistical Power Analysis for the Behavioral Sciences) の conventional effect size 分類 (0.2=small / 0.5=medium / 0.8=large) を verdict layer に 引き込み。

2. 実装 (STEP 1376 primitive extension、backward compat 完全維持)

2.1 src/mcp/d8-verdict-mapping.ts 変更

2.2 決定表 v0.2 (7 rule branches、 first-match priority)

#ConditionVerdictReason
S1sample size < 2NEITHER Ninsufficient_sample
S2alpha invalidNEITHER Nalpha_not_set
S3var=0 mean=0FALSE ⊥zero_variance_zero_diff
S4var=0 mean≠0INFINITY ∞deterministic_difference
S5p<α かつ cohenDMin null (v0.1 mode)TRUE ⊤significant_effect
S5b ★p<α かつ |Cohen d|<cohenDMinBOTH Bsignificant_but_tiny_effect
S5c ★p<α かつ |Cohen d|≥cohenDMinTRUE ⊤significant_effect_above_threshold
S6p≥αFALSE ⊥no_significant_effect

2.3 MCP wrapper update

3. Verify 実測

3.1 STEP 1379 test 39/39 PASS (13 part)

3.2 STEP 1376 regression 64/64 PASS (v0.2 spec 期待値 update 後)

[14] spec table assertion を v0.2 shape (8 rules、 5/8 activate) に update、他 [1-13, 15-16] 全て backward compat で PASS。

3.3 MCP stdio smoke

call: d8_verdict_from_sample_pair(
  sample1=[1..10], sample2=[11..20], alpha=0.05, cohenDMin=0.2
)
→ verdict = TRUE
→ reason = significant_effect_above_threshold  ★ S5c 発火
→ testResult.effectSizeCohenD = -3.30
→ cohenDMinUsed = 0.2  (v0.2 marker)
→ source = welch-t-sample-pair-verdict-mapping ✓
→ honestScope embedded (v0.2 5/8 marker) ✓

4. 用途: 「有意 なのに 実用的意味なし」 case の 明示化

4.1 典型 case (large n + tiny effect)

n=1000 each、mean diff = 0.05、variance = 1 の 実験:

n=10000 each、mean diff = 0.05、variance = 1 の 実験:

4.2 順序原則 (cohenDMin も 引数注入強制)

alpha 同様、 cohenDMin も module 内 定数化禁止。 pre-registration workflow (STEP 1359 rei-preregister) で 「先に決めた effect size threshold」 を 渡す 設計。 後付けで threshold 動かす 陥落先を 構造的排除。

5. STEP 1350 / 1371 / 1376 v0.2 / 1377 相補構造 (7/8 値 activate 不変)

STEPDomainActivate
1350single measurement (SNR gate)TRUE / NEITHER / ZERO / INFINITY / FLOWING
1371multi-trial FDR (TS)TRUE / NEITHER / ZERO / FALSE / BOTH
1376 v0.2 (本 STEP 1379 update)sample-pair Welch t-test + Cohen dTRUE / FALSE / NEITHER / INFINITY / BOTH (5/8、 v0.1 4/8 + BOTH)
1377multi-trial FDR (Python sibling)TRUE / NEITHER / ZERO / FALSE / BOTH

Union 7/8 (SELF のみ 予約) 不変。 STEP 1376 の 個別 activate が 4/8 → 5/8 に 増えたが、 全体 union は 変わらず (BOTH は STEP 1371/1377 で 既 activate 済)。

6. Honest scope

  1. 「世界初」 主張ゼロ、 Cohen 1988 (37 年前) conventional の verdict layer 適用のみ、 novelty ゼロ
  2. cohenDMin threshold の 具体値 (0.2 vs 0.5 vs 0.8) は 引数注入、 module 内 定数化禁止 (順序原則)
  3. Cohen's d は pooled SD 分母、 Hedges' g (small-sample correction) は 未実装 (v0.3 candidate)
  4. Effect size は 効果量 定量化 の 1 種、 別 尺度 (Glass's Δ / Cliff's δ / eta squared) は scope 外
  5. backward compat: cohenDMin null/未設定 = v0.1 挙動完全維持、 既存 caller への breaking change ゼロ
  6. MCP tool count 41 不変、 banner v2.8.4 のまま (STEP 1378 auto-count が semantic 変化を反映、 hardcoded version bump 不要)

7. 関連