markharness

0043: traceabilityを作業ツリー専用にし、出力形式を選ぶ--formatを廃止する

ステータス

Accepted(2026-10-06決定)。0033の「--atを省略可とし、省略時に作業ツリーを読む」を置き換える(作業ツリーを読むという決定そのものは有効である)。

背景

0033は、traceabilityに--at <ref>を残したまま、省略時に作業ツリーを読むようにした。その後、--at <ref>を使う利用者は現れなかった。GUIは作業ツリーだけを読み、コミット済みの特定時点はcoverage --atで読む。設計書に残る--atの使い道は「コミット済み状態を確認したい場合」の1行だけだった。

--atを残すと、次のコストが続く。

また、coverage・impact・traceability・import・release scope showには--formatがあるが、値はjsonの1つだけで、選ぶ意味がない。出力が常にJSONであることを示すだけで、人間可読出力の予定もない(generate・verifyの--jsonは、人間向けテキストとの切り替えで、意味が違う)。

決定

1. traceabilityとtraceability showから--atを削除する

両コマンドは、作業ツリーだけを読む。コミット済みの特定時点を読みたい場合は、coverage --atを使う。

出力のatも削除する。読み取り元が作業ツリーの1つだけになり、値が常に"working-tree"で、情報を持たないためである(0033決定2の、読み取り元を区別する目的は不要になる)。traceability show --uidが見つからない場合のエラー文も、uidだけを示す。

impact・coverageは、2点比較・リリース監査という目的のため、--base/--head・--atを持つ(0033決定4のとおり)。

2. --formatを、coverage・impact・traceability・import・release scope showから削除する

出力は常にJSONである。人間可読出力が必要になった時点で、必要な形のオプションを足す。

影響

検討したが採用しない選択肢