1. 全体像と判定原則

IBM i / AS400 解析・リバース — 最良の手順と手法(匿名化公開用)

版 2026-07-22 · 対外公開用 · プロンプト+実践知見+用語集

対外公開版(匿名化済み) — 顧客名・案件名・固有ライブラリ/パス/プログラム名は一般化しています。用語は青点線にマウスオーバーで定義を表示。巻末「用語集」も参照。
いま改めて言える結論: Bob単体に「調査・判定・文章化」を全部任せない。 Cursor(機械抽出)→ Bob(業務向け説明)→ Codex(第三者査読)→ 人間(最終判断)の四層が、 400件超のIBM i資産でも破綻しにくい。
CursorCALL閉包file_usagecoverage・未決の機械抽出。正本入力を作る。
Bobbob_contextを根拠にレポート化。PARTIALはSRC全行精読で昇格を試みる。
Codex反映漏れ・件数差分・確度違反の査読。文章の上手さは見ない。
人間影響調査利用可否・顧客確認・優先順位。推測で確定しない。

必ず分ける2つの判定

判定軸意味いまの指針
手順の横展開可否同じCursorBobCodexを他機能にも使ってよいか 条件付き可 BATCH 1〜5・査読重大0・件数差分0
個別レポートの影響調査利用可否その1本を移行判断の根拠にしてよいか 別判定 技術UNRESOLVED/PARTIAL残が多いと不可
よくある誤解:「レポートが綺麗に出た=影響調査完了」。 PARTIAL/UNRESOLVEDを明示した棚卸し資料は作れるが、それは完了ではない。

確度の意味(現場向け和訳)

コード和訳使い方
CONFIRMED / 確定ソース行番号などの根拠で確認済み影響調査の根拠に使える
PARTIAL / 部分確認宣言はあるが操作命令未確認など残課題。推測で確定にしない
UNRESOLVED / 未解決技術的にまだ決められない次確認先をメモする
顧客確認待ち業務意味・利用有無など人に聞く技術UNRESOLVEDと混ぜない

2026-07 時点で追加で「今だから分かる」こと

  1. 固定形式RPGは空白区切りではない。 CHAINRECFMT01 は列位置の隣接表示。RPG III/IVの列パーサが主経路。
  2. WRITE/UPDAT/DELET はレコード様式が来やすい。DDSでファイルへ正規化してからCRUDを付ける。
  3. DSPPGMREF WHFUSGは「コンパイル時のI/Oめやす」。PARTIALの補助にはなるが、SRC行なしでCONFIRMEDにしない。
  4. 成果物の更新順は「レポート精読昇格 → CRUD図再生成 → テーブル定義書再生成 → HTMLリンク再同期」。
  5. HTML化の落とし穴(表区切りの||、証跡ログ前の---、チェックリスト本文切り落とし)は変換器側で吸収する。
  6. 実機取得DSPDBR・開ファイル)は、静的で残ったPARTIALの最後の決め手。

時系列で見た「気づき」

局面当時の仮説いまの結論
中間ファイルCSVをBobに渡せば十分CursorCALL閉包coverage・未決を機械抽出してから渡す
RPG I/O空白区切り正規表現で足りる現行はRPG III列が主。連結表示を正規表現だけだと取りこぼす
PARTIAL昇格F仕様のUF/IFで更新とみなせる操作命令行が無い限り PARTIAL。昇格は列パーサ+DDS
画面L2化でワイヤーが付くプレースホルダだらけ。DSPFから機械生成が必要
CRUD/定義書レポートとは独立に作れるレポート派生。更新順を守らないと陳腐化
実機静的だけで完結できるPARTIAL残〜150ファイル。DSPDBR/開ファイルが必要
← 0. 次回案件向け・完成版手順2. エンドツーエンド手順 →