@yemi33/minions 0.1.1884 → 0.1.1886
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/README.md +78 -64
- package/docs/README.md +36 -0
- package/docs/archive/distribution.md +97 -0
- package/docs/auto-discovery.md +21 -8
- package/docs/completion-reports.md +215 -0
- package/docs/distribution.md +8 -24
- package/docs/engine-restart.md +2 -0
- package/docs/index.html +33 -45
- package/docs/kb-sweep.md +173 -0
- package/docs/onboarding.md +246 -0
- package/docs/runtime-adapters.md +213 -0
- package/docs/team-memory.md +116 -0
- package/docs/teams-production.md +3 -1
- package/docs/watches.md +201 -0
- package/package.json +1 -1
- package/playbooks/docs.md +1 -1
- package/playbooks/fix.md +1 -12
- package/playbooks/implement-shared.md +1 -12
- package/playbooks/implement.md +2 -2
- package/playbooks/plan-to-prd.md +3 -3
- package/playbooks/review.md +1 -1
- package/playbooks/shared-rules.md +1 -3
- package/playbooks/verify.md +1 -1
- package/prompts/cc-system.md +10 -2
package/playbooks/plan-to-prd.md
CHANGED
|
@@ -27,7 +27,7 @@ A user has provided a plan. Analyze it against the codebase and produce a struct
|
|
|
27
27
|
|
|
28
28
|
Write the PRD to: `{{team_root}}/prd/{{prd_filename}}`
|
|
29
29
|
|
|
30
|
-
**
|
|
30
|
+
**Use the exact filename above.** The engine pre-generates a unique filename to avoid collisions with existing or archived PRDs; renaming it will detach the PRD from the plan.
|
|
31
31
|
|
|
32
32
|
This file is NOT checked into the repo. The engine reads it on every tick and dispatches implementation work automatically.
|
|
33
33
|
|
|
@@ -87,7 +87,7 @@ Rules for items:
|
|
|
87
87
|
- IDs must be `P-<uuid>` format (e.g. `P-a3f9b2c1`) — globally unique, never sequential
|
|
88
88
|
- **`status` is `"missing"` for new items** — do not set `done`, `complete`, `implemented`, or any other value based on codebase observations. The only exception is when reusing an existing PRD (see below) — items already `"done"` in the existing PRD carry forward as `"done"`. Pre-setting any other status on new items causes them to be silently skipped by the engine.
|
|
89
89
|
- **Do NOT include a "verify" or "test" or "integration test" item** — the engine automatically creates a verify task when all PRD items are done. Adding one manually creates a duplicate that blocks plan completion.
|
|
90
|
-
- **`project` field is
|
|
90
|
+
- **`project` field is required** — set it to the project name where the code changes go (e.g., `"OfficeAgent"`, `"office-bohemia"`). If the plan declares a single project, every item should use `{{project_name}}`; contextual mentions of another repo/product should not override it. Cross-repo plans should route each item to the correct project. The engine materializes items into that project's work queue.
|
|
91
91
|
- **Cross-repo plans:** when the plan body does NOT declare `**Project:**` (or declares it empty), `{{project_name}}` is unset. In that case, set each item's `project` to the actual repo where its code changes belong, and omit the top-level `"project"` field (or set it to `""`). Example:
|
|
92
92
|
```json
|
|
93
93
|
"missing_features": [
|
|
@@ -112,7 +112,7 @@ When the engine detects an existing PRD for this plan (`source_plan` match), it
|
|
|
112
112
|
**When an existing PRD is provided:**
|
|
113
113
|
|
|
114
114
|
1. **Parse the existing PRD JSON** — extract all `missing_features` items with their `id`, `status`, and metadata
|
|
115
|
-
2. **Preserve item IDs** — match existing items to current plan items by name/description similarity. Each plan item that corresponds to an existing PRD item
|
|
115
|
+
2. **Preserve item IDs** — match existing items to current plan items by name/description similarity. Each plan item that corresponds to an existing PRD item should reuse that item's `P-<id>`. Do not generate new IDs for items that already exist — duplicates orphan the prior work.
|
|
116
116
|
3. **Preserve done items** — any existing item with `"status": "done"` carries forward as `"done"` with the same ID, description, and acceptance criteria. Do NOT reset done items to `"missing"`
|
|
117
117
|
4. **Carry forward in-progress items** — items with `"status": "missing"` or other non-done statuses (except `"updated"`) keep their existing ID and reset to `"missing"`. Items with `"status": "updated"` keep their existing ID and remain `"updated"` — do NOT reset to `"missing"`
|
|
118
118
|
5. **New items only** — only generate new `P-<uuid>` IDs for items in the plan that have no match in the existing PRD
|
package/playbooks/review.md
CHANGED
|
@@ -59,7 +59,7 @@ Use subagents only for genuinely parallel, independent tasks (e.g., reviewing un
|
|
|
59
59
|
|
|
60
60
|
## Post Review — Submit your verdict
|
|
61
61
|
|
|
62
|
-
You MUST post a review comment with a clear verdict and write the completion report described in the shared rules. The verdict in the report is the primary machine-readable signal; the verdict line in the PR comment is for humans and backward compatibility.
|
|
62
|
+
You MUST post a review comment with a clear verdict and write the completion report described in the shared rules (schema: `docs/completion-reports.md`). The verdict in the report is the primary machine-readable signal; the verdict line in the PR comment is for humans and backward compatibility.
|
|
63
63
|
|
|
64
64
|
### Post your review with verdict
|
|
65
65
|
|
|
@@ -70,9 +70,7 @@ The engine provides a completion report path in the prompt and in `MINIONS_COMPL
|
|
|
70
70
|
{"status":"success","summary":"what changed and how it was validated","verdict":null,"pr":"PR id/url or N/A","failure_class":"N/A","retryable":false,"needs_rerun":false,"artifacts":[{"type":"note|plan|prd|pr|file","path":"relative/path/or/url","title":"short label"}]}
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
**No-op completions:** when you correctly decline to do the work — the change was already shipped on master, the dispatch premise is wrong, the flagged review comment is your own author-notes, etc. — write `status: "success"`, `pr: "N/A"`, AND add `"noop": true`. The engine treats `noop: true` as the canonical signal that no PR was expected, marks the work item done with the rationale surfaced in `_noopReason` for the dashboard, and skips the missing-PR-attachment failure. Without `noop: true`, an empty PR will still be flagged as a silent failure and auto-retried up to `maxRetries` times.
|
|
73
|
+
For the canonical schema — every field, the `failure_class` enum, `noop:true` semantics, `retryable` / `needs_rerun` shape, and the artifacts array — see `docs/completion-reports.md`. The JSON report is the primary signal; fenced `completion` blocks in stdout are accepted only as a fallback.
|
|
76
74
|
|
|
77
75
|
## Long-Running Commands
|
|
78
76
|
|
package/playbooks/verify.md
CHANGED
|
@@ -63,4 +63,4 @@ Track each E2E PR in the project's `.minions/pull-requests.json` if it is not al
|
|
|
63
63
|
|
|
64
64
|
Your task is complete once dependency branches are merged, build/test verification has run, the permanent guide is written, the inbox copy is written only if verification succeeded, and E2E PR URLs are included in your final response.
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
Include each E2E PR URL and the testing guide path in your final message, for example: `E2E PR created: <url>` and `Testing guide: {{team_root}}/prd/guides/verify-{{plan_slug}}.md`.
|
package/prompts/cc-system.md
CHANGED
|
@@ -113,12 +113,20 @@ curl -s -X POST http://localhost:{{dashboard_port}}/api/knowledge \
|
|
|
113
113
|
-d '{"category":"architecture","title":"Doc-chat session lifecycle","content":"..."}'
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
Build-and-test a PR:
|
|
116
|
+
Build-and-test a PR (dispatched as a `test` work item — engine routes it to the `build-and-test` playbook):
|
|
117
|
+
```
|
|
118
|
+
curl -s -X POST http://localhost:{{dashboard_port}}/api/work-items \
|
|
119
|
+
-H 'Content-Type: application/json' \
|
|
120
|
+
-H 'X-CC-Turn-Id: {{cc_turn_id}}' \
|
|
121
|
+
-d '{"title":"Build-and-test PR #1234","type":"test","project":"MyApp","description":"Run build + tests against PR #1234.","references":[{"url":"https://github.com/owner/MyApp/pull/1234","label":"PR #1234"}]}'
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Trigger a user-defined pipeline (only `id` is read from the body — there is no per-trigger context payload, so the pipeline runs exactly as configured):
|
|
117
125
|
```
|
|
118
126
|
curl -s -X POST http://localhost:{{dashboard_port}}/api/pipelines/trigger \
|
|
119
127
|
-H 'Content-Type: application/json' \
|
|
120
128
|
-H 'X-CC-Turn-Id: {{cc_turn_id}}' \
|
|
121
|
-
-d '{"id":"
|
|
129
|
+
-d '{"id":"my-pipeline-id"}'
|
|
122
130
|
```
|
|
123
131
|
|
|
124
132
|
Link an external PR for tracking:
|