対外公開版(匿名化済み) — 顧客名・案件名・固有ライブラリ/パス/プログラム名は一般化しています。用語は青点線にマウスオーバーで定義を表示。巻末「用語集」も参照。
この章の使い方:
次回、似たIBM i/AS400案件に入ったら、まずこの章だけ通読して作業する。
後続の章は「なぜこの順か」「プロンプト原文」「取り違えの詳細」の参照用。
同じ資材を何度も蒸留して精度を上げるのは認める。成果物の形を途中で変える手戻りは原則避ける。
この手順が目指すもの
目的は一つだけ。「この機能は、どのデータを読んで・書いて・直しているか」を、
根拠付きで説明できる調査結果にすること。
きれいな文章そのものがゴールではない。件数と確度が合い、PARTIAL/UNRESOLVEDが明示された状態がゴールに近い。
通読と参照の分け方
| 読むもの | いつ | 何のため |
| 0章(本ページ) | 案件着手時・迷ったとき | 資材・取得・手順・必要情報の正本 |
| 3〜5章 | 各役割の作業直前 | プロンプト原文をそのまま使う |
| 6〜9・13章 | 取り違え・成果物・用語で止まったとき | 逆引き |
| 1・10〜12章 | 方針を説明する・経緯を残すとき | 理由と背景(手を動かす前に全部読まない) |
本当に必要な資材(これ以外は後回し)
| 優先 | 資材 | 取得方法 | 無いと何が困るか |
| 必須 | ソース正本(RPG/CL/DDS/DSPF等) | ソースメンバ収集。空白・列位置を壊さない | 解析そのものができない |
| 必須 | オブジェクト一覧(DSPOBJD系) | 業務ライブラリ単位でOUTFILE | 何が存在するか分からない |
| 必須 | プログラム参照(DSPPGMREF) | ライブラリ単位OUTFILE。取得日を残す | CALL先・参照ファイルの名簿が弱い |
| 必須 | 項目定義(DSPFFD) | 主要ライブラリ。不足分は後追い可 | テーブル定義書が空洞になる |
| 高 | PF↔LF関係(DSPDBR) | ライブラリ単位OUTFILE | 様式/LF名と物理の対応が曖昧なまま残る |
| 中 | 代表機能の開ファイル | 実行中ジョブの DSPJOB OPTION(*OPNF) | OVRDBF等の実行時ズレが潰せない |
| 中 | 代表JOBDのLIBL | DSPJOBD OUTPUT(*PRINT) | 同名ファイルの当たり先が説明できない |
| 後回し | コンパイルリスト・全量システム情報 | 動的CALL等が疑われる機能だけ | 最初から全量だと取得が膨らむ |
蒸留は可、手戻りは不可:
同じSRC・同じDSPPGMREFを、抽出器を厚くして何度も見直すのはよい。
レポートの章立てや成果物フォーマットを途中変更し、HTML/CRUD/定義書を全部追い直すのは手戻りなので避ける。
作業フロー(この順で固める)
1
資材を先に揃える
ソース正本+DSPOBJD+DSPPGMREF+DSPFFD。足りない穴のリストだけ作る
↓
2
機能単位で機械抽出(Cursor)
CALL閉包・file_usage・coverage・未決を中間ファイルにする。ここで文章を書かない
↓
3
1〜5件だけレポート化(Bob)→ 査読(Codex)
重大指摘が残るうちは次バッチへ進まない。件数と確度を合わせる
↓
4
手元で精度を蒸留する
列パーサでPARTIAL詰め、画面ならワイヤー追加、レポートHTML化。成果物の形は変えない
↓
5
派生資料をまとめて更新
CRUD図 → テーブル定義書 → リンク →(必要なら)再HTML。レポートだけ直して終わらない
↓
6
静的で残った穴だけ実機取得
DSPDBR → 開ファイル → JOBD LIBL。全量実機はしない
↓
7
影響調査に使うか、人を判定する
手順が回ることと、その1本を根拠にしてよいかは別判定
手順の中で必要な情報とプロンプト
| 手順 | 必要な情報・資材 | 使うもの | 完了の目安 |
| 1. 資材揃え |
対象ライブラリ一覧、SRC、DSPOBJD、DSPPGMREF、DSPFFD(不足リスト可) |
実機コマンド(参照系のみ)/取得日メモ |
必須資材が揃い、欠けが一覧になっている |
| 2. 機械抽出 |
SRC正本、DSPPGMREF、機能キュー |
3章 Cursorプロンプト |
bob_context・coverage・未決が出ている |
| 3. レポート+査読 |
bob_context、正本SRC(PARTIAL精読用) |
4章 Bob → 5章 Codex(1〜5件) |
重大指摘0・件数差分0。次バッチへ進んでよい |
| 4. 精度の蒸留 |
レポート、SRC、DDS/DSPF、DSPPGMREF |
promote(列パーサ)/画面ワイヤー/HTML生成 |
F仕様のみをCONFIRMEDにしていない。画面ASCIIがある |
| 5. 派生資料 |
最新レポート/bob_context、CRUD一覧、DSPFFD |
CRUD再生成 → 定義書 → リンク |
レポート・CRUD・定義書の件数が食い違わない |
| 6. 実機穴埋め |
PARTIAL残リスト、優先機能、不足DSPFFD |
DSPDBR/開ファイル/JOBD(詳細は8章) |
残穴が減る、または理由付きで残る |
| 7. 利用判定 |
査読結果、PARTIAL/UNRESOLVED残、顧客確認事項 |
人間の判定(9章チェック) |
「横展開可」と「この1本を根拠にしてよいか」を分けて書いた |
1バッチの中の流れ(毎回これ)
キューから
1〜5件
→
Cursor抽出
(3章)
→
Bobレポート
(4章)
→
Codex査読
(5章)
重大指摘あり?
はい → 直して再査読。次へ進まない
いいえ → 蒸留(列パーサ・ワイヤー・HTML)
CRUD再生成
→
定義書
→
リンク
→
残PARTIALは
実機リストへ
蒸留と手戻りの線引き
| やってよい(蒸留) | やらない(手戻り) |
| 同じSRCを、列パーサを厚くして再スキャンする | レポート章立てを途中で変え、全HTMLを作り直す羽目にする |
| PARTIALを根拠行が増えた範囲だけで昇格する | F仕様のIF/UFだけでCONFIRMEDにする |
| バッチ区切りでCRUD・定義書をまとめて再生成する | レポートだけ直して派生資料を放置する |
| 静的で残った穴だけ実機取得する | 最初から全機能の実行時情報を取りに行く |
| 査読の重大指摘をゼロにしてから次バッチへ進む | 400件一括で回して後からまとめて直す |
各手順の完了条件(短縮)
- 抽出:coverage欠落がない。RPG III/IV列パーサ経由。
- レポート:証跡に行番号がある。PARTIALを推測確定していない。
- 査読:重大指摘0、件数差分0。
- 派生資料:レポート → CRUD → 定義書 → リンクの順を守った。
- 実機:変更系なし。優先はDSPDBR/鮮度/不足DSPFFD。開ファイルは少数の代表機能から。
- 利用判定:横展開可否と個別利用可否を分けて書いた。
次回案件での使い方:
この章の表とフローに沿って資材を揃え、3〜5章のプロンプトを役割ごとに使う。
止まったら6・7・8・13を逆引きする。経緯や「なぜ」が必要になったら1章・10章を読む。