opencode-dispatcher 0.2.4 → 0.2.6
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
CHANGED
|
@@ -184,15 +184,18 @@ The documentation agent is used when the task needs README updates, project cont
|
|
|
184
184
|
|
|
185
185
|
The research agent is used when a decision depends on external facts such as official documentation, vendor behaviour, pricing, APIs, or current best practices.
|
|
186
186
|
|
|
187
|
-
### Bootstrap and Shipping
|
|
187
|
+
### Bootstrap, Configuration, and Shipping
|
|
188
188
|
|
|
189
|
-
| Agent
|
|
190
|
-
|
|
|
191
|
-
| Init
|
|
192
|
-
|
|
|
189
|
+
| Agent | Role | Used When |
|
|
190
|
+
| ------------ | --------------------------------------------------- | ---------------------------------------------- |
|
|
191
|
+
| Init | Bootstraps `.ai/context.md` | First use in a project |
|
|
192
|
+
| Model Config | Assigns models to specific agents in project config | When per-agent model overrides are needed |
|
|
193
|
+
| Shipper | Handles git commit and push only | When explicitly requested |
|
|
193
194
|
|
|
194
195
|
The init agent is used when a project does not yet have `.ai/context.md`.
|
|
195
196
|
|
|
197
|
+
The model config agent configures per-agent models in `opencode.jsonc`.
|
|
198
|
+
|
|
196
199
|
The shipper is never used automatically. It only commits or pushes when you explicitly ask for git shipping work.
|
|
197
200
|
|
|
198
201
|
## Common Routes
|
|
@@ -314,7 +317,7 @@ Stores the approved task scope, including:
|
|
|
314
317
|
|
|
315
318
|
* scope
|
|
316
319
|
* non-goals
|
|
317
|
-
* testable acceptance criteria
|
|
320
|
+
* testable acceptance criteria (includes test file path hints)
|
|
318
321
|
* inspectable acceptance criteria
|
|
319
322
|
* relevant files
|
|
320
323
|
* validation plan
|
|
@@ -491,6 +494,15 @@ Install it from any project with:
|
|
|
491
494
|
npx opencode-dispatcher install
|
|
492
495
|
```
|
|
493
496
|
|
|
497
|
+
## Security & Permissions
|
|
498
|
+
|
|
499
|
+
Dispatcher enforces strict boundaries through OpenCode's permission model:
|
|
500
|
+
|
|
501
|
+
* The orchestrator cannot run arbitrary shell commands, scripts, or write to files. It uses a strict bash whitelist limited to read-only informational tools (`ls`, `git status`, `which`, etc.).
|
|
502
|
+
* Subagents only get the permissions they need (e.g. shipper is strictly gated around specific git operations).
|
|
503
|
+
* To reduce excessive permission prompts during standard development cycles, the `implementer` and `validator` agents are granted broad `bash` execution allowances so they can seamlessly run test, build, and dev commands.
|
|
504
|
+
* The `edit: deny` constraint is properly enforced because the shell escape hatch is sealed by the `bash` permission whitelist.
|
|
505
|
+
|
|
494
506
|
## Limitations
|
|
495
507
|
|
|
496
508
|
* Managed global agent paths are backed up, then overlaid with Dispatcher files.
|
|
@@ -511,3 +523,20 @@ Dispatcher is probably unnecessary when you only need:
|
|
|
511
523
|
* work where formal task artifacts would slow you down
|
|
512
524
|
|
|
513
525
|
Use Dispatcher when the structure is worth it. Use the fast path or plain OpenCode when it is not.
|
|
526
|
+
|
|
527
|
+
## Version History
|
|
528
|
+
|
|
529
|
+
* **v0.2.5**
|
|
530
|
+
* **Model Configuration**: Added the `model-config` agent to seamlessly assign specific models to different agents in the project's `opencode.jsonc`.
|
|
531
|
+
* **Workflow Standardization**: Enforced sequential, zero-padded numeric prefixes for all task directories (e.g., `001-feature-name`) across all agents to ensure proper sorting and tracking.
|
|
532
|
+
* **Usability Fixes**: Granted `bash` execution allowances to `implementer` and `validator` agents to reduce excessive permission prompts during test and build cycles.
|
|
533
|
+
* **Artifact Improvements**: Split the task spec template into *Testable Acceptance Criteria* (with explicit test file path hints) and *Inspectable Acceptance Criteria* to better guide the `test-writer` and `validator`.
|
|
534
|
+
* **v0.2.4**
|
|
535
|
+
* Hardened security boundaries by applying explicit read-only bash whitelists to the `orchestrator` and sealing `edit: deny` escape hatches.
|
|
536
|
+
* **v0.2.1**
|
|
537
|
+
* Minor permission fixes to allow the orchestrator to cleanly delegate to the `executor` fast-path agent.
|
|
538
|
+
* **v0.2.0**
|
|
539
|
+
* **Major Overhaul**: Replaced the general conversational agents with a durable, stateful task workflow.
|
|
540
|
+
* Introduced the central `orchestrator` as a user-facing router.
|
|
541
|
+
* Shifted to explicit `.ai/tasks/` artifacts (task specs, implementation reports, validation reports) to make agent work inspectable, resumable, and git-trackable.
|
|
542
|
+
* Consolidated legacy roles into specialized agents (`task-planner`, `implementer`, `validator`, `test-writer`).
|
package/package.json
CHANGED
package/workflow/agents/init.md
CHANGED
|
@@ -21,7 +21,8 @@ Responsibilities:
|
|
|
21
21
|
- Naming conventions: casing, file and component naming (`## Conventions`).
|
|
22
22
|
- File layout: co-located tests, file-per-component, directory structure (`## Conventions`).
|
|
23
23
|
- Any project-specific rules: import style, hook ordering, error handling (`## Conventions`).
|
|
24
|
-
-
|
|
24
|
+
- Agy integration: ask if they want to enable the Agy fast-path implementer (`agy: enabled` flag in `## Workflow`).
|
|
25
|
+
- Create `.ai/context.md` with `## Test Setup`, `## Conventions`, and `## Workflow` sections using the user's exact answers.
|
|
25
26
|
- Do not invent project facts. Do not create any other files.
|
|
26
27
|
|
|
27
28
|
Default report back:
|
|
@@ -59,7 +59,7 @@ Hard boundary: do not implement substantial code, UI, docs, or config changes yo
|
|
|
59
59
|
Artifact source-of-truth rules:
|
|
60
60
|
|
|
61
61
|
- Do not rely on chat-only artifacts for substantial work.
|
|
62
|
-
- Project `.ai/context.md` captures durable project truth: shared language, architecture facts, conventions, constraints, and
|
|
62
|
+
- Project `.ai/context.md` captures durable project truth: shared language, architecture facts, conventions, constraints, stable decisions, and workflow flags (like `agy: enabled`).
|
|
63
63
|
- `.ai/tasks/<NNN>-<task-id>/task-spec.md` captures task truth: approved scope, acceptance criteria, constraints, relevant files, and validation plan.
|
|
64
64
|
- Task reports live beside the task spec: `implementation-report.md`, `documentation-report.md`, and `validation-report.md`.
|
|
65
65
|
|
|
@@ -116,6 +116,10 @@ Choose the smallest safe path:
|
|
|
116
116
|
- Use shipper only when the user explicitly asks to commit or push.
|
|
117
117
|
- Use model-config when the user wants to configure per-agent models for this project.
|
|
118
118
|
|
|
119
|
+
### Common Requests
|
|
120
|
+
|
|
121
|
+
- **Enable agy / enable antigravity**: Add `agy: enabled` to `.ai/context.md` under `## Workflow`. Route to executor.
|
|
122
|
+
|
|
119
123
|
### DELEGATE
|
|
120
124
|
|
|
121
125
|
Delegate to the specialist that owns the next action.
|