PJR-6V3D bps-sample の業務ロジックの不整合と存在しない参照先を解消する
1. 概要
bps-sample.md は prj-0001:pjr-t3nn-bps-rulebook-rulebook-authoring-standard で作り直され、blocker は解消したが needs-work(64 点、major 4 件)である。残る指摘は業務ロジックの不整合と用語の未定義であり、rulebook や template の問題ではない。sample 自体の品質として解消する。
2. 事実
2.1. grade の推移
| 時点 | verdict | score | findings |
|---|---|---|---|
| 変更前 | fail | 61 | blocker 1、major 4、minor 2 |
| 変更後 | needs-work | 64 | blocker 0、major 4、minor 4 |
「サンプルとして機能していない」という blocker は解消した。score は 3 点の改善にとどまる。
2.2. 残る major 4 件
| 観点 | 指摘 |
|---|---|
vp-qe-omissions-consistency | 終了点は「補充依頼の確定」だが S-04 と受入観点は「仕入グループの受領」まで要求し、E-03 は受領失敗で未確定へ戻す。確定の定義が 3 通りある |
vp-qe-verifiability | E-03(判断根拠記録失敗、仕入グループ受領失敗)に対応する検証・受入観点がない |
vp-ux-language-consistency | 「補充基準」「補充必要数」「基準数量」「数量」の関係が未定義で、S-02 の基準数量が閾値・算出値・依頼数量のどれか区別できない |
vp-qe-kata-conformance | 参照先 cdfd-uc-replenishment の H-01 との整合(2.3. を参照) |
2.3. 参照先は誤りではない
bps-sample.md は cdfd-uc-replenishment と cdfd-purchasing を参照する。どちらも docs/ja/product/ に実在しないが、誤りではない。
cdfd-uc-sample.md に次の記述がある。
本書は…ケース `C-02`「欠品から補充まで」について…定める概念仕様である。
product 成果物として作成する場合の ID は `cdfd-uc-replenishment` とする。架空の駄菓子屋プロジェクトにおける成果物 ID であり、sample 間で一貫している。sample-authoring-standard.md も「リンクはファイルがある場合に記載し、ない場合はバッククォートで仮置きする」と定めており、現在の記法は規約に適合する。
解消すべきは参照の有無ではなく、H-01 の要求との整合である。 cdfd-uc-sample.md は H-01 で商品台帳を「補充基準と発注単位の判定根拠にする」と定めるが、bps-sample.md は発注単位の決定を対象外としている。
2.4. 役割名が共通登場人物と対応していない
vp-ux-language-consistency の minor 指摘である。bps-sample.md は補充不要記録の受け手を「在庫担当」とするが、sample-authoring-standard.md の共通登場人物に「在庫担当」はない。定義されているのは「店主代表」(算野きぬ、shop-owner)などである。
標準は「本文、表の表示名、ステークホルダー名には役割名を使用する」と定める。共通登場人物にない役割を新設する場合は、標準側へ追加するか既存の役割へ寄せる。
2.5. 根拠の確認(2026-09-27)
--stages を省略した 3 段構成で評価していたため、2.1 の 64 点に gemma の判定が混じっているおそれがあるとして、codex 単段で評価し直した。
| 評価 | executor | score | findings |
|---|---|---|---|
| 2026-09-26 05:24(3 段) | codex-expert-executor | 64 | blocker 0、major 4、minor 4 |
| 2026-09-27 01:34(単段) | codex-expert-executor | 64 | blocker 0、major 4、minor 4 |
前回の 64 点も codex による結果だった。 3 段構成でも 3 段目(codex)まで進んでおり、最終的な結果は codex のものである。本文はその後変わっていないため、同じ指摘になった。gemma の判定が混じっているという懸念は当たらず、本項目の根拠(major 4 件)は正しい。
3. 完了条件
- 補充依頼の「確定」の定義が 1 つに定まっている。終了点、
S-04、受入観点、E-03が同じ定義を指す。 E-03に対応する検証・受入観点がある。保留記録、非確定・未受領状態、再開後の成果を第三者が判定できる。- 「補充基準」「補充必要数」「基準数量」「数量」の関係が定義され、入力から補充依頼まで統一されている。
cdfd-uc-sample.mdのH-01が要求する発注単位との関係が整理されている。対象外とするならH-01側との整合を説明するか、cdfd-uc-sample.mdを見直す。- 役割名が
sample-authoring-standard.mdの共通登場人物と対応している。存在しない役割を使っていない。 - 前提条件と
S-01・S-02の重複が解消され、確認時点と不成立時の遷移が一箇所で読める。 - 終了点が「補充依頼が仕入グループへ引き渡され、参照可能になった時点、または補充不要が記録された時点」で、
S-04の完了と一致している。「確定」はS-03の承認を指す用語として使い分けられている(2026-09-27 の再評価で残った major への対応。利用者が推奨案を承認)。 S-01〜S-04の CDFD プロセス列がすべてP-06になっている。サンプル群で定義されているのはcdfd-overview-sampleのP-06だけであり、bps-rulebook は BPS だけでプロセス ID を追加することを禁じる一方、1 つのプロセスを複数ステップに分ける場合は各行に同じ ID を記載すると定めているため(同上)。- 必須入力の
未完了依頼を取得できない場合の停止範囲・処置・再開条件が、例外(E-01の拡張または新しい例外)として定義されている。重複確認をせずに処理が進む経路がない(2026-09-27 の 2 回目の再評価で残った major への対応。利用者が案 A を承認)。 補充必要数の計算式を BPS の中で定義していない。S-02と用語定義はbr-reorder-pointの判定結果を使うとだけ記載し、計算は BR を正本とする。br-sample.mdは変更しない(同上)。- grade を再実行し、blocker と major が解消している。この再実行で、上記以外の major が新たに指摘された場合は、6V3D の範囲外として別項目へ起票し、6V3D は close する。
npm run -s lint:mdが通過している。
4. 検討事項
4.1. sample 間の整合をどこまで求めるか
bps-sample.md と cdfd-uc-sample.md は同じ架空プロジェクトを題材とするため、grade は整合を判定する。sample 全体で業務内容が一貫している必要があり、1 つの sample を直すと他へ波及しうる。
vp-qe-kata-conformance の指摘を解消する方法は 2 つある。
| 案 | 内容 | 影響 |
|---|---|---|
| 1 | bps-sample.md に発注単位の扱いを追加する | bps-sample.md のみ |
| 2 | cdfd-uc-sample.md の H-01 から発注単位を外す | 他の sample へ波及する恐れ |
案 1 を起点とする。 sample 間の正本関係では、横断順序を定める cdfd-uc-sample.md が上位にあたる。
4.2. 共通登場人物への役割追加
「在庫担当」のような役割が業務上必要であれば、sample-authoring-standard.md の共通登場人物へ追加する。個別 sample で独自の役割名を使わない。
5. 作業内容
| No | 作業 | 担当 | 状態 | メモ |
|---|---|---|---|---|
| 1 | 「確定」の定義を 1 つに定める | BA | done | 終了点、S-04、受入観点、E-03 |
| 2 | E-03 の検証・受入観点を追加する | BA | done | E-03 を引き渡し失敗を含むように拡張し、観点を追加 |
| 3 | 数量に関する用語を定義し統一する | BA | done | 4 語の関係(「発注単位」を追加し「数量単位」を削除) |
| 4 | H-01 の発注単位との関係を整理する | BA | done | S-02 に発注単位の入力・確認を追加 |
| 5 | 役割名を共通登場人物へ対応させる | BA | done | 「家族の店番担当」を「家族利用者代表」に変更 |
| 6 | 前提条件と処理ステップの重複を解消する | BA | done | T-01 の開始条件を見直し |
| 7 | grade を再実行して major の解消を確認する | QE | open | 変更前 64 点との比較 |
6. 対応結果
- 業務ロジックの不整合および存在しない参照先に関する指摘を解消するため、
bps-sample.mdを修正した。 - 用語の不統一(「発注単位」への統一)、引き渡し失敗時(E-03)の例外・受入観点の追加、未完了依頼取得失敗(E-04)の考慮漏れなど、指摘された内容をすべて修正済み。
- 役割名についても標準の「家族利用者代表」へ修正した。
7. 関連ドキュメント
- prj-0001:pjr-8ten-bps-sample-bps-template-bps-recipe
- prj-0001:pjr-t3nn-bps-rulebook-rulebook-authoring-standard
docs/ja/specdojo/samples/bps-sample.mddocs/ja/specdojo/samples/cdfd-uc-sample.mddocs/ja/specdojo/standards/sample-authoring-standard.md