@yemi33/minions 0.1.580 → 0.1.582
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 +8 -0
- package/dashboard.js +46 -155
- package/engine.js +5 -0
- package/package.json +1 -1
- package/playbooks/templates/verify-guide.md +73 -0
- package/playbooks/verify.md +1 -77
package/CHANGELOG.md
CHANGED
package/dashboard.js
CHANGED
|
@@ -460,165 +460,56 @@ 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
|
-
├── config.json # Engine + project config (READ ONLY)
|
|
485
|
-
├── routing.md # Agent dispatch routing rules
|
|
486
|
-
├── notes.md # Consolidated team notes
|
|
487
|
-
├── work-items.json # Central work item queue (cross-project tasks)
|
|
488
|
-
├── projects/{name}/ # Per-project state (centralized, NOT in project repos)
|
|
489
|
-
│ ├── work-items.json # Project-specific work items
|
|
490
|
-
│ └── pull-requests.json # PR tracking for this project
|
|
491
|
-
├── agents/
|
|
492
|
-
│ ├── {id}/charter.md # Agent role definition
|
|
493
|
-
│ ├── {id}/output.log # Latest agent output
|
|
494
|
-
│ └── {id}/output-{dispatchId}.log # Archived outputs
|
|
495
|
-
├── plans/ # Source plans (.md)
|
|
496
|
-
├── prd/ # PRD items (.json), prd/archive/, prd/guides/
|
|
497
|
-
├── knowledge/{category}/*.md # Knowledge base
|
|
498
|
-
├── engine/ # Engine internals (READ ONLY)
|
|
499
|
-
│ ├── dispatch.json # Pending, active, completed dispatches
|
|
500
|
-
│ ├── metrics.json # Token/cost tracking
|
|
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.
|
|
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. Write your response first, then \`===ACTIONS===\` on its own line, then a JSON array. No text after the JSON. Omit entirely if no actions needed.
|
|
481
|
+
|
|
482
|
+
Example:
|
|
483
|
+
I'll dispatch dallas to fix that bug.
|
|
538
484
|
|
|
539
485
|
===ACTIONS===
|
|
540
|
-
[{"type": "
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
- **
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
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.
|
|
486
|
+
[{"type": "dispatch", "title": "Fix login bug", "workType": "fix", "agents": ["dallas"], "project": "MyApp", "description": "..."}]
|
|
487
|
+
|
|
488
|
+
Core action types:
|
|
489
|
+
- **dispatch**: title, workType, priority (low/medium/high), agents[] (optional), project, description
|
|
490
|
+
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)
|
|
491
|
+
- **note**: title, content — save to inbox
|
|
492
|
+
- **pin**: title, content, level (critical/warning) — visible to ALL agents
|
|
493
|
+
- **plan**: title, description, project, branchStrategy (parallel/shared-branch)
|
|
494
|
+
- **cancel**: agent, reason
|
|
495
|
+
- **retry**: ids[]
|
|
496
|
+
- **create-meeting**: title, agenda, agents[], rounds (default 3), project
|
|
497
|
+
- **set-config**: setting, value — valid: autoApprovePlans, autoDecompose, allowTempAgents, maxConcurrent, maxTurns, ccModel (sonnet/haiku/opus), ccEffort (null/low/medium/high)
|
|
498
|
+
- **steer-agent**: agent, message
|
|
499
|
+
- **execute-plan**: file, project
|
|
500
|
+
- **plan-edit**: file, instruction
|
|
501
|
+
- **file-edit**: file, instruction
|
|
502
|
+
|
|
503
|
+
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.
|
|
504
|
+
|
|
505
|
+
## Terminology
|
|
506
|
+
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
507
|
|
|
610
508
|
## 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.`;
|
|
509
|
+
1. Use tools proactively — read files before answering.
|
|
510
|
+
2. Be specific — cite IDs, names, filenames, line numbers.
|
|
511
|
+
3. Never modify engine source. Never push to git without user confirmation.
|
|
512
|
+
4. Delegate exploration to agents. You are the dispatcher, not the worker.`;
|
|
622
513
|
|
|
623
514
|
// Hash the system prompt so we can detect changes and invalidate stale sessions
|
|
624
515
|
const _ccPromptHash = require('crypto').createHash('md5').update(CC_STATIC_SYSTEM_PROMPT).digest('hex').slice(0, 8);
|
package/engine.js
CHANGED
|
@@ -146,6 +146,7 @@ let engineRestartGraceUntil = 0; // timestamp — suppress orphan detection unti
|
|
|
146
146
|
// Per-tick cache of refs that failed to fetch — avoids repeating 30s ETIMEDOUT for same missing ref
|
|
147
147
|
// Cleared at the start of each tick cycle (see tickInner)
|
|
148
148
|
const _failedRefCache = new Set();
|
|
149
|
+
const _FAST_WORK_TYPES = new Set([WORK_TYPE.EXPLORE, WORK_TYPE.ASK, WORK_TYPE.REVIEW]);
|
|
149
150
|
|
|
150
151
|
// Resolve dependency plan item IDs to their PR branches
|
|
151
152
|
function resolveDependencyBranches(depIds, sourcePlan, project, config) {
|
|
@@ -492,6 +493,10 @@ async function spawnAgent(dispatchItem, config) {
|
|
|
492
493
|
args.push('--allowedTools', claudeConfig.allowedTools);
|
|
493
494
|
}
|
|
494
495
|
|
|
496
|
+
// Effort level: use 'low' for fast work types unless configured otherwise
|
|
497
|
+
const effort = engineConfig.agentEffort || (_FAST_WORK_TYPES.has(type) ? 'low' : null);
|
|
498
|
+
if (effort) args.push('--effort', effort);
|
|
499
|
+
|
|
495
500
|
// Session resume: reuse last session if same branch and recent enough (< 2 hours)
|
|
496
501
|
let cachedSessionId = null;
|
|
497
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.582",
|
|
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
|
|