chore: enhance planning and management instructions with PR slicing strategies and multi-PR protocols
This commit is contained in:
@@ -123,6 +123,21 @@ Before proposing ANY code change or fix, you must build a mental map of the feat
|
||||
- **Beta**: `feature/beta-release` always builds.
|
||||
- **History-Rewrite PRs**: If a PR touches files in `scripts/history-rewrite/` or `docs/plans/history_rewrite.md`, the PR description MUST include the history-rewrite checklist from `.github/PULL_REQUEST_TEMPLATE/history-rewrite.md`. This is enforced by CI.
|
||||
|
||||
## PR Sizing & Decomposition
|
||||
|
||||
- **Default Rule**: Prefer smaller, reviewable PRs over one large PR when work spans multiple domains.
|
||||
- **Split into Multiple PRs When**:
|
||||
- The change touches backend + frontend + infrastructure/security in one effort
|
||||
- The estimated diff is large enough to reduce review quality or increase rollback risk
|
||||
- The work can be delivered in independently testable slices without breaking behavior
|
||||
- A foundational refactor is needed before feature delivery
|
||||
- **Suggested PR Sequence**:
|
||||
1. Foundation PR (types/contracts/refactors, no behavior change)
|
||||
2. Backend PR (API/model/service changes + tests)
|
||||
3. Frontend PR (UI integration + tests)
|
||||
4. Hardening PR (security/CI/docs/follow-up fixes)
|
||||
- **Per-PR Requirement**: Every PR must remain deployable, pass DoD checks, and include a clear dependency note on prior PRs.
|
||||
|
||||
## ✅ Task Completion Protocol (Definition of Done)
|
||||
|
||||
Before marking an implementation task as complete, perform the following in order:
|
||||
|
||||
@@ -23,10 +23,22 @@ runSubagent({
|
||||
|
||||
- Validate: `plan_file` exists and contains a `Handoff Contract` JSON.
|
||||
- Kickoff: call `Planning` to create the plan if not present.
|
||||
- Decide: check if work should be split into multiple PRs (size, risk, cross-domain impact).
|
||||
- Run: execute `Backend Dev` then `Frontend Dev` sequentially.
|
||||
- Parallel: run `QA and Security`, `DevOps` and `Doc Writer` in parallel for CI / QA checks and documentation.
|
||||
- Return: a JSON summary with `subagent_results`, `overall_status`, and aggregated artifacts.
|
||||
|
||||
2.1) Multi-PR Slicing Protocol
|
||||
|
||||
- If a task is large or high-risk, split into PR slices and execute in order.
|
||||
- Each slice must have:
|
||||
- Scope boundary (what is included/excluded)
|
||||
- Dependency on previous slices
|
||||
- Validation gates (tests/scans required for that slice)
|
||||
- Explicit rollback notes
|
||||
- Do not start the next slice until the current slice is complete and verified.
|
||||
- Keep each slice independently reviewable and deployable.
|
||||
|
||||
3) Return Contract that all subagents must return
|
||||
|
||||
```
|
||||
@@ -43,6 +55,7 @@ runSubagent({
|
||||
|
||||
- On a subagent failure, the Management agent must capture `tests.output` and decide to retry (1 retry maximum), or request a revert/rollback.
|
||||
- Clearly mark the `status` as `failed`, and include `errors` and `failing_tests` in the `summary`.
|
||||
- For multi-PR execution, mark failed slice as blocked and stop downstream slices until resolved.
|
||||
|
||||
5) Example: Run a full Feature Implementation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user