Skip to content

NTFのドキュメント刷新 - #730

Draft
kiyohome wants to merge 244 commits into
nablarch:ntf-yaml-supportfrom
lovaizu:work
Draft

NTFのドキュメント刷新#730
kiyohome wants to merge 244 commits into
nablarch:ntf-yaml-supportfrom
lovaizu:work

Conversation

@kiyohome

Copy link
Copy Markdown
Contributor

See steering.md

kiyotis and others added 30 commits July 27, 2026 11:05
抽出単位をL3のみとしていたため、L3を持たないページ全体(RST47中16
ファイル)と、L3配下に属さないL2/L1直下の本文が抽出対象外になって
いた。

見出し階層のどこにも属さない本文が発生しないようルールを変更し、
L3を持たないL2はそのL2自体を、直下本文は (L2直下) / (L1直下)、
最初の見出しより前は (冒頭) として独立セクションに切り出す。

取りこぼしゼロを機械的に証明するため verify_coverage.py を追加し、
全行を counted / trailing_blank / heading / gap_blank に排他分類して
未説明の非空行が0件であることを検証する。build_mapping.sh から
自動実行するため、以降の回帰は検出される。

lines合計: current 7,318→9,211、input 2,494→3,011
セクション0件のRSTファイル: 16→0

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
レビュー指摘への対応。

lines の定義を「本文開始行から次のセクション開始行の直前までの全行
数」に変更し、末尾空行を除く処理を廃止した。lines がカバー範囲その
ものになったため、外部から範囲を再構築できる。

カバー範囲を推測させないよう body_start_line / body_end_line 列を
CSVに追加した。指摘の誤検出は範囲を [src_line, src_line+lines-1] と
解釈したことで生じており、src_line は見出し行を指すため本文とは2行
ずれる。列として明示することで再発しない。

verify_coverage.py の検証方法をバケット分類の恒等式から行番号の集合
演算に変更した。covered = セクション範囲の和集合、uncovered = 全行 −
covered を直接求め、見出し行を除いて残った行を内容付きで列挙する。
分類の正しさに依存しない。sum(lines) == covered で範囲の重複も封じた。

結果: 非空行の未カバーは current/input とも0件。空行のみ 49/19 行が
残り、checks/task-02a.md に全件列挙した。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
#2a の完了でセクション抽出の実態が判明した(current 377セクション
9,783行、100行超が23件で全体の36%、最大314行。input は最大63行)。

マッピング作成の前に分割位置を確定させる #4a「大きいセクションの分割
判断」を新設した。対象は sections-current.csv の lines >= 100 の23件。
分割しない判断にも内容に基づく根拠を求める。

#5 を改訂した。mapping.csv に src_section_id / src_body_start /
src_body_end を追加し、lines を担当範囲の行数と定義した。取りこぼし
検証を行範囲の集合演算で行い、verify_mapping.py としてコミットする。
579セクションを1コンテキストで処理すると判断がぶれるため、出典ファイル
単位でサブエージェントに分担させる。

