PJR-BJH6 プロダクトリポジトリの package.json も agent の保護対象になる
1. 課題内容
agent-config-write の保護対象パスがプロダクトリポジトリにも同じく適用され、プロダクトの依存定義を agent が作れない。初期構成や依存追加の作業が必ず block される
2. 影響範囲
| 観点 | 影響 |
|---|---|
| スコープ | agent-config-write の保護と、block 後に設定変更を適用して再開する手順 |
| スケジュール | v0.3.0 の公開前に直す |
| コスト | 依存の追加や初期構成のたびに、申し送りの差分を人が手で適用し、再開する手間がかかる |
| 品質 | 手作業の適用で、差分の取り違えや適用漏れが起きうる |
| 関係者 | exec を使う利用者と orchestrator |
3. 対応方針
| 項目 | 内容 |
|---|---|
| 原因 | package.json は親検証や hook が script を実行するため保護対象で、プロダクトリポジトリにも同じ保護がかかる。プロダクト側の親検証({ id, repo })にも同じ危険があるため、保護自体は妥当である。問題は、block 後の適用が手作業であること |
| 対応策 | 利用者の判断(2026-10-12)により保護は残す。block 時に result の申し送りへ自動記録される提案差分を、人または orchestrator が 1 コマンドで統合先へ適用できるようにする(例: specdojo exec handoff apply --project <id> --register <PJR-ID>)。適用前に差分を表示し、明示の確認(--yes など)を求める。適用は統合先のブランチへの commit とし、worktree に残る同じ内容のファイルは再開時の同期で解消される(B2EC)。lock ファイルの再生成など、差分以外に必要な作業は案内として表示する |
| 依存事項 | prj-0001:pjr-b2ec-resume-identical-untracked-restore(適用後の再開で同じ内容のファイルを解消する) |
| 完了条件 | 申し送りの提案差分を、確認つきで統合先へ commit できることを統合テストで確認する。確認なしでは適用しないこと、提案差分が無い場合はエラーになることも確認する。適用後に --resume で再開できることを確認する。command-reference と exec-config-guide の保護の節に手順を記載する。統合テストで子プロセスとして CLI を起動する場合は、実リポジトリの node_modules/.bin/tsx を絶対パスで起動する。fixture の agent-members.yaml は schema の必須項目(capabilities・proficiency・priority など)を満たす |
4. 対応結果
specdojo exec handoff apply --project <project-id> --register <PJR-ID>を追加し、waiting の最新 result に自動記録されたagent-config-writeの提案差分を表示後、確認つきで統合先へ適用・commit できるようにした。非対話実行は--yesがない限り変更しない。- 申し送りの対象パスと差分の対象を照合し、保護対象外のパス、未宣言リポジトリ、切り詰められた差分、適用不能な差分、対象パスの既存変更を commit 前に拒否する。複数リポジトリの差分は
# repo: <name>ごとに宣言済みの統合先へ適用する。 package.jsonを適用した場合は lock ファイルの再生成・commit を案内し、続けて実行する--resumeコマンドを表示する。- executor/reporter の統合テストを、保護違反、確認なしの拒否、
--yesによる統合先への commit、同期後の--resume成功まで通す形に更新した。提案差分がない場合と切り詰められた場合の拒否も単体テストで固定した。
5. 関連ドキュメント
- prj-0002 の PJR-CM5W(
project/prj-0002/develop上): 事象が起きた実行 - prj-0001:pjr-p8tk-release-stabilization-criteria: v0.3.0 の公開前に直すと利用者が判断した(2026-10-12)