@gobing-ai/spur 0.3.54 → 0.3.55

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.
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "plugins": [
8
8
  {
9
- "version": "0.3.54",
9
+ "version": "0.3.55",
10
10
  "name": "sp",
11
11
  "source": "./plugins/sp",
12
12
  "description": "Spur - my harness toolkits"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobing-ai/spur",
3
- "version": "0.3.54",
3
+ "version": "0.3.55",
4
4
  "description": "Spur CLI — local-first harness for mainstream coding agents: constraint checking, workflow orchestration, agent health, and history analytics. Bun-native; exposes the `spur` command.",
5
5
  "keywords": [
6
6
  "spur",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Turn a vague idea into a feature with AC and a decomposed task batch — discovery, idea-eval, feature-create, AC, feature-check, system-design, decompose, batch-create (Design by default), handoff
3
3
  role: planner
4
- argument-hint: "\"<idea>\" [--auto] [--skip-design] [--approve-taste]"
4
+ argument-hint: "\"<idea>\" [--auto] [--skip-design] [--approve-taste] [--agent <inline|auto|name>]"
5
5
  allowed-tools: ["Bash", "Read", "AskUserQuestion"]
6
6
  ---
7
7
 
@@ -19,6 +19,7 @@ Wraps the **idea-pipeline.yaml** workflow.
19
19
  | `--approve-taste` | With `--auto`: set idea_approved + design_approved so idea-eval / design-approval do not pause. | off |
20
20
  | `--idea-approved` | Compatibility alias for idea_approved=true (subset of --approve-taste). | off |
21
21
  | `--design-approved` | Compatibility alias for design_approved=true (subset of --approve-taste). | off |
22
+ | `--agent` `<inline\|auto\|name>` | Who runs the model-bearing ideation. The pipeline's `agent.run` stages are headless — they always dispatch a subprocess, so `--agent inline` is rejected there with the stable special error (exit 2). Use `omit` (resolves to `agent.default`), `auto` (tier-resolves an executor), or a name (pins that executor). | agent.default |
22
23
 
23
24
  For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
24
25
 
@@ -29,6 +30,7 @@ For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag
29
30
  [--auto] # skip objective HITL only (feature-check, batch-create)
30
31
  [--skip-design] # design package off (system-design + task Design)
31
32
  [--approve-taste] # with --auto: skip idea-eval + design-approval pauses
33
+ [--agent <inline|auto|name>] # who runs the model-bearing ideation (default: agent.default)
32
34
  ```
33
35
 
34
36
  There is **no** `--design` force flag. Design is default-on; only `--skip-design` opts out.
@@ -46,6 +48,12 @@ spur workflow run .spur/workflows/idea-pipeline.yaml --vars '{
46
48
  "profile":"interactive|auto",
47
49
  "design":"auto|skip",
48
50
  "design_approved":"false|true",
49
- "idea_approved":"false|true"
51
+ "idea_approved":"false|true",
52
+ "agent":"<executor-or-role>"
50
53
  }'
51
54
  ```
55
+
56
+ Omit `agent` from `--vars` unless the operator passed `--agent`: an absent var lets `agent.default`
57
+ (a Layer-1 role, resolved to its tier's cheapest usable executor) govern, which is the intended
58
+ routing. Passing `--agent <name>` pins that executor for every `agent.run` stage — the escape hatch
59
+ when the resolved executor is unusable (quota exhaustion, auth failure).
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sp",
3
- "version": "0.3.54",
3
+ "version": "0.3.55",
4
4
  "description": "Spur — a local-first harness engineering toolkit that wraps mainstream coding agents with constraint checking, workflow orchestration, and history analytics.",
5
5
  "extensions": {
6
6
  "pi": ["./hooks/pi/guard-extension.ts"]
@@ -82,7 +82,7 @@ each would be scope creep for one-liner procedures.
82
82
  | 13a | parallel | `dev-parallel` | `Skill()` | `sp:parallel-execution` | `--tasks <selector> [--feature <id>] [--mode <fan-out\|review-panel\|investigation>] [--agent <inline\|auto\|name>] [--json]` |
83
83
  | 14 | wrap | `dev-wrap` | `Skill()` | `spur workflow run` (wrapup-pipeline) | `<wbs> [--agent <inline\|auto\|name>] [--auto] [--merge] [--dry-run]` |
84
84
  | 15 | wrapall | `dev-wrapall` | `Skill()` | `spur workflow run` (wrapup-pipeline) | `[--since <iso>] [--feature <id>] [--status <s>] [--agent <inline\|auto\|name>] [--auto] [--merge] [--dry-run]` |
85
- | 16 | idea | `dev-idea` | `Skill()` | `spur workflow run` (idea-pipeline) | `"<idea>" [--auto] [--skip-design] [--approve-taste]` |
85
+ | 16 | idea | `dev-idea` | `Skill()` | `spur workflow run` (idea-pipeline) | `"<idea>" [--auto] [--skip-design] [--approve-taste] [--agent <inline\|auto\|name>]` |
86
86
 
87
87
  ## Skill-backed operations
88
88
 
package/spur.js CHANGED
@@ -81462,9 +81462,9 @@ async function resolveDefaultAgentVar(cwd, callerVars, warn) {
81462
81462
  if (typeof configured !== "string" || configured.length === 0) {
81463
81463
  return result;
81464
81464
  }
81465
- const valid = config4.agent?.executors?.some((e) => e.name === configured) === true || resolveAgentName(configured) !== undefined;
81465
+ const valid = AGENT_ROLE_NAMES.includes(configured) || config4.agent?.executors?.some((e) => e.name === configured) === true || resolveAgentName(configured) !== undefined;
81466
81466
  if (!valid) {
81467
- warn(`agent.default "${configured}" does not name a configured executor or agent binary; leaving the pipeline's literal agent in force`);
81467
+ warn(`agent.default "${configured}" does not name a Layer-1 role, a configured executor, or an agent binary; leaving the pipeline's literal agent in force`);
81468
81468
  return result;
81469
81469
  }
81470
81470
  if (callerVars?.agent === undefined)
@@ -90922,7 +90922,7 @@ import { createRequire } from "module";
90922
90922
  var CLI_CONFIG = {
90923
90923
  binaryName: "spur",
90924
90924
  binaryLabel: "spur",
90925
- binaryVersion: "0.3.54",
90925
+ binaryVersion: "0.3.55",
90926
90926
  configDir: ".spur",
90927
90927
  configFile: ".spur/config.yaml",
90928
90928
  databaseFile: ".spur/spur.db"