67 lines
2.2 KiB
Markdown
67 lines
2.2 KiB
Markdown
# 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
|