STEP 2214 — shikaku-yokai Phase 1 arc close

2026-09-23 · rei-aios-18 · 別 project (独立 repo、 GitHub 未公開) · P1 全 10 step + 2 corrigendum land + 実 fetch + FP audit + miss class
Summary: 藤本さん 2026-09-23 paste の 資格妖怪.zip (5 spec file) を 起点、 新 project C:/Users/user/shikaku-yokai/rei-aios とは 独立 の repo として 起工。 Phase 1 の 「妖怪能力の分類パイプライン」 を 全 10 step + 2 corrigendum で land、 実 Wikipedia fetch を URL contact 経由 で 実行 (email 使わず)、 20-sample FP audit で v0.1 の 2 決定的 弱点 (polarity 認識 なし + word-boundary 認識 なし) を 実測 evidence として 特定、 P2 (資格 DB + 電気工事士 複線図) 起工 計画 提示 まで 完了。 chat-Claude(Cowork) 経由 5 patch feedback 全 反映。

1. arc 起点 と 5 spec file

藤本さん 2026-09-23 の paste で C:/Users/user/Downloads/資格妖怪.zip 受領 (2026-09-22 15:01 生成、 9.8KB)。 展開 後 5 file:

藤本さん directive: 「Q1(a) 新 repo C:/Users/user/shikaku-yokai/ / Q2(i) P1 から / Q3 evidence 2 段構え / Q4(b) 独立運用」 + 7 patch (unsupported status / fetched=null Step3 / prop=extracts+explaintext+「現代の」 追加 / pooled κ 使用 / Chao1 古典式 / added 型 表現 / User-Agent env var 経由)。

2. P1 全 12 commit chain

4a3f9a6  Step 1  scaffold (pyproject + .env.example + .gitignore + yokai/ package)
50d4ffc  Step 2  vocab.yaml (15 seed + 8 added = 23 型)
5552801  Step 3  codes/claude-chat.jsonl (91 entry、 全 pending)
b8a48f4  Step 3  corrigendum: Chao1 → Chao2 (incidence) rename + reject_reason/probe schema
4c543e4  Step 4  fetch + evidence populator (mock tests のみ)
edc9a41  Step 5  saturation classifier (rarefaction + Chao1/Chao2 + 5-rule verdict)
02c7f54  Step 6  agreement (pooled + per-type Cohen's κ)
84443bc  Step 6  addendum: rule_evaluation field + saturation-no-import-per_type_kappa 構造 lock
6897143  Step 7  MCP server (mcp==2.2.0、 3 tool = yokai_lookup / yokai_by_type / saturation_report)
4771a49  Step 8  skill/SKILL.md 分類手順書 (4 step + 禁止事項)
9cfbae4  Step 9  README.md 完成 (4 手法 + 5 限界 + 使用例)
3273339  Step 10 acceptance (6 criterion を REGRESSION_GUARD/BEHAVIORAL に 分類)
a3e46c9  post   Step 10 corrigendum: URL contact preferred (email 不使用)
3383e1b  post   first real fetch + FP audit + miss classification

test 累計: 131 PASS + 2 deselected (@pytest.mark.live、 default skip)。 working tree clean。 mock only + `@pytest.mark.live` の 1 本 明示 skip pattern (Step 4/7 と 同 posture)。

3. chat-Claude(Cowork) 経由 5 patch feedback 全 反映

#patch 内容反映先
1Chao1 → Chao2 (incidence-based, m=29) 命名 訂正 + 両式 lock (24.287 / 24.333、 丸めて 同値)Step 3 corrigendum (b8a48f4)
2Step 7 evidence_state 要約 + JSONL 都度読み (mtime cache) + saturation_report seed 必須 + n_permutations echoStep 7 (6897143)
3Step 6 rule_evaluation 明示 (「rater 1人のため判定不能」 note) + per_type_kappa 構造 lock (docstring 文字列 lock ではなく import 有無 check)Step 6 addendum (84443bc)
4Step 10 acceptance を REGRESSION_GUARD (#1, #6) と BEHAVIORAL (#2-#5) に 分類、 「回帰防止 で あり 妥当性 verification では ない」 明示Step 10 (3273339)
5URL contact preferred (email 不使用) + 実 fetch 後 20-sample FP audit + miss 2-class (Mechanism / Vocabulary)Step 10 post (a3e46c9 + 3383e1b)

4. 実 Wikipedia fetch 実施

User-Agent 送信 値: shikaku-yokai/0.1 (contact: https://github.com/fc0web/shikaku-yokai)

emailアドレス は 一切 送信 せず — Wikimedia UA policy が URL or email 両方 accept する 実測 verify 済 (meta.wikimedia.org/wiki/User-Agent_policy)。 fc2webb@gmail.com (session-provided) を Wikipedia server log に 残す 判断 は chat-Claude(Cowork) 経由 で 却下、 project URL に 切替。

fetch 統計: 29 妖怪 × 1 req/sec = 実行 ~30-40 秒。 91 entry を pending → supported/unsupported に 遷移。

指標割合
total91100%
supported5863.7%
unsupported (v0.1 keyword_miss)3336.3%

実 fetch 結果 snapshot は shikaku-yokai/yokai/codes/claude-chat.populated-2026-09-23.jsonl (dated、 immutable)。 元 の pending 版 claude-chat.jsonl は test baseline として preserve (別 file commit の form)。

5. 20-sample FP audit (chat-Claude 経由、 数字 独り歩き 予防)

Honest scope: 「supported 63.7%」 は 「keyword が hit した」 のみ で 「分類 が 正しい」 保証 なし。 偽陽性 (FP) は 未 測定。 chat-Claude 経由 で 20 sample (seed=20260923) を deterministic に 抽出 して 目視、 単一 auditor (Claude Opus 4.7) の 判定 で 3 分類。 rule (b) pooled κ の 前提 (2 rater 独立) は 未達成、 sampling variance のみ で inter-rater variance は 未 verify。
判定件数rateWilson 95% CI
TP (evidence 明確 に 型 を 裏付ける)1365%43-82%
AMBIGUOUS (semantic に 微妙)525%11-47%
FP (evidence が 型 を 裏付け ない or 逆)210%2-31%

FP 2 件 の root cause (v0.1 の 決定的 弱点、 実測 evidence)

FP #1 — 送り狼 + G (殺傷・人を食う): evidence = 「『食うなら食ってくれ』と言ったが、送り犬は襲いかかるどころか、山中の狼から母子を守っていた」。 食う keyword が 発話 引用 に hit、 文 全体 の 意味 は 食わないv0.1 に polarity 認識 なし (mechanism 問題、 keyword 追加 で は 解決 不能)。

FP #2 — 雪女 + K (恩恵): evidence = 「...青森県、山形県、秋田県、岩手県、島県、新潟県、...」。 keyword が 「福島県」 の 地名 に 部分一致。 v0.1 に word-boundary / lexeme 認識 なし。 単一 char keyword が greedy substring match で 誤 hit。

6. 33 miss の 2-class classification (v0.2 design 準備)

chat-Claude 経由: 「今 keyword を 個別 に 足す のは post-hoc tuning、 v0.2 rule で 系統的 に 起草 する べき」 の discipline を 継承。 33 miss を Mechanism problem (v0.2 で 根本 fix、 22 件 = 67%) と Vocabulary problem (個別 lexeme 欠落、 11 件 = 33%、 記録 のみ で 個別 追加 しない) に 分離。

Mechanism 22 件 (v0.2 morphological + LLM judge の 根拠)

主 因子:

Vocabulary 11 件 (post-hoc tuning risk、 記録 のみ)

例: 「たぶらかす」 未登録 (C 幻惑)、 「風」 単独 未登録 (J 天候、 「風雨」「嵐」 のみ)。 これ ら を 今 足す のは post-hoc tuning (data を 見て keyword 調整 = teaching-to-the-test)、 v0.2 で 全 vocabulary を 系統的 に 再起草 する 判断。 個別 追加 しない。

7. Honest scope (「配管 通過」 の 意味)

P1 acceptance が 通過 した 時点 で verify されて いる の は 「配管 が 通って いる こと」 (fetch → evidence → codes → saturation → mcp の wire) で あって 「分類 が Wikipedia 本文 で 裏付けられて いる こと」 では ない (chat-Claude condition #2 for Step 10)。

実 fetch で 「supported 63.7% + 明確 FP 10%」 の 実測値 が 出た が、 これ は 単一 auditor pass で pooled κ 前提 (2 rater 独立) は 未達成。 「63.7% supported」 の 数字 単独 で の 引用 は 独り歩き の risk が ある、 常に FP rate + rater 数 の 文脈 と セット で 引用 する discipline。

8. P2 起工 status

藤本さん (1) P2 起工 選択後 に 実装計画 提示 済:

藤本さん explicit 「そろそろ 出かけます」 → 承認 前 の 起工 なし、 本 arc 記録 land で P1 close + P2 は 承認 待ち で pause。

9. Cross-reference と 未達 items

Cross-reference

未達 items (未来 起工 candidate)

  1. P2 実装: 藤本さん (1) 承認 → 計画 提示 済、 実 起工 は 承認 後
  2. v0.2 rule 起工: 形態素解析 (Sudachi/MeCab) + polarity 認識 (LLM judge) の 2 layer、 FP 2 件 の 実測 evidence が 根拠
  3. 第 2 rater 参加: 藤本さん or 別 LLM で 独立 codes/<rater2>.jsonl 生成 → pooled κ 実測 で rule (b) 初 発火
  4. GitHub public 化: shikaku-yokai repo の 公開 判断 (User-Agent URL の 404 解消 も 同時)
  5. P1 acceptance の 「配管」 vs 「妥当性」 の 表記 分離: 未来 の 資料 で 「P1 完了」 の 意味 を 「配管 通過」 に 限定 して 引用 する discipline