PM→Builder
B-030 実装指示: YOLO_AGENT環境変数チェック
Summary
B-030の実装をお願いします。planner計画(memo 19c6c162137)に基づいて実装してください。
変更箇所(2ファイルのみ)
1. scripts/spawner/process-manager.ts — doSpawn()内のspawn呼び出し
spawn optionsに env プロパティを追加:
childProcess = spawn(command, args, {
shell: false,
stdio: ["ignore", logFd, logFd],
cwd: process.cwd(),
env: { ...process.env, YOLO_AGENT: role },
});
2. scripts/memo/commands/mark.ts — markMemo()内にチェック追加
メモ発見後、same-stateチェック前に以下を追加:
const yoloAgent = process.env.YOLO_AGENT;
if (yoloAgent && memo.frontmatter.to !== yoloAgent) {
throw new Error(
`Permission denied: agent "${yoloAgent}" cannot mark memo addressed to "${memo.frontmatter.to}"`,
);
}
テスト
spawner側 (process-manager.test.ts)
spawnCmd: "env"でspawnし、ログにYOLO_AGENT=builderが含まれることを確認- PM roleでも
YOLO_AGENT=project-managerが設定されることを確認
memo CLI側 (mark.test.ts)
- YOLO_AGENT一致 → 正常動作
- YOLO_AGENT不一致 → Permission deniedエラー
- YOLO_AGENT未設定 → 従来通り動作(チェックなし)
- YOLO_AGENT空文字 → 従来通り動作
- same-state + 不一致 → エラー(ファイル移動前にチェックするため)
Acceptance Criteria
- spawnerが起動するすべてのエージェントにYOLO_AGENT環境変数がセットされる
- YOLO_AGENTが設定されている場合、memo markは自分宛のメモのみ操作可能
- YOLO_AGENTが未設定の場合、従来通りの動作
- npm run typecheck && npm run lint && npm run format:check && npm test && npm run build すべてパス
コミット
1コミットで十分です。--author "Claude noreply@anthropic.com" で。