あわせて作業指示書のタスク番号を steering と揃え(#1 作業指示の受領、
#2a、#4a を反映)、#2 の出力列と出典参照を実装後の実態に更新した。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
lines 合計 12,986 の一致は DROP 行を残す限り必ず成立するため、
取りこぼしがないことの確認にはなるが、全量が新構成に移ったことの
証明にはならない。DROP を乱用しても検証が通ってしまう。

mapping.csv には追跡可能性のため DROP 行も残したうえで、DROP を
除いた lines 合計を volume.md に記載し、verify_mapping.py が両方の
数値を並べて出力するよう完了条件を改めた。DROP 分の行数が可視化
されていれば、想定外に多い場合に気づける。

volume.md には DROP の合計行数と note の理由別内訳も残す。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- mapping/glossary.md: 9カテゴリ・正表記73語。正表記/意味/揺れ表記(file:line)/採用根拠を記載
- mapping/tools/detect_term_variants.py: discover(punct/paren/longvowel)とscanの2モード
- mapping/tools/term_candidates.tsv: scanの用語定義(133エントリ)
- mapping/tools/test_detect_term_variants.py: 34テスト

現行解説書のfile:lineはdevelopとのmerge-base時点の内容、FW解説書・input資料は
作業ツリーの行番号。glossary.md内の219件のfile:line参照は全件を実ファイルに
突き合わせて確認した。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
網羅性:
- 「精査」を裁定し §5.6 バリデーションを新設(精査→バリデーション、
  項目間精査→相関バリデーション、単項目精査→単項目バリデーション)
- 骨格語(テストクラス/テストメソッド/テストケース/ハンドラキュー)を掲載し、
  掲載基準を「揺れが検出されたか」から切り離す
- YAML側の単位語を立項し、Excel/YAML の粒度をそろえた対応表を §5.9 に追加
- テストショット・リクエスト ID・単体テストの略称群・稼動環境を裁定

事実誤り:
- 「編」を持つFW見出しは6件、FW グループID 22件中3件は認可機能、
  scan の行順は用語定義ファイル順、現行解説書の NTF は2件、
  使用方法の独立見出しは36件、JUnit5 は toctree のファイル名、
  単体テストの単独用法は8件 — いずれも実測に合わせて訂正

設計:
- HTTPメッセージ送信/受信の正表記をFW解説書に合わせて確定し未解決事項#4を解消
- 記述様式(括弧・空白・送り仮名)を nablarch#4 style.md の管轄とし実測を申し送り
- §8 対応表に適用条件列を新設し全87行に条件を記載
- データブロック/データタイプ/グループIDの循環定義を解消
- 揺れ表記と別義・旧名称を列で分離

検証:
- verify_glossary.py を追加(参照・件数・§5と§8の整合・tsvとの整合・適用条件)
- 基準コミットを定数で固定し出力に刻む
- match_line を真の最長一致に修正(件数の変化5件)
- discover に spacing ルールを追加し散文の空白の揺れを検出
- コーパス取得層のテストを追加(カバレッジ 0% → 98%)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- モックアップクラス・複数レコードレイアウト・エンティティバリデーションを
  新規掲載し、出典不明だった「マルチレイアウト」を実在表記に置換
- 誤った file:line 引用(メッセージング処理の根拠行、セルの代表引用)を修正
- YAML形式の採用根拠をdesign.mdの実際の出典に基づく記述に訂正
- 単体テスト単独用法の脚注の過度な一般化を撤回し8件を個別に記述
- 同期応答メッセージ送信・HTTPメッセージ送信の語順違いの表記揺れ
  (メッセージ同期送信処理等)をterm_candidates.tsvに追加しscan-terms.tsvを再生成
- 250字超の長大セルを4件短縮し、部分文字列衝突の検出限界を§4に追記
- 「現行NTF解説書」の表記を「現行解説書」に統一
- checks/task-03.mdのSelf-check/Evidence列に対応内容と実測根拠を記録

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
ラウンド1〜3のレビュー指摘(G-1, G-2, G-5, G-9, G-10)は用語集に対象母集合が
未定義であることが共通原因だったため、term-candidates.csv による機械抽出・
突合と、個別の記述ミス(G-4, G-6, G-7, G-8)修正をタスク#3に追加し、ラウンド
カウントをリセットする。steering.md の State はプレースホルダにリセット。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
用語集の3ラウンドのレビューがいずれも新しい抜けを指摘し続けたのは、
用語集が対象とする用語の母集合を定義していなかったため。現行解説書の
見出し(sections-current.csvのheading_path)・input/ntf-doc-terms.mdの
見出し・design.mdの見出しと処理方式名の4出典から339行・331種類の
候補を機械抽出し、term-candidates.csvに出力する。

current-heading候補のfile:lineは、子見出しを持つ見出しがsections-
current.csv上に自分自身のセクション行を持たないため、基準コミット
時点の.rstを再パースして見出し自身の行番号を求める(heading_pathの
該当行のsrc_lineをそのまま使うと無関係な行を指す誤引用になるため)。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
mapping/glossary.md に §5.15「term-candidates.csv との対応(母集団の
全件判定)」を新設し、339行・331種類の候補全件を採用(36件、既存の
§5用語への相互参照)または不採用(295件、候補ごとの具体的理由付き)
に判定した。design.mdの章・セクション見出し21件・input見出し39件・
現行解説書見出し236件のいずれも、掲載基準に照らした理由を個別に記す。

verify_glossary.pyに population/design_sections/scheme_names/reasons
の4検査を追加(既存のrefs/counts/sections/terms/appliesは維持、計9
検査)。term-candidates.csvの全件が採用/不採用のいずれかに対応し
未判定0件であること、design.mdの章・セクション名がすべてglossary.md
に存在すること、処理方式名がdesign.mdの正式名称と一致することを機械
検証する。test_verify_glossary.pyに15件のテストを先行追加した。

あわせて母集団とは別の記述ミス4件を監査・修正した。
- 150字超の表セル41個を実測で特定し、全件150字以内に短縮
- 採用根拠の引用124件・件数主張約250件を再検証(既存記述に不一致
  なし。短縮作業中に自己混入させた不一致は同作業内で復元)
- §9の判定語「一部不採用」のうち、不採用要素が実際には無い1行を
  「表記変更」に訂正

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
extract_terms.py / term-candidates.csv / glossary.md §5.15 / verify_glossary.py
(9検査)/ G-4・G-6・G-7・G-8修正の実装7ステップを完了・独立検証済みとして
check-off。残る4観点レビュー(ラウンド1)とuser reviewは未着手のためwip。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
用語集は全用語の網羅的な確定ではなく表記統一のための参照物とする方針転換を受け、
glossary.md §3の掲載基準を「表記揺れ確定用語」「design.mdの章・セクション名用語」の
2種類に限定し、§5.15は339候補中の非該当295件を候補ごとの理由なしで一括「今回は
判定しない」と記録する形に縮小した。verify_glossary.pyのpopulation/reasons検査を
「採用/不採用(理由付き)/一括判定」の3値に対応するよう更新し、揺れ表記のfile:line
根拠が欠けていた10行27箇所を補充、意味欄に残っていた旧表記(バッチ処理/ブック)を
正表記に修正した。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
design.md「7. トンマナ」が指定する8観点(文体・セクション構成・見出し形式・
アンダーライン記法・コードブロック・アドミニション・表の記法・:ref:ラベル)を、
ja/application_framework/application_framework/libraries/配下の複数.rstから
file:line根拠付きで抽出した。#8以降のページ作成でCCが従う基準とする。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
FW解説書ライブラリの一般的な型(機能概要→モジュール一覧→使用方法→拡張例)を
そのまま規約本文にしていたため、design.mdが決めた第2部・第3部のページ構成
(モジュール一覧を第1部の稼動環境に集約し、処理方式ごとのページには置かない)
と矛盾していた。規約本文を design.md の決定に合わせて書き直し、根拠として
design.md:34,48-52,76-88,132-141,143 を明記した。FW解説書の一般的な型の実例は
根拠として残しつつ、NTF解説書はモジュール一覧を除いた並び順のみを踏襲する旨を
明確にした。
kiyotis and others added 30 commits August 6, 2026 11:40
/rn:gm フィードバック「Excelの例はRSTの表形式にしませんか?」を受け、出典
(input/ntf-testdata-doc.md「各セルを|で区切って表示」)由来のExcelセル格子を
code-block:: textで模していた2箇所(SETUP_TABLE例・SETUP_FIXED例)を
.. list-table::(header-rows: 0)に置換。ディレクトリ構成・概念階層のASCII図は
Excelセル格子ではないため対象外。Dockerフルビルドで警告1件(既知)のみ確認。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
/rn:gm フィードバック3点への対応。
(1) 識別子行(SETUP_TABLE=テーブル名、SETUP_FIXED[グループID]=ファイルパス)の
    colspan化を検討したが、docutils 0.15.2はlist-tableのセル結合非対応、grid table
    は全角文字幅計算が壊れやすくstyle.md S-07が禁止のため、表から出して直前の
    地の文に移す案を採用。
(2) 該当識別子はコード書式(``)を外し、他の例示セル(カラム1・値1等)と同じ
    普通の文字にした。
(3)「Excel向け/YAML向けの説明ブロックが視覚的に分かりにくい」への対応として、
    この2セクションに限り**Excel形式**・**YAML形式**の太字ラベルを追加。

RST太字とCJK文字の境界でInline strong start-string警告が出たため、
閉じ`**`直後に`\ `を置く記法で解消。Dockerフルビルドで警告1件(既知)のみ確認。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
前コミットでSETUP_TABLE例・SETUP_FIXED例の2箇所にだけ適用した3点
(識別子行を表から出す・普通の文字にする・紛れる場合は太字Excel形式/
YAML形式ラベル)を、#10以降のページにも再現できるようstyle.md S-10・
design.md§8・steering.mdのページ作成Stepsに反映。

あわせてtestdata_notation.rst全体を通し読みし、周辺の説明文との
矛盾がないことを確認(steering.mdのRules「通し読みで整合性確認」対応)。
Dockerフルビルドで警告1件(既知)のみ確認。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
ユーザー指摘により発覚。testdata_notation.rstが「テストソースコード」
(3箇所)を使っていたが、既承認のabout/index.rst(nablarch#8)は「テストコード」
を使っており未検出の表記揺れだった。

現行解説書は表記が割れている(テストコード14件・テストソースコード26件)が、
input資料は「テストコード」に一貫しており(4件、テストソースコード0件)、
glossary.md優先順位2「意味が明確で一貫しているものを採用する」によりinput資料側
を採用。design.mdの#8確定文もテストコードを使用済み。glossary.md §5.7に
正表記として追記し、testdata_notation.rstを修正。Dockerフルビルドで
警告1件(既知)のみ確認。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
ユーザー指摘「ファイル構成と記述時の注意点を確認する節にExcel/YAMLの
区切りがなく分かりにくい」への対応。前回(太字ラベル)は単一の表+コード
ブロックのような短い一対にしか効かず、表・コードブロック・アドモニション
が複数連なる長い一対では区切りとして機能していなかった。

- 「ファイル構成と記述時の注意点を確認する」節(Excel固有の配置・命名規約
  ~ YAML 1.2準拠・JSON Schema検証)
- 「ファイルのデータを記述する」節(SETUP_FIXED例、用語表・イラスト・
  アドモニション・具体例を含む)

の2箇所を、太字ラベルからL4見出し「Excel形式の場合」「YAML形式の場合」に
格上げ。L4見出しはS-09で追加した`.. contents::`目次にも反映される。
style.md S-10規約3を「短い一対は太字、長い一対はL4見出し」に改訂し、
使い分けの基準を明文化。ページ全体を再度通し読みし、他に同種の長い
未区切り箇所がないことを確認済み。Dockerフルビルドで警告1件(既知)のみ確認。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
ユーザー指摘「読み手はExcel/YAMLどちらか一方しか見ない。比較表で毎回
両方読ませる今の構成に違和感がある」を受け、比較して伝える価値がある内容
(形式間の対応関係・挙動差の理由説明)だけを共通の地の文・比較表として残し、
それ以外の「どう書くか」という記述方法の説明はExcel専用/YAML専用に分割した。

使用方法セクション全体(8箇所のL3セクション: ファイル構成/データブロックの
識別/グループID/テーブルデータ/LIST_MAP/testShots/ファイルデータ/メッセージング/
特殊記法/コメント・マーカーカラム)を対象に、比較表・比較文をL4見出し
「Excel形式の場合」「YAML形式の場合」の下に再構成。1セクションにつき見出し対
1組に統一し(太字とL4見出しが混在すると区切りの探し方がセクションごとに
変わるという指摘を受け、太字ラベルは見出しを追加できない場合の例外のみに限定)。

style.md S-10を規約1〜4(比較して残す基準/識別子行を表の外に出す/
Excel専用・YAML専用の書き分け方/識別子行の書式)として全面改訂。
testdata_notation.rst全体を通し読みし、矛盾・重複がないことを確認済み。
Dockerフルビルドで警告1件(既知のdb_double_submit.rst)のみ確認。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
各L3セクション・各形式(Excel/YAML)の説明直後にテストデータの記載例への
リンクを追加し、説明を読んだ流れですぐ具体例に辿れるようにした(従来は
L3セクション末尾6箇所のみ)。nablarch#10(テストデータの記載例、未着手)の実例は
Toy/サンプルレベルでなく実開発で参考にできる水準にする方針をdesign.mdに
明記した。

「〜を確認する」形式の見出し2箇所を目的志向の動詞(テストデータを配置する
/データブロックを定義する)に変更し、ファイル配置規約の説明を「規約がある
/推奨されており/読み込める(結果)」という他人事の書き方から「推奨する。
〜のためである」という意図ベースの書き方に修正した。

Excelのセル書式を文字列に統一する理由(0001が1になる等の自動変換)を
importantボックスに追記する一方、「ファイルが存在しない場合はエラーになる」
等の自明なエラー動作の記述と、セル書式に関する重複記載を削除した。

全修正後にページ全体を通し読みして整合性を確認し、Dockerフルビルド
(クリーン)でbuild succeeded, 1 warning(既知のdb_double_submit.rstのみ、
新規警告0件)を確認済み。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
YAML検証の実装詳細(YamlLoader/例外クラス名)を削除、自明・重複する空シート/空ファイル記述を削除、
3用途データ共存の説明を「データブロックを定義する」節へ移動・見出し改称、マスタデータ投入ツール/復旧
機能をリンク化しgsp-dba-maven-plugin推奨を追記(前方参照スタブページを新設)、データタイプ/グループID
混在時のOK/NG具体例を追加、中途半端な具体例を削除しリンクに一本化、デフォルトグループ/収集方式の説明を
Excel/YAML分割前の共通記述へ移動。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
「テーブルのデータを記述する」節を対象に、LIST_MAPの誤カテゴライズ訂正、
ヘッダ末尾空カラム除去/空文字補完の記述をExcel専用の挙動として実装
(HeaderLine.java/YamlTableDataBuilder.java)で裏付けて訂正・移設
(従来YAML側に誤って記載されていた)、主キー自動採番時の対処の具体化、
RESTfulウェブサービスの記述(マッピング違反)の削除、子見出し3件の
新設による節構成の整理などを実施。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
テストデータの書き方ページの「実際の記述例は…を参照」20箇所を、
テストデータの記載例ページ側に新設した見出し(本文なし)への個別
:ref:リンクに張り替え。見出し文言はテストデータの書き方ページの
使用方法配下の見出しと完全一致させ、「使用方法」ラッパーと
「〜の記載例」という接尾辞は付けない構成にした(design.md更新)。

あわせて「定義する」/「記述する」の表記統一と、実ソース
(nablarch-testing/nablarch-testing-yaml)に基づく横並びチェックで
見つかったファイルデータ節の空エントリ記述の不正確さを訂正。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
/rn:gmで「ここまでのFBを踏まえてページ全体を見直し改善する」指示を受け、
著者自身による独立した通し読みレビュー(ラウンド3)を実施。個別指摘への
対症療法ではなく、以下3件を新規発見・対応した。

(1) 「主キーは省略不可・省略時デフォルト値扱い」の説明が3節(準備データ/
    期待値/カラムを省略する)に3重反復していたのを、前2節への参照に整理。
(2) 「カラムを省略する」節冒頭のimportantが、機械的制約(LIST_MAP比較は
    Map完全一致のため列省略不可。nablarch-testingのAssertion#assertMapEquals
    で裏付け)とベストプラクティス上の推奨(登録系テストの全カラム確認。
    EXPECTED_TABLE自体は技術的に省略可)を同じ強さの表現で並記しており、
    読者が存在しないバリデーションを想定しうる書き方だったのを是正。
(3) ラウンド1で検出済みながらnote扱いで未対応だった、ウェブアプリ用カラム
    表のexpectedStatusCode重複掲載(共通カラム表と重複)を解消。

詳細は reviews/page-testdata_notation.md「ラウンド3」参照。Dockerフル
ビルド(クリーン)で build succeeded, 1 warning(既知のdb_double_submit.rst
のみ、新規警告0件)を確認済み。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
STEP A-3: mapping.csv の dest_page=テストデータの書き方 140行のうち19行の
dest_section を 使用方法 から テストデータの構造 へ再割当。内訳は
機能概要1 + テストデータの構造19 + 使用方法120 = 140。判定は各行の src_file の
該当行範囲を実読し、testdata_notation.rst の該当箇所に反映されているかで行った。
変更は _batch/*.csv に対して行い、mapping.csv は単純連結で再生成した。

あわせて、nablarch#8 のフィードバック対応で mapping.csv を直接編集した際に取り残されて
いた _batch/*.csv の乖離8行を mapping.csv 側を正として同期し、改行コードを CRLF に
統一した。これにより _batch/*.csv の単純連結と mapping.csv がバイト一致する。

STEP A-4: design.md §4 に、第3部で「テストデータの書き方」のみ3セクション構成と
する例外を明記。
STEP F-1: style.md S-03 に、形式別L4対を重複禁止の対象外とする例外と、構造
セクション配下を体言止めとする適用範囲を追記。
STEP F-2: style.md S-10 規約3 に、形式別L4対をL3の末尾2つに置く順序規約を追加。
STEP F-3: style.md に S-11(L4見出しを持つL3セクションの導入文)を新設。観点は11個。

行数594・lines合計12,986・DROP除く11,983は不変。verify_mapping.py は exit 0。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- L2「テストデータの構造」を新設し、配置・データブロック・グループIDの3セクションを移設・体言止めへ改題(STEP A-1/A-2)
- 「テーブルのデータを記述する」のL4を共通→形式別の順に並べ替え(STEP B-2)
- 全L3の導入文を確認し、testShotsほかに配下構成の要約を追加(STEP B-3/B-4)
- 形式別L4に閉じ込められていた形式非依存の内容6箇所を最初のL4より前へ移動(STEP C)
- カラム名の行の番号の矛盾を解消し、行の数え方の説明をExcel形式の場合へ移動(STEP D)
- setUpDbのYAML側(setUpDb.yaml)を実装確認のうえ追記(STEP E)
- reviews/page-testdata_notation.md にラウンド4を追記(STEP G-2)

既存の :ref: ラベルはすべて維持。Dockerフルビルド(-a)で build succeeded, 1 warning(既知のdb_double_submit.rstのみ)を確認。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- F-1: メッセージングL3導入文の `no` の説明が実装と逆だったため、電文の
  対応付けが記述順で行われ先頭列がラベル列である旨に書き換え。
  `expectedMessages` の適用範囲も同期応答メッセージ受信に限定
- F-2: 共通部に残っていた形式依存の記述を一掃(`シート`・`セル`・YAMLキー名の
  形式非依存語への言い換え、Excel/YAML専用記述のL4への移動)
- F-3: メッセージングExcel形式L4冒頭の主語欠落を補い、YAML側と対称化
- F-4: `testShots` の記載例リンクをL3共通部へ移動
- F-5: L3導入文に配下L4の漏れを追加し、列挙順を実配置に一致させた
- F-6: `メッセージ同期送信`・`メッセージング処理` を用語集の正表記へ置換
- F-7: 新設L2「テストデータの構造」に導入文を追加
- F-8: タクソノミ図の直後に、各項目の扱いセクションを示す1文を追加
- F-9: 「以下では」の定型5箇所を既存解説書の調子に合わせて変化させ、
  収集方法の重複記述を参照に置き換え

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- G-1: design.md §4 の記載例見出し一致規約を再構成後の実態に合わせて改訂。
  使用方法配下と同名の見出しに加え、テストデータの構造配下で記述例を持つ
  2節は改題後の名前で見出しを置き、テストクラスとテストデータの対応は
  実例を持たないため置かない、の3点が読み取れる形にした
- G-2: style.md S-02 に、テストデータの書き方だけが3セクション構成である
  旨の例外を追記。S-03 例外2 との片肺状態を解消
- G-3: style.md S-03 例外1 のスコープを拡張し、形式別L4対が「〜する」形式
  (動詞終止形)の規約についても対象外である旨を明記
- G-4: S-10 規約3 の要約を「各L3に置く」から条件付きの規定であることが
  分かる文言に修正(実態は10個のL3のうち8個)
- G-5: 例外1 の根拠に、.. contents:: 目次では各L4が親L3の下にネストされる
  ため位置で判別できる旨を追記し S-11 と整合させた(生成HTMLで実測)
- reviews/page-testdata_notation.md にラウンド5(must 8件・note 2件・
  却下4件)と nablarch#10 への申し送り3点を追記。ラウンド1〜4は無変更

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
形式別L4から共通部へ移した記述が形式非依存に直っていない欠陥が3ラウンド
再発していたため、L2/L3/L4の所属を再構築して形式非依存領域だけを切り出し、
Excel固有語・Excel固有構文・YAML固有キーの出現を全件列挙する検査を作成し、
そのヒットを1件ずつ判定して是正した。

- メッセージング共通部の「フィールド名称行の先頭要素はレコード種別として
  扱われ」は事実誤り(MessageParser.java:60-67 で書かれた値は破棄され
  レコード種別は無条件に "default" 固定、YAML も YamlFileBuilder.java:182-184
  で同様)。誤りを除去し、先頭ラベル列・no行・連番というExcel固有の行構造は
  Excel形式の場合へ移した。連番はYAMLでは行インデックスから自動付与される
  (YamlFileBuilder.java:231-233)旨をYAML形式の場合に補った
- 整形・補完の表の「レコード種別が空欄の行に既定のレコード種別を補う」を
  無条件置換に、「行末の空セルを取り除く」をExcel形式のみに修正
- errorMode: の記載位置から Excel 固有の no ラベル列前提を外した
- テストデータの構造の導入文から中間層「テストデータファイル」を落とし、
  直下の階層図およびYAML形式の場合の記述と一致させた
- 取引単体テストのモックアップ段落を分割し、識別子がグループIDを持たない点・
  データは応答電文のみ・errorMode: で障害系も可という形式非依存の3点を
  共通部へ戻した
- グループ収集の表を両形式で書き分け(Excel は前方一致、YAML は完全一致)、
  同表への遠回りな参照2本を、より具体的な近傍の記述への参照・直接記述に戻した
- 0バイトの空ファイルの記法がExcel固有だったため両形式に分けた
  (YAML は records: に空配列。JSON Schema の file_data で確認)
- 機能概要から「小見出しに分けて示す」という文書構造のメタ説明を除去
  (FW解説書ライブラリに前例0件、かつ10個のL3のうち2個で約束が破られていた)
- 使用方法L2に導入文を追加、記載例へのリンクを「L3共通部に1本+形式別L4の
  末尾に1本ずつ」に統一

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
第3部の例外ページ数の誤りと、末尾固定の導入で死文化した太字ラベルの例外条件を
実態を全件走査したうえで是正し、あわせてラウンド5の記録の誤りを訂正した。

- style.md S-02 と design.md §4 の「第3部の例外は『テストデータの書き方』の
  1ページのみ」を2ページへ是正。testdata_examples.rst は機能概要も使用方法も
  持たずL2に個別見出しを並べる構成であり(実測: L2見出し9件・両セクション0件)、
  design.md §4 は同一節の内部で矛盾していた。「テストデータの2ページ」節の
  冒頭文も接続し直して矛盾を解消
- style.md S-10 規約3 の太字ラベルの例外条件2 を書き直した。#9 で「形式別L4対は
  L3の末尾2つ」を追加した結果、「対をすでに1組使った後に生じる」という条件は
  原理的に発生しなくなっていた。testdata_notation.rst の太字ラベル4件
  (L586・L867・L1433・L1462)を全件走査し、実態に合う2条件
  (対を持つL3の共通部/対を持たないL3)へ改めた。死文となっていた
  「最初の見出し対の下に集約する」も改訂
- レビュー記録にラウンド6を追記。must は事実誤り1件(レコード種別)・回帰3件
  (構造L2導入文の階層がExcel前提、モックアップ段落の丸ごと移動、共通部の
  Excel固有構文の残存)と規約2件
- ラウンド5の記録を訂正。(1)「共通部の形式依存記述10箇所すべて解消」は過大で
  同型の未解消が残っていた (2) glossary.md §8違反として解消したのは2件ではなく
  1件で、メッセージング処理は第3の表現を新造していた (3) design.md §4 の記載例
  規約の変更は作業指示 STEP A-4 の明示的禁止を上書きしたものである旨と理由
- nablarch#10 への申し送りを拡張。S-03例外1の根拠が見出しレベルに依存し記載例ページに
  適用できないこと、mapping.csv の記載例65行が全て dest_section=使用方法 で
  design.md・vocabulary.md・RST と食い違うこと(本ラウンドでは修正しない。
  作業指示が他33ページの dest_section 変更を禁じているため)、形式別L4の
  HTMLアンカーが自動採番で不安定なこと、YAML記法2文の追加が
  「内容の追加・削除を行わない」に対する例外であること、Excel の
  SendSyncMessageParser 経路が未検証であることを追加

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- F-1: レコード種別の記述3箇所の over-generalization を是正。Excel は MESSAGE のみ
  "default" 固定、同期応答送信系4データタイプとモックアップ経路は記述値がそのまま
  レコード種別になる。YAML はメッセージ系の全キーが "default" 固定
- F-2: errorMode: の important の自己矛盾を解消。RESPONSE 系こそが
  RequestTestingSendSyncSupport 経路であり errorMode: は反映される(出典側の誤り)
- F-3: ファイルデータのL3共通部の用語表を形式非依存にし、メッセージング側の
  「前述のファイルデータと同じ構成」という参照が成立する状態にした
- F-4: d8089aa で落ちた具体例 EXPECTED_REQUEST_HEADER_MESSAGES=リクエストID を
  Excel形式の場合に復活
- F-5: YAMLファイルデータの必須3キー・データタイプ側の前方一致・参照のキーずれを是正
- S-1: style.md S-10 規約3 の太字例外条件(iii) の根拠を実測(6箇所)に合わせた
- S-2: style.md S-07 に例外を明文化し、本ページの list-table 34件の形を追認
- reviews にラウンド7を追記し、ラウンド1の S-07 判定の取り違えを訂正、
  申し送り7をクローズして申し送り8〜13を追加

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
checks/task-09-restructure.md を新規追加。STEP A〜G の実施記録、ゲート1〜13の
実行出力、4観点レビュー3ラウンドの判定、および user review で判断を仰ぐ事項3件
(作業指示の明示的禁止を1件上書き、内容追加の例外2件、S-07の裁定)を記録した。

steering.md の #9 エントリに本作業の経緯を1行追記。user review 未了のため
エントリの圧縮は行っていない。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
user review 差し戻し(must 1件)への対応。

- `メッセージングのデータを記述する` の共通部に important を追加し、
  レコード種別の扱いが Excel 形式と YAML 形式で異なること
  (Excel: 同期応答送信の4データタイプと取引単体テストのモックアップ
  電文では記載値がそのままレコード種別/YAML: messages と同期応答送信の
  4キーのいずれでも record_type は常に "default" 固定)を明記した。
  どちらが仕様かは書いていない
- 手順3の横並び確認(形式別L4対を持つ8つのL3の突合)で同型の未明記の
  形式差を1件検出し、`テーブルのデータを記述する` の共通部に important を
  追加した(行にカラムの値を書かなかった場合、Excel は空文字補完・
  YAML は null)
- 形式別L4の既存記述は無変更(挿入8行・削除0行)
- ゲート8件を実測で確認(checks/task-09-recordtype.md)。Docker フルビルドは
  build succeeded, 1 warning(既知の db_double_submit.rst のみ)
- nablarch#10 以降への申し送りを2件追加(reviews/page-testdata_notation.md)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
直前のコミットに、Docker でのフルビルド確認時に再生成された
locales/ja/LC_MESSAGES/sphinx.mo(23235 -> 23237 bytes)が
意図せず含まれていたため、ビルド前の内容に戻す。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants