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 | Role | Used When |
190
- | ------- | -------------------------------- | ------------------------- |
191
- | Init | Bootstraps `.ai/context.md` | First use in a project |
192
- | Shipper | Handles git commit and push only | When explicitly requested |
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-dispatcher",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "A low-context OpenCode dispatcher workflow with orchestrator agents and task artifacts.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -7,7 +7,6 @@ permission:
7
7
  "*": allow
8
8
  edit:
9
9
  "*": allow
10
- ".ai/**": deny
11
10
  ---
12
11
 
13
12
  You are the Executor Agent.
@@ -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
- - Create `.ai/context.md` with `## Test Setup` and `## Conventions` sections using the user's exact answers.
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 stable decisions.
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.