Skip to content

Comments

feat: リリースタグ命名戦略の設計整理#122

Merged
LevelCapTech merged 9 commits intomainfrom
copilot/update-release-tag-naming
Feb 20, 2026
Merged

feat: リリースタグ命名戦略の設計整理#122
LevelCapTech merged 9 commits intomainfrom
copilot/update-release-tag-naming

Conversation

Copy link
Contributor

Copilot AI commented Feb 20, 2026


name: DESIGN PR
about: 設計フェーズの設計差分を共有するためのテンプレートです(実装なし)。編集対象ファイルはIssue指示を参照。

概要(Summary)

このプルリクエストは リリースタグ命名戦略を release_levelcaptech/vX.Y.Z から vX.Y.Z へ移行する設計 を行います。フォーク解除により命名制約が解消されたため、SemVer と npm version の整合に合わせた運用へ統一します。

項目
実装差分(ソースコード変更) なし
編集対象ファイル Issueの指示を参照
  • 変更内容(設計)
    • タグ命名規則: vMAJOR.MINOR.PATCH に統一し、旧タグは保持する方針を明文化。
    • 運用/CI影響: GitHub Actions の tag トリガ条件と GitHub Releases の参照方針を整理。
    • npm version 整合: npm version のタグ生成有無に応じた運用分岐を明確化。

例(新運用のイメージ):

npm version 1.2.3
git push
git tag v1.2.3
git push origin v1.2.3

背景・経緯(Context / Facts)

  • トリガーとなった事象(Issue / PR / 指摘 / 要望 / 差分 等):[DESIGN] リリースタグ戦略を release_levelcaptech/vX.Y.Z から vX.Y.Z へ変更する
  • 参照した情報・資料(URL/Doc/チケット/議事メモ等):.github/copilot/00-index.md.github/copilot/80-templates/implementation-plan.md
  • 作業開始時点で確認できていた事実(観測/制約/前提):既存タグは release_levelcaptech/vX.Y.Z、CI はタグトリガ前提、ドキュメント/コード変更は禁止

実行区分(AIが実行したこと/人間が追加で行うこと)

同一フォーマットで、必要なだけ行を追加します。

区分 タスク(何をする) 対象(どのサイト/システム) 実行場所(URL/画面/コマンド) 実行方法(どうやって) 入力(必要な情報) 出力(得られるもの/保存先) 証跡(ログ/URL/スクショ等)
AI SSOT/テンプレート確認 リポジトリ .github/copilot/00-index.md ファイル参照 Issue要件 設計方針の整理 参照記録
AI 設計 plan 作成 リポジトリ .github/copilot/plans/tag-strategy-implementation-plan.md 追加・記述 Issue要件 設計plan 該当ファイル
AI npm version/タグ手順の前提整理 設計plan 同上 追記 Issue要件 運用分岐の明文化 該当見出し
人間 現行 npm version 運用確認 リリース運用 運用手順/履歴 目視確認 既存手順 確定手順 既存手順
人間 tag トリガの全体確認 CI運用 .github/workflows 目視確認 既存設定 影響範囲 ワークフロー
人間 設計レビュー/合意 PR GitHub PR レビュー 設計plan 合意コメント PRレビュー

ADR(Architectural Decision Records)

ADR変更サマリ(インデックス)

ADR 状態(proposed/accepted/superseded) 何を決めたか(要約) 変更理由(事実/制約) 影響(設計としての結論) 根拠(Issue/議論/観測)
なし - - - - Issue要件

設計の要点(Decision Summary)

レビューで最初に押さえるべき「結論」を短く記載します(決定/合意した事実のみ)。

  • 結論1:タグ命名は vMAJOR.MINOR.PATCH に統一する。
  • 結論2:release_levelcaptech/vX.Y.Z 既存タグは削除せず保持する。
  • 結論3:CI/GitHub Releases は vX.Y.Z を基準に運用する。

レビュー議題(Review Agenda)

codingAgent / codingReviewAgent が同じPR本文だけで抜け漏れなく往復できるように、レビューしてほしい観点を先に固定します。

議題(レビューしてほしい観点) 期待する結論(OK/要修正/要議論) 参照(章/ADR/見出し) ステータス(未/OK/要対応) 根拠(Issue/ADR/観測)
新タグ命名規則の妥当性 OK 設計の要点 / 設計方針 Issue要件
既存タグの後方互換方針 OK 設計方針 / 互換性・移行 Issue要件

仮定・不変条件(Assumptions / Invariants)

暗黙の前提ズレを潰します(「推測で埋めない」。不明は未確定へ)。

種別 前提/不変条件 変更可能性(固定/変動/未確定) 破ると何が壊れるか(影響) 根拠(Issue/ADR/観測)
assumption 現行で npm version --no-git-tag-version を使っているか 未確定 タグ重複/手順の混乱 Issue要件
invariant v プレフィックス必須 + SemVer 固定 CI/リリース基準の崩壊 Issue要件

合意境界(Decided vs Not Decided)

「確定」と「未確定」を分離して、往復コミュニケーションの事故を防ぎます。

確定(Decided)

項目 決定内容(要約) 根拠(ADR#/該当見出し)
タグ命名 vMAJOR.MINOR.PATCH に統一 設計方針
既存タグ 削除せず保持 設計方針

未確定(Not Decided)

項目 未確定の理由(事実/制約) 決め方(誰が/いつ/条件) 根拠
npm version のタグ生成有無 現行手順が未確認 リリース運用確認後に確定 設計方針
tag トリガの全体把握 ワークフロー全件確認が必要 CIオーナー確認 テスト戦略

要件・成功条件(Requirements / Success Criteria)

設計として満たすべき条件を「判定可能」な形で列挙します。

種別 項目 成功条件(どうなればOKか) 根拠(Issue/ADR/議論/観測)
機能 新タグ命名規則 vX.Y.Z で統一定義されている Issue要件
非機能 既存タグ保持 release_levelcaptech/vX.Y.Z を削除しない Issue要件
運用 CIトリガ条件 新タグで発火・旧タグで発火しない設計 Issue要件

製造スコープ(実装時に影響する機能・契約・運用)

ここは「成果物(設計書/ADR)を書くこと」ではなく、製造した場合に“何が変わるか”を記録する欄です。

影響するもの(In-Scope)

ユーザー影響/機能名 入口(画面/操作/API/Job) 変更タイプ(追加/変更/削除) 影響レベル(S/M/L) 互換性(破壊/非破壊/未確定) 具体的に変わること(1〜2行) 根拠(ADR#/該当見出し)
リリースタグ命名 Git tag 変更 M 非破壊 release_levelcaptech/ を廃止し v へ統一 設計方針
CIトリガ GitHub Actions 変更 M 非破壊 tag パターンを v*.*.* に統一 設計方針

影響しないもの(Out-of-Scope)

対象(機能/契約/運用) 影響しない理由(事実/制約) 根拠(ADR#/該当見出し)
既存タグ削除 禁止事項 スコープ/制約
GitHub Releases UI作業 Out of Scope スコープ

未確定(TBD)

論点(何が決まっていないか) 影響しそうな範囲 いつ/誰が決めるか(予定) 根拠
既存の tag トリガ一覧 CI全体 CIオーナー確認 テスト戦略

互換性・移行(Compatibility / Migration)

製造時の互換性と移行の要否を固定します(未確定は未確定のまま)。

対象(API/DB/設定/イベント/Job 等) 互換性(破壊/非破壊/未確定) 移行要否(Yes/No/TBD) 移行の要点(短く) ロールバック方針(短く) 根拠(ADR#/該当見出し)
リリースタグ命名 非破壊 Yes 新タグで運用開始 旧運用へ revert 設計方針
既存タグ 非破壊 No 保持のみ 不要 設計方針

代替案とトレードオフ(Trade-offs)

差分から読み取れない「なぜAでなくBか」を記録します。必要なだけ行を追加します。

判断テーマ プランA プランB 採用プラン 採用理由(事実/制約/評価軸) 不採用理由(トレードオフ) 根拠(Issue/ADR/測定/議論ログ)
タグ命名 vX.Y.Z release_levelcaptech/vX.Y.Z 継続 A フォーク解除で制約消滅、npm version と一致 冗長・運用負荷 Issue要件

影響範囲(設計が示す影響と根拠)

「影響する/しない」を根拠付きで記録します。

影響対象 結論(影響あり/なし/未確定) 影響内容(何が変わる) 根拠(ADR/議論/観測)
アプリケーション挙動 なし 実行時挙動は不変 スコープ
DB/データ互換性 なし 対象外 スコープ
API/外部連携 なし 公開APIは不変 スコープ
環境設定・デプロイ手順 影響あり タグ運用とCIトリガが更新 設計方針
監視/アラート/運用 影響あり リリース運用の基準変更 設計方針
セキュリティ/権限/監査 なし 権限変更なし スコープ
コスト(課金/性能/リソース) なし 変更なし スコープ

リスクと対策(Risk / Mitigation)

設計上の弱点・事故ポイントを先に構造化します(レビューが感想戦にならないように)。

リスク 発生条件(いつ起きるか) 影響(S/M/L) 予防/緩和策(設計上の手当) 検知(ログ/監視/アラート) 残課題(Open Questionsへのリンク) 根拠
CIが新タグで発火しない tag パターン更新漏れ M 全 workflow の tag トリガ確認 CI実行有無 未確定: tag トリガ一覧 テスト戦略
タグ重複 npm versiongit tag の併用 M --no-git-tag-version 前提を明記 失敗ログ 未確定: npm version 運用 設計方針

実装ガイド(実装担当へ渡す情報)

設計成果物から「実装できる状態」を作るための要点を記録します(未確定は未確定のまま)。

観点 記載内容(要点) 根拠(ADR/該当見出し等)
変更対象(モジュール/境界) .github/workflows/npm-publish.ymldocs/npm-publish.md スコープ
I/F(入力/出力/契約) tag 名は vX.Y.Z 設計方針
データモデル/永続化 なし スコープ
エラーハンドリング方針 不正タグはCIで拒否 設計方針
互換性/移行方針 旧タグ保持、移行は新運用へ 互換性・移行
テスト戦略(何をどう保証) 新タグで発火/旧タグ不発火 テスト戦略
ロールアウト/切替 新タグで運用開始 ロールアウト

サンプル実装(PR本文専用)

codingAgentが「手を動かしたい」欲をここに寄せます。サンプルコードはPR本文にのみ記載し、リポジトリにファイル追加しません。

サンプル実装の扱い(Sample Code Contract)

サンプル種別 目的(何のための例か) 実装PRへの取り込み方針(そのまま/要調整/参考のみ) 参照(ADR#/該当見出し)
設定例 新旧運用の比較 参考のみ 設計方針

インターフェース / 型 / DTO(例)

該当なし

疑似コード(例)

該当なし

SQL / DDL(例)

該当なし

設定例(例)

# 新運用(例)
npm version 1.2.3
git push
git tag v1.2.3
git push origin v1.2.3

失敗パターン / 境界値(例)

分類 ケース 期待動作(設計上) 備考
error release_levelcaptech/v1.2.3 新ワークフローは発火しない 旧タグ保持
boundary v1.2 CIで拒否 SemVer違反

“推論せず質問に落とす”ための質問票(ADR / Open Questions)

判断が必要な箇所を「質問」として残します。

論点 / 質問 回答(事実のみ) 根拠(Issue/ADR/該当箇所)
このPRで「決定」扱いにしたいことは何か?(なければ空欄) タグ命名を vX.Y.Z に統一 設計方針
未確定点(質問として列挙) npm version のタグ生成有無 設計方針
追加で合意が必要な関係者/レビュー観点 CIオーナー テスト戦略
実装前に必要な調査/PoCはあるか? tag トリガ一覧の確認 テスト戦略
境界条件(曖昧さ)が残る箇所はどこか? 旧タグ混在時の運用 設計方針

実装TODO(次PRのタスク分割)

設計PRの次に来る「実装PR」を迷わず作れるように、タスクを分割して固定します。

タスク(実装PRでやること) オーナー(AI/人間/共同) ブロッカー(未確定ならOpen Questionsへ) 受け入れ条件(Doneの定義) 参照(ADR/該当見出し)
npm-publish の tag トリガ更新 AI/人間 tag トリガ一覧の確認 vX.Y.Z で発火 設計方針
リリース手順ドキュメント更新 AI/人間 npm version 運用確定 手順が vX.Y.Z に一致 設計方針

レビューの観測ログ(何を見てレビューできるか)

対象 参照先(URL/パス/見出し) 目的(何を確認する)
ADR .github/copilot/plans/tag-strategy-implementation-plan.md 設計内容の妥当性

補足(Notes)

  • 設計 plan: .github/copilot/plans/tag-strategy-implementation-plan.md

コードレビューフィードバック対応(Review Feedback Response)

このセクションは「追記」で管理します。

追記(今回分)

  • フィードバック(要約):なし 対応(何を変えた):なし 対象(見出し/ADR/Commit):なし 状態(対応済/保留/却下):対応済
  • フィードバック(要約):実装イメージ説明の整理と成果物名不一致の未確定事項追記 対応(何を変えた):Issue手順転記の注記整理、オープン課題へ成果物名確認を追加 対象(見出し/ADR/Commit):3.設計方針・7.オープンな課題/45f5bda 状態(対応済)

既存ログ(前回まで)

<<keep_existing_lines>>
Original prompt

This section details on the original issue you should resolve

<issue_title>[DESIGN] リリースタグ戦略をrelease_levelcaptech/vX.Y.ZからvX.Y.Zへ変更する</issue_title>
<issue_description>## 🎯 要件

フォーク解除により、アップストリームのタグ命名制約から独立した。

これまで使用していた:

  • release_levelcaptech/vX.Y.Z

形式を廃止し、

  • vX.Y.Z

へ統一する。


成果物

  • .github/copilot/80-templates/implementation-plan.md に準拠した plan ドキュメントを121-semver-tagging-implementation-plan.mdを修正する。
  • ファイル追加は、121-semver-tagging-implementation-plan.mdのみとする。
  • コード修正・他のファイルの追加・編集を禁止する!

設計書への反映内容

以下の情報をplanドキュメントに盛り込むこと

  • 旧タグ運用の背景
  • フォーク解除による制約解消
  • 新タグ命名規則の正式定義
  • npm version コマンドとの整合性
  • CI / GitHub Releases への影響
  • 後方互換の扱い(既存タグは残す)

制約

以下の情報をplanドキュメントに盛り込むこと

  • 既存タグは削除しない
  • SemVer準拠(MAJOR.MINOR.PATCH)
  • v プレフィックス必須
  • CIのtagトリガ条件を確認すること

実装イメージ

以下の情報をplanドキュメントに転記すること

旧運用

npm version 1.2.3
git push
git tag release_levelcaptech/v1.2.3
git push origin release_levelcaptech/v1.2.3

新運用

npm version 1.2.3
git push
git tag v1.2.3
git push origin v1.2.3

成果物(必須)

.github/copilot/80-templates/implementation-plan.md に準拠した plan ドキュメントを
.github/copilot/plans/tag-strategy-implementation-plan.md に作成する(この1行は変更せずにそのまま出力する)


スコープ

In

  • タグ命名規則
  • リリースフロー定義
  • CIトリガ条件
  • ドキュメント修正対象範囲

Out

  • 実際のドキュメント修正
  • 実タグ削除作業
  • GitHub Release UI作業

テスト観点 / 受入条件(確認可能)

この章では、将来の IMPLEMENT/テスト工程で“何をもって完了とするか”を設計として明示する。
DESIGN フェーズではテストを実施しない。

  • Given: 新タグ v1.2.3 を push する
    When: CIが実行される
    Then: 期待するワークフローが発火する

  • Given: release_levelcaptech/v1.2.3 を push する
    When: CIが評価される
    Then: 新規ワークフローは発火しない

  • Given: npm version を実行する
    When: バージョンが更新される
    Then: tag命名規則と矛盾しない


参照(必読)

  • .github/copilot/00-index.md
  • .github/copilot-instructions.md
  • .github/instructions/**/*.instructions.md
  • .github/copilot/10-requirements.md
  • .github/copilot/20-architecture.md
  • .github/copilot/30-coding-standards.md
  • .github/copilot/40-testing-strategy.md
  • .github/copilot/50-security.md
  • .github/copilot/60-ci-quality-gates.md
  • .github/copilot/80-templates/*

Done

  • タグ命名規則が正式定義されている
  • CI影響範囲が明文化されている
  • 実装Issueを起票できる状態になっている
  • planがテンプレ必須項目を満たしている

完了後の次アクション

planを確定したら [IMPLEMENT] Issue を起票する
</issue_description>

<agent_instructions>This is a design-only issue.
Provide a design that is detailed and concrete enough for an implementation engineer to start coding without further clarification.
Focus on architectural decisions, responsibilities, interfaces, and implementation guidance only.Do NOT modify source code or add/update unit tests.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Copilot AI and others added 6 commits February 20, 2026 03:28
作業計画の共有と事前確認を行う
設計ドキュメントのみを対象とする

Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
npm install により更新された差分を取り消す
設計ドキュメント以外は変更しない

Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
リリースタグ命名変更の設計内容を整理する
実装前の合意形成に使う

Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
npm version のタグ生成有無を条件として整理する
実装イメージを補足して誤解を防ぐ

Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
npm version のタグ生成有無による差異を明示する
実装イメージの誤解を防ぐ

Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
タグ生成と引数表記の前提を実装例に追記する
重複タグの誤解を防ぐ

Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
Copilot AI changed the title [WIP] Update release tag strategy from levelcaptech format to vX.Y.Z feat: リリースタグ命名戦略の設計整理 Feb 20, 2026
Copilot AI requested a review from LevelCapTech February 20, 2026 03:36
@LevelCapTech LevelCapTech marked this pull request as ready for review February 20, 2026 03:41
@LevelCapTech LevelCapTech added the 💡 改善or提案 プロジェクトの改善点や提案、一般的なフィードバックに使用します。 label Feb 20, 2026
@LevelCapTech LevelCapTech requested a review from Copilot February 20, 2026 03:43
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

このPRは、リリースタグの命名規則を release_levelcaptech/vX.Y.Z から標準的な vX.Y.Z へ移行するための設計ドキュメントを追加するものです。フォーク解除により upstream の命名制約が解消されたことを背景に、SemVer と npm version コマンドの既定動作に整合した運用へ統一する方針を明文化しています。

Changes:

  • リリースタグ命名規則を vMAJOR.MINOR.PATCH 形式へ統一し、旧タグは保持する設計方針を策定
  • CI トリガ条件と npm version コマンドとの整合性を考慮した運用手順を整理
  • 実装時の変更対象ファイル、テスト戦略、ロールアウト方針を定義

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@LevelCapTech
Copy link
Owner

@copilot apply changes based on the comments in this thread

PR本文は維持。既存本文の削除/置換は禁止。必要情報は末尾の ‘コードレビューフィードバック対応`の追記セクション’ に追記して。

Issue手順の転記に合わせて前提整理を明記する
成果物名の不一致をオープン課題に追加する

Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 20, 2026

@copilot apply changes based on the comments in this thread

PR本文は維持。既存本文の削��...

レビュー指摘を反映し、実装イメージの説明整理と成果物名の未確定事項を追記しました。commit: 45f5bda

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@LevelCapTech LevelCapTech merged commit aac8a13 into main Feb 20, 2026
5 checks passed
@LevelCapTech LevelCapTech deleted the copilot/update-release-tag-naming branch February 20, 2026 04:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💡 改善or提案 プロジェクトの改善点や提案、一般的なフィードバックに使用します。

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DESIGN] リリースタグ戦略をrelease_levelcaptech/vX.Y.ZからvX.Y.Zへ変更する

2 participants