@rryando/arcs 3.4.1 → 3.4.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rryando/arcs",
3
- "version": "3.4.1",
3
+ "version": "3.4.3",
4
4
  "description": "ARCS — DAG-based task orchestration for AI agents. Persistent workflow continuity via graph-structured context.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -173,14 +173,18 @@ const agentMetadata = {
173
173
  name: "ARCS Orchestrator",
174
174
  description:
175
175
  "The central coordinator for executing plans, managing agent dispatch, and handling DAG workflows.",
176
- tools: "Read, Write, Edit, Glob, Grep, Bash",
176
+ // Task is required: orchestrators dispatch sub-agents. Omitting it leaves
177
+ // the delegator with no way to delegate.
178
+ tools: "Task, Read, Write, Edit, Glob, Grep, Bash",
177
179
  model: "inherit",
178
180
  },
179
181
  "arcs-orchestrate-caveman": {
180
182
  name: "ARCS Orchestrator (Caveman)",
181
183
  description:
182
184
  "A terse, high-efficiency orchestrator that drives tasks without extra commentary.",
183
- tools: "Read, Write, Edit, Glob, Grep, Bash",
185
+ // Task is required: orchestrators dispatch sub-agents. Omitting it leaves
186
+ // the delegator with no way to delegate.
187
+ tools: "Task, Read, Write, Edit, Glob, Grep, Bash",
184
188
  model: "inherit",
185
189
  },
186
190
  };
@@ -237,15 +241,23 @@ function buildAgentSources() {
237
241
  const tier = agentTierMap[stem] || "standard";
238
242
  const model = tierModels[tier];
239
243
 
240
- const toolsArray = meta.tools.split(",").map((t) => t.trim());
241
- const toolsYaml = `[${toolsArray.map((t) => `"${t}"`).join(", ")}]`;
244
+ // Claude Code requires `name` to be a kebab-case identifier (lowercase
245
+ // letters + hyphens). The filename stem already satisfies this and is
246
+ // unique, so it IS the agent name — the human-readable label lives in
247
+ // `description`. The default-agent setting (DEFAULT_AGENT) references this
248
+ // same stem, so it resolves. Display names with spaces/parens/apostrophes
249
+ // (meta.name) are invalid here and caused intermittent init failures.
250
+ const toolsCsv = meta.tools
251
+ .split(",")
252
+ .map((t) => t.trim())
253
+ .join(", ");
242
254
 
243
255
  const compiledContent = [
244
256
  "---",
245
- `name: ${meta.name}`,
257
+ `name: ${stem}`,
246
258
  `description: ${meta.description}`,
247
259
  `model: ${model}`,
248
- `tools: ${toolsYaml}`,
260
+ `tools: ${toolsCsv}`,
249
261
  "---",
250
262
  "",
251
263
  promptContent,