# Planning Gate A coding agent must complete this gate after the Concurrent Task Gate and before writing an implementation plan. ## Peer Scope Check Run `task_context.py status --json`. For each other owner, read only the peer task record at `Path(owner.worktree) / owner.task_record`. Use its `Scope`, `Intent And Constraints`, and `Promotion Candidates` sections to assess overlap. Do not inspect or modify arbitrary uncommitted files in another task's worktree. Report a missing or unreadable peer record as unknown coordination state; do not silently treat it as no overlap. Code-path overlap alone is a warning. Block when semantic decisions conflict or unresolved overlap could change the plan. ## Required Output ```md ## Project Context Loaded Task context: - Task ID: - Mode: - Branch: - Worktree: - Base commit: - Other active local tasks: - Overlap or semantic-conflict assessment: Read: - {file path} Relevant understanding: - Project goal: - Current integrated focus: - Active task scope: - Active constraints: - Decisions affecting this task: - Evidence, reflections, or commitments affecting this task: - Files or modules likely involved: - Unknowns, stale docs, or conflicts: Gate result: - Passed or Blocked ``` ## Pass Criteria The gate passes only when: - task identity and worktree ownership are resolved - the active task record exists and matches the owner task ID - required documents were read - task-relevant decisions were checked - relevant evidence, reflection, and commitment indexes were checked when applicable - other active local task scopes were assessed - stale, unknown, or conflicting context was called out - the plan respects project positioning and constraints ## Block Criteria Block planning when: - worktree ownership is unresolved - an unowned worktree is dirty and has not been explicitly adopted by a human - required worktree isolation failed or later operations cannot remain rooted there - required documents are missing or a concurrency upgrade is incomplete - current integrated state conflicts with the user request - an existing decision appears to be violated - semantic decisions conflict across active tasks - the task changes project positioning or architecture without human confirmation