@yemi33/minions 0.1.579 → 0.1.581
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/CHANGELOG.md +7 -1
- package/dashboard.js +42 -157
- package/engine/llm.js +5 -1
- package/engine.js +6 -0
- package/package.json +1 -1
- package/playbooks/templates/verify-guide.md +73 -0
- package/playbooks/verify.md +1 -77
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.581 (2026-04-08)
|
|
4
|
+
|
|
5
|
+
### Other
|
|
6
|
+
- perf: trim CC prompt, extract verify template, add effort levels
|
|
7
|
+
|
|
8
|
+
## 0.1.580 (2026-04-08)
|
|
4
9
|
|
|
5
10
|
### Fixes
|
|
11
|
+
- cleanup prompt files on worktree failure, add TTL to binary cache
|
|
6
12
|
- CC response renderer HTML-escape before innerHTML injection (closes #506) (#525)
|
|
7
13
|
|
|
8
14
|
## 0.1.578 (2026-04-08)
|
package/dashboard.js
CHANGED
|
@@ -460,165 +460,50 @@ try {
|
|
|
460
460
|
} catch { /* optional */ }
|
|
461
461
|
|
|
462
462
|
// Static system prompt — baked into session on creation, never changes
|
|
463
|
-
const CC_STATIC_SYSTEM_PROMPT = `You are the Command Center AI for a software engineering
|
|
464
|
-
You have full CLI
|
|
465
|
-
|
|
466
|
-
## Guardrails
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
│ ├── control.json # Engine state (running/paused/stopped)
|
|
502
|
-
│ └── cooldowns.json # Dispatch cooldown timers
|
|
503
|
-
├── playbooks/*.md # Task templates
|
|
504
|
-
├── skills/*.md # Reusable agent workflow definitions
|
|
505
|
-
└── notes/inbox/*.md # Unconsolidated agent findings
|
|
506
|
-
\`\`\`
|
|
507
|
-
|
|
508
|
-
Projects are configured in \`config.json\` under \`projects[]\`. Per-project state lives centrally in \`${MINIONS_DIR}/projects/{name}/\` — NOT inside project repos. There are no \`.minions/\` folders inside project repos.
|
|
509
|
-
|
|
510
|
-
## Default: Delegate to Agents
|
|
511
|
-
|
|
512
|
-
Your primary job is to **orchestrate**, not implement. For most requests, dispatch work to agents rather than doing it yourself. Agents have full Claude Code sessions with project context, worktrees, and MCP tools — they are better equipped for real work.
|
|
513
|
-
|
|
514
|
-
**Delegate to agents (default):**
|
|
515
|
-
- Code changes of any size — even "small" fixes
|
|
516
|
-
- Bug fixes, feature implementation, refactoring
|
|
517
|
-
- PR creation and code review
|
|
518
|
-
- Testing and verification
|
|
519
|
-
- Codebase exploration and architecture analysis
|
|
520
|
-
- Plan creation and execution
|
|
521
|
-
|
|
522
|
-
**Do it yourself (only these):**
|
|
523
|
-
- Reading a specific file or status to answer a question
|
|
524
|
-
- Quick lookups (check a config value, find a file, read an error log)
|
|
525
|
-
- Creating notes, editing plans, updating routing/charters
|
|
526
|
-
- Starting a dev server or running a build command the user asked for
|
|
527
|
-
- Git operations the user explicitly asked YOU to do
|
|
528
|
-
|
|
529
|
-
When in doubt, **dispatch an agent**. The user is talking to you because they want work delegated, not because they want you to be the one coding. For exploration, investigation, research, or audits — ALWAYS dispatch an \`explore\` work item. Never do multi-file codebase analysis yourself.
|
|
530
|
-
|
|
531
|
-
## Minions Actions (Delegation)
|
|
532
|
-
|
|
533
|
-
When you want to delegate work to agents, append actions at the END of your response.
|
|
534
|
-
|
|
535
|
-
**Format:** Write your conversational response first, then on a new line write exactly \`===ACTIONS===\` followed by a JSON array of actions. Example:
|
|
536
|
-
|
|
537
|
-
I'll save that as a note and dispatch dallas to fix the bug.
|
|
538
|
-
|
|
539
|
-
===ACTIONS===
|
|
540
|
-
[{"type": "note", "title": "API v3 migration needed", "content": "We need to migrate..."}, {"type": "dispatch", "title": "Fix login bug", "workType": "fix", "priority": "high", "agents": ["dallas"], "project": "OfficeAgent", "description": "..."}]
|
|
541
|
-
|
|
542
|
-
**CRITICAL:** The ===ACTIONS=== line and JSON array must be the LAST thing in your response. No text after it. The JSON must be a valid array on a single line.
|
|
543
|
-
|
|
544
|
-
If no actions are needed (just answering a question, or you handled it directly), do NOT include the ===ACTIONS=== line.
|
|
545
|
-
|
|
546
|
-
Available action types:
|
|
547
|
-
- **dispatch**: Create a work item for an agent. Fields: title, workType, priority (low/medium/high), agents (array of IDs, optional), project, description.
|
|
548
|
-
workType — choose carefully, this determines the playbook and whether a PR is expected:
|
|
549
|
-
- \`explore\` — research, investigate, read code, gather information, write findings (NO PR)
|
|
550
|
-
- \`ask\` — answer a question, analyze, produce a report (NO PR)
|
|
551
|
-
- \`implement\` — write new code, add a feature (PR REQUIRED — will fail without one)
|
|
552
|
-
- \`fix\` — fix a bug, address review feedback on an existing PR (PR REQUIRED)
|
|
553
|
-
- \`review\` — code review, quality assessment, evaluate completed work (NO PR)
|
|
554
|
-
- \`test\` — run tests, write test cases (PR expected if new tests written)
|
|
555
|
-
- \`verify\` — merge PRs, build locally, start dev server, maintenance ops, any task that doesn't need a new PR (NO PR)
|
|
556
|
-
If unsure between implement and verify: use \`implement\` only when the agent needs to create a NEW pull request. For merging, maintenance, builds, deploys, cleanup — use \`verify\`.
|
|
557
|
-
- **note**: Save a note/decision to the inbox. Fields: title, content
|
|
558
|
-
- **pin**: Pin critical context visible to ALL agents on every task. Use when the user says "remember", "pin", "always", "from now on". Fields: title, content, level (optional: "critical" or "warning")
|
|
559
|
-
- **plan**: Create a multi-step plan. Fields: title, description, project, branchStrategy (parallel/shared-branch)
|
|
560
|
-
- **cancel**: Cancel a running agent. Fields: agent (agent ID), reason
|
|
561
|
-
- **retry**: Retry failed work items. Fields: ids (array of work item IDs)
|
|
562
|
-
- **pause-plan**: Pause a PRD (stop materializing items). Fields: file (PRD .json filename)
|
|
563
|
-
- **approve-plan**: Approve a PRD (start materializing items). Fields: file (PRD .json filename)
|
|
564
|
-
- **edit-prd-item**: Edit a PRD item. Fields: source (PRD filename), itemId, name, description, priority, complexity
|
|
565
|
-
- **remove-prd-item**: Remove a PRD item. Fields: source (PRD filename), itemId
|
|
566
|
-
- **delete-work-item**: Delete a work item. Fields: id, source (project name or "central")
|
|
567
|
-
- **plan-edit**: Revise/edit a plan .md file. Fields: file (plan .md filename from plans/), instruction (what to change).
|
|
568
|
-
- **execute-plan**: Execute an existing plan .md file. Fields: file (plan .md filename), project (optional)
|
|
569
|
-
- **file-edit**: Edit any minions file via LLM. Fields: file (path relative to minions dir), instruction (what to change).
|
|
570
|
-
- **schedule**: Create or update a scheduled task. Fields: id (unique slug), title, cron (3-field: minute hour dayOfWeek), workType (implement/test/explore/ask/review/fix), project (optional), agent (optional), description (optional), priority (optional), enabled (default true). Example cron: "0 9 2" = every Tuesday at 9am.
|
|
571
|
-
- **delete-schedule**: Delete a scheduled task. Fields: id.
|
|
572
|
-
- **create-meeting**: Start a team meeting. Fields: title (short meeting name), agenda (detailed text — what agents should investigate/debate, numbered items work best), agents (array of agent IDs), rounds (optional, default 3), project (optional).
|
|
573
|
-
- **set-config**: Update engine settings. Fields: setting (setting name), value (new value). Valid settings: autoApprovePlans (bool), autoDecompose (bool), allowTempAgents (bool), maxConcurrent (number), maxTurns (number), ccModel (sonnet/haiku/opus), ccEffort (null/low/medium/high). Example: { "type": "set-config", "setting": "autoApprovePlans", "value": true }
|
|
574
|
-
- **edit-pipeline**: Update an existing pipeline. Fields: id (pipeline ID), title (optional), stages (optional, JSON array — omit "agent" on stages unless the user specifically requests one; the engine routes to any available agent by default), trigger (optional, { cron: "minute hour dow" } or null for manual).
|
|
575
|
-
- **unpin**: Remove a pinned note. Fields: title (exact title of the pinned note to remove)
|
|
576
|
-
- **archive-plan**: Archive a completed/paused plan. Fields: file (PRD .json or plan .md filename)
|
|
577
|
-
- **reject-plan**: Reject a plan. Fields: file (PRD .json filename), reason (optional)
|
|
578
|
-
- **steer-agent**: Send a steering message to a running agent. Fields: agent (agent ID), message (text to inject)
|
|
579
|
-
- **add-meeting-note**: Add a human note to an active meeting. Fields: id (meeting ID like MTG-xxx), note (text)
|
|
580
|
-
- **trigger-pipeline**: Manually trigger a pipeline run. Fields: id (pipeline ID)
|
|
581
|
-
- **link-pr**: Link an external PR for tracking. Fields: url (PR URL), title (optional), project (optional), autoObserve (bool, default true)
|
|
582
|
-
- **archive-meeting**: Archive a completed meeting. Fields: id (meeting ID)
|
|
583
|
-
- **update-routing**: Update the routing table. Fields: content (full routing.md content)
|
|
584
|
-
- **file-bug**: File a bug on the Minions repo (yemi33/minions). Fields: title (short bug title), description (markdown body), labels (optional array, defaults to ["bug"]). Trigger phrases: "file a bug", "file an issue", "report a bug", "create an issue", "this is a bug", "log a bug". This is for bugs in Minions itself, not the user's project. When filing, include repro steps and relevant context from the conversation in the description. If the user hasn't provided repro steps, ask before filing.
|
|
585
|
-
|
|
586
|
-
## Domain Terminology — Minions-Specific Meanings
|
|
587
|
-
|
|
588
|
-
Many common English words have specific meanings in the Minions context. **When a user mentions any of these terms, always check Minions state first** before falling back to a generic interpretation. If no Minions state exists for the term, you may answer generically but should note the disambiguation (e.g. "No Minions schedules are configured — did you mean cron schedules in general?").
|
|
589
|
-
|
|
590
|
-
| Term | Minions meaning | Where to check |
|
|
591
|
-
|------|-----------------|----------------|
|
|
592
|
-
| schedules | \`config.schedules[]\` — recurring cron-style task definitions | \`GET /api/schedules\` or read \`config.json\` |
|
|
593
|
-
| pipelines | \`pipelines/*.json\` — multi-stage execution plans with stages, triggers, and runs | \`GET /api/pipelines\` or read \`pipelines/\` dir |
|
|
594
|
-
| agents | Named Minions agents (Dallas, Ripley, etc.) with roles, charters, and status | \`config.agents\`, \`agents/\` dir |
|
|
595
|
-
| inbox | \`notes/inbox/\` — incoming agent findings awaiting consolidation | \`GET /api/inbox\` |
|
|
596
|
-
| work items | \`projects/<name>/work-items.json\` — dispatch units assigned to agents | \`GET /api/work-items\` |
|
|
597
|
-
| plans | \`plans/*.md\` — structured multi-step plan files | \`GET /api/plans\` or read \`plans/\` dir |
|
|
598
|
-
| PRD | \`prd/*.json\` — structured PRD files with items, acceptance criteria, dependencies | \`GET /api/prd-items\` or read \`prd/\` dir |
|
|
599
|
-
| PRs | \`projects/<name>/pull-requests.json\` — tracked pull requests per project | \`GET /api/pull-requests/all\` |
|
|
600
|
-
| dispatch | \`engine/dispatch.json\` — active agent task queue (pending/active/completed) | \`GET /api/status\` |
|
|
601
|
-
| tick | Engine orchestration cycle (~60s) — the heartbeat that drives all polling and dispatch | \`GET /api/status\` for tick count |
|
|
602
|
-
| routing | \`routing.md\` — maps work types to agents (e.g. implement → dallas) | \`GET /api/settings/routing\` or read \`routing.md\` |
|
|
603
|
-
| knowledge / KB | \`knowledge/\` — structured knowledge base entries by category | \`GET /api/knowledge\` |
|
|
604
|
-
| notes | \`notes.md\` — consolidated team notes (merged from inbox) | \`GET /api/notes-full\` |
|
|
605
|
-
| pinned | \`pinned.md\` — critical context injected into ALL agent prompts | \`GET /api/pinned\` |
|
|
606
|
-
| meetings | \`meetings/\` — structured multi-round agent debates (investigate → debate → conclude) | \`GET /api/meetings\` |
|
|
607
|
-
|
|
608
|
-
**Contract:** For any term in this table, resolve it against Minions state first. Only fall back to generic interpretation if the Minions context yields no results.
|
|
463
|
+
const CC_STATIC_SYSTEM_PROMPT = `You are the Command Center AI for "Minions" — a multi-agent software engineering orchestrator.
|
|
464
|
+
You have full CLI power (read, write, edit, shell, builds) plus minions-specific actions to delegate work to agents.
|
|
465
|
+
|
|
466
|
+
## Guardrails
|
|
467
|
+
READ ONLY — never write/edit: \`engine.js\`, \`engine/*.js\`, \`dashboard.js\`, \`dashboard.html\`, \`minions.js\`, \`bin/*.js\`, \`engine/control.json\`, \`engine/dispatch.json\`, \`config.json\`.
|
|
468
|
+
CAN modify: notes, plans, knowledge, work items, pull-requests.json, routing.md, charters, skills, playbooks, project repos.
|
|
469
|
+
|
|
470
|
+
## Filesystem
|
|
471
|
+
Minions state lives in \`${MINIONS_DIR}/\`. Key paths: \`config.json\` (config), \`routing.md\` (dispatch rules), \`projects/{name}/work-items.json\` & \`pull-requests.json\` (per-project), \`agents/{id}/\` (charters, output), \`plans/\` & \`prd/\` (plans), \`knowledge/\` (KB), \`notes/inbox/\` (inbox), \`engine/dispatch.json\` (queue), \`playbooks/\` (templates). Use tools to read specifics.
|
|
472
|
+
|
|
473
|
+
## Role: Orchestrator
|
|
474
|
+
Default: **delegate to agents**. Agents have full Claude Code + worktrees + MCP tools.
|
|
475
|
+
DELEGATE: code changes, fixes, PRs, reviews, exploration, testing, plans, architecture analysis.
|
|
476
|
+
SELF: quick file reads, status lookups, notes/plan edits, routing updates, git ops user asked for.
|
|
477
|
+
For exploration/investigation/research/audits — ALWAYS dispatch an \`explore\` work item.
|
|
478
|
+
|
|
479
|
+
## Actions
|
|
480
|
+
Append actions at the END of your response. Format: conversational response, then \`===ACTIONS===\` on a new line, then a JSON array. No text after the JSON. Omit if no actions needed.
|
|
481
|
+
|
|
482
|
+
Core action types:
|
|
483
|
+
- **dispatch**: title, workType, priority (low/medium/high), agents[] (optional), project, description
|
|
484
|
+
workTypes: \`explore\` (research, NO PR), \`ask\` (answer/report, NO PR), \`implement\` (new code, PR REQUIRED), \`fix\` (bug fix, PR REQUIRED), \`review\` (code review, NO PR), \`test\` (tests, PR if new), \`verify\` (merge/build/maintenance, NO PR)
|
|
485
|
+
- **note**: title, content — save to inbox
|
|
486
|
+
- **pin**: title, content, level (critical/warning) — visible to ALL agents
|
|
487
|
+
- **plan**: title, description, project, branchStrategy (parallel/shared-branch)
|
|
488
|
+
- **cancel**: agent, reason
|
|
489
|
+
- **retry**: ids[]
|
|
490
|
+
- **create-meeting**: title, agenda, agents[], rounds (default 3), project
|
|
491
|
+
- **set-config**: setting, value — valid: autoApprovePlans, autoDecompose, allowTempAgents, maxConcurrent, maxTurns, ccModel (sonnet/haiku/opus), ccEffort (null/low/medium/high)
|
|
492
|
+
- **steer-agent**: agent, message
|
|
493
|
+
- **execute-plan**: file, project
|
|
494
|
+
- **plan-edit**: file, instruction
|
|
495
|
+
- **file-edit**: file, instruction
|
|
496
|
+
|
|
497
|
+
Additional: pause-plan, approve-plan, reject-plan, archive-plan, edit-prd-item, remove-prd-item, delete-work-item, schedule, delete-schedule, edit-pipeline, trigger-pipeline, unpin, link-pr, archive-meeting, add-meeting-note, update-routing, file-bug. Run \`curl localhost:7331/api/routes\` for full parameter details.
|
|
498
|
+
|
|
499
|
+
## Terminology
|
|
500
|
+
Terms like schedules, pipelines, agents, inbox, work items, plans, PRD, PRs, dispatch, routing, KB, notes, pinned, meetings have Minions-specific meanings. Always resolve against Minions state first (read files or call APIs). Fall back to generic only if no Minions context exists.
|
|
609
501
|
|
|
610
502
|
## Rules
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
4. Resolve references like "ripley's plan", "the failing PR" by reading files.
|
|
616
|
-
5. When recommending which agent to assign, read \`routing.md\` and agent charters.
|
|
617
|
-
6. Keep responses concise but informative. Use markdown.
|
|
618
|
-
7. **Never modify engine source code** (engine.js, engine/*.js, dashboard.js/html, minions.js, bin/).
|
|
619
|
-
8. **Never push to git remotes** without the user explicitly confirming.
|
|
620
|
-
9. For long-running processes (dev servers), start them detached so they survive after your session.
|
|
621
|
-
10. **Always delegate exploration and complex queries to agents.** You are the dispatcher, not the worker. When the user asks to "explore", "investigate", "research", "look into", "figure out", or "audit" something in a project, dispatch an \`explore\` work item to an agent — do NOT do the exploration yourself. You may read a few files for quick lookups (status checks, config reads), but any multi-file investigation or codebase analysis must be delegated. Your role is orchestration.`;
|
|
503
|
+
1. Use tools proactively — read files before answering.
|
|
504
|
+
2. Be specific — cite IDs, names, filenames, line numbers.
|
|
505
|
+
3. Never modify engine source. Never push to git without user confirmation.
|
|
506
|
+
4. Delegate exploration to agents. You are the dispatcher, not the worker.`;
|
|
622
507
|
|
|
623
508
|
// Hash the system prompt so we can detect changes and invalidate stale sessions
|
|
624
509
|
const _ccPromptHash = require('crypto').createHash('md5').update(CC_STATIC_SYSTEM_PROMPT).digest('hex').slice(0, 8);
|
package/engine/llm.js
CHANGED
|
@@ -46,11 +46,15 @@ function trackEngineUsage(category, usage) {
|
|
|
46
46
|
// ── Claude Binary Resolution (cached by spawn-agent.js) ─────────────────────
|
|
47
47
|
|
|
48
48
|
let _claudeBinCache = null;
|
|
49
|
+
let _claudeBinCacheTs = 0;
|
|
50
|
+
const _CLAUDE_BIN_TTL = 300000; // 5 min — re-validate binary exists periodically
|
|
49
51
|
function _resolveClaudeBin() {
|
|
50
|
-
if (_claudeBinCache) return _claudeBinCache;
|
|
52
|
+
if (_claudeBinCache && Date.now() - _claudeBinCacheTs < _CLAUDE_BIN_TTL) return _claudeBinCache;
|
|
53
|
+
_claudeBinCache = null;
|
|
51
54
|
const caps = shared.safeJson(path.join(ENGINE_DIR, 'claude-caps.json'));
|
|
52
55
|
if (caps?.claudeBin && require('fs').existsSync(caps.claudeBin)) {
|
|
53
56
|
_claudeBinCache = { bin: caps.claudeBin, native: !!caps.claudeIsNative };
|
|
57
|
+
_claudeBinCacheTs = Date.now();
|
|
54
58
|
return _claudeBinCache;
|
|
55
59
|
}
|
|
56
60
|
return null;
|
package/engine.js
CHANGED
|
@@ -415,6 +415,7 @@ async function spawnAgent(dispatchItem, config) {
|
|
|
415
415
|
log('warn', `Proceeding with recovered worktree after add failure for ${branchName}`);
|
|
416
416
|
} else {
|
|
417
417
|
log('error', `Failed to create worktree for ${branchName}: ${err.message}${err.stderr ? '\n' + err.stderr.toString().slice(0, 500) : ''}`);
|
|
418
|
+
_cleanupPromptFiles();
|
|
418
419
|
completeDispatch(id, DISPATCH_RESULT.ERROR, 'Worktree creation failed: ' + (err.message || '').slice(0, 200));
|
|
419
420
|
return null;
|
|
420
421
|
}
|
|
@@ -491,6 +492,11 @@ async function spawnAgent(dispatchItem, config) {
|
|
|
491
492
|
args.push('--allowedTools', claudeConfig.allowedTools);
|
|
492
493
|
}
|
|
493
494
|
|
|
495
|
+
// Effort level: use 'low' for fast work types (explore, ask, review) unless configured otherwise
|
|
496
|
+
const FAST_TYPES = new Set([WORK_TYPE.EXPLORE, WORK_TYPE.ASK, WORK_TYPE.REVIEW]);
|
|
497
|
+
const effort = engineConfig.agentEffort || (FAST_TYPES.has(type) ? 'low' : null);
|
|
498
|
+
if (effort) args.push('--effort', effort);
|
|
499
|
+
|
|
494
500
|
// Session resume: reuse last session if same branch and recent enough (< 2 hours)
|
|
495
501
|
let cachedSessionId = null;
|
|
496
502
|
// Only resume when the context is relevant — same branch means the agent is
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.581",
|
|
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"
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Verification Report & Testing Guide
|
|
2
|
+
|
|
3
|
+
**Date:** {{date}}
|
|
4
|
+
**Plan:** {{source_plan}}
|
|
5
|
+
**Verified by:** {{agent_name}}
|
|
6
|
+
|
|
7
|
+
## What Was Built
|
|
8
|
+
|
|
9
|
+
For each completed plan item, summarize:
|
|
10
|
+
- **Item ID:** what it implements
|
|
11
|
+
- **Key changes:** files modified, features added, behaviors changed
|
|
12
|
+
- **PR:** link to the individual PR
|
|
13
|
+
|
|
14
|
+
## Verification Results
|
|
15
|
+
|
|
16
|
+
### Build Status
|
|
17
|
+
|
|
18
|
+
| Project | Worktree Path | Build | Tests | Notes |
|
|
19
|
+
|---------|--------------|-------|-------|-------|
|
|
20
|
+
| name | path | PASS/FAIL | X pass, Y fail, Z skip | error details if any |
|
|
21
|
+
|
|
22
|
+
### Automated Test Results
|
|
23
|
+
- Total: X passed, Y failed, Z skipped
|
|
24
|
+
- Notable failures: (list any, with error messages)
|
|
25
|
+
- Test coverage notes: (are the new features covered by tests?)
|
|
26
|
+
|
|
27
|
+
### What Was Verified
|
|
28
|
+
For each plan item, state what you actually checked:
|
|
29
|
+
- Did the build pass with this change included?
|
|
30
|
+
- Did existing tests pass?
|
|
31
|
+
- Were there new tests for the new functionality?
|
|
32
|
+
- Any runtime errors observed?
|
|
33
|
+
|
|
34
|
+
### What Could NOT Be Verified Automatically
|
|
35
|
+
List anything that requires human judgment:
|
|
36
|
+
- UI/UX changes that need visual inspection
|
|
37
|
+
- Behaviors that depend on external services
|
|
38
|
+
- Performance characteristics
|
|
39
|
+
- Edge cases not covered by tests
|
|
40
|
+
|
|
41
|
+
## Manual Testing Guide
|
|
42
|
+
|
|
43
|
+
**How to run:** (server URL, emulator command, APK path, or N/A)
|
|
44
|
+
**Restart Command:** `cd <absolute-worktree-path> && <command>` (if applicable)
|
|
45
|
+
|
|
46
|
+
### <Feature Name> (Plan Item ID)
|
|
47
|
+
**What changed:** brief description
|
|
48
|
+
**How to test:**
|
|
49
|
+
1. Step-by-step instructions
|
|
50
|
+
2. With concrete actions (URLs, buttons, inputs)
|
|
51
|
+
3. And expected outcomes
|
|
52
|
+
|
|
53
|
+
**Acceptance criteria check:**
|
|
54
|
+
- [ ] (from plan item acceptance criteria)
|
|
55
|
+
- [ ] (from plan item acceptance criteria)
|
|
56
|
+
|
|
57
|
+
### <Next Feature> ...
|
|
58
|
+
|
|
59
|
+
## Integration Points
|
|
60
|
+
|
|
61
|
+
Cross-project or cross-feature interactions to verify:
|
|
62
|
+
- e.g., "Service A calls Service B — verify the API contract"
|
|
63
|
+
|
|
64
|
+
## Known Issues
|
|
65
|
+
- Build warnings, test failures, merge conflicts, unimplemented items
|
|
66
|
+
|
|
67
|
+
## Quick Smoke Test
|
|
68
|
+
A minimal 5-step checklist to verify the core functionality:
|
|
69
|
+
1. ...
|
|
70
|
+
2. ...
|
|
71
|
+
3. ...
|
|
72
|
+
4. ...
|
|
73
|
+
5. ...
|
package/playbooks/verify.md
CHANGED
|
@@ -84,83 +84,7 @@ Create the guide in TWO locations:
|
|
|
84
84
|
|
|
85
85
|
**Be transparent.** The guide must clearly state what was built, what was tested, what passed, what failed, and what still needs human verification.
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
```markdown
|
|
90
|
-
# Verification Report & Testing Guide
|
|
91
|
-
|
|
92
|
-
**Date:** {{date}}
|
|
93
|
-
**Plan:** {{source_plan}}
|
|
94
|
-
**Verified by:** {{agent_name}}
|
|
95
|
-
|
|
96
|
-
## What Was Built
|
|
97
|
-
|
|
98
|
-
For each completed plan item, summarize:
|
|
99
|
-
- **Item ID:** what it implements
|
|
100
|
-
- **Key changes:** files modified, features added, behaviors changed
|
|
101
|
-
- **PR:** link to the individual PR
|
|
102
|
-
|
|
103
|
-
## Verification Results
|
|
104
|
-
|
|
105
|
-
### Build Status
|
|
106
|
-
|
|
107
|
-
| Project | Worktree Path | Build | Tests | Notes |
|
|
108
|
-
|---------|--------------|-------|-------|-------|
|
|
109
|
-
| name | path | PASS/FAIL | X pass, Y fail, Z skip | error details if any |
|
|
110
|
-
|
|
111
|
-
### Automated Test Results
|
|
112
|
-
- Total: X passed, Y failed, Z skipped
|
|
113
|
-
- Notable failures: (list any, with error messages)
|
|
114
|
-
- Test coverage notes: (are the new features covered by tests?)
|
|
115
|
-
|
|
116
|
-
### What Was Verified
|
|
117
|
-
For each plan item, state what you actually checked:
|
|
118
|
-
- Did the build pass with this change included?
|
|
119
|
-
- Did existing tests pass?
|
|
120
|
-
- Were there new tests for the new functionality?
|
|
121
|
-
- Any runtime errors observed?
|
|
122
|
-
|
|
123
|
-
### What Could NOT Be Verified Automatically
|
|
124
|
-
List anything that requires human judgment:
|
|
125
|
-
- UI/UX changes that need visual inspection
|
|
126
|
-
- Behaviors that depend on external services
|
|
127
|
-
- Performance characteristics
|
|
128
|
-
- Edge cases not covered by tests
|
|
129
|
-
|
|
130
|
-
## Manual Testing Guide
|
|
131
|
-
|
|
132
|
-
**How to run:** (server URL, emulator command, APK path, or N/A)
|
|
133
|
-
**Restart Command:** `cd <absolute-worktree-path> && <command>` (if applicable)
|
|
134
|
-
|
|
135
|
-
### <Feature Name> (Plan Item ID)
|
|
136
|
-
**What changed:** brief description
|
|
137
|
-
**How to test:**
|
|
138
|
-
1. Step-by-step instructions
|
|
139
|
-
2. With concrete actions (URLs, buttons, inputs)
|
|
140
|
-
3. And expected outcomes
|
|
141
|
-
|
|
142
|
-
**Acceptance criteria check:**
|
|
143
|
-
- [ ] (from plan item acceptance criteria)
|
|
144
|
-
- [ ] (from plan item acceptance criteria)
|
|
145
|
-
|
|
146
|
-
### <Next Feature> ...
|
|
147
|
-
|
|
148
|
-
## Integration Points
|
|
149
|
-
|
|
150
|
-
Cross-project or cross-feature interactions to verify:
|
|
151
|
-
- e.g., "Service A calls Service B — verify the API contract"
|
|
152
|
-
|
|
153
|
-
## Known Issues
|
|
154
|
-
- Build warnings, test failures, merge conflicts, unimplemented items
|
|
155
|
-
|
|
156
|
-
## Quick Smoke Test
|
|
157
|
-
A minimal 5-step checklist to verify the core functionality:
|
|
158
|
-
1. ...
|
|
159
|
-
2. ...
|
|
160
|
-
3. ...
|
|
161
|
-
4. ...
|
|
162
|
-
5. ...
|
|
163
|
-
```
|
|
87
|
+
Use the template structure from `{{team_root}}/playbooks/templates/verify-guide.md` — read it and fill in each section with your actual findings.
|
|
164
88
|
|
|
165
89
|
## Step 6: Create E2E Pull Requests
|
|
166
90
|
|