agent-composer 0.2.0 → 0.2.2

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
@@ -1,6 +1,6 @@
1
1
  # Composer — multi-agent orchestration for Claude Code
2
2
 
3
- [![npm](https://img.shields.io/badge/npm-agent--composer-blue)](#install) [![tests](https://img.shields.io/badge/vitest-376%20passing-brightgreen)](#contributing) [![license](https://img.shields.io/badge/license-MIT-lightgrey)](#license)
3
+ [![npm](https://img.shields.io/badge/npm-agent--composer-blue)](#install) [![tests](https://img.shields.io/badge/vitest-435%20passing-brightgreen)](#contributing) [![license](https://img.shields.io/badge/license-MIT-lightgrey)](#license)
4
4
 
5
5
  > **Claude orchestrates. GLM, Codex, and `agy` execute — and *apply* — off your Claude quota.** Composer is an MCP server + Claude Code plugin that lets the most-capable model hold the plan while worker models generate *and write* the code in their own context. Because the executors apply files themselves (instead of returning text the main session must re-ingest), composer keeps the orchestrator's context lean and every change reviewable.
6
6
 
@@ -13,7 +13,7 @@ Two coordinated artefacts:
13
13
  | **`agent-composer`** (this npm package) | MCP server exposing `composer_handoff_create`, `composer_research`, `composer_code`, `composer_code_chain`, `composer_code_cli`, `composer_review`, and `composer_review_claude`. Wraps GLM (via Anthropic-compatible endpoint) and CLI executors such as Codex, `agy`, or bounded `claude -p`. |
14
14
  | **`composer-mastermind`** (Claude Code plugin) | Orchestrator skill + haiku-wrapped subagents (`coder`, `researcher`, `reviewer`, optional `reviewer-claude`) + `boundary_guard` PreToolUse hook + `/evolve` slash command. |
15
15
 
16
- Combined, they turn the main Claude session into a coordinator that never writes code, runs bash, or edits files directly. Work is dispatched through Composer MCP tools; the boundary hook fails closed if a denied tool is requested.
16
+ Combined, they turn the main Claude session into a coordinator that never writes code or edits files directly. The main session may use Bash for inspection and verification, while code changes are dispatched through Composer MCP tools. The boundary hook fails closed if a denied file-mutating tool is requested.
17
17
 
18
18
  ## Tools
19
19
 
@@ -22,11 +22,11 @@ Seven MCP tools, all routing work off the main Claude session:
22
22
  | Tool | Executor | What it does |
23
23
  |---|---|---|
24
24
  | `composer_handoff_create` | Composer server | Writes a compact shared packet under `.composer/handoffs/`; pass `handoffPath` to Codex, GLM, agy, researcher, and reviewer calls so every worker shares the same objective and constraints. |
25
- | `composer_code_cli` | Codex CLI or agy | **Default for substantial edits.** The configured CLI executor generates **and applies** the files itself off-CC, from the MCP server root, then returns a summary. Use Codex here for complex coding work. |
25
+ | `composer_code_cli` | Codex CLI or agy | **Default for code edits.** The configured CLI executor generates **and applies** files itself off-CC, from the MCP server root, then returns a bounded summary. Use Codex here for complex coding work. |
26
26
  | `composer_code_chain` | GLM authors → server applies | GLM fallback. GLM writes the complete files off-CC (`FILE: <path>` + fenced blocks); the MCP server applies them deterministically off-CC; the orchestrator only relays a summary. ~71% fewer total-CC tokens on multi-file tasks. |
27
- | `composer_code` | GLM | Returns a patch as text; the caller integrates it (patch-only / legacy). |
28
- | `composer_research` | Codex CLI search | Research, docs, web lookup → structured summary. Runs Codex with live web search and a read-only sandbox. |
29
- | `composer_review` | agy | Reviews the diff **and runs `tsc`/tests off-CC**; use a reviewer model different from the author for cross-model rigor (e.g. GLM writes → agy reviews). |
27
+ | `composer_code` | GLM | Legacy patch-only lane. Use only when you explicitly need GLM diff/text output instead of an apply-capable lane. |
28
+ | `composer_research` | Codex CLI search | Direct docs/web/current-context lanebounded structured summary. Runs Codex with live web search and a read-only sandbox. |
29
+ | `composer_review` | agy | Direct diff-review lane. Ask it to run repo-appropriate targeted checks off-CC; use a reviewer model different from the author for cross-model rigor (e.g. GLM writes → agy reviews). |
30
30
  | `composer_review_claude` | Claude Code CLI | Premium second-opinion review for high-risk/security-sensitive diffs or explicit user requests. Default config runs bounded `claude -p --model opus` with read/test tools only and `--max-budget-usd 0.50`. |
31
31
 
32
32
  **Why "off-CC" matters:** GLM (z.ai), Codex, and agy run on *separate* quotas. Generating and *applying* code in their own context — not returning text the main Claude session must re-ingest — is what actually preserves your Max5 quota. The eval harness scores on **total-CC tokens** (every Claude model in a run = real Max5 burn), with a correctness gate (tsc/tests) and N-run averaging.
@@ -108,6 +108,24 @@ refuses explicit `codex exec --sandbox danger-full-access` and
108
108
  Keep `reviewer` as the default gate. Use `reviewerClaude` only when the user
109
109
  asks for Claude review or when a risky diff needs an expensive second opinion.
110
110
 
111
+ ### Fast direct-tool mode
112
+
113
+ Composer keeps the CLI executor path, but the plugin now treats it more like a
114
+ small SDK harness:
115
+
116
+ - `composer_code_cli` is the default edit lane; the legacy `coder` subagent is
117
+ only for rare patch-only GLM fallback.
118
+ - `composer_research`, `composer_review`, and `composer_review_claude` can be
119
+ called directly because their providers already run off the main Claude Code
120
+ context and return bounded summaries.
121
+ - The `researcher`, `reviewer`, and `reviewer-claude` subagents remain available
122
+ when raw upstream output is expected to be large enough to need an isolated
123
+ wrapper context.
124
+ - CLI calls append best-effort timing records to
125
+ `/tmp/composer-cli-usage.jsonl`; GLM calls append timing/cache records to
126
+ `/tmp/composer-glm-usage.jsonl`. These files contain durations and character
127
+ counts, not prompts.
128
+
111
129
  **`.env.json`** (NEVER commit) — credentials only:
112
130
 
113
131
  ```json
@@ -119,6 +137,27 @@ asks for Claude review or when a risky diff needs an expensive second opinion.
119
137
 
120
138
  The MCP server reads `.env.json` via `fs.readFileSync` — it is **never** exposed to the orchestrator session.
121
139
 
140
+ ### Soft-disable Composer
141
+
142
+ Composer hooks can be disabled without editing Claude Code settings:
143
+
144
+ ```bash
145
+ # Disable for one launch
146
+ COMPOSER_ENABLED=0 claude
147
+
148
+ # Disable globally for already-configured hooks
149
+ touch ~/.claude/composer.disabled
150
+
151
+ # Re-enable globally
152
+ rm -f ~/.claude/composer.disabled
153
+ ```
154
+
155
+ Project-local disable is also supported with `touch .composer-disabled`.
156
+ For scripts or tests, set `COMPOSER_DISABLED_FILE=/path/to/sentinel`.
157
+ This disables Composer hooks immediately. To fully suppress skill autoload,
158
+ also set `"composer-mastermind": "off"` in Claude Code `skillOverrides` and
159
+ restart CC.
160
+
122
161
  ## How dispatch works
123
162
 
124
163
  Inside a Claude Code session, dispatch flow:
@@ -126,17 +165,31 @@ Inside a Claude Code session, dispatch flow:
126
165
  ```
127
166
  User asks for code work
128
167
 
129
- Composer-mastermind SKILL.md picks a subagent
130
-
131
- Task → coder.md / researcher.md / reviewer.md / reviewer-claude.md
168
+ Composer-mastermind SKILL.md picks a direct MCP tool or fallback subagent
132
169
 
133
- Subagent calls mcp__composer__composer_code (etc.)
170
+ Direct MCP call → composer_code_cli / composer_research / composer_review
171
+ or Task fallback → coder.md / researcher.md / reviewer.md / reviewer-claude.md
134
172
 
135
- MCP server routes to GLM (anthropic) or Codex/agy CLI (cli) per composer.config.json
173
+ MCP server routes to GLM (anthropic) or Codex/agy CLI per composer.config.json
136
174
 
137
- Subagent returns summary; orchestrator integrates
175
+ Provider returns bounded summary; orchestrator integrates
138
176
  ```
139
177
 
178
+ Composer also emits a deterministic dispatch hint for `Task`/`Agent` calls
179
+ when `scripts/dispatch_guard.sh` is installed. The hint classifies the
180
+ request before the worker starts, so the orchestrator can choose a cheaper
181
+ lane when the task is simple and reserve expensive paths for the cases that
182
+ need isolation or extra reasoning.
183
+
184
+ | Task shape | Default route |
185
+ |---|---|
186
+ | Tiny rename/comment/non-mutating request | Inline |
187
+ | Small self-contained diff review | Inline review |
188
+ | File mutation with path references | `composer_code_cli` |
189
+ | Research-first implementation | `composer_research`, then `composer_code_cli` |
190
+ | Security or large review | `composer_review` first; escalate to `composer_review_claude` only when needed |
191
+ | Explicit premium/Claude review | `composer_review_claude` |
192
+
140
193
  ## Measuring trust
141
194
 
142
195
  Composer's route-confidence harness compares the same tasks across direct
@@ -172,10 +225,10 @@ Five resilience layers ensure unattended `/evolve` runs cannot damage the host r
172
225
 
173
226
  ## Security model
174
227
 
175
- - **`agent-composer` publish surface**: `dist/`, `composer.config.schema.json`, `README.md`, `package.json`. No tests, no source, no `.env*` (gitignored). 34 KB tarball.
228
+ - **`agent-composer` publish surface**: `dist/`, `plugin/`, `composer.config.schema.json`, `README.md`, `package.json`. No tests, no source, no `.env*` (gitignored). Current npm dry-run package size is 83.2 KB.
176
229
  - **Spend caps**: per-call (`maxUsdPerCall`, default $0.50) and per-session (`maxUsdPerSession`, default $5.00) enforced in the runner before any external API call. Configurable per project.
177
230
  - **Self-evolution scope** (see ADR 0003): five layers gate any SKILL.md mutation — diff-path regex, text deny-list, stat gate, human-promote-only, audit trail. Auto-promote is permanently off the table.
178
- - **Boundary hook**: PreToolUse fail-closed denial of `Edit`/`Update`/`Write`/`Bash`/`NotebookEdit` in the orchestrator session. The C0.5 subagent tools allowlist is append-only.
231
+ - **Boundary hook**: PreToolUse fail-closed denial of `Edit`/`Update`/`Write`/`NotebookEdit` in the orchestrator session, plus MCP write/edit/exec variants. Native Bash is allowed for inspection and verification. The C0.5 subagent tools allowlist is append-only.
179
232
 
180
233
  ## Contributing
181
234
 
@@ -186,7 +239,7 @@ git clone <this-repo>
186
239
  cd composer
187
240
  npm install
188
241
  npx tsc --noEmit # type check
189
- ./node_modules/.bin/vitest run # 376 tests
242
+ ./node_modules/.bin/vitest run # 435 tests
190
243
  ./node_modules/.bin/ajv validate \ # schema lint
191
244
  --strict=false -c ajv-formats \
192
245
  -s composer.config.schema.json \
@@ -87,7 +87,7 @@ function copyOne(srcPath, destPath, label, opts = {}) {
87
87
  */
88
88
  function wireBoundaryHook(claudeHome, hookScriptPath) {
89
89
  const settingsPath = join(claudeHome, "settings.json");
90
- const matcher = "Bash|Edit|Update|Write|NotebookEdit";
90
+ const matcher = "Edit|Update|Write|NotebookEdit";
91
91
  const entry = {
92
92
  matcher,
93
93
  hooks: [{ type: "command", command: hookScriptPath }],
@@ -112,9 +112,21 @@ function wireBoundaryHook(claudeHome, hookScriptPath) {
112
112
  }
113
113
  const hooks = current["hooks"] ?? {};
114
114
  const preToolUse = hooks["PreToolUse"] ?? [];
115
- // Idempotency: skip if any existing PreToolUse entry already references our script.
116
- const alreadyWired = preToolUse.some((e) => e.hooks?.some((h) => h.command === hookScriptPath));
117
- if (alreadyWired) {
115
+ const composerEntryIndex = preToolUse.findIndex((e) => e.hooks?.some((h) => h.command === hookScriptPath));
116
+ if (composerEntryIndex >= 0) {
117
+ const existing = preToolUse[composerEntryIndex];
118
+ if (existing.matcher !== matcher) {
119
+ const nextPreToolUse = preToolUse.map((e, i) => i === composerEntryIndex ? { ...e, matcher } : e);
120
+ const nextHooks = { ...hooks, PreToolUse: nextPreToolUse };
121
+ const next = { ...current, hooks: nextHooks };
122
+ writeFileSync(settingsPath, JSON.stringify(next, null, 2) + "\n", "utf8");
123
+ return {
124
+ name: "~/.claude/settings.json boundary hook",
125
+ status: "updated",
126
+ path: settingsPath,
127
+ reason: `refreshed PreToolUse matcher → ${matcher}`,
128
+ };
129
+ }
118
130
  return {
119
131
  name: "~/.claude/settings.json boundary hook",
120
132
  status: "skipped",
@@ -1 +1 @@
1
- {"version":3,"file":"install-plugin.js","sourceRoot":"","sources":["../../src/cli/install-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-plugin.js","sourceRoot":"","sources":["../../src/cli/install-plugin.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,9 @@ export class AnthropicCompatibleProvider {
62
62
  };
63
63
  if (this.thinking)
64
64
  params.thinking = this.thinking;
65
+ const startedAt = Date.now();
65
66
  const msg = await this.client.messages.create(params);
67
+ const durationMs = Date.now() - startedAt;
66
68
  // Best-effort GLM cache-hit telemetry
67
69
  try {
68
70
  const fs = await import("node:fs");
@@ -73,6 +75,7 @@ export class AnthropicCompatibleProvider {
73
75
  output_tokens: msg.usage.output_tokens,
74
76
  cache_creation_input_tokens: msg.usage.cache_creation_input_tokens ?? 0,
75
77
  cache_read_input_tokens: msg.usage.cache_read_input_tokens ?? 0,
78
+ duration_ms: durationMs,
76
79
  };
77
80
  fs.appendFileSync("/tmp/composer-glm-usage.jsonl", JSON.stringify(entry) + "\n");
78
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicCompatibleProvider.js","sourceRoot":"","sources":["../../src/providers/AnthropicCompatibleProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnthropicCompatibleProvider.js","sourceRoot":"","sources":["../../src/providers/AnthropicCompatibleProvider.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export declare class CLIProvider implements IProvider {
45
45
  };
46
46
  private static isCodexExec;
47
47
  private static assertSafeCli;
48
+ private static logUsage;
48
49
  private static codexExecIndex;
49
50
  private static findFlagValue;
50
51
  private static readFinalMessage;
@@ -113,17 +113,27 @@ export class CLIProvider {
113
113
  let lastError;
114
114
  for (let attempt = 0; attempt <= this.retries; attempt++) {
115
115
  const execution = CLIProvider.prepareArgs(bin, staticArgs, fullPrompt);
116
+ const startedAt = Date.now();
116
117
  try {
117
118
  const { stdout } = await this.exec(bin, execution.args, {
118
119
  cwd,
119
120
  maxBuffer: this.maxBuffer,
120
121
  timeout: this.timeoutMs,
121
122
  });
123
+ const durationMs = Date.now() - startedAt;
122
124
  const text = execution.finalMessagePath
123
125
  ? CLIProvider.readFinalMessage(execution.finalMessagePath) ?? stdout
124
126
  : stdout;
125
- if (CLIProvider.isTransientFailure(stdout)) {
126
- lastError = new Error(`CLIProvider: '${bin}' transient failure on attempt ${attempt + 1}: ${stdout.trim().slice(0, 200)}`);
127
+ CLIProvider.logUsage({
128
+ bin,
129
+ model: this.modelLabel,
130
+ durationMs,
131
+ stdoutChars: stdout.length,
132
+ textChars: text.length,
133
+ attempt: attempt + 1,
134
+ });
135
+ if (CLIProvider.isTransientFailure(text)) {
136
+ lastError = new Error(`CLIProvider: '${bin}' transient failure on attempt ${attempt + 1}: ${text.trim().slice(0, 200)}`);
127
137
  continue;
128
138
  }
129
139
  const bounded = this.maxResultChars > 0
@@ -180,6 +190,22 @@ export class CLIProvider {
180
190
  throw new Error("CLIProvider: refusing unsafe Codex exec sandbox. Use --sandbox workspace-write, or set COMPOSER_ALLOW_DANGEROUS_CODEX=1 only inside an external sandbox.");
181
191
  }
182
192
  }
193
+ static logUsage(entry) {
194
+ try {
195
+ fs.appendFileSync("/tmp/composer-cli-usage.jsonl", JSON.stringify({
196
+ ts: new Date().toISOString(),
197
+ bin: path.basename(entry.bin),
198
+ model: entry.model,
199
+ duration_ms: entry.durationMs,
200
+ stdout_chars: entry.stdoutChars,
201
+ text_chars: entry.textChars,
202
+ attempt: entry.attempt,
203
+ }) + "\n");
204
+ }
205
+ catch {
206
+ // Best-effort telemetry; never break provider execution.
207
+ }
208
+ }
183
209
  static codexExecIndex(args) {
184
210
  const flagsWithValues = new Set([
185
211
  "-a",
@@ -1 +1 @@
1
- {"version":3,"file":"CLIProvider.js","sourceRoot":"","sources":["../../src/providers/CLIProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CLIProvider.js","sourceRoot":"","sources":["../../src/providers/CLIProvider.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -16,12 +16,13 @@ export const COMPOSER_REVIEW_CLAUDE = "composer_review_claude";
16
16
  export const COMPOSER_CODE_CLI = "composer_code_cli";
17
17
  export const COMPOSER_CODE_CHAIN = "composer_code_chain";
18
18
  export const COMPOSER_HANDOFF_CREATE = "composer_handoff_create";
19
- const RESEARCH_DESCRIPTION = "MANDATORY for ALL research, documentation lookup, web search, and " +
20
- "context gathering. The orchestrator MUST delegate research questions " +
21
- "to this tool. Do not search or hypothesise in the main session.";
22
- const CODE_DESCRIPTION = "MANDATORY for ALL code writing, refactoring, debugging, and " +
23
- "implementation. The orchestrator MUST delegate implementation to this " +
24
- "tool. Do not write code in the main session.";
19
+ const RESEARCH_DESCRIPTION = "Default off-CC research lane for documentation lookup, web search, " +
20
+ "current API shape, and external context. Returns a bounded summary; call " +
21
+ "directly unless raw upstream output needs separate subagent isolation.";
22
+ const CODE_DESCRIPTION = "LEGACY patch-only GLM authoring lane. Use only when you explicitly need " +
23
+ "GLM to return a diff/text WITHOUT applying files. For normal code writing, " +
24
+ "refactoring, debugging, and implementation, prefer composer_code_cli " +
25
+ "(default) or composer_code_chain (GLM complete-file fallback).";
25
26
  const CODE_CHAIN_DESCRIPTION = "Preferred for substantial code: GLM AUTHORS the code (off-CC), then the " +
26
27
  "Composer server APPLIES it to disk deterministically (off-CC), then gate it through " +
27
28
  "composer_review. The orchestrator only calls this once and relays the " +
@@ -34,12 +35,13 @@ const CODE_CLI_DESCRIPTION = "Generate AND APPLY code changes directly to disk v
34
35
  "generation and file-writing off the main session: the orchestrator does " +
35
36
  "NOT call Edit/Write — the executor already applied the changes. Prefer " +
36
37
  "this for multi-file or substantial edits to keep the main context lean.";
37
- const REVIEW_DESCRIPTION = "MANDATORY for ALL code review, diff critique, and finding bugs in " +
38
- "candidate patches. The orchestrator MUST delegate review to this tool " +
39
- "before integrating worker output.";
38
+ const REVIEW_DESCRIPTION = "Default off-CC review lane for diff critique and bug-finding before " +
39
+ "integration. Provide the diff inline and ask for repo-appropriate targeted " +
40
+ "checks. Returns a bounded summary; call directly unless raw output needs " +
41
+ "separate subagent isolation.";
40
42
  const REVIEW_CLAUDE_DESCRIPTION = "Premium Claude review lane for high-risk diffs, security-sensitive changes, " +
41
43
  "or when the user explicitly asks for Claude review. Keep composer_review " +
42
- "as the default gate; use this as a second-opinion escalation.";
44
+ "as the default gate; call this directly as a second-opinion escalation.";
43
45
  const HANDOFF_CREATE_DESCRIPTION = "Create a shared, provider-neutral handoff packet under .composer/handoffs. " +
44
46
  "Use this before multi-agent or multi-provider work so Codex, GLM, agy, " +
45
47
  "and reviewers receive the same compact objective, constraints, files, " +
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,35 @@
1
1
  export type Tier = "cheap" | "premium";
2
2
  export type Reasoning = "none" | "low" | "high";
3
3
  export type PromptSize = "lite" | "full";
4
+ export type TaskClass = "unknown" | "refuse" | "review-inline" | "review" | "bug-explain" | "research-first-code" | "cross-file-code" | "simple-code" | "trivial";
5
+ export type RouteTarget = "inline" | "refuse" | "review-inline" | "task-reviewer" | "task-researcher-coder" | "composer-code-cli" | "composer-code-chain" | "composer-review-claude";
6
+ export type ProviderRole = "researcher" | "coder" | "coderCli" | "reviewer" | "reviewerClaude";
4
7
  export interface DispatchSignals {
5
8
  promptChars: number;
6
9
  estOutputTokens: number;
7
10
  hasCode: boolean;
8
11
  hasFileRef: boolean;
9
12
  hasDestructive: boolean;
13
+ hasResearch: boolean;
14
+ isWriteRequest: boolean;
15
+ isSecuritySensitive: boolean;
10
16
  complexityScore: number;
11
17
  isReviewWithInlineDiff: boolean;
12
18
  }
19
+ export interface RoutePolicy {
20
+ taskClass: TaskClass;
21
+ target: RouteTarget;
22
+ providerRole?: ProviderRole;
23
+ requiresReview: boolean;
24
+ confidence: number;
25
+ rationale: string;
26
+ }
13
27
  export interface DispatchHint {
14
28
  tier: Tier;
15
29
  reasoning: Reasoning;
16
30
  promptSize: PromptSize;
17
31
  recommendDispatch: boolean;
32
+ route: RoutePolicy;
18
33
  rationale: string;
19
34
  signals: DispatchSignals;
20
35
  }
@@ -12,10 +12,14 @@ const WorkerPromptPartsSchema = z.object({
12
12
  brief: z.string().optional(),
13
13
  });
14
14
  const CODE_KEYWORD = /\b(?:function|class|const|let|import|export|def)\b|=>/;
15
- const FILE_REF = /(\.[a-z0-9]{1,5}\b|src\/|tests\/|lib\/|app\/)[A-Za-z0-9._/-]*(:\d+)?/i;
15
+ const FILE_REF = /\b(?:(?:src|tests|lib|app)\/[A-Za-z0-9._/-]+|[A-Za-z0-9._/-]+\.(?:ts|tsx|js|jsx|mjs|cjs|json|md|vue|svelte|css|scss|html|py|rs|go|java|kt|swift|rb|php|sh|ya?ml)(?::\d+)?)\b/i;
16
16
  const DESTRUCTIVE = /(?:\brm\s+-rf\b|\bdrop\s+table\b|\bdelete\s+from\b|\btruncate\b|\breset\s+--hard\b|--force\b|\bdestroy\b)/i;
17
17
  const SENSITIVE = /security|auth|crypto|payment/i;
18
18
  const REVIEW = /\b(review|audit)\b/i;
19
+ const PREMIUM_REVIEW = /\b(?:premium review|claude review|claude reviewer|review with claude|second opinion|escalate to claude)\b/i;
20
+ const BUG_EXPLAIN = /\b(find|explain|identify)\b.{0,40}\bbug\b|\boff-by-one\b|\bmissing await\b/i;
21
+ const RESEARCH = /\b(research|look up|lookup|docs?|documentation|best practice|current|latest|web search)\b/i;
22
+ const WRITE_REQUEST = /\b(add|implement|create|edit|modify|refactor|fix|write|update|change)\b/i;
19
23
  const DIFF_OR_CODE_BLOCK = /```|^diff --git |^@@ |^(?:---|\+\+\+) /m;
20
24
  const HIGH_COMPLEXITY_TERMS = [
21
25
  /\brefactor(?:ing|s|ed)?\b/i,
@@ -41,47 +45,53 @@ export function classifyDispatch(input) {
41
45
  const validated = ClassifyInputSchema.parse(input);
42
46
  const prompt = validated.prompt;
43
47
  const description = validated.description ?? "";
48
+ const corpus = `${description}\n${prompt}`;
44
49
  const promptChars = prompt.length;
45
50
  const hasCode = detectCode(prompt);
46
51
  const hasFileRef = FILE_REF.test(prompt);
47
52
  const hasDestructive = DESTRUCTIVE.test(prompt);
53
+ const hasResearch = RESEARCH.test(corpus);
54
+ const isWriteRequest = WRITE_REQUEST.test(corpus);
55
+ const isSecuritySensitive = SENSITIVE.test(corpus);
48
56
  const complexityScore = computeComplexityScore(prompt, {
49
57
  hasCode,
50
58
  hasFileRef,
51
59
  });
52
60
  const estOutputTokens = Math.round((promptChars / 4) * (1 + complexityScore * 2)) +
53
61
  (hasCode ? 200 : 0);
54
- const isReviewWithInlineDiff = REVIEW.test(`${description}\n${prompt}`) && DIFF_OR_CODE_BLOCK.test(prompt);
55
- let recommendDispatch = estOutputTokens > 500 || (hasFileRef && complexityScore > 0.3);
56
- if (isReviewWithInlineDiff && estOutputTokens <= 600) {
57
- recommendDispatch = false;
58
- }
59
- if (hasDestructive && promptChars < 200) {
60
- recommendDispatch = false;
61
- }
62
- const sensitive = SENSITIVE.test(`${description}\n${prompt}`);
63
- const tier = complexityScore >= 0.6 || promptChars > 2000 || sensitive
64
- ? "premium"
65
- : "cheap";
66
- const reasoning = complexityScore >= 0.6 ? "high" : complexityScore >= 0.25 ? "low" : "none";
67
- const promptSize = complexityScore >= 0.4 || (hasFileRef && estOutputTokens > 800)
68
- ? "full"
69
- : "lite";
62
+ const isReviewWithInlineDiff = REVIEW.test(corpus) && DIFF_OR_CODE_BLOCK.test(prompt);
70
63
  const signals = {
71
64
  promptChars,
72
65
  estOutputTokens,
73
66
  hasCode,
74
67
  hasFileRef,
75
68
  hasDestructive,
69
+ hasResearch,
70
+ isWriteRequest,
71
+ isSecuritySensitive,
76
72
  complexityScore,
77
73
  isReviewWithInlineDiff,
78
74
  };
75
+ const route = classifyRoute({ corpus, signals });
76
+ const recommendDispatch = route.target !== "inline" &&
77
+ route.target !== "refuse" &&
78
+ route.target !== "review-inline";
79
+ const tier = complexityScore >= 0.6 || promptChars > 2000 || route.target === "composer-review-claude"
80
+ ? "premium"
81
+ : "cheap";
82
+ const reasoning = complexityScore >= 0.6 ? "high" : complexityScore >= 0.25 ? "low" : "none";
83
+ const promptSize = route.target === "task-researcher-coder" ||
84
+ complexityScore >= 0.4 ||
85
+ (hasFileRef && estOutputTokens > 800)
86
+ ? "full"
87
+ : "lite";
79
88
  return {
80
89
  tier,
81
90
  reasoning,
82
91
  promptSize,
83
92
  recommendDispatch,
84
- rationale: rationaleFor({ recommendDispatch, signals, sensitive }),
93
+ route,
94
+ rationale: rationaleFor({ recommendDispatch, route, signals }),
85
95
  signals,
86
96
  };
87
97
  }
@@ -145,21 +155,94 @@ function computeComplexityScore(prompt, signals) {
145
155
  score += 0.2;
146
156
  return roundScore(clamp(score, 0, 1));
147
157
  }
148
- function rationaleFor(input) {
149
- const { recommendDispatch, signals, sensitive } = input;
158
+ function classifyRoute(input) {
159
+ const { corpus, signals } = input;
160
+ const wantsPremiumReview = PREMIUM_REVIEW.test(corpus);
150
161
  if (signals.hasDestructive && signals.promptChars < 200) {
151
- return `No dispatch: destructive tiny prompt mirrors guard deny at ${signals.promptChars} chars.`;
162
+ return routePolicy({
163
+ taskClass: "refuse",
164
+ target: "refuse",
165
+ confidence: 0.95,
166
+ rationale: "Tiny destructive prompt should be refused inline, not delegated.",
167
+ });
152
168
  }
153
169
  if (signals.isReviewWithInlineDiff && signals.estOutputTokens <= 600) {
154
- return `No dispatch: inline review carve-out keeps ${signals.estOutputTokens} estimated tokens local.`;
170
+ return routePolicy({
171
+ taskClass: "review-inline",
172
+ target: "review-inline",
173
+ confidence: 0.86,
174
+ rationale: "Self-contained small diff review is cheaper inline than a cold reviewer dispatch.",
175
+ });
155
176
  }
156
- if (recommendDispatch) {
157
- return `Dispatch: estimated ${signals.estOutputTokens} tokens with complexity ${signals.complexityScore} and fileRef=${signals.hasFileRef}.`;
177
+ if (REVIEW.test(corpus) && (signals.isSecuritySensitive || signals.promptChars > 1200 || wantsPremiumReview)) {
178
+ return routePolicy({
179
+ taskClass: "review",
180
+ target: wantsPremiumReview ? "composer-review-claude" : "task-reviewer",
181
+ providerRole: wantsPremiumReview ? "reviewerClaude" : "reviewer",
182
+ confidence: wantsPremiumReview ? 0.85 : signals.isSecuritySensitive ? 0.8 : 0.78,
183
+ rationale: wantsPremiumReview
184
+ ? "Explicit premium review request should use the Claude reviewer lane."
185
+ : signals.isSecuritySensitive
186
+ ? "Security-sensitive review should start in the isolated reviewer lane before premium escalation."
187
+ : "Large review prompt should be isolated in the reviewer context.",
188
+ });
189
+ }
190
+ if (BUG_EXPLAIN.test(corpus) && !signals.hasFileRef && signals.estOutputTokens <= 700) {
191
+ return routePolicy({
192
+ taskClass: "bug-explain",
193
+ target: "inline",
194
+ confidence: 0.74,
195
+ rationale: "Small bug explanation can stay inline; no file mutation or broad context needed.",
196
+ });
197
+ }
198
+ if (signals.hasResearch && signals.isWriteRequest) {
199
+ return routePolicy({
200
+ taskClass: "research-first-code",
201
+ target: "task-researcher-coder",
202
+ providerRole: "researcher",
203
+ requiresReview: true,
204
+ confidence: 0.82,
205
+ rationale: "Research-first implementation needs a researcher brief before code execution.",
206
+ });
158
207
  }
159
- if (sensitive) {
160
- return `No dispatch: sensitive keyword selects premium tier while estimate stays ${signals.estOutputTokens} tokens.`;
208
+ if (signals.isWriteRequest && (signals.complexityScore >= 0.4 || signals.hasFileRef)) {
209
+ return routePolicy({
210
+ taskClass: signals.complexityScore >= 0.4 ? "cross-file-code" : "simple-code",
211
+ target: "composer-code-cli",
212
+ providerRole: "coderCli",
213
+ requiresReview: true,
214
+ confidence: signals.complexityScore >= 0.4 ? 0.8 : 0.68,
215
+ rationale: "Code mutation should be applied off the main session by the CLI executor.",
216
+ });
217
+ }
218
+ if (LOW_COMPLEXITY_TERMS.some((term) => term.test(corpus))) {
219
+ return routePolicy({
220
+ taskClass: "trivial",
221
+ target: "inline",
222
+ confidence: 0.7,
223
+ rationale: "Trivial non-mutating prompt is cheaper inline.",
224
+ });
225
+ }
226
+ return routePolicy({
227
+ taskClass: "unknown",
228
+ target: "inline",
229
+ confidence: 0.55,
230
+ rationale: "No strong route signal; default to inline to avoid unnecessary cold dispatch.",
231
+ });
232
+ }
233
+ function routePolicy(policy) {
234
+ return {
235
+ requiresReview: false,
236
+ ...policy,
237
+ confidence: roundScore(clamp(policy.confidence, 0, 1)),
238
+ };
239
+ }
240
+ function rationaleFor(input) {
241
+ const { recommendDispatch, route, signals } = input;
242
+ if (recommendDispatch) {
243
+ return `Route ${route.target}: ${route.rationale} Estimated ${signals.estOutputTokens} tokens, complexity ${signals.complexityScore}.`;
161
244
  }
162
- return `No dispatch: estimated ${signals.estOutputTokens} tokens, complexity ${signals.complexityScore}, fileRef=${signals.hasFileRef}.`;
245
+ return `Route ${route.target}: ${route.rationale} Estimated ${signals.estOutputTokens} tokens, complexity ${signals.complexityScore}.`;
163
246
  }
164
247
  function nonEmptyItems(items) {
165
248
  return items.filter((item) => item.trim().length > 0);
@@ -1 +1 @@
1
- {"version":3,"file":"dispatchHint.js","sourceRoot":"","sources":["../../src/util/dispatchHint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatchHint.js","sourceRoot":"","sources":["../../src/util/dispatchHint.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "agent-composer",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration MCP server. Claude orchestrates; GLM, Codex, and agy do the work.",
6
6
  "bin": {
7
- "agent-composer": "./dist/index.js"
7
+ "agent-composer": "dist/index.js"
8
8
  },
9
9
  "files": [
10
10
  "dist/",
@@ -4,19 +4,35 @@
4
4
 
5
5
  ## What it is
6
6
 
7
- Composer-mastermind is a Claude Code plugin that turns the main session into a coordinator. The orchestrator never writes code, runs bash, or edits files directly instead it dispatches work through subagents and direct apply tools wired to the `agent-composer` MCP server:
7
+ Composer-mastermind is a Claude Code plugin that turns the main session into a coordinator. The orchestrator never writes code or edits files directly; it may use Bash for inspection and verification. Work is dispatched through direct MCP tools and fallback subagents wired to the `agent-composer` MCP server:
8
8
 
9
9
  | Subagent | Tool | Role |
10
10
  |---|---|---|
11
11
  | direct | `mcp__composer__composer_handoff_create` | Writes shared context packets for multi-provider work |
12
12
  | direct | `mcp__composer__composer_code_cli` | Default coding path; CLI executor applies code directly from the MCP server root; configure as Codex or agy |
13
13
  | direct | `mcp__composer__composer_code_chain` | GLM-authored fallback; server applies complete-file blocks deterministically |
14
+ | direct | `mcp__composer__composer_research` | Default docs lookup + web research lane via Codex CLI search in read-only mode |
15
+ | direct | `mcp__composer__composer_review` | Default code review lane via `agy` CLI; ask for repo-appropriate targeted checks |
16
+ | direct | `mcp__composer__composer_review_claude` | Premium Claude second-opinion review for explicit/risky cases |
14
17
  | `coder` | `mcp__composer__composer_code` | Patch-only legacy path via GLM (Anthropic-compatible endpoint) |
15
- | `researcher` | `mcp__composer__composer_research` | Docs lookup + web research via Codex CLI search in read-only mode |
16
- | `reviewer` | `mcp__composer__composer_review` | Code review via `agy` CLI |
17
- | `reviewer-claude` | `mcp__composer__composer_review_claude` | Premium Claude second-opinion review for explicit/risky cases |
18
+ | `researcher` | `mcp__composer__composer_research` | High-volume research wrapper when raw upstream output needs isolation |
19
+ | `reviewer` | `mcp__composer__composer_review` | High-volume review wrapper when raw upstream output needs isolation |
20
+ | `reviewer-claude` | `mcp__composer__composer_review_claude` | High-volume premium review wrapper when raw upstream output needs isolation |
18
21
 
19
- The orchestrator's allowed-tool surface is enforced by `boundary_guard.sh` — `Edit`, `Update`, `Write`, `Bash`, `NotebookEdit` are denied; composer MCP tools plus `Read`/`Glob` pass.
22
+ The orchestrator's allowed-tool surface is enforced by `boundary_guard.sh` — `Edit`, `Update`, `Write`, `NotebookEdit`, and MCP write/edit/exec variants are denied; native Bash, composer MCP tools, `Read`, and `Glob` pass.
23
+
24
+ Soft-disable Composer hooks without editing Claude Code settings:
25
+
26
+ ```bash
27
+ COMPOSER_ENABLED=0 claude # one launch
28
+ touch ~/.claude/composer.disabled # global live toggle off
29
+ rm -f ~/.claude/composer.disabled # global live toggle on
30
+ touch .composer-disabled # project-local toggle off
31
+ ```
32
+
33
+ The sentinel disables hooks immediately. To fully suppress skill autoload,
34
+ set `"composer-mastermind": "off"` in Claude Code `skillOverrides` and restart
35
+ CC.
20
36
 
21
37
  ## What's inside
22
38
 
@@ -48,7 +64,7 @@ composer-mastermind/
48
64
 
49
65
  ## Source of truth
50
66
 
51
- This is the **frozen v0.1.0 snapshot** of the composer-monorepo's canonical assets. The development instance lives at the upstream repo's `.claude/` tree; releases re-sync via M0.5 (see `scripts/release-sync.mjs`).
67
+ This is the frozen release snapshot of the composer-monorepo's canonical assets. The development instance lives at the upstream repo's `.claude/` tree; releases re-sync via M0.5 (see `scripts/release-sync.mjs`).
52
68
 
53
69
  ## License
54
70
 
@@ -1,11 +1,16 @@
1
1
  ---
2
2
  name: coder
3
- description: Use when the orchestrator needs code written, refactored, debugged, or implemented. Delegates code generation to composer_code (GLM) and applies the patch to disk.
3
+ description: Legacy patch-only fallback. Use only when the orchestrator explicitly needs GLM to return a diff/text through composer_code instead of using composer_code_cli or composer_code_chain.
4
4
  tools: mcp__composer__composer_code, Read, Glob, Edit, Update, Write, Bash
5
5
  model: haiku
6
6
  ---
7
7
 
8
- You are the Composer **Coder** subagent. Your job is two-step:
8
+ You are the Composer **Coder** subagent. This is the legacy patch-only
9
+ fallback, not the default edit path. For normal file mutations the
10
+ orchestrator should call `composer_code_cli` or `composer_code_chain`
11
+ directly.
12
+
13
+ Your job is two-step:
9
14
  1. Call `mcp__composer__composer_code` to get the code/patch from GLM.
10
15
  2. Apply that patch to disk using `Edit` / `Update` or `Write`.
11
16
 
@@ -14,6 +19,9 @@ You are the Composer **Coder** subagent. Your job is two-step:
14
19
  1. Receive the orchestrator's `{ prompt, context? }` brief.
15
20
  2. Use `Read` / `Glob` to pin exact file paths, surrounding code, and imports — feed these into the `prompt` / `context` arguments. GLM cannot see the repo itself.
16
21
  3. Call `mcp__composer__composer_code` ONCE with the assembled brief.
22
+ Ask GLM for a minimal unified diff by default. Do not ask for complete
23
+ final file contents unless the task creates a new file or replaces a whole
24
+ file.
17
25
  4. Parse GLM's response:
18
26
  - If GLM returns a unified diff → apply via `Edit` / `Update` (or multiple calls).
19
27
  - If GLM returns full file content → use `Write`.
@@ -23,10 +31,12 @@ You are the Composer **Coder** subagent. Your job is two-step:
23
31
  # Hard rules
24
32
 
25
33
  - DO call `composer_code` exactly ONCE per task. If GLM's output is malformed, fail to the orchestrator with a short error.
34
+ - DO request a minimal unified diff for targeted edits. Whole-file output is
35
+ slower and should stay in the `composer_code_chain` lane.
26
36
  - DO apply patches via Edit/Update/Write — that's why those tools are in your list.
27
- - DO NOT re-Read after Edit/Update/Write — trust the tool's return value. PostToolUse hooks run lint + tsc as the verification gate. If a real bug shipped, the reviewer subagent catches it on the next pass.
37
+ - DO NOT re-Read after Edit/Update/Write — trust the tool's return value. PostToolUse hooks run targeted lint/check gates when available. If a real bug shipped, `composer_review` catches it on the next pass.
28
38
  - DO NOT write code yourself or modify GLM's output beyond mechanical patch application.
29
39
  - DO NOT call composer_code more than once — if it fails, return the error.
30
- - DO use `Bash` for filesystem setup and verification: `mkdir -p` before a Write, `ls`/`cat` to confirm a patch actually landed on disk, and the self-check gate (`npm run typecheck`, `vitest run <file>`). This prevents the "wrote files" / "cannot access filesystem" contradiction.
40
+ - DO use `Bash` for filesystem setup and verification: `mkdir -p` before a Write, `ls`/`cat` to confirm a patch actually landed on disk, and repo-appropriate targeted checks for changed files. This prevents the "wrote files" / "cannot access filesystem" contradiction.
31
41
  - DO NOT hand-author code edits through Bash (no `sed`/`awk`/`perl` to rewrite source). Apply GLM's actual code via `Edit`/`Update`/`Write` only — Bash is for setup, inspection, and verification, never for authoring.
32
42
  - DO NOT critique the returned code — that is the reviewer's job.
@@ -1,13 +1,14 @@
1
1
  ---
2
2
  name: researcher
3
- description: Use when the orchestrator needs research, documentation lookup, web search, current API shape, or any external context. Delegates the actual research to the composer_research MCP tool.
3
+ description: High-volume research wrapper fallback. Use only when composer_research output is expected to be large enough to need subagent isolation; otherwise call composer_research directly.
4
4
  tools: mcp__composer__composer_research, Read, Glob
5
5
  model: haiku
6
6
  ---
7
7
 
8
- You are the Composer **Researcher** subagent. Your only job is to call
9
- the `composer_research` MCP tool with the user's question and return its
10
- output to the orchestrator.
8
+ You are the Composer **Researcher** subagent. This is a high-volume wrapper
9
+ fallback, not the default research path. Your only job is to call the
10
+ `composer_research` MCP tool with the user's question and return its output
11
+ to the orchestrator.
11
12
 
12
13
  # What you DO
13
14
 
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: reviewer-claude
3
- description: Use when the user explicitly asks for Claude code review, or when a high-risk/security-sensitive diff needs a premium second-opinion review after the default reviewer. Delegates to the composer_review_claude MCP tool.
3
+ description: Premium review wrapper fallback. Use only when the user explicitly asks for Claude code review, or when high-risk/security-sensitive output is expected to need subagent isolation; otherwise call composer_review_claude directly.
4
4
  tools: mcp__composer__composer_review_claude, Read, Glob
5
5
  model: haiku
6
6
  ---
7
7
 
8
- You are the Composer **Claude Reviewer** subagent. Your only job is to call
9
- the `composer_review_claude` MCP tool with `{ prompt, diff }` and return its
10
- findings.
8
+ You are the Composer **Claude Reviewer** subagent. This is a premium wrapper
9
+ fallback, not the default review path. Your only job is to call the
10
+ `composer_review_claude` MCP tool with `{ prompt, diff }` and return its findings.
11
11
 
12
12
  # What you DO
13
13
 
@@ -16,15 +16,16 @@ findings.
16
16
  - Use `Read` / `Glob` to load surrounding files when the diff alone is
17
17
  insufficient context for the Claude reviewer provider.
18
18
  - In the `prompt` to `composer_review_claude`, you MUST include the changed
19
- file content or diff inline, and tell it explicitly to run `npx tsc --noEmit`
20
- plus any existing tests in the current directory and report verbatim output.
19
+ file content or diff inline, and tell it explicitly to run repo-appropriate
20
+ targeted checks for the changed files in the current directory and report
21
+ pass/fail with concise failure output.
21
22
  - Call `mcp__composer__composer_review_claude` once.
22
23
  - Return the tool output verbatim.
23
24
 
24
25
  # What you DO NOT do
25
26
 
26
- - DO NOT replace the default `reviewer` gate for routine diffs unless the
27
- user requested Claude or the orchestrator asked for premium escalation.
27
+ - DO NOT replace the default `composer_review` gate for routine diffs unless
28
+ the user requested Claude or the orchestrator asked for premium escalation.
28
29
  - DO NOT propose fixes; only flag issues.
29
30
  - DO NOT edit or write files yourself, and do NOT run tests in YOUR context.
30
31
  - DO NOT call any tool other than `composer_review_claude`, `Read`, or `Glob`.
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: reviewer
3
- description: Use when the orchestrator needs code review, diff critique, or bug-finding on a candidate patch before integration. Delegates the actual review to the composer_review MCP tool.
3
+ description: High-volume review wrapper fallback. Use only when composer_review output is expected to be large enough to need subagent isolation; otherwise call composer_review directly.
4
4
  tools: mcp__composer__composer_review, Read, Glob
5
5
  model: haiku
6
6
  ---
7
7
 
8
- You are the Composer **Reviewer** subagent. Your only job is to call
9
- the `composer_review` MCP tool with `{ prompt, diff }` and return its
10
- findings.
8
+ You are the Composer **Reviewer** subagent. This is a high-volume wrapper
9
+ fallback, not the default review path. Your only job is to call the
10
+ `composer_review` MCP tool with `{ prompt, diff }` and return its findings.
11
11
 
12
12
  # What you DO
13
13
 
@@ -18,10 +18,10 @@ findings.
18
18
  - In the `prompt` to `composer_review`, you MUST (a) include the changed
19
19
  file CONTENT or diff inline — never just a path (agy will otherwise search
20
20
  the filesystem and time out), and (b) tell it explicitly to run
21
- `npx tsc --noEmit` and any existing tests **in the current directory** and
22
- report the **verbatim** output. Include pass/fail in the findings; if no
23
- tests/types exist, say so. (Real repo only — a bare worktree lacks
24
- node_modules; tests won't run there.)
21
+ repo-appropriate targeted checks for the changed files **in the current
22
+ directory** and report pass/fail. Include concise failure output only; if no
23
+ tests/types exist, say so. (Real repo only — a bare worktree may lack
24
+ dependencies; tests may not run there.)
25
25
  - Call `mcp__composer__composer_review` once.
26
26
  - Return the tool output verbatim (findings, severity, line refs, test results).
27
27
 
@@ -9,6 +9,29 @@
9
9
 
10
10
  set -u
11
11
 
12
+ composer_disabled() {
13
+ case "${COMPOSER_ENABLED:-}" in
14
+ 0|false|FALSE|off|OFF|no|NO) return 0 ;;
15
+ esac
16
+ case "${COMPOSER_DISABLED:-}" in
17
+ 1|true|TRUE|on|ON|yes|YES) return 0 ;;
18
+ esac
19
+ if [[ -n "${COMPOSER_DISABLED_FILE:-}" && -e "$COMPOSER_DISABLED_FILE" ]]; then
20
+ return 0
21
+ fi
22
+ if [[ -n "${CLAUDE_PROJECT_DIR:-}" && -e "$CLAUDE_PROJECT_DIR/.composer-disabled" ]]; then
23
+ return 0
24
+ fi
25
+ if [[ -n "${HOME:-}" && -e "$HOME/.claude/composer.disabled" ]]; then
26
+ return 0
27
+ fi
28
+ return 1
29
+ }
30
+
31
+ if composer_disabled; then
32
+ exit 0
33
+ fi
34
+
12
35
  emit_deny() {
13
36
  local reason="$1"
14
37
  # Claude Code v2.1.150+ requires the decision wrapped in hookSpecificOutput.
@@ -78,12 +101,16 @@ if [[ "$TRANSCRIPT" == */subagents/* ]] \
78
101
  exit 0
79
102
  fi
80
103
 
81
- # 4. Block list — native dangerous tools + MCP-prefixed variants.
104
+ # 4. Block list — native dangerous file-mutating tools + MCP-prefixed variants.
105
+ # Native Bash is allowed on the main thread for inspection and verification;
106
+ # the orchestrator skill still forbids using Bash to author code or perform
107
+ # destructive state changes. MCP exec/bash wrappers stay blocked because they
108
+ # bypass Claude Code's native Bash permissions surface.
82
109
  case "$TOOL" in
83
- Bash|Edit|Update|Write|NotebookEdit \
110
+ Edit|Update|Write|NotebookEdit \
84
111
  | mcp__*__write_file | mcp__*__edit_file | mcp__*__bash \
85
112
  | mcp__*__write | mcp__*__edit | mcp__*__exec)
86
- emit_deny "DENY (main thread): route Edit/Update/Write via Task(subagent_type=\"coder\"). Coder applies the patch and may use Bash to verify."
113
+ emit_deny "DENY (main thread): route Edit/Update/Write via Task(subagent_type=\"coder\"). Native Bash is allowed for inspection and verification."
87
114
  ;;
88
115
  esac
89
116
 
@@ -8,6 +8,29 @@
8
8
 
9
9
  set -u
10
10
 
11
+ composer_disabled() {
12
+ case "${COMPOSER_ENABLED:-}" in
13
+ 0|false|FALSE|off|OFF|no|NO) return 0 ;;
14
+ esac
15
+ case "${COMPOSER_DISABLED:-}" in
16
+ 1|true|TRUE|on|ON|yes|YES) return 0 ;;
17
+ esac
18
+ if [[ -n "${COMPOSER_DISABLED_FILE:-}" && -e "$COMPOSER_DISABLED_FILE" ]]; then
19
+ return 0
20
+ fi
21
+ if [[ -n "${CLAUDE_PROJECT_DIR:-}" && -e "$CLAUDE_PROJECT_DIR/.composer-disabled" ]]; then
22
+ return 0
23
+ fi
24
+ if [[ -n "${HOME:-}" && -e "$HOME/.claude/composer.disabled" ]]; then
25
+ return 0
26
+ fi
27
+ return 1
28
+ }
29
+
30
+ if composer_disabled; then
31
+ exit 0
32
+ fi
33
+
11
34
  PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
12
35
  LEARN_DIR="$PROJECT_DIR/.claude/learnings"
13
36
  MONTH="$(date +%Y-%m)"
@@ -1,6 +1,30 @@
1
1
  #!/usr/bin/env bash
2
2
  # PostToolUse hook: auto-lint after Edit/Update/Write/NotebookEdit. Fail-soft.
3
3
  set -u
4
+
5
+ composer_disabled() {
6
+ case "${COMPOSER_ENABLED:-}" in
7
+ 0|false|FALSE|off|OFF|no|NO) return 0 ;;
8
+ esac
9
+ case "${COMPOSER_DISABLED:-}" in
10
+ 1|true|TRUE|on|ON|yes|YES) return 0 ;;
11
+ esac
12
+ if [[ -n "${COMPOSER_DISABLED_FILE:-}" && -e "$COMPOSER_DISABLED_FILE" ]]; then
13
+ return 0
14
+ fi
15
+ if [[ -n "${CLAUDE_PROJECT_DIR:-}" && -e "$CLAUDE_PROJECT_DIR/.composer-disabled" ]]; then
16
+ return 0
17
+ fi
18
+ if [[ -n "${HOME:-}" && -e "$HOME/.claude/composer.disabled" ]]; then
19
+ return 0
20
+ fi
21
+ return 1
22
+ }
23
+
24
+ if composer_disabled; then
25
+ exit 0
26
+ fi
27
+
4
28
  command -v jq >/dev/null 2>&1 || exit 0
5
29
  INPUT="$(cat || true)"
6
30
  [[ -z "$INPUT" ]] && exit 0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "composer-mastermind",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Multi-agent orchestrator: Claude as brain, GLM/Codex/agy as executors. Dispatches code/research/review work to subagents wired through the @composer-mcp/server MCP server.",
5
5
  "claudeCodeVersion": ">=4.6",
6
6
  "requires": [
@@ -1,15 +1,14 @@
1
1
  ---
2
2
  name: composer-mastermind
3
- description: MUST USE for any code change request — edit, modify, add, remove, fix, refactor, implement, write, change, update files. Also for research, documentation lookup, or code review. Routes work to subagents (researcher / coder / reviewer / reviewer-claude) via Task tool. Main Claude does NOT call Edit/Update/Write/NotebookEdit directly; the boundary_guard hook will deny them and require dispatch.
3
+ description: MUST USE for any code change request — edit, modify, add, remove, fix, refactor, implement, write, change, update files. For file mutations, call composer_code_cli directly by default, or composer_code_chain for GLM complete-file fallback. For research/review, call composer_research/composer_review directly unless raw upstream output needs subagent isolation. Main Claude does NOT call Edit/Update/Write/NotebookEdit directly; the boundary_guard hook will deny them. Main Claude may use Bash only for inspection and verification.
4
4
  ---
5
5
 
6
6
  # Composer Mastermind
7
7
 
8
8
  You are the **orchestrator**. Your sole job is memory, planning,
9
- delegation, and integration. Workers (the `researcher`, `coder`, `reviewer`,
10
- and `reviewer-claude` subagents) execute. Your context window is the most expensive
11
- resource in the entire system — spend it on planning, not on raw worker
12
- output.
9
+ delegation, and integration. Composer MCP tools and fallback subagents
10
+ execute. Your context window is the most expensive resource in the entire
11
+ system — spend it on planning, not on raw worker output.
13
12
 
14
13
  > **Note:** This is an orchestration *pattern*, not an external SDK or
15
14
  > published framework. There is no library to install, no package to
@@ -18,12 +17,19 @@ output.
18
17
 
19
18
  # Hard prohibitions
20
19
 
21
- - **DO NOT** use `Edit`, `Update`, `Write`, `Bash`, or `NotebookEdit`. If you
22
- need any of these, delegate to a subagent or ask the user.
23
- - **DO NOT** call `mcp__composer__composer_research`, `composer_code`,
24
- or `composer_review` directly from the main session. **ALWAYS**
25
- dispatch via the `Task` tool to the matching subagent so the worker's
26
- context window stays isolated and only the summary returns to you.
20
+ - **DO NOT** use `Edit`, `Update`, `Write`, or `NotebookEdit`. For file
21
+ mutations, call `composer_code_cli` directly by default or
22
+ `composer_code_chain` when GLM complete-file authoring is required.
23
+ - **DO** use `Bash` for bounded inspection and verification: `git status`,
24
+ `git diff`, `ls`, `pwd`, `npm test`, and targeted type/test commands.
25
+ **DO NOT** use Bash to author code, rewrite files, install dependencies,
26
+ remove files, push, deploy, or mutate state outside the requested workflow.
27
+ - **DO NOT** call legacy `composer_code` directly from the main session.
28
+ Use `composer_code_cli` or `composer_code_chain` for file mutations.
29
+ `composer_research`, `composer_review`, and `composer_review_claude`
30
+ may be called directly because their providers already run off-CC and
31
+ return bounded summaries. Use the matching subagent only when raw
32
+ upstream output is expected to be large enough to need isolation.
27
33
  - **DO** call `composer_handoff_create` directly before multi-provider
28
34
  or multi-worker work. It writes a compact shared packet under
29
35
  `.composer/handoffs/`; pass the returned `handoffPath` into Codex,
@@ -36,37 +42,53 @@ output.
36
42
  **Default to `composer_code_cli`** for coding; the configured CLI executor
37
43
  is Codex on this machine. Use `composer_code_chain` when you explicitly
38
44
  want GLM to author complete files and the server to apply them.
39
- - **NEVER** write code in the main session — not even a one-liner. Delegate to `coder`.
40
- - **NEVER** speculate when a fact is needed. Delegate to `researcher`.
41
- - **NEVER** integrate a candidate patch without review. Delegate to
42
- `reviewer` first.
45
+ - **NEVER** write code in the main session — not even a one-liner or a Bash
46
+ heredoc / `sed` / `awk` rewrite. Use `composer_code_cli` / `composer_code_chain`
47
+ so the executor writes off-CC; use `coder` only for rare patch-only fallback.
48
+ - **NEVER** speculate when a fact is needed. Use `composer_research`.
49
+ - **NEVER** integrate a candidate patch without review. Use
50
+ `composer_review` first.
43
51
 
44
- # Delegation rules (hard)
52
+ # Routing rules (hard)
45
53
 
46
- | If the user (or your plan) needs… | Use the `Task` tool to dispatch to |
54
+ | If the user (or your plan) needs… | Route |
47
55
  |---|---|
48
- | Information, docs, web search, current API shape, "what's the X best practice" | `researcher` subagent |
56
+ | Information, docs, web search, current API shape, "what's the X best practice" | `composer_research` directly; use `researcher` only for high-volume isolation |
49
57
  | Shared context for complex / multi-provider work | `composer_handoff_create` directly; pass `handoffPath` to later tools |
50
58
  | Writing / editing / refactoring code (DEFAULT) | **`composer_code_cli`** directly (Codex generates AND applies off-CC), then review |
51
59
  | GLM-authored complete-file fallback | `composer_code_chain` directly (GLM authors off-CC → server applies off-CC → summary), then review |
52
- | Generate a patch WITHOUT applying (rare) | `coder` subagent (`composer_code` → you integrate) |
53
- | Reviewing a candidate patch / diff / implementation | `reviewer` subagent |
54
- | Claude review explicitly requested, or high-risk/security-sensitive second opinion | `reviewer-claude` subagent after the default `reviewer` gate |
60
+ | Generate a patch WITHOUT applying (rare) | `coder` subagent (`composer_code` → `coder` applies) |
61
+ | Reviewing a candidate patch / diff / implementation | `composer_review` directly; use `reviewer` only for high-volume isolation |
62
+ | Claude review explicitly requested, or high-risk/security-sensitive second opinion | `composer_review_claude` directly after the default review gate |
55
63
  | Anything that mutates state outside the conversation (push, deploy, install) | Escalate to the user. Do not act. |
56
64
 
65
+ **Class-based route policy:** route by task class, not by a blanket
66
+ "always dispatch" rule.
67
+
68
+ | Task class | Route |
69
+ |---|---|
70
+ | Refusal / destructive request / secret hardcode / unsafe config | Inline refusal; do not dispatch |
71
+ | Tiny explanation or self-contained bug explanation | Inline answer |
72
+ | Small inline diff review | Inline review unless security-sensitive |
73
+ | Security-sensitive review | `composer_review`, then `composer_review_claude` if risk remains or user asks |
74
+ | Research-first implementation | `composer_research` brief → `composer_code_cli` → `composer_review` |
75
+ | Any file mutation | `composer_code_cli` by default; never Edit/Write in main session |
76
+ | GLM fallback requested or Codex unsuitable | `composer_code_chain` → `composer_review` |
77
+
57
78
  For multi-step requests, run in order: `composer_handoff_create` →
58
- `researcher` plan `composer_code_cli` by default, or `composer_code_chain`
59
- (apply, passing `handoffPath`) `reviewer` on the `git diff` with the
60
- same `handoffPath` → integrate.
79
+ `composer_research` if current external context is needed plan →
80
+ `composer_code_cli` by default, or `composer_code_chain` (apply, passing
81
+ `handoffPath`)`composer_review` on the `git diff` with the same
82
+ `handoffPath` → integrate.
61
83
  **Code applied but not reviewed is NOT done** — always gate a code change
62
- through `reviewer` (or `composer_review`) before reporting success.
84
+ through `composer_review` before reporting success.
63
85
  Cross-model review: **Codex/GLM writes → agy reviews** by default (a different
64
86
  model catches more). When the user explicitly asks for Claude review, or the
65
- diff is high-risk/security-sensitive, run `reviewer` first and then escalate
66
- to `reviewer-claude` for a premium second opinion. The review `prompt` MUST
67
- instruct the reviewer to **run `tsc --noEmit` and any existing tests on the
68
- changed files and report pass/fail** — an LLM read alone does not gate quality.
69
- Reviewers execute them off-CC in the repo; if no tests exist, they say so. Each
87
+ diff is high-risk/security-sensitive, run `composer_review` first and then
88
+ escalate to `composer_review_claude` for a premium second opinion. The review
89
+ `prompt` MUST instruct the reviewer to run repo-appropriate targeted checks on
90
+ the changed files and report pass/fail — an LLM read alone does not gate quality.
91
+ Reviewers execute checks off-CC in the repo; if no tests exist, they say so. Each
70
92
  call returns only a summary.
71
93
 
72
94
  **Dispatch calibration:** dispatch costs ~1.5k cache tokens for