Commit 1d3c2d5
feat(batch-bug-shepherd): recommendation-fold loop, Copilot+CI gates, mergeability table
Refactor the batch-bug-shepherd skill into a single shepherd-driver
convergence loop that closes four production gaps surfaced by the
in-flight bug-queue sweep:
1. Recommendation-fold loop. Every panel CEO follow-up and Copilot
inline review item is run through assets/fold-vs-defer-rubric.md
and folded unless it crosses the PR's stated scope. Default is
fold; defer is the scope-creep exception with a one-line
scope_boundary_crossed note.
2. Copilot PR review address loop. Phase X.0 fetches
copilot-pull-request-reviewer[bot] review per
assets/copilot-classification-prompt.md, classifies each item
LEGIT/NOT-LEGIT, and folds LEGIT into the same iteration.
2-round cap on Copilot fetches.
3. Post-push CI verification loop. gh pr checks --watch after every
push, with assets/ci-recovery-checklist.md bucketing failures
(lint / test / infra / unknown) under a 3-iteration cap.
4. Orchestrator ownership signal. Assigns the shepherd actor and
applies status/shepherding on pickup; the label is cleared on
terminal.
New asset assets/shepherd-driver-prompt.md replaces the old
shepherd-prompt / completion-prompt split. New supporting assets:
fold-vs-defer-rubric.md, copilot-classification-prompt.md,
ci-recovery-checklist.md, strategic-alignment-prompt.md,
conflict-resolution-prompt.md, progress-diagram.md. New references/
directory with mergeability-gate.md and strategic-alignment-gate.md.
Genesis design record in design.md.
Mergeability status table (new in this commit). Shepherd-driver
step X.8 captures a per-PR mergeability snapshot via
gh pr view <n> --json mergeable,mergeStateStatus,statusCheckRollup
immediately after the last push. The snapshot lands as a one-row
table in the PR advisory comment (final-report-template.md PR
ADVISORY COMMENT block) and is aggregated by the orchestrator at
saga-end into a Mergeability status table in the FINAL REPORT block
(PR, head SHA, CEO stance, outer iterations, folds, deferrals,
Copilot rounds, CI status, mergeable, mergeStateStatus, notes).
verdict-schema.json grows four optional completion-return fields:
head_sha, mergeable, merge_state_status, ci_status.
Validated on the wave-2 shepherd run that drove PRs #1472, #1512,
#1513, #1514, #1515, #1516 to advisory-terminal. PR #1514 hit 4
outer iterations with 11 folds + 1 deferral, exercising the
fold-by-default discipline at the cap.
CHANGELOG entry under [Unreleased] / Added.
Lint notes: this commit touches NO Python (.agents/ skill files are
markdown + JSON + CHANGELOG markdown). The only applicable lint
gates are the ASCII guard and bash scripts/lint-auth-signals.sh,
both silent. ruff / pylint / ruff format are skipped per
.apm/instructions/linting.instructions.md scope (src/ tests/ only).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 47291a8 commit 1d3c2d5
18 files changed
Lines changed: 2452 additions & 357 deletions
File tree
- .agents/skills/batch-bug-shepherd
- assets
- references
Large diffs are not rendered by default.
Lines changed: 130 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
Lines changed: 0 additions & 91 deletions
This file was deleted.
0 commit comments