@shinaps/skills 0.29.1 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +143 -30
- package/package.json +3 -1
- package/plugins/shinaps-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/shinaps-claude/agents/shinaps-architect.md +10 -10
- package/plugins/shinaps-claude/agents/shinaps-debug-validator.md +3 -3
- package/plugins/shinaps-claude/agents/shinaps-debugger.md +4 -4
- package/plugins/shinaps-claude/agents/shinaps-explorer.md +3 -3
- package/plugins/shinaps-claude/agents/shinaps-investigator.md +1 -1
- package/plugins/shinaps-claude/agents/shinaps-plan-reviewer.md +4 -4
- package/plugins/shinaps-claude/agents/shinaps-refine-agent.md +4 -4
- package/plugins/shinaps-claude/agents/shinaps-review-validator.md +5 -5
- package/plugins/shinaps-claude/agents/shinaps-review-verifier.md +5 -5
- package/plugins/shinaps-claude/agents/shinaps-reviewer.md +5 -1
- package/plugins/shinaps-claude/agents/shinaps-spec-writer.md +2 -2
- package/plugins/shinaps-claude/agents/shinaps-split-reviewer.md +6 -6
- package/plugins/shinaps-claude/agents/shinaps-survey-validator.md +2 -2
- package/plugins/shinaps-claude/agents/shinaps-tech-surveyor.md +3 -3
- package/plugins/shinaps-claude/references/dev/launch.md +3 -3
- package/plugins/shinaps-claude/references/dev/staffing.md +43 -0
- package/plugins/shinaps-claude/references/dev/workflow.md +65 -187
- package/plugins/shinaps-claude/references/human-review.md +28 -0
- package/plugins/shinaps-claude/references/linear/claude-cli.md +37 -0
- package/plugins/shinaps-claude/references/linear/codex-task.md +4 -4
- package/plugins/shinaps-claude/references/linear/configuration.md +27 -26
- package/plugins/shinaps-claude/references/linear/execution.md +8 -2
- package/plugins/shinaps-claude/references/linear/managed-session.md +144 -0
- package/plugins/shinaps-claude/references/linear/workflow.md +25 -20
- package/plugins/shinaps-claude/skills/commit/SKILL.md +18 -18
- package/plugins/shinaps-claude/skills/debug/SKILL.md +17 -10
- package/plugins/shinaps-claude/skills/dev-claude/SKILL.md +5 -5
- package/plugins/shinaps-claude/skills/explore/SKILL.md +15 -8
- package/plugins/shinaps-claude/skills/extract-rules/SKILL.md +4 -4
- package/plugins/shinaps-claude/skills/linear-execute/SKILL.md +38 -7
- package/plugins/shinaps-claude/skills/refine/SKILL.md +16 -16
- package/plugins/shinaps-claude/skills/review/SKILL.md +13 -6
- package/plugins/shinaps-claude/skills/spec/SKILL.md +24 -17
- package/plugins/shinaps-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/shinaps-codex/agents/shinaps-architect.toml +2 -2
- package/plugins/shinaps-codex/agents/shinaps-debug-validator.toml +1 -1
- package/plugins/shinaps-codex/agents/shinaps-debugger.toml +2 -2
- package/plugins/shinaps-codex/agents/shinaps-explorer.toml +1 -1
- package/plugins/shinaps-codex/agents/shinaps-investigator.toml +1 -1
- package/plugins/shinaps-codex/agents/shinaps-plan-reviewer.toml +2 -2
- package/plugins/shinaps-codex/agents/shinaps-refine-agent.toml +2 -2
- package/plugins/shinaps-codex/agents/shinaps-review-validator.toml +1 -1
- package/plugins/shinaps-codex/agents/shinaps-review-verifier.toml +2 -2
- package/plugins/shinaps-codex/agents/shinaps-reviewer.toml +2 -2
- package/plugins/shinaps-codex/agents/shinaps-spec-writer.toml +1 -1
- package/plugins/shinaps-codex/agents/shinaps-split-reviewer.toml +2 -2
- package/plugins/shinaps-codex/agents/shinaps-survey-validator.toml +1 -1
- package/plugins/shinaps-codex/agents/shinaps-tech-surveyor.toml +1 -1
- package/plugins/shinaps-codex/references/dev/launch.md +3 -3
- package/plugins/shinaps-codex/references/dev/staffing.md +43 -0
- package/plugins/shinaps-codex/references/dev/workflow.md +65 -187
- package/plugins/shinaps-codex/references/human-review.md +28 -0
- package/plugins/shinaps-codex/references/linear/claude-cli.md +37 -0
- package/plugins/shinaps-codex/references/linear/codex-task.md +4 -4
- package/plugins/shinaps-codex/references/linear/configuration.md +27 -26
- package/plugins/shinaps-codex/references/linear/execution.md +8 -2
- package/plugins/shinaps-codex/references/linear/managed-session.md +144 -0
- package/plugins/shinaps-codex/references/linear/workflow.md +25 -20
- package/plugins/shinaps-codex/skills/commit/SKILL.md +18 -18
- package/plugins/shinaps-codex/skills/debug/SKILL.md +8 -1
- package/plugins/shinaps-codex/skills/dev-codex/SKILL.md +5 -4
- package/plugins/shinaps-codex/skills/explore/SKILL.md +8 -1
- package/plugins/shinaps-codex/skills/linear-execute/SKILL.md +15 -7
- package/plugins/shinaps-codex/skills/review/SKILL.md +7 -0
- package/plugins/shinaps-codex/skills/spec/SKILL.md +8 -1
- package/plugins/shinaps-claude/skills/dev-claude-ultra/SKILL.md +0 -10
- package/plugins/shinaps-codex/skills/dev-codex-ultra/SKILL.md +0 -9
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
- 終了地点は操作の許可を兼ねない。設定は、利用中のツールの権限や利用者の明示的な停止・撤回を上書きしない。
|
|
44
44
|
- 利用者と合意して保存した設定の許可は、その対象・操作・条件の範囲で、作業先リポジトリの規約がいう合意・許可に当たる。一般的な「明示依頼がある場合だけ」という条件も、この合意済みの範囲では満たすため、同じ操作の許可を改めて求めない。設定ファイルが存在することや、AIが合意なしに加えた許可は、その根拠にしない。利用者による今回の範囲限定・停止・撤回と、ツール固有の明示依頼条件は維持する。
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
次工程を判断するときは、`review_flow`・`permissions`・`stop_after` の条件を併せて読み、[担当と工程](workflow.md)で定めた担当と前工程の結果を確認する。一つの設定から他の許可や工程の完了を推測しない。終了・待機とゴール状態は [execution.md](execution.md) に従う。
|
|
47
47
|
|
|
48
48
|
## 項目
|
|
49
49
|
|
|
@@ -61,14 +61,13 @@
|
|
|
61
61
|
| `permissions` | 継続的に許可した操作の一覧(下の「許可」)。許可なしは `[]` |
|
|
62
62
|
| `references` | `specifications`・`validation`・`environments`・`deployment`・`publication` の5分類をすべて記載し、既存資料のパスまたはURLの一覧を指定する。該当資料なしは `[]` |
|
|
63
63
|
| `cycle_report` | Cycle報告の設定(下の「Cycle報告」)。報告を使わない場合は `null` |
|
|
64
|
-
| `implementation_skill` | Issueの実装・修正に使うdev
|
|
65
|
-
| `
|
|
66
|
-
| `
|
|
67
|
-
| `path_policy_overrides` | パス別に人レビュー・AIコミット許可・コミットの進め方を上書きするルールの一覧。例外なしは `[]`。既存設定で欠落していれば例外なし(下の「パス別の方針」) |
|
|
64
|
+
| `implementation_skill` | Issueの実装・修正に使うruntimeの入口。担当数は固定せずメインが作業ごとに決める。`dev-claude`(基本 `review_flow` がautoならCodexがローカルClaude CLI、manualならWebStormのClaudeへBridgeで依頼する)、`dev-codex`(Issueごとの別Codexタスクがその入口を実行し、会話側は進行・Agent QAを担当する)、または `dev-managed-cc`(linear-executeを実行する会話が進行役になり、IssueごとのClaude Managed Agentsセッションのleadがその入口で実装する) |
|
|
65
|
+
| `review_flow` | `auto`(AIが自然な単位を決め、独立レビュー・QA後にstage・commit)、`manual`(AIが単位を計画し、単位外を安全にstashしてstage・提示、人がレビュー・修正・commit) |
|
|
66
|
+
| `path_policy_overrides` | パス別に `review_flow` を上書きするルールの一覧。例外なしは `[]`。既存設定で欠落していれば例外なし(下の「パス別の方針」) |
|
|
68
67
|
|
|
69
|
-
- `
|
|
68
|
+
- 利用者と合意した `review_flow` は両方とも対象のstageを許可し、`auto` だけAIのcommitも許可する。`manual` のcommitは人が行う。未合意の設定ファイルから許可を得ない。その場の明示指示が優先し、push・公開・履歴変更は別の許可に従う。
|
|
70
69
|
- `implementation_skill` が決めるのは、実装・修正の担当と実行方式だけである。`permissions`・`stop_after`・人レビュー・コミットの方針と、`dev_delegation`・worktreeの作成・別セッションの作成の許可を変えない。その場の明示的な指定は設定に優先する。既存の設定にキーがなくても、自動で書き加えない。担当と工程の対応は [workflow.md](workflow.md) の「担当と窓口」にある。
|
|
71
|
-
-
|
|
70
|
+
- どちらのflowもdev内の確認、必須検証、Agent QA、必要なHuman QAを維持する。`auto` は独立レビューを必須とし、利用できなければ自己確認で代用せず止める。人レビュー省略を人のレビュー済みと記録しない。
|
|
72
71
|
- 工程キーは [workflow.md](workflow.md) の工程表と同じ。`statuses` の値はチームに実在する正確な名前にする。操作時はLinearから取得した状態のIDを使う。対応が曖昧・欠落・実物と不一致なら、その対応に依存する更新を止める。ステータスを自動で新設しない。
|
|
73
72
|
- `team_settings: manage_on_setup` の場合も、通常実行ではチーム設定を変更しない。
|
|
74
73
|
|
|
@@ -79,13 +78,11 @@
|
|
|
79
78
|
```yaml
|
|
80
79
|
path_policy_overrides:
|
|
81
80
|
- paths: ["docs/**", "README.md"]
|
|
82
|
-
|
|
83
|
-
ai_commit: allow
|
|
84
|
-
commit_mode: autonomous
|
|
81
|
+
review_flow: auto
|
|
85
82
|
```
|
|
86
83
|
|
|
87
|
-
- `paths`
|
|
88
|
-
-
|
|
84
|
+
- 各ルールは空でない `paths` と `review_flow: auto | manual` だけを必須とする。その他のキー、省略、不正値や構文は設定不備として依存工程を止める。
|
|
85
|
+
- パス別のflowもstageとcommit担当を上記のとおり決める。push・公開・終了地点・ツール権限・必要なQAは変更しない。実装開始時のClaude通信経路は基本flowで固定し、パス例外では切り替えない([Claude CLI](claude-cli.md))。
|
|
89
86
|
- パス設定への合意は対象と工程の許可であり、変更内容に含まれる未合意仕様や権限拡張への承認ではない。内容や拡張子から例外許可を推定しない。
|
|
90
87
|
|
|
91
88
|
### パターンとコミット全体の照合
|
|
@@ -95,17 +92,19 @@ path_policy_overrides:
|
|
|
95
92
|
各予定コミットの全変更に現れる旧・新パスが、一つのルールのパターン一覧で覆われる場合だけ、そのルールをそのコミット全体へ適用できる。追加は新パス、削除は旧パス、改名・移動は両方を含め、modeだけの変更も対象にする。新パスだけの一覧や現在残っているファイルだけでは判定しない。
|
|
96
93
|
|
|
97
94
|
- コミット全体に適用できるルールがなければ、そのコミット全体を通常方針とする。複数ルールをファイル別・項目別に合成しない。
|
|
98
|
-
-
|
|
95
|
+
- コミット全体に適用できるルールが複数ある場合、`review_flow` が同じならその方針を採用し、適用した全ルールを記録する。一つでも結果が異なれば依存工程を止めて競合の解消を求める。並び順やパターンの詳細度では優先しない。
|
|
99
96
|
- モードによらず自然な責務単位を先に決め、その予定コミットごとに判定する。同じ依頼に別の変更があっても、独立した範囲内コミットには例外を適用できる。例外取得だけを目的とした恣意的な分割はしない。依頼全体は網羅性と最終照合に使い、方針を固定する単位にはしない。
|
|
100
97
|
|
|
101
98
|
### 判定記録と変更時の扱い
|
|
102
99
|
|
|
103
|
-
|
|
100
|
+
各予定単位について、設定の正本と内容、適用した全ルール(または適用なしの理由)、単位の比較元と全差分、実効 `review_flow`、今回の明示指示とflowの合意根拠、検証・レビューの結果を記録する。差分の同一性はパスだけでなく内容・mode等も含めて確認する。Linear進行での担当間の引き渡しは [workflow.md](workflow.md)、コミット前後の単位照合と完了時の全体照合は `commit` に従う。
|
|
104
101
|
|
|
105
|
-
|
|
102
|
+
予定単位の内容・分割・統合を変更したら、変更した単位を再判定して必要なレビュー・許可確認・検証へ戻す。設定変更時も影響する未実行単位を再判定する。以前の判定や別単位の方針は流用しない。manualで人が修正・commitした場合は `commit` に従い、完了通知後に目的・範囲・実効flowと影響する挙動を確認する。正当な修正は元の予定との差と対応を残して確定単位へ反映する。不明・対象外の変更、確定単位との不一致は停止し、履歴を無断で書き換えない。
|
|
106
103
|
|
|
107
104
|
### 旧設定の移行
|
|
108
105
|
|
|
106
|
+
`human_code_review`・`commit_mode`・`permissions` の `stage` / `commit`・パス別 `ai_commit` は廃止。新キーと共存していても依存工程を止め、利用者と `review_flow` と必要な経路権限への移行を明示合意して旧キーを除く。旧値の組合せを暗黙にauto/manualへ変換しない。
|
|
107
|
+
|
|
109
108
|
`document_only_changes: none` は例外なしとして読めるため、自動変更や再合意は不要。旧 `document_only_changes: ai_commit` は廃止し、新設定と共存していても依存工程を止める。具体的なパスと上書き項目への移行、または例外廃止を利用者と合意してから旧キーを除く。説明だけの変更の許可とパスの許可は同値ではないため、自動変換・二重運用をしない。既存プロジェクトへ例外許可を自動追加しない。
|
|
110
109
|
|
|
111
110
|
## 終了地点
|
|
@@ -119,7 +118,7 @@ path_policy_overrides:
|
|
|
119
118
|
| `issue_done` | Issueの必須受入条件をすべて満たし、Doneにした時点 |
|
|
120
119
|
|
|
121
120
|
- 終了地点の工程がそのIssueにない場合(Git変更がない作業など)の扱いは、[workflow.md](workflow.md) の「工程とステータス」に従う。
|
|
122
|
-
-
|
|
121
|
+
- 終了地点は到達点だけを決める。stage・commitは合意済み `review_flow`、その他の操作は `permissions` が決める。許可のない操作(例 `merge`)がある場合は、その操作の前で許可を確認する。これは許可待ちであり、終了地点への到達ではない。Cycle全体を任された場合も、許可待ちのIssueは終了地点に達したものとして扱わない。
|
|
123
122
|
|
|
124
123
|
## 許可
|
|
125
124
|
|
|
@@ -128,9 +127,9 @@ path_policy_overrides:
|
|
|
128
127
|
| `issue_update` | 対象のteam・projectの中で、利用者が任せたIssue・Cycleの範囲に対する運用上の更新(本文・コメント・状態・依存・Linearへの添付、整理で必要になったIssueの作成・分割)と、利用者から任された目的の作業を着手前にIssueへ紐づけるための作成([issue.md](issue.md) の「着手前に作業をIssueへ紐づける」)。チーム設定の変更、未合意の範囲・期限の変更、Cycle外への進行、Issueの削除、外部への送信を含めない |
|
|
129
128
|
| `development_operations` | 任された対象の開発に必要な、既存アカウントへの通常のログイン、ローカル環境準備、プロジェクトの依存導入、開発サーバー・Simulatorの起動停止、ビルド・テスト・QA操作を継続的に許可する。下の範囲に従う |
|
|
130
129
|
| `codex_task` | 対象IssueごとのCodex実装タスクの新規作成・状態確認・実装や修正や許可済みコミットの依頼。アーカイブ、worktree作成、操作許可の追加、タスク側でのゴールや実装タスクの再作成は含めない。ツールの明示依頼要件も満たす。アーカイブの合意と手順は [完了後の整理](codex-task.md#完了後の整理) に従う |
|
|
130
|
+
| `claude_cli` | auto ClaudeのローカルCLI起動、同じsessionの状態・結果取得、質問への回答・修正・許可済みコミットのresume。既存CLI設定と個別の操作権限を維持する([手順](claude-cli.md)) |
|
|
131
131
|
| `bridge_request` | BridgeによるCodexからClaudeへの実装・修正の依頼と、ClaudeからCodexへの開発進行の引き渡し |
|
|
132
|
-
| `
|
|
133
|
-
| `commit` | 対象Issueの差分を、Local Agent QAの合格と `human_code_review` に従った工程の後に、`shinaps:commit` でローカルにコミットする。AIのコミットには `stage` の許可も併せて必要。push・PR・履歴の書き換え、人のレビューの省略を含めない。パス別の `ai_commit` を含む実効方針に従う(上の「パス別の方針」) |
|
|
132
|
+
| `managed_session:<USD>` | 対象IssueごとにClaude Managed Agentsのセッションを作り、同じIssueのコミット前のQA修正には続けて使う(コミット後の修正は新しいセッションで行う。扱いは[Managedセッション](managed-session.md)の「QAと修正」に従う)。`<USD>` は1セッションの予算の上限で、正の整数のUSD(作成時にセントへ換算する)。値がない、または正の整数でない場合は設定不備として止める。含める操作: 作業先のコミット済みの内容(git bundle)と、あれば `~/.claude/CLAUDE.md` のFiles APIへのアップロード、上限内での予算の設定、一覧から名前で一件に特定したvaultの受け渡し、状態・イベント・出力の取得、回答と修正依頼の送信、取得した差分の作業先への適用と作業記録の展開。含めない操作: 上限を超える予算の引き上げ(その場で確認する)、セッションとファイルのアーカイブ・削除、定義のapply、vaultの作成・変更 |
|
|
134
133
|
| `push` | 対象Issueの作業ブランチの通常のpush |
|
|
135
134
|
| `pr_create` | 対象IssueのPRの作成と更新 |
|
|
136
135
|
| `merge` | 必要なQA・承認が揃った対象PRのマージと、元のブランチへ戻る操作 |
|
|
@@ -139,9 +138,9 @@ path_policy_overrides:
|
|
|
139
138
|
| `dev_delegation` | `implementation_skill` で選んだdevの入口の中で、サブエージェントへ委託する。許可がない場合は、入口のメインが同じ観点を自分で確認し、独立確認とは報告しない。worktreeの作成は含まない |
|
|
140
139
|
| `evidence:<保存先>` | Linear以外の指定した保存先へQA素材を保存する(LinearのIssueへの添付は `issue_update` に含む) |
|
|
141
140
|
|
|
142
|
-
- 開発進行には `issue_update`
|
|
141
|
+
- 開発進行には `issue_update` が必要。Claudeの入口は基本 `review_flow: auto` なら `claude_cli` とローカルClaude CLI、`manual` なら `bridge_request` とWebStormのBridgeを使う。今回の明示依頼による同じ経路の許可も引き継ぐ。Codexの入口は `codex_task` とタスク操作ツール、Managedの入口は `managed_session:<USD>`・`dev_delegation` と認証済み `ant` CLIが必要。初期設定は `issue_update`・選んだ経路の許可・`dev_delegation` と `review_flow` を具体的に提案し、合意を得る。設定の存在だけでは許可を得ない。初回実装前に経路を確定し、manualのBridge不足をCLIへのfallbackで補わない。
|
|
143
142
|
- `development_operations` は、既存の認証手段と利用者が許可した既存アカウントを使い、対象の開発・検証環境と専用の検証データで行う操作に限る。本人の二要素認証・セキュリティキー・CAPTCHA等が必要なら具体的に依頼し、回避しない。ログイン成功を新しい権限への同意と扱わず、新規アカウント・OAuth権限の拡大・課金・新規クラウド資源・共有環境への破壊的変更・実利用者データの操作は含めない。秘密値をIssueや証拠へ記載しない。
|
|
144
|
-
- この包括許可は `stage`・`commit`・`push`・`pr_create`・`merge`・`deploy:*`・`publish
|
|
143
|
+
- この包括許可は `stage`・`commit`・`push`・`pr_create`・`merge`・`deploy:*`・`publish:*`・外部への送信・履歴やデータの破壊的操作を含まない。テストや環境準備がこれらを伴うときも、stage・commitは合意済みflow、その他はそれぞれの許可が必要。人レビュー・Human QA・ツール側の承認条件を省略しない。`permissions` に明示された場合だけ適用し、既存設定に自動で追加しない。
|
|
145
144
|
- 一つの操作が別の操作を伴う場合は、伴う操作の許可も必要とする(マージで本番へ自動配備される場合は `merge` と `deploy:production`)。
|
|
146
145
|
- 次の操作は一覧に含めず、常にその場で確認する: force-push、履歴の書き換え、ブランチの削除、チーム設定の変更。
|
|
147
146
|
- 設定の許可は、今回の依頼で任されたIssue・Cycleの範囲を広げない。
|
|
@@ -184,16 +183,14 @@ statuses:
|
|
|
184
183
|
human_input: In Progress
|
|
185
184
|
done: Done
|
|
186
185
|
stop_after: pre_push_qa
|
|
187
|
-
implementation_skill: dev-claude
|
|
188
|
-
|
|
189
|
-
commit_mode: autonomous
|
|
186
|
+
implementation_skill: dev-claude # manualはWebStorm Bridge、autoはローカルCLI
|
|
187
|
+
review_flow: manual
|
|
190
188
|
path_policy_overrides: []
|
|
191
189
|
cycle_report: null
|
|
192
190
|
permissions:
|
|
193
191
|
- development_operations # この範囲を利用者が合意した場合だけ記載
|
|
194
192
|
- issue_update
|
|
195
193
|
- bridge_request
|
|
196
|
-
- stage
|
|
197
194
|
- dev_delegation
|
|
198
195
|
references:
|
|
199
196
|
specifications:
|
|
@@ -219,7 +216,7 @@ Claudeもこの手順で初期設定を行える。合意した設定の保存
|
|
|
219
216
|
1. アカウント、workspace、team、projectと、チームのステータス一覧・既存の運用をLinearから読む。
|
|
220
217
|
2. 作業先リポジトリのAGENTS.md・CLAUDE.md・README・CI・検証や配備のスクリプトを読み、`references` の候補を決める。
|
|
221
218
|
3. 設定案を一つ作る。チーム設定を管理できる場合だけ、FamilyStayを基にした工程の分離([workflow.md](workflow.md) の工程表に対応するステータス)を変更案として示す。利用者のプロジェクトらしいという推測で `manage_on_setup` にしない。
|
|
222
|
-
4. 既存の情報で決まらない運用上の決定(`config_storage`、`stop_after`、`permissions
|
|
219
|
+
4. 既存の情報で決まらない運用上の決定(`config_storage`、`stop_after`、`permissions`、`review_flow`、`team_settings`、Cycle報告、`implementation_skill`)だけを一問ずつ確認する。終了地点は上の一覧から選んでもらう。パス別の例外が必要な場合は、具体的な対象パターンと上書き項目、通常設定からの変更を示して合意する。例外を使わない新規設定には `path_policy_overrides: []` を記載する。旧設定の移行は上の手順に従う。
|
|
223
220
|
5. 合意した方式の正本へ、下の保存手順に従って保存する。sharedでは採用する補足の `references` と共有対象を照合し、別checkoutでも同じ条件を読めるようにする。正本と補足を読み直して確認する。
|
|
224
221
|
6. Linearのチーム設定の変更は、設定の保存とは別に扱う。対象チームと変更差分(追加・改名するステータスと順序)を示し、合意を得てから反映して読み戻す。反映後に `statuses` を実物に合わせて確定する。
|
|
225
222
|
|
|
@@ -266,4 +263,8 @@ sharedでは `.shinaps/.gitignore` 自身、`linear.yaml`、採用した補足
|
|
|
266
263
|
|
|
267
264
|
`instructions.md` には、QA固有の注意(端末・ブラウザ・テストアカウントの取得方法への参照)、版の照合に使うコマンド、報告の文体・見せ方、関係者への依頼方法など、プロジェクト共通の条件・手順・相対パス・URLを書く。共通の手順は複製しない。端末固有の絶対パス、session/thread ID、一時的なログイン状態、進捗、QA結果は現在の `.shinaps/work/` へ記録する。秘密値はshared・localのどちらにも保存しない。
|
|
268
265
|
|
|
269
|
-
委託時は保存方式、正本の所在、必要な補足・参照資料、合意済みの操作許可を渡す。CodexからClaudeへの依頼にも同じ情報を添える。
|
|
266
|
+
委託時は保存方式、正本の所在、必要な補足・参照資料、合意済みの操作許可を渡す。CodexからClaudeへの依頼にも同じ情報を添える。Managedのセッションには[初回メッセージ](managed-session.md#初回メッセージと修正依頼)で渡す。
|
|
267
|
+
|
|
268
|
+
## 旧dev入口からの移行
|
|
269
|
+
|
|
270
|
+
通常/ultraの人数指定は廃止した。旧 `dev-claude-ultra`・`dev-codex-ultra`・`dev-managed-cc-ultra` は、それぞれ `dev-claude`・`dev-codex`・`dev-managed-cc` へ設定と呼び出しを移行する。旧名を受け付ける別名は残さない。移行が依頼・許可されている場合はruntime・操作許可・QA・終了地点を保って該当名だけを更新する。未許可の設定変更は依存する実行前に確認する。人数は恒久設定へ保存せず、各作業の体制記録に残す。
|
|
@@ -14,10 +14,16 @@
|
|
|
14
14
|
|
|
15
15
|
対象一覧は最後のページまで読み、作業先・依存・状態・優先順位を確認する。対象IDの一覧、依存順の実行順、開始時点、終了条件を既存の親Issue・依頼元Issueのコメントまたはローカル作業記録へ残す。記録のためだけに親Issueを新設しない。後から追加されたIssue、別Cycle、対象外の依存Issueを自動で取り込まない。順序を変える必要がある場合は理由を記録し、範囲の変更は利用者と合意する。
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
作業先リポジトリは、Issue本文の「対象・範囲外」で特定する。Issueがまだない作業では依頼の内容で特定する。ローカルの場所は、自分の作業ディレクトリ、利用できるセッションの一覧、利用者の指示から確認し、確定できなければ一問確認する。ローカルの絶対パスをIssueに書かない。各Issueの作業先の設定・補足を読み、担当と許可を引き継ぐ。操作の許可は作業先リポジトリの設定で決め、同じLinear projectに属するだけでは別のリポジトリの作業を含めない。設定がない・不足する対象は、他のリポジトリの設定で実行せず、開発進行を始めない。バックログで開始時から進められない場合も、その理由を報告し、独断で対象を除外して消化済みにしない。
|
|
18
18
|
|
|
19
19
|
「このIssueを進めて」などの一般的な進行依頼では、設定の `stop_after` を到達点として記録する。Doneより手前という理由だけで再確認しない。具体的に指定された到達点と設定が矛盾する場合だけ、開始前に相違を解消する。途中の終了地点への到達を、Issue全体の完了とは報告しない。Cycle完了報告を含む依頼で `cycle_report: null` の場合も、設定変更か報告なしの範囲を利用者と合意してから進む。操作許可を暗黙に増やさない。
|
|
20
20
|
|
|
21
|
+
## Issue開始時の実装体制
|
|
22
|
+
|
|
23
|
+
進行役のメインは各Issueの設定・受入条件・関連コード・既存検証を短く確認し、[実装体制の判断](../dev/staffing.md)に従って設計担当の起動前に役割・人数・専任なしの責任者・理由を決める。`implementation_skill` は実行環境の選択であり、担当数を固定しない。Issueごとに判断し、Cycleや前のIssueの体制を無条件に流用しない。
|
|
24
|
+
|
|
25
|
+
初期体制を人へ短く示し、根拠・必須検証・許可範囲とともに実装担当へ渡す。実装側のメインは初期確認と照合し、途中の新しい根拠で必要な担当を増やして進行役へ報告できる。追加担当の確認が必要な工程は結果が揃うまで完了にしない。通常の体制決定・増員は人の承認待ちにせず、仕様・範囲・許可・予算の変更だけ確認する。
|
|
26
|
+
|
|
21
27
|
## 継続と待機
|
|
22
28
|
|
|
23
29
|
原則、確定した順序で一つずつ実行する。Issue単体の依頼では完了後に別Issueへ進まない。複数対象では、現在のIssueのQA・必要な人の対応・コミットを残して次へ切り替えない。
|
|
@@ -33,7 +39,7 @@
|
|
|
33
39
|
|
|
34
40
|
## ゴール機能
|
|
35
41
|
|
|
36
|
-
実行開始の必須条件として、上の対象と終了条件を持つゴールが設定済みであることを確認する。ゴールの作成成功、または同じ対象の既存ゴールの状態をツールで確認してから実装・QA
|
|
42
|
+
実行開始の必須条件として、上の対象と終了条件を持つゴールが設定済みであることを確認する。ゴールの作成成功、または同じ対象の既存ゴールの状態をツールで確認してから実装・QA・公開の進行を始める。文章で目標を書くだけでは設定済みとしない。ツールが利用者の明示依頼を要求する場合、スキルの選択だけで迂回せず、既存の明示依頼を使い、なければ開始時に一度確認し、回答と設定成功を待つ。同じ対象のゴールは再利用し、別の未完了ゴールを上書きしない。予算は明示された場合だけ設定する。モデルのツールでゴールの設定を確認できないruntimeでは、そのruntimeのlinear-executeの手順が定める確認手段で確認する。確認できなければ下の段落に従って開始前で止まる。
|
|
37
43
|
|
|
38
44
|
ゴール機能が利用できない、作成に失敗した、または別の未完了ゴールと競合する場合は、理由と必要な準備を報告して実行開始前で止まる。ゴールなしで代替実行しない。
|
|
39
45
|
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Managedセッション
|
|
2
|
+
|
|
3
|
+
作業先の設定の `implementation_skill` が `dev-managed-cc` のときに、IssueごとのClaude Managed Agentsセッションへ実装・修正を依頼し、結果を受け取る手順。進行役は、linear-executeを実行している会話(ClaudeまたはCodex)である([担当と工程](workflow.md)の「担当と窓口」)。
|
|
4
|
+
|
|
5
|
+
## 適用と前提
|
|
6
|
+
|
|
7
|
+
- 必要な許可は [configuration.md](configuration.md) の「許可」に従う。
|
|
8
|
+
- `ant auth login` とvaultの登録は人が行う。AIは認証情報の値を扱わない。
|
|
9
|
+
- 人への確認と待ち方は、runtimeごとのlinear-executeの手順に従う。
|
|
10
|
+
- `beta:` で始まる `ant` のコマンドには `--beta managed-agents-2026-04-01` を付ける(以下の例では省く)。
|
|
11
|
+
|
|
12
|
+
## 未完了の扱い
|
|
13
|
+
|
|
14
|
+
IDの取得から適用・展開までのどこかで、完了の条件(最後のメッセージが `状態: 完了`、`出力:` のファイルが揃い、patchとtarが「確認・適用・展開」の確認を通って適用できる)を満たさなかった場合は、すべて同じ扱いにする(例: IDの取得・アップロード・作成・予算の引き上げなど `ant` の失敗、`budget_reached` などでの停止やセッションの終了、状態行がない・`状態: 未完了`、ファイルが揃わない、範囲外の変更、確認や適用の失敗)。`状態: 質問` は「質問への応答」で扱う。
|
|
15
|
+
|
|
16
|
+
原因、`stop_reason`(あれば)、累計の費用(セッションがあれば、最新の `session.usage` のlist_cost)、leadの報告(あれば)を作業記録に残す。そのうえで、状況に合う選択肢を示して次の対応を一問だけ利用者に確認する(例: 予算の引き上げ額を示して再開、修正依頼、準備を整えて再開、新しいセッションで再開、中止)。
|
|
17
|
+
|
|
18
|
+
予算の引き上げに合意を得たら、`ant beta:sessions update --session-id <session> --budget '{type: limit, max_list_cost: {amount: "<セント>", currency: USD}}'` を実行し、user.messageで再開を伝える。ブロッカーを報告しただけでは完了にしない([execution.md](execution.md) の「継続と待機」)。
|
|
19
|
+
|
|
20
|
+
## 作業ブランチと持ち込み
|
|
21
|
+
|
|
22
|
+
1. 進行役が、作業先の規約に従った名前で、合意した土台からブランチを切る。
|
|
23
|
+
2. 作業ツリーにHEADとの差(ignoreされていない未追跡ファイルを含む)があれば開始せず、利用者に一問で確認する。
|
|
24
|
+
3. `git bundle create <記録先>/<repo>.bundle <branch>` を作る。この時点の `git rev-parse HEAD` が比較元になる。記録先は進行役の作業記録のディレクトリとする。
|
|
25
|
+
4. 同じセッションを続けて使う間は、進行役による適用と展開を除き、ローカルのHEADと作業ツリーを変えない。変わった後の扱いは「QAと修正」に従う。
|
|
26
|
+
|
|
27
|
+
## IDの取得、アップロードと作成
|
|
28
|
+
|
|
29
|
+
一覧は `--max-items -1 --format jsonl` で全件を取り、jqで名前を照合する。
|
|
30
|
+
|
|
31
|
+
- lead: `ant beta:agents list` の `name` が `shinaps-<入口名>`(例 `shinaps-dev-managed-cc`)
|
|
32
|
+
- environment: `ant beta:environments list` の `name` が `shinaps-dev`
|
|
33
|
+
- vault: `ant beta:vaults list` の `display_name` が `shinaps-ai`
|
|
34
|
+
|
|
35
|
+
leadとenvironmentが一件に定まらなければ「未完了の扱い」に従う。vaultは一件に定まる場合だけ `--vault-id` で渡し、定まらなければ渡さずに「規約照合は未確認」と記録して進める。vaultはセッションの作成時にしか渡せない。
|
|
36
|
+
|
|
37
|
+
bundleと、`~/.claude/CLAUDE.md` があればそれも、`ant files upload --file <パス> --expires-in-seconds 604800 --transform id --raw-output` でアップロードし、返されたfile_idを記録する。
|
|
38
|
+
|
|
39
|
+
セッションは次のように作る。予算は許可の値(USD)の100倍を、セント単位の文字列で書く。CLAUDE.mdがなければ、resourcesはbundleの1つだけにする。
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
ant beta:sessions create --agent <lead> --environment-id <environment> [--vault-id <vault>] \
|
|
43
|
+
--title "<IssueのID> <題名>" --transform id --raw-output <<'YAML'
|
|
44
|
+
budget: {type: limit, max_list_cost: {amount: "<セント>", currency: USD}}
|
|
45
|
+
resources:
|
|
46
|
+
- {type: file, file_id: <bundleのfile_id>, mount_path: /<repo>.bundle}
|
|
47
|
+
- {type: file, file_id: <CLAUDE.mdのfile_id>, mount_path: /CLAUDE.md}
|
|
48
|
+
initial_events:
|
|
49
|
+
- type: user.message
|
|
50
|
+
content:
|
|
51
|
+
- type: text
|
|
52
|
+
text: |
|
|
53
|
+
<初回メッセージ>
|
|
54
|
+
YAML
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
作業記録には、Issue、session_id、入口、ブランチ、比較元、file_id、vaultの有無、予算を残す。
|
|
58
|
+
|
|
59
|
+
## 観測と判定
|
|
60
|
+
|
|
61
|
+
判定の境界の時刻tは、最後に送ったuser.messageの `processed_at` とする。
|
|
62
|
+
|
|
63
|
+
- 送信の結果に送ったeventのIDがあれば、`ant beta:sessions:events list --session-id <session> --type user.message --max-items -1 --format jsonl` からそのIDのeventを探し、`processed_at` が入った時点の値をtとする。
|
|
64
|
+
- IDがない場合(作成時を含む)は、送る前に `processed_at` の入ったuser.messageの件数Nを数えておき、送った後に `processed_at` の入ったuser.messageがN+1件になるまで待つ。そのうえで、それらの最新の `processed_at` をtとする(作成時はN=0)。
|
|
65
|
+
|
|
66
|
+
idle、`agent.message`、出力ファイルは、すべてtより後のものだけで判定する。
|
|
67
|
+
|
|
68
|
+
- 待ちを終える条件は、tより後の `session.status_idle` または `session.status_terminated` が現れること。`--type session.status_idle --type session.status_terminated --created-at-gt <t> --max-items 1` で取り、なければ待ち続ける。待つ時間の上限は設けない(費用の上限は予算が担う)。`session.status_terminated` なら「未完了の扱い」に従う。
|
|
69
|
+
- スレッド単位の `session.thread_status_idle` と、再試行中の `session.error` は判定に使わない。担当のスレッドはleadの作業中にも個別にidleになり、再試行中のerrorの後もセッションは続くため。
|
|
70
|
+
|
|
71
|
+
idleの `stop_reason.type` が `end_turn` なら、tより後の最新の `agent.message` の1行目で分ける。`end_turn` 以外なら「未完了の扱い」に従う。
|
|
72
|
+
|
|
73
|
+
- `状態: 完了` なら「取り出し」へ進む。
|
|
74
|
+
- `状態: 質問` なら「質問への応答」へ進む。
|
|
75
|
+
- それ以外は「未完了の扱い」に従う。
|
|
76
|
+
|
|
77
|
+
## 質問への応答
|
|
78
|
+
|
|
79
|
+
既存の合意で答えられる質問には、一問ずつ答えて「観測と判定」に戻る。仕様・権限を変える判断は人に確認してから答える。
|
|
80
|
+
|
|
81
|
+
```sh
|
|
82
|
+
ant beta:sessions:events send --session-id <session> --format json <<'YAML'
|
|
83
|
+
events:
|
|
84
|
+
- type: user.message
|
|
85
|
+
content:
|
|
86
|
+
- type: text
|
|
87
|
+
text: |
|
|
88
|
+
<回答>
|
|
89
|
+
YAML
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## 取り出し
|
|
93
|
+
|
|
94
|
+
1. `ant beta:files list --scope-id <session> --beta managed-agents-2026-04-01 --max-items -1 --format jsonl` から、`出力:` 行の各名前について、tより後に作られた最新の1件を選ぶ。`--beta` がないと `scope_id: unknown field` で拒否される。
|
|
95
|
+
2. 進行役の作業記録の、ラウンドごとのディレクトリへ `ant files download --file-id <file_id> -o <保存先>` で保存する。
|
|
96
|
+
|
|
97
|
+
一覧への表示が数秒遅れることがあるので、名前が揃わなければ最大30秒待って1回だけ読み直す。それでも揃わなければ「未完了の扱い」に従う。
|
|
98
|
+
|
|
99
|
+
## 確認・適用・展開
|
|
100
|
+
|
|
101
|
+
作業先のルートで、次の順に行う。
|
|
102
|
+
|
|
103
|
+
1. `tar -tvzf <作業記録のtar.gz>` の一覧で、全項目が作業記録の名前の形(`{YYYYMMDD-HHMMSS}-{slug}`)の一つのディレクトリの下にある普通のファイルかディレクトリで、`..` と絶対パスを含まないことを確かめる。そのディレクトリが `.shinaps/work/` に既にある場合は、同じセッションで前回展開したleadの記録のときだけ可とする。セッションから取得したtarを展開して、進行役や他の作業記録を上書きしないため。
|
|
104
|
+
2. `git apply --numstat <patch>` と `git apply --summary <patch>` で、変更されるパスとmodeをIssueの範囲と照合する。範囲の外があれば「未完了の扱い」に従う。
|
|
105
|
+
3. 今回のpatchが比較元に適用できることを、作業ツリーを変えずに確かめてから適用する。前回のpatchを外した後に今回が適用できないと、作業ツリーがどちらの状態でもなくなるため。
|
|
106
|
+
- 確認: `idx=$(mktemp)` を実行し、`GIT_INDEX_FILE="$idx" git read-tree <比較元> && GIT_INDEX_FILE="$idx" git apply --cached --check <今回のpatch>` で確かめ、終わったら `rm -f "$idx"` を実行する。
|
|
107
|
+
- 確認が通ったら、このセッションで前回適用したpatchがあれば `git apply -R <前回のpatch>` を実行し、続けて `git apply <今回のpatch>` を実行する。
|
|
108
|
+
- 確認や適用が失敗したら、作業先をそのままにして「未完了の扱い」に従う。
|
|
109
|
+
4. `tar -xzf <作業記録のtar.gz> -C .shinaps/work` で展開し、leadの記録のディレクトリ名を作業記録に残す。
|
|
110
|
+
5. 検証コマンドは、この後に実行する。
|
|
111
|
+
|
|
112
|
+
## QAと修正
|
|
113
|
+
|
|
114
|
+
適用した時点を「差分と対象版の固定」とし、[codex-task.md](codex-task.md) の「待機・QA・修正」と同じように扱う。不合格なら修正を依頼する。
|
|
115
|
+
|
|
116
|
+
- 前回の適用の後に、進行役による適用と展開のほかに作業ツリーが変わっておらず、比較元の後にコミットもしていない場合は、下の修正依頼を同じセッションへ送り、「観測と判定」に戻る。
|
|
117
|
+
- コミットの後で、作業ツリーにHEADとの差(進行役が展開した作業記録を除く)がない場合は、同じセッションへ送らない。leadの差分と今の作業ツリーが合わなくなるため。「作業ブランチと持ち込み」の手順2から(ブランチはそのまま使う)、現在のHEADでbundleと比較元を作り直し、新しいセッションを作る。予算は許可の上限まで改めて設定する。初回メッセージの「タスク」には、不具合と前回までの経緯を書く(前回のleadの作業記録はbundleに含まれない)。
|
|
118
|
+
- それ以外(コミットされていない人の修正がある)は、新しいセッションを作らず「未完了の扱い」に従う(選択肢の例: 人がコミットしてから新しいセッションで再開、中止)。
|
|
119
|
+
|
|
120
|
+
## Managed固有の読み替えと記録
|
|
121
|
+
|
|
122
|
+
- [単位案からコミット完了まで](workflow.md#単位案からコミット完了まで)の手順2は、依頼を送らず、進行役が許可と記録の一致を確かめる手順として読む。手順3は、進行役が `commit` に従い、autoなら独立レビュー・QA後にstage・commitし、manualなら安全なstash・stage・提示を行い、人のレビュー・修正・commitと復元確認を待つ。
|
|
123
|
+
- 各idleでの累計の費用と最終の費用を、作業記録とIssueの記録に残す。
|
|
124
|
+
|
|
125
|
+
## 初回メッセージと修正依頼
|
|
126
|
+
|
|
127
|
+
初回メッセージ:
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
初期体制: <役割別人数・根拠・専任なしの責任者・必須検証。leadは現物と照合し、必要な増員を予算と許可内で行い報告する>
|
|
131
|
+
Linear進行の実装依頼として、skill dev-managed-cc の工程と起動手順に従ってください。
|
|
132
|
+
作業先: /mnt/session/uploads/<repo>.bundle をブランチ <branch> で /workspace/<repo> に用意する。比較元 <SHA>。
|
|
133
|
+
タスク: <Issueの識別子とリンク>。<範囲・受入条件・範囲外・仕様や調査成果物の本文。leadはLinearを読めない>。必要な検証: <references.validation に従うコマンド>。
|
|
134
|
+
設定: 保存方式 <shared|local>。正本 <作業先の .shinaps/linear.yaml。bundleに含まれるか>。読む補足 <references のうち工程に必要なもの>。正本や補足がbundleに含まれない場合(`local` など)は、その本文をこの欄に写す。
|
|
135
|
+
前提: <CLAUDE.mdを添付した場合だけ: 利用者共通方針は /mnt/session/uploads/CLAUDE.md>。規約照合: <vaultあり | vaultなし。取得できなければ未確認として進める>。許可範囲: devの入口の中の委託(dev_delegation)。コミット・push・PR作成・Issueの更新・ant apply はしない。仕様・権限の不明点は一問ずつ質問してターンを終える。通常の実装判断は任せる。
|
|
136
|
+
報告: 最終報告に、変更範囲、検証結果、dev内レビューの結果と未解決の指摘、起動方法、未解決事項、コミット単位案と単位ごとの予定差分(references/linear/workflow.md「単位案からコミット完了まで」の1)を含める。
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
修正依頼(同じセッションへのuser.message):
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
Local Agent QAで不合格。skill <入口> の工程で、修正依頼として Phase 1 から進める。前回の作業記録 .shinaps/work/<dir>/ を引き継ぎ資料とする。比較元 <SHA>。
|
|
143
|
+
不具合: <再現手順・期待と実際・対象差分・証拠>
|
|
144
|
+
```
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
| 担当 | 責務 |
|
|
6
6
|
| --- | --- |
|
|
7
|
-
| Codex | Issueの作成・整理、仕様相談、Ready判定、依存・Cycle管理、進行判断、Claudeの入口のときのBridgeでの依頼、Local・Staging・ProductionのAgent QA、許可されたPR・配備等の運用、結果の記録、人への依頼 |
|
|
7
|
+
| Codex | Issueの作成・整理、仕様相談、Ready判定、依存・Cycle管理、進行判断、Claudeの入口のときのCLIまたはBridgeでの依頼、Local・Staging・ProductionのAgent QA、許可されたPR・配備等の運用、結果の記録、人への依頼 |
|
|
8
8
|
| 実装担当 | 技術調査、`implementation_skill` で選んだdevの入口による実装・自動テスト・簡素化・セルフレビュー、QA指摘の修正、成果と人の対応結果の報告。実装を伴わない文書整理は、作業先リポジトリの規約に従いdevの入口の対象外にできる。スキル・コードの変更は文書の形でも実装としてdevの入口を使う |
|
|
9
|
-
| 人 |
|
|
9
|
+
| 人 | 未合意の仕様・権限の判断、manualのコードレビュー・必要な修正・コミット、本人の操作が必要な認証等、必要なHuman QA |
|
|
10
10
|
|
|
11
|
-
実装担当は、作業先リポジトリの設定の `implementation_skill` で決まる。Claudeの入口(`dev-claude
|
|
11
|
+
実装担当は、作業先リポジトリの設定の `implementation_skill` で決まる。Claudeの入口(`dev-claude`)では、基本 `review_flow: auto` ならCodexが[ローカルClaude CLI](claude-cli.md)を起動し、manualならWebStormのClaudeがBridge経由で実装する。初回実装前に経路を固定し、パス例外はcommit担当だけに反映する。Codexの入口(`dev-codex`)では、この文書でClaudeが行うとした実装・修正・コミット・完了報告を会話側とは別のCodex実装タスクが行い、[Codex実装タスク](codex-task.md)の手順で依頼・結果を扱う。Bridgeは使わない。どちらでも実装担当はdev内レビューと検証を終えて進行役へ結果を返し、進行役がLocal Agent QAを行う。実装担当の報告をQA合格の根拠にせず、この引き渡しを進行全体の終了と扱わない。
|
|
12
|
+
|
|
13
|
+
Managedの入口(`dev-managed-cc`)では、linear-executeを実行している会話(ClaudeまたはCodex)が進行役になり、`linear/` の各文書でCodexが行うとした進行・Agent QA・記録・人への窓口を行う。実装・修正はIssueごとのClaude Managed Agentsセッションのleadがその入口のskillで行い、[Managedセッション](managed-session.md)の手順で依頼・結果を扱う。この文書でClaudeまたは実装担当が行うとした実装・修正・完了報告はleadが行う。leadはローカルの作業先へ書けないため、差分の適用と、人の対応結果の受け取りは進行役が行う。コミット工程は進行役が `commit` に従い、autoなら自身がcommit、manualなら安全なstash・stage・提示まで行い人のcommitを待つ。BridgeとCodex実装タスクは使わない。
|
|
12
14
|
|
|
13
15
|
人への質問と依頼は会話側のCodexが窓口になる。実装担当は人へ着手確認やコミット依頼をしない。人がClaudeへ直接伝えた指示や結果は、Claudeが保持してCodexへ報告する。
|
|
14
16
|
|
|
@@ -27,7 +29,7 @@ Linear MCPで扱えない画面操作(添付、並べ替え、Cycleへの紐
|
|
|
27
29
|
| 次の操作の継続的な許可があり、必要な工程の結果が揃った | Codexは「進めてもよいか」を再質問せずに実行する |
|
|
28
30
|
| Cycle全体を任され、対象Issueが設定された終了地点に達した | Codexは開始時に確定した対象と順序を照合し、その範囲の次のIssueへ進む |
|
|
29
31
|
|
|
30
|
-
「自律的に進める」とだけ書かず、この表と具体的な許可範囲を各Bridge依頼に書く。
|
|
32
|
+
「自律的に進める」とだけ書かず、この表と具体的な許可範囲を各CLI・Bridge依頼に書く。
|
|
31
33
|
|
|
32
34
|
## 人に確認する条件
|
|
33
35
|
|
|
@@ -42,7 +44,7 @@ Linear MCPで扱えない画面操作(添付、並べ替え、Cycleへの紐
|
|
|
42
44
|
| `ready` | Ready | 自分たちの作業を依存順に進めれば着手できる。開始時に、必要な前工程の成果を再確認する |
|
|
43
45
|
| `coding` | Coding | 実装担当が実装・自動検証・簡素化・セルフレビューを完了し、差分と結果を渡す |
|
|
44
46
|
| `local_agent_qa` | Local Agent QA | Codexが受入条件を検証する。不合格なら `coding` へ戻す |
|
|
45
|
-
| `code_review` | Code Review
|
|
47
|
+
| `code_review` | Code Review・コミット | Local Agent QA合格後、実効 `review_flow: auto` は独立レビュー・検証後にAIが単位ごとにstage・commitする。manualはAIが単位外を安全にstashしてstage・提示し、人がレビュー・修正・commitする。単位照合、人の完了通知(manual)、stash/index復元を確認して次へ進む |
|
|
46
48
|
| `post_commit` | コミット後の検証・PR準備 | 設定に従って、push前の最終Agent QA、必須検証、許可されたpush・PR作成を行う |
|
|
47
49
|
| `staging_agent_qa` | Staging Agent QA | 配備されたPR候補版をCodexが検証する |
|
|
48
50
|
| `staging_human_qa` | Staging Human QA | そのPRで必要な人の確認。不要なら理由を記録して省略する |
|
|
@@ -59,7 +61,7 @@ Linear MCPで扱えない画面操作(添付、並べ替え、Cycleへの紐
|
|
|
59
61
|
- 人がレビュー中に修正した場合は `code_review` を続ける。AIへ追加実装を依頼する場合は、範囲と受入条件をIssueで更新してから `coding` へ戻す。
|
|
60
62
|
- Human QAが新たに必要になった場合は、理由と具体的な残項目をIssueに記録して利用者に相談する。
|
|
61
63
|
- プロジェクトの規約や補足の記述だけでは、AIコミットの許可として扱わない。[共通設定のパス別の方針](configuration.md#パス別の方針)に従って、通常設定・適用ルール・今回の明示指示から実効方針を決める。
|
|
62
|
-
- 実効方針が `
|
|
64
|
+
- 実効方針が `review_flow: auto` なら、Codexは `code_review` で対象単位を明示し、省略と実施した確認への参照をIssueへ記録する。人のレビュー済みとは記録しない。
|
|
63
65
|
|
|
64
66
|
```text
|
|
65
67
|
人のコードレビュー: <対象単位>は省略(根拠: <通常設定または適用したパス別ルール>、判定: <Local Agent QAの記録へのリンク>)
|
|
@@ -69,13 +71,13 @@ Linear MCPで扱えない画面操作(添付、並べ替え、Cycleへの紐
|
|
|
69
71
|
|
|
70
72
|
### 単位案からコミット完了まで
|
|
71
73
|
|
|
72
|
-
|
|
74
|
+
以下はすべての実装方式に共通する(Managedの入口での手順2・3の読み方は、[Managedセッション](managed-session.md)の「Managed固有の読み替えと記録」にある)。単位計画の作成・確認にはコミット許可を要求しない。
|
|
73
75
|
|
|
74
76
|
1. 実装担当は成果引き渡しに、モードによらず自然な責務で決めたコミット単位案と予定差分を含める。進行役のCodexはLocal Agent QAで対象を検証し、単位案が依頼全体を漏れなく覆い対象外変更を含まないことと、各単位の[判定記録](configuration.md#判定記録と変更時の扱い)を確認する。依頼の比較元と全体差分も最終照合用に記録する。
|
|
75
|
-
2.
|
|
76
|
-
3.
|
|
77
|
-
4. 全単位完了後、Codex
|
|
78
|
-
5. 単位の組み替え・内容・設定の変更は[変更時の扱い](configuration.md#判定記録と変更時の扱い)
|
|
77
|
+
2. QA合格後、Codexは実効flow・単位の判定記録・QA結果を実装担当へ渡す。auto Claudeは同じCLIセッションをresumeし、manual ClaudeはBridgeで準備を依頼する。担当は設定・予定差分・合意根拠を照合する。manualの依頼は人への提示準備でありAIコミットの依頼ではない。
|
|
78
|
+
3. 担当は `commit` に従い、autoでは独立レビュー後にAIがstage・commitし、manualでは単位外を安全にstashしてstage・提示、人がレビュー・修正・commitする。各コミット直前・作成後の実差分と確定した予定単位を照合し、予定単位・SHA・検証・レビュー・復元結果を進行役へ返す。
|
|
79
|
+
4. 全単位完了後、Codexは各コミットの単位照合結果を実差分で独立確認したうえで、依頼の比較元からの全体差分が、`commit` の手順で正当な人の修正を反映した確定済みの全体期待差分と一致し、対象の未コミット変更が残っていないことを照合する。最終差分だけでは途中で混入し後で相殺された対象外変更を検出できないため、単位照合を省かない。人レビューを省略した単位は、上の省略記録を完成させる。
|
|
80
|
+
5. 単位の組み替え・内容・設定の変更は[変更時の扱い](configuration.md#判定記録と変更時の扱い)に従って再判定し、必要なレビュー・許可確認・検証へ戻す。人の完了通知後は `commit` に従って正当な修正と元の予定差分の対応を記録し、確定単位に更新する。確定単位と実コミットに不一致があれば次工程を止め、SHA・予定差分・実差分の違いを記録して人に確認する。履歴を無断で書き換えない。
|
|
79
81
|
|
|
80
82
|
## 待ち状態
|
|
81
83
|
|
|
@@ -87,25 +89,26 @@ Linearの工程のステータスと、Codexのゴールの状態は別に扱う
|
|
|
87
89
|
|
|
88
90
|
## Bridgeでの依頼と報告
|
|
89
91
|
|
|
90
|
-
AI Terminal Bridge(以下Bridge)の本体は同梱しない。導入済みのMCPとWebStormプラグインを使う。Claude
|
|
92
|
+
AI Terminal Bridge(以下Bridge)の本体は同梱しない。導入済みのMCPとWebStormプラグインを使う。Claudeの入口の基本flowがmanualのときは必須で、Codexの入口やIssue整理だけなら不要。
|
|
91
93
|
|
|
92
|
-
送信前に `list_sessions` で、相手の `project_path`、完全な `session_id`、受信の可否を確認する。`session_id` は保存せず、依頼のたびに一覧から取得する。`project_path` はIDEのプロジェクトのルートで、作業ディレクトリと一致するとは限らない。依頼と報告には、Gitの作業ディレクトリを別に書く。次の表のCodexとClaudeの間の依頼・報告は、Claude
|
|
94
|
+
送信前に `list_sessions` で、相手の `project_path`、完全な `session_id`、受信の可否を確認する。`session_id` は保存せず、依頼のたびに一覧から取得する。`project_path` はIDEのプロジェクトのルートで、作業ディレクトリと一致するとは限らない。依頼と報告には、Gitの作業ディレクトリを別に書く。次の表のCodexとClaudeの間の依頼・報告は、Claudeのmanual経路のときに使う。autoの起動・報告・resumeは [Claude CLI](claude-cli.md) に従う。
|
|
93
95
|
|
|
94
96
|
| 依頼・報告 | 含めるもの |
|
|
95
97
|
| --- | --- |
|
|
96
|
-
| 実装・修正の依頼(CodexからClaude) | Issueリンク、使う入口(`implementation_skill`
|
|
98
|
+
| 実装・修正の依頼(CodexからClaude) | Issueリンク、使う入口(`implementation_skill` の値、またはその場の明示的な指定)、範囲・受入条件、初期体制(役割別人数・根拠・専任なしの責任者・必須検証)、Gitの作業ディレクトリ・ブランチ・既存差分、許可範囲(`dev_delegation` の有無を含む)、返信先のCodexの `session_id`、関係する補足と参照先、下の定型文。修正依頼では、再現手順・期待と実際・対象差分・証拠の場所を加える |
|
|
97
99
|
| コミットの依頼(CodexからClaude) | Issueリンク、Gitの作業ディレクトリ・ブランチ、返信先のCodexの `session_id` と、上の「単位案からコミット完了まで」で定める依頼情報 |
|
|
98
|
-
| 完了の報告(ClaudeからCodex) |
|
|
100
|
+
| 完了の報告(ClaudeからCodex) | 対象差分、自動検証の結果、起動方法、確認観点、既知の制限、未解決の事項、初期体制からの変更と理由、実際の担当と確認範囲、devの入口内のレビュー結果の要約と未解決の指摘。コミットした場合の返却情報は上の「単位案からコミット完了まで」に従う |
|
|
99
101
|
| 人のレビュー・コミット完了の報告(ClaudeからCodex) | 下の「人のレビュー・コミット完了の報告」の項目 |
|
|
100
102
|
| 開発進行の引き渡し(ClaudeからCodex) | 利用者からの依頼の内容、対象Issue・Cycle・バックログの範囲と順序、作業先リポジトリ、利用者が示した範囲と条件。Codexは作業先リポジトリの設定と照合して進行を始め、不足する判断はCodexから利用者へ確認する |
|
|
101
103
|
|
|
102
|
-
|
|
104
|
+
manualの提示準備では、flowが未解決の質問と人へのレビュー・修正・コミット依頼をCodexが取り次ぐ。人の操作をAIの承認後コミットへ置き換えない。
|
|
103
105
|
|
|
104
106
|
実装・修正の依頼には次の文を含める。
|
|
105
107
|
|
|
106
108
|
```text
|
|
107
109
|
ユーザー承認済みの範囲でCodexが進行する。shinaps:linear-executeを読み込み、この依頼の範囲と受入条件の中では人へ着手を再確認せず、指定した入口で実行する。計画の相談・質問・障害・完了はBridgeで依頼元のCodexへ返す。人のレビュー・コミット完了を受けた場合も同じ返信先へ報告する。
|
|
108
|
-
入口: shinaps
|
|
110
|
+
入口: shinaps:dev-claude
|
|
111
|
+
初期体制: <役割別人数・根拠・専任なしの責任者・必須検証。途中の増員はdevのメインが判断して進行役へ報告する>
|
|
109
112
|
許可範囲: <設定と会話で許可された操作。dev_delegationの有無を含む>
|
|
110
113
|
```
|
|
111
114
|
|
|
@@ -117,7 +120,7 @@ Bridgeが必要な工程で使えない場合は、未実施の引き渡しを
|
|
|
117
120
|
|
|
118
121
|
### 人のレビュー・コミット完了の報告
|
|
119
122
|
|
|
120
|
-
Claudeは、対象Issue、Gitの作業ディレクトリとブランチ、コミットSHA
|
|
123
|
+
Claudeは、対象Issue、Gitの作業ディレクトリとブランチ、コミットSHA、人から受けたレビュー・コミット完了通知、残作業を報告する。Gitにコミットがあるだけで、人のレビュー済みと推測しない。manualでは人がcommitする。
|
|
121
124
|
|
|
122
125
|
Codexは、対象Issue・差分・コミットと、対象作業の未コミット変更の有無を照合する。報告と実体が一致し、許可済みの工程へ進む場合は、人へ再確認しない。これは人のレビューをAIのレビューで代わりにする扱いではなく、人の完了通知を別のセッション経由で受け取る扱いである。
|
|
123
126
|
|
|
@@ -125,13 +128,15 @@ Bridgeの報告は、新しい公開や破壊的な操作の許可を作らな
|
|
|
125
128
|
|
|
126
129
|
## 人への依頼
|
|
127
130
|
|
|
128
|
-
|
|
131
|
+
manualでは合意済みflowを根拠に、`commit` のstash安全手順で単位外を退避し、対象だけstageして提示する。`git diff --cached` と `git status --short` で漏れと混入を確認する。stage後は人のレビュー・修正・commitを待つ。
|
|
132
|
+
|
|
133
|
+
人レビューの差分提示は[共通手順](../human-review.md)に従う。
|
|
129
134
|
|
|
130
135
|
会話でIssueリンクと必要な作業を明示し、ステータスの変更だけで依頼を済ませない。
|
|
131
136
|
|
|
132
137
|
| 依頼 | 文例 |
|
|
133
138
|
| --- | --- |
|
|
134
|
-
| Code Review | できるようになったことと重点確認点を添えて「[Issueリンク]
|
|
139
|
+
| Code Review | できるようになったことと重点確認点を添えて「[Issueリンク]の<依頼する作業>をお願いします。」依頼する作業は、manualのコードレビュー・必要な修正・コミットにする |
|
|
135
140
|
| Human QA | 「[Issueリンク]のHuman QAをお願いします。」 |
|
|
136
141
|
| 外部対応 | 「[Issueリンク]の〇〇をお願いします。」 |
|
|
137
142
|
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: commit
|
|
3
|
-
description:
|
|
3
|
+
description: 許可された差分を依存順のローカルコミットにし、各コミットを検証・レビューする。review_flow(auto・manual)は各単位の実効方針か確認で決め、選択された範囲で実行する。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
## 質問の実行経路(全工程に優先)
|
|
7
|
+
|
|
8
|
+
対話セッションでは利用可能な質問UIで一問ずつ回答を受ける。CodexからローカルClaude CLIで呼び出された場合、以下の `AskUserQuestion`・確認・回答待ちの指示はすべて、質問一問・判断に必要な情報・再開する工程を最終resultへ返してターンを終了する手順に読み替える。CLI内で `AskUserQuestion` を呼んだり人の入力を待ち続けたりしない。Codexが回答を取り次ぎ、同じsessionをresumeして指定の工程から再開する。回答が必要な作業を先に進めず、終了を完了と報告しない。単独commitのflow選択にも同じ規則を適用する。
|
|
9
|
+
|
|
10
|
+
|
|
6
11
|
## 作業記録の保存先
|
|
7
12
|
|
|
8
13
|
作業記録は現在の作業先の `.shinaps/work/` 以下へ保存する。初期化と保全は [作業記録の共通手順](../../references/work-records.md) に従う。
|
|
@@ -21,7 +26,7 @@ description: 許可された差分を依存順のローカルコミットにし
|
|
|
21
26
|
|
|
22
27
|
どちらのモードも、許可された対象以外の変更と秘密情報、push、PR、公開、既存履歴の書き換えを含まない。
|
|
23
28
|
|
|
24
|
-
Git
|
|
29
|
+
AIが担当するGit準備・修正は現在のセッションで行い、manualのレビュー・修正・commitは人が行う。autoは独立レビューを必須とする。必要な担当・許可が利用できなければ、セルフレビューを同等と称さず止める。別worktreeの作成や別セッションへの委託を、このスキルから許可しない。
|
|
25
30
|
|
|
26
31
|
## 回復できる状態を作る
|
|
27
32
|
|
|
@@ -38,31 +43,26 @@ Git操作と修正は現在のセッションが行う。独立レビューは
|
|
|
38
43
|
|
|
39
44
|
予定単位ごとに、[パス別の方針](../../references/linear/configuration.md#パス別の方針)でそのコミットの全変更を判定し、同資料の判定記録を残す。Linear進行から記録を受け取った場合は、設定とその単位の予定差分(内容・mode等を含む)の一致を確認して引き継ぐ。単独の依頼でも同じ判定を使い、Linear専用の工程は追加しない。設定が真にない単独依頼では、今回の明示許可とプロジェクト規約を通常方針とし、パス例外は適用しない。
|
|
40
45
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
単位の判定後に、その対象についてユーザー自身が進め方を選択済みか確認する。未選択なら、[Linear共通設定の読み方](../../references/linear/configuration.md#設定の読み方)で正本を決めた `.shinaps/linear.yaml` の通常設定と適用されたパス別ルールから実効 `commit_mode` が `normal` または `autonomous` と決まれば、それをこのプロジェクトでユーザーが合意済みの選択として使う。linear-executeの開発進行では設定の不足・不正値を解消してから進む。linear-execute以外の単独のコミット依頼で設定による選択がない場合は、利用可能な入力ツール(なければ文章)で対象単位を示して「このコミットはどちらで進めますか?」と一問だけ聞く。
|
|
46
|
+
合意済みの実効 `review_flow` と今回の明示指示から進め方を確定する。両方とも対象のstageを許可し、`auto` ではAI、`manual` では人がcommitする。設定の存在だけを合意と扱わない。旧キー・不備・競合は共通設定に従って止める。
|
|
44
47
|
|
|
45
|
-
|
|
46
|
-
- **自律**: その単位を検証・レビューして個別の承認を求めずコミットする。
|
|
48
|
+
設定がない単独依頼でも「各単位をAIがレビューして自動コミット」「人がレビューして自分でコミット」など明確な意図を引き継ぐ。「コミットして」「進めて」だけからautoを推測しない。flowが未解決のときだけ対象を示し「auto(AIがレビュー・コミット)とmanual(人がレビュー・修正・コミット)のどちらで進めますか?」と一問聞き、回答まで依存操作を待つ。未回答を承認と扱わない。同じ依頼内でもパス例外により異なるflowの単位があってよい。
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
設定項目の独立性と併せて読む条件は[Linear共通設定](../../references/linear/configuration.md)に従う。`autonomous` は人のコードレビューの省略ではなく、`human_code_review: skip` は通常モードの単位ごとの承認の省略ではない。設定があるだけでコミット・pushを始めず、人のレビュー済みと推測しない。`normal` は上記の通常モード(単位ごとに承認を得る)で、人が自分でgit操作をする工程を指すものではない。
|
|
51
|
-
|
|
52
|
-
モード決定後にレビュー可能性や依存関係のため単位を分割・統合する場合は、[変更時の扱い](../../references/linear/configuration.md#判定記録と変更時の扱い)に従って変更した単位を再判定し、必要なレビュー・許可確認・検証へ戻す。設定変更時も影響する未実行単位を再判定する。「自律だからまとめる」「通常だから分ける」を先に適用して単位決定と判定を循環させない。
|
|
50
|
+
モード決定後にレビュー可能性や依存関係のため単位を分割・統合する場合は、[変更時の扱い](../../references/linear/configuration.md#判定記録と変更時の扱い)に従って変更した単位を再判定し、必要なレビュー・許可確認・検証へ戻す。設定変更時も影響する未実行単位を再判定する。「autoだからまとめる」「manualだから分ける」を先に適用して単位決定と判定を循環させない。
|
|
53
51
|
|
|
54
52
|
## 単位ごとの検証・レビュー・コミット
|
|
55
53
|
|
|
54
|
+
manualでは[人レビューの差分提示](../../references/human-review.md)に従う。Claude経路ではWebStormで対象を提示し、Codex経路では既存の提示UIを使う。人がレビュー・修正・commitする工程をAIによる承認後commitへ置き換えない。
|
|
55
|
+
|
|
56
56
|
以下を、その単位のモードで行う。
|
|
57
57
|
|
|
58
|
-
1.
|
|
59
|
-
2.
|
|
58
|
+
1. 単位案を短く示す。manualで複数の単位に分ける場合、許可された独立レビュアーがいれば、各単位の差分だけで人が妥当性を判断できるかを差分自体から確認させ、結論はメインが実際の差分で検証する。autoでは単位案の独立レビューを求めない(プロジェクトの必須条件にある場合は従う)。
|
|
59
|
+
2. コミットと検証の内容が単位だけで決まるようにする。manualでは、単位以外の未コミット変更(対象外、後続の単位、untracked)を一意な名前のstashへ退避し、作業ツリーとindexに単位の変更だけを残す。autoでは、対象外の変更を作業ツリーとindexに残してよく、検証結果が残る変更に依存しないことを根拠(例: 残る変更が検証の入力に含まれない)とともに判断する。依存する、または判断できない場合は、許可された範囲で単位をまとめ直すか、manualと同じ方法で退避する。退避が他の進行中の作業(他のセッションや人がステージ・編集中の変更)を妨げる場合は退避せず、所有者と調整できるまで止める。manualは別の隔離方法へ置き換えない。退避するときは、stashのindexにコミット対象のステージ済み変更を入れない。`git stash push` はパスを指定してもindex全体を保存し、対象のステージ済み変更が入ると後の `git stash apply --index` が失敗するため。対象のステージ済み差分のパッチを保存し、対象のステージを外してから退避し、退避後にそのパッチで対象のステージを戻す。作成前後のstash一覧を比べて今回作成されたものだけのSHAを記録し、既存stashの先頭を自分のものと決めつけない。共有ファイルのhunk分割は控えから行い、対象のhunkだけのステージを外せない場合や、対象外のステージ済みの変更が変わる場合は止める。
|
|
60
60
|
3. コミットする内容に必要な検証を行う。後続や対象外の未コミット変更に依存した成功を、その単位の検証としない。範囲を限った検証はプロジェクトが認める場合だけ使い、必須検証を省かない。後続や対象外への依存で失敗するなら、手順2に戻って単位か隔離を見直す。
|
|
61
|
-
4. 対象だけをステージし、実際にコミットされる差分の全体(indexのままコミットする場合は完全なcached diff)と影響するファイルをレビューする。index
|
|
62
|
-
5.
|
|
63
|
-
6. 退避した場合は、コミット後または中断時に、indexにコミット対象のステージ済み変更がない状態で、記録したSHAのstashを `git stash apply --index` で戻す。中断時は対象のステージを外し、stashの復元を妨げる対象の未コミット変更(共有ファイルの対象のhunk
|
|
61
|
+
4. 対象だけをステージし、実際にコミットされる差分の全体(indexのままコミットする場合は完全なcached diff)と影響するファイルをレビューする。indexに対象外の変更を残す場合は、それを含めずに対象だけをコミットする方法を使い、対象を限定できなければ止める。manualで提示する差分は、コミットされる差分と同じものにする。指摘は実物で確認し、依頼範囲の修正後は再ステージ・再検証する。外部仕様の調査は変更がそこに依存するときに行う。
|
|
62
|
+
5. 必須検証と独立レビュー(auto必須)が通り、阻害指摘がないことを確認する。autoでは直前の全差分が予定単位と一致してからAIが `git commit` を単独実行する(`git add` と連結しない)。manualでは単位の差分・理由・検証結果・推奨メッセージを提示し、人がレビュー・必要な修正・commitを行い、その完了を知らせるまで待つ。AIは承認を受けても代わりにcommitしない。人の完了通知後に、比較元からの実コミット一覧と各SHA・全差分を調べ、通知された修正が許可された目的・範囲を満たすことを確認する。実差分で実効flowを再判定し、影響する挙動を再検証する。正当な人の修正は確定単位と全体の期待差分へ反映し、元の予定差分・完了通知・変更理由・実コミットとの対応を残す。本人が明示確認した修正という理由だけで新たな承認を求めない。意図や範囲が不明、対象外の混入、flowの適用が未解決なら人へ確認して止める。Gitにcommitがあるだけで人レビュー完了としない。各コミットを確定単位と照合してSHA・結果を記録し、不一致なら次工程を止める。履歴を無断で書き換えない。
|
|
63
|
+
6. 退避した場合は、コミット後または中断時に、indexにコミット対象のステージ済み変更がない状態で、記録したSHAのstashを `git stash apply --index` で戻す。中断時は対象のステージを外し、stashの復元を妨げる対象の未コミット変更(共有ファイルの対象のhunkなど)もパッチに保存して作業ツリーから一時的に外してから戻す。その後、外した対象の変更を戻し、対象のステージ済み差分のパッチで対象のステージを戻す。復元前に人が修正した最新のHEAD・作業ツリー・indexを記録して保全する。控えで扱った対象外変更だけを復元し、古い対象パッチで人の修正を上書きしたり、コミット済みの変更を再び加えたりしない。退避の有無によらず、コミットしていない変更(ステージ済み・未ステージ・untracked)と既存stashが、操作前の記録と確定済みの人の修正からコミットした内容を除いたものと一致することを確認する。一致しない、曖昧な競合がある、ステージ境界を戻せない場合は推測で消さず、一致しないパスと、退避した場合は回復資料を示して止める。一致を確認してから今回作成したstashだけをdropし、HEADを確認して次へ進む。
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
全単位の完了後、各単位の照合結果に加え、元の比較元からの全体差分が、人の正当な修正を反映した確定済みの全体期待差分と一致し、対象の未コミット変更が残っていないことを確認する。最終差分だけで途中コミットの照合を代用しない。予定どおりのコミットによる残差分の減少は不一致と扱わない。
|
|
66
66
|
|
|
67
67
|
## 終了・中断
|
|
68
68
|
|