← 実例マッピング | livt
ストーリー ルール 提案中のルール テストが自動化している 具体例 疑問点 ユビキタス言語
表示
テストからルール・具体例へ辿る→

ルール

10
#R-01
livtリポジトリの一点はlivt URIで一意に指せる
具体例4
#EX-01
ルールは livt://mapping/{story-key}/rule/{rule-id}
#EX-02
具体例は livt://mapping/{story-key}/rule/{rule-id}/example/{example-id}(具体例IDはルール内採番のため、ルールを含める)
#EX-04
裸のR-02は10個のマッピング全部に存在し、単体ではどのマッピングか復元できない
#R-02
livt URIはデプロイ先に依存しない
具体例3
#EX-01
保存するのはlivt URIで、デプロイ先URLは描画時にだけ前置される
#EX-02
livt URIからページ内アンカーへの導出規則は文書化され、SSGとCLIで同一
#EX-03
人が共有するURLはボードから、成果物に残すlivt URIはCLIから取る
#R-03
どの付箋も自分のIDを示し、そのリンクをコピーできる
具体例3
#EX-01
ルール・具体例・疑問点の各カード右下にIDが薄字で出る
#EX-02
クリックでコピーされるのはデプロイ済みURL
#EX-03
表示はカード色に追従するモノクロで、絵文字は使わない
#R-04 具体例3
#EX-01
ルール・具体例・疑問点・ストーリー・ユーザーストーリーマップ・用語のいずれも解決できる
#EX-02
出力はMCPのリソース読み出しと同じJSON形状
#EX-03
デプロイ済みURLの形でも出せる
#R-05
退役した項目は削除せずretiredとして残り、livt URIは「退役」として解決する
具体例4
#EX-01
退役したルールのlivt URIは404ではなくretiredとして解決する
#EX-03
本文を残すので、退役した内容が後から読める
#EX-04
YAMLのコメントアウトでは代用しない(構造的な編集でコメントは消えるため)
#R-06
新しいIDはretiredを含めたmax + 1で採番する
具体例2
#EX-01
R-01/R-02/R-03からR-03を退役させても、次のルールはR-04
#EX-02
ルール・具体例・疑問点のいずれも同じ規則
#R-07
一度使われたIDは、指す対象を変えない
具体例3
#EX-01
具体例を別のルールへ付け替えるとIDが変わるので、外部参照済みの具体例は付け替えない
#EX-02
再記録でも既存のIDを維持する
#EX-03
Issue起票の有無は関係ない(MCPのURI・ボードのリンク・テストのコメントも参照元)
#R-08
livt URIはlivtリポジトリ相対の名前で、どのリポジトリかは運ばない
具体例3
#EX-01
同じURIはどこでも「手元のlivtリポジトリの一点」と一様に解釈され、指す実体は手元のリポジトリに依る
#EX-02
どのlivtリポジトリへ解決するかは消費側workspaceの宣言が供給する(automate-from-master-in-impl-repos側のルール)
#EX-03
第1セグメントは予約語(mapping・story・story-map・ubiquitous)で、将来エイリアスを第1セグメントに置く拡張の席を空けてある
#R-09
退役した項目は代替先をlivt URIで示し、そこから現行の決定へ辿り直せる
具体例6
#EX-01
ルール・具体例・疑問点のいずれもsuperseded_byで代替先を示せる
#EX-02
ルール化されて閉じた疑問点は、そのルールを代替先に指す(別の実例マッピングのルールでもよい)
#EX-03
1つの項目が複数に分かれたときは、代替先を並べて示す
#EX-04
代替先のない退役(単に不要になった)はsuperseded_byを持たない
#EX-05
退役の経緯はYAMLに書かず、コミット・PR本文に残す(構造にするのは代替先だけ)
#EX-06
MCPは代替先をURIのまま返し、その本文までは展開しない(辿るかどうかは消費側が決める)
#R-10
デフォルトブランチにマージされる前の項目は退役させず、書き換えるか削除する
具体例5
#EX-01
PRで足したルールの意味がレビューで変わっても、同じIDのまま書き換える(退役と後継のルールには分けない)
#EX-02
PRで足したルール・具体例・疑問点がマージ前に要らなくなったら、retiredにせず削除する
#EX-03
デフォルトブランチに載っている項目は、PRの中で要らなくなったときもこれまでどおり退役させる(境目は変更の時期ではなく、その項目が載っているか)
#EX-04
マージ前に削除した項目のIDは使われなかったものとして、次に足す項目が取れる
#EX-05
マージ前の具体例は、別のルールへ付け替えてIDが変わってもよい(外から参照されうるのはデフォルトブランチに載ってから)

疑問点

3
疑問点
#Q-02 1つのworkspaceが複数のlivtリポジトリを消費するとき、裸のlivt URIのスコープを何が復元するか(default宣言+エイリアス修飾のxmlns型が候補。現時点では考慮外とし、R-08 EX-03で拡張の席だけ確保している)
#Q-03 代替先URIの妥当性を検証するか(現状は解決しないURIも素通しする。未コミットのubiquitous参照を素通しで見せるのと揃えてはいるが、退役の代替先は誰の目にも触れないまま壊れうる)
#Q-04 マージ前に却下された提案を、rejectedとして残すか削除するか(livt://mapping/propose-rule-before-agreement/rule/R-05/example/EX-02 は却下された提案を削除せずrejectedにすると言うが、デフォルトブランチに載らなかった提案まで含むかは決めていない。現状はrejectedとして残す)
ユビキタス言語