@yemi33/minions 0.1.1886 → 0.1.1887
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/engine/lifecycle.js +16 -2
- package/package.json +1 -1
- package/playbooks/explore.md +1 -1
- package/playbooks/meeting-conclude.md +13 -3
- package/playbooks/meeting-investigate.md +4 -0
- package/playbooks/plan.md +16 -10
- package/playbooks/review.md +7 -4
package/engine/lifecycle.js
CHANGED
|
@@ -1624,8 +1624,22 @@ async function updatePrAfterReview(agentId, pr, project, config, resultSummary,
|
|
|
1624
1624
|
if (!postReviewStatus) {
|
|
1625
1625
|
const verdict = reviewVerdictFromCompletion(structuredCompletion) || parseReviewVerdict(resultSummary);
|
|
1626
1626
|
if (verdict) {
|
|
1627
|
-
|
|
1628
|
-
|
|
1627
|
+
// P-e1c8a9d2 — Refuse self-review APPROVE: an agent approving their own PR
|
|
1628
|
+
// is meaningless self-promotion (PR #1867/#1868/#2253 all shipped this way).
|
|
1629
|
+
// Treat it like a bailout — don't apply the verdict (so reviewStatus stays
|
|
1630
|
+
// 'waiting' and the engine routes the next review to a different agent on
|
|
1631
|
+
// the next dispatch tick). The verdict-gate at runPostCompletionHooks sees
|
|
1632
|
+
// the verdict and skips the no-verdict retry path, so _retryCount stays
|
|
1633
|
+
// unchanged. REQUEST_CHANGES from a self-author is still accepted — a
|
|
1634
|
+
// self-author flagging issues on their own PR is harmless and useful.
|
|
1635
|
+
const reviewerLower = String(agentId || '').toLowerCase();
|
|
1636
|
+
const authorLower = String(reviewPr.agent || '').toLowerCase();
|
|
1637
|
+
if (verdict === 'approved' && reviewerLower && authorLower && reviewerLower === authorLower) {
|
|
1638
|
+
log('warn', `review verdict rejected: self-review (reviewer=${reviewerName}, author=${reviewPr.agent})`);
|
|
1639
|
+
} else {
|
|
1640
|
+
postReviewStatus = verdict;
|
|
1641
|
+
log('info', `Read review verdict from agent completion for ${reviewPr.id}: ${verdict}`);
|
|
1642
|
+
}
|
|
1629
1643
|
}
|
|
1630
1644
|
}
|
|
1631
1645
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1887",
|
|
4
4
|
"description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
|
|
5
5
|
"bin": {
|
|
6
6
|
"minions": "bin/minions.js"
|
package/playbooks/explore.md
CHANGED
|
@@ -37,7 +37,7 @@ After the requested exploration succeeds, write your findings to `{{team_root}}/
|
|
|
37
37
|
- **Patterns**: conventions and patterns found
|
|
38
38
|
- **Dependencies**: what depends on what
|
|
39
39
|
- **Gaps**: anything missing, broken, or unclear
|
|
40
|
-
- **
|
|
40
|
+
- **Recommended next dispatches**: one bullet per follow-up using the format `<work-type> <agent> — <one-line scope>` (e.g., `implement ralph — wire X helper into Y caller`, `fix lambert — guard Z against null project`). If you have nothing concrete to recommend, the section must read exactly `Recommended next dispatches: none — no follow-up needed`.
|
|
41
41
|
- **Source References**: for EVERY finding, include the source — file paths, line numbers, PR URLs, API endpoints, config keys. Format: `(source: path/to/file.ts:42)` or `(source: PR-12345)`. This is critical — other agents and humans need to verify your findings.
|
|
42
42
|
|
|
43
43
|
If exploration is blocked or fails before you can produce sourced findings, do **not** write an inbox note. Report the blocker in your final response instead.
|
|
@@ -31,11 +31,21 @@ Write a clear, **self-contained** meeting conclusion. Someone reading ONLY this
|
|
|
31
31
|
- What the fix should be (concrete: "change X to Y", "add guard in Z")
|
|
32
32
|
- Estimated complexity (small/medium/large)
|
|
33
33
|
|
|
34
|
-
2. **
|
|
34
|
+
2. **Overrules** — required section. Document every priority where you (the synthesizer) chose differently than a participant argued in debate. Each bullet must take this exact form:
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
- `Overruled <participant>'s claim that <X>; chose <Y> because <reason cited from debate or source file>`
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
The cited reason must be a concrete pointer (debate quote, finding ID, or `path/to/file.ext:line`), not a paraphrase. If the synthesizer truly overruled nothing — every priority above converged in debate — the section must read exactly:
|
|
39
|
+
|
|
40
|
+
- `Overrules: none — every priority converged in debate`
|
|
41
|
+
|
|
42
|
+
Do NOT omit this section. An empty `Overrules:` (without the escape-hatch sentence) is not acceptable.
|
|
43
|
+
|
|
44
|
+
3. **Deferred items** — what was discussed but explicitly deprioritized, and why
|
|
45
|
+
|
|
46
|
+
4. **Unresolved disagreements** — where positions still differ (if any)
|
|
47
|
+
|
|
48
|
+
5. **Open questions for human** — what needs human input before proceeding (if any)
|
|
39
49
|
|
|
40
50
|
**Be concrete, not vague.** Do NOT write "fix 3 bugs" — write which 3 bugs, in which files, with what fix. The conclusion is used as input to create an implementation plan, so it must contain enough detail to act on without re-reading the entire meeting.
|
|
41
51
|
|
|
@@ -25,6 +25,10 @@ Investigate this topic from your unique perspective as {{agent_role}}.
|
|
|
25
25
|
|
|
26
26
|
Focus on what YOU uniquely bring to this discussion. Be thorough but concise.
|
|
27
27
|
|
|
28
|
+
### Evidence rule for code claims
|
|
29
|
+
|
|
30
|
+
Every claim about repository code — a bug, a regression, a missing guard, a test gap, a behavior assertion — must include a concrete citation: a `path/to/file.ext:line` reference (or range like `path:120-145`) for current code, or a `git show <sha>:<path>` hunk reference when the claim is about a specific commit or historical state. Claims you cannot back with such a reference must be tagged `[unverified]` inline (e.g., "the dispatch loop ignores `paused` items `[unverified]`") so debaters in the next round can call them out and either verify or discard them. Do not paraphrase code from memory and present it as fact; if you have not opened the file in this session, it is `[unverified]`.
|
|
31
|
+
|
|
28
32
|
## Output Format
|
|
29
33
|
|
|
30
34
|
Write your findings as a clear markdown document. Start with your key conclusion, then supporting evidence.
|
package/playbooks/plan.md
CHANGED
|
@@ -42,6 +42,7 @@ A user has described a feature they want built. Your job is to create a detailed
|
|
|
42
42
|
- Order by dependency (foundations first)
|
|
43
43
|
- Estimate complexity: `small` (1 file), `medium` (2-5 files), `large` (6+ files)
|
|
44
44
|
- Each item should be independently testable
|
|
45
|
+
- Also list ideas you considered and chose **not** to include — these go in the required `## Rejected items` section so scope is declared explicitly
|
|
45
46
|
|
|
46
47
|
### 5. Write the Plan
|
|
47
48
|
|
|
@@ -65,19 +66,24 @@ What exists today, what needs to change, key files involved.
|
|
|
65
66
|
## Approach
|
|
66
67
|
High-level design decisions and rationale.
|
|
67
68
|
|
|
68
|
-
## Work
|
|
69
|
+
## Work items
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
1. **Item name** (complexity: small/medium/large)
|
|
72
|
-
- What to build
|
|
73
|
-
- Files to create/modify
|
|
74
|
-
- Acceptance criteria
|
|
71
|
+
Flat numbered list, ordered by dependency in prose (not by phase). Use phases only when items genuinely block each other across PR boundaries; otherwise the plan is a flat numbered list.
|
|
75
72
|
|
|
76
|
-
###
|
|
77
|
-
|
|
73
|
+
### 1. <item name> (complexity: small/medium/large)
|
|
74
|
+
- What to build
|
|
75
|
+
- Files to create/modify
|
|
76
|
+
- Acceptance criteria
|
|
78
77
|
|
|
79
|
-
###
|
|
80
|
-
|
|
78
|
+
### 2. <item name> (complexity: small/medium/large)
|
|
79
|
+
- ...
|
|
80
|
+
|
|
81
|
+
## Rejected items
|
|
82
|
+
|
|
83
|
+
Required section. Declare scope by listing ideas you considered and chose not to include, one line per rejected item with the reason.
|
|
84
|
+
|
|
85
|
+
- <rejected idea> — <one-line reason>
|
|
86
|
+
- <rejected idea> — <one-line reason>
|
|
81
87
|
|
|
82
88
|
## Risks & Open Questions
|
|
83
89
|
- Risk or question that needs user input
|
package/playbooks/review.md
CHANGED
|
@@ -54,7 +54,6 @@ Use subagents only for genuinely parallel, independent tasks (e.g., reviewing un
|
|
|
54
54
|
|
|
55
55
|
8. If the code is genuinely ready:
|
|
56
56
|
- Verdict: **APPROVE**
|
|
57
|
-
- Note any minor non-blocking suggestions
|
|
58
57
|
- Do not request changes for nits, speculative edge cases, or unrelated improvements
|
|
59
58
|
|
|
60
59
|
## Post Review — Submit your verdict
|
|
@@ -79,10 +78,14 @@ Automated checks:
|
|
|
79
78
|
- `<command>`: pass/fail/skipped — short result or reason
|
|
80
79
|
|
|
81
80
|
Blocking issues:
|
|
82
|
-
-
|
|
81
|
+
- `path:line — failure mode — required fix`
|
|
82
|
+
- (one bullet per blocking finding; the literal string `None` is the only allowed empty form)
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
Minimum diff to ship: <one-line description of the smallest change that would flip this verdict to APPROVE>
|
|
85
|
+
(REQUEST_CHANGES only — omit this line on APPROVE verdicts)
|
|
86
|
+
|
|
87
|
+
Non-blocking observations: None
|
|
88
|
+
- (default to `None`; if you list any, each must be tied to an existing diff line in the form `path:line — observation`)
|
|
86
89
|
```
|
|
87
90
|
|
|
88
91
|
After running the command, confirm it succeeded (check the command output for errors). If it fails, retry once.
|