@wairon/cli 5.1.1-dev.8 → 5.1.1-dev.9
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 +1 -0
- package/dist/cli/index.js +1211 -726
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +858 -531
- package/dist/index.js.map +1 -1
- package/dist/templates/skills/sdd-delegate.md +11 -3
- package/package.json +1 -1
|
@@ -23,16 +23,24 @@ You are the **Delegation Orchestrator**. Your job is to hand scoped work to a fo
|
|
|
23
23
|
- Pick the agent whose `ownedPaths`/domain matches the task. If no agent fits, stop and tell the user the topology has a gap.
|
|
24
24
|
2. **Fetch the LIVE brief**:
|
|
25
25
|
- Call `sdd_get_agent_brief(agentId)` (or read the `wairon-agent://<agentId>` resource).
|
|
26
|
-
- The brief carries: `agentId`, `name`, `template`, `domainRoot?`, `ownedPaths`, `readPaths?`, `instructions`, `variantGuidance
|
|
26
|
+
- The brief carries: `agentId`, `name`, `template`, `domainRoot?`, `ownedPaths`, `readPaths?`, `instructions`, `variantGuidance?`, and — when the project opted into `execution.tier` — `profile` and `budget`.
|
|
27
27
|
- **Never reuse a brief across delegations or after a re-lock** — fetch fresh per delegation; the call is cheap and the brief is always current.
|
|
28
28
|
3. **Spawn a GENERIC subagent from the brief**:
|
|
29
29
|
- Prompt: `brief.instructions`, plus the concrete task description.
|
|
30
30
|
- Write fence: the subagent may only modify files matching `brief.ownedPaths` (within `brief.domainRoot` when set).
|
|
31
31
|
- Required first reading: `brief.readPaths` — the subagent reads these before any edit.
|
|
32
32
|
- Pass `brief.variantGuidance` along when present.
|
|
33
|
-
4. **
|
|
33
|
+
4. **Apply `brief.budget` when it is present** — constituting the subagent correctly is part of spawning it, not a separate concern. When the brief carries no budget the project has not opted in; spawn as you otherwise would.
|
|
34
|
+
- `modelTier` → your host's model families. On Claude Code: `small`→haiku, `standard`→sonnet, `large`→opus, `frontier`→fable. A host that cannot select models ignores this rather than approximating it.
|
|
35
|
+
- `effort`, `maxTurns` → pass through where the host supports them. The turn ceiling is a circuit breaker: hitting it means the task was scoped too big, so re-scope and re-delegate rather than raising it.
|
|
36
|
+
- `toolClass` → `read-only` grants read/search only; `implement` adds edit/write/shell; `orchestrate` is for a router that owns nothing and must not read bulk content.
|
|
37
|
+
- `allowNestedDelegation: false` → withhold the delegation tool entirely, so the subagent does its own work instead of spawning another layer.
|
|
38
|
+
- `mcp: none` → do not load MCP servers into the subagent; its brief already quotes the contract it needs.
|
|
39
|
+
- **`frontier` is never an owner tier.** Derivation never assigns it. Treat it as a sparring partner: when a subagent is genuinely stuck on something the specs do not settle, escalate that *question* to a frontier-tier helper and bring the answer back. A component whose owner truly needs frontier capability to operate is usually a component doing too much — raise that as a spec concern rather than spending the tier.
|
|
40
|
+
- Fan delegations out in ONE message when they are independent. Siblings spawned together share a cached prompt prefix; dispatched one at a time they each pay for it.
|
|
41
|
+
5. **The subagent does the work**:
|
|
34
42
|
- For component implementation it follows the `sdd-implement` skill (gating checks, AI-TDD, narrative coding) and reports back: what changed, test results, anything out of scope.
|
|
35
|
-
|
|
43
|
+
6. **Review & integrate**:
|
|
36
44
|
- Read the report, verify the write fence was respected, and continue orchestrating — or delegate the next scoped task.
|
|
37
45
|
|
|
38
46
|
This flow is transport-agnostic: it works identically over local stdio and the hosted data plane — the tools and `wairon-agent://` resources are the same surface.
|