@flumecode/runner 0.1.0 → 0.2.0

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/dist/cli.js CHANGED
@@ -175,6 +175,9 @@ var stepSchema = z2.object({
175
175
  files: z2.array(z2.string()).optional().describe("Affected file paths.")
176
176
  });
177
177
  var planInputSchema = {
178
+ title: z2.string().min(1).max(120).describe(
179
+ "A concise, descriptive name for THIS plan. Must be distinct from the request title and from any sibling plans on the same request. Keep it under 120 characters."
180
+ ),
178
181
  scope: z2.enum(["feat", "fix", "chore", "docs", "test", "refactor"]).describe("The primary intent of the change."),
179
182
  goal: z2.string().min(1).describe("One or two sentences stating the outcome."),
180
183
  assumptions: z2.array(z2.string()).describe("Anything decided during planning, including unanswered defaults."),
@@ -188,6 +191,8 @@ var planInputSchema = {
188
191
  var planSchema = z2.object(planInputSchema);
189
192
  function renderPlan(plan) {
190
193
  const lines = [];
194
+ lines.push(`# ${plan.title}`);
195
+ lines.push("");
191
196
  lines.push(`**Scope** \u2014 \`${plan.scope}\``);
192
197
  lines.push("");
193
198
  lines.push(`**Goal** \u2014 ${plan.goal}`);
@@ -235,7 +240,7 @@ function createPlanTooling() {
235
240
  let renderedPlan = null;
236
241
  const submitPlan = tool2(
237
242
  SUBMIT_PLAN,
238
- "Submit the finished plan. Call this \u2014 and only this \u2014 when the plan is complete and ready to post. The runner renders your structured fields into the canonical plan markdown and posts it as your comment. acceptanceCriteria is required and must contain at least 2 observable, verifiable conditions (behaviors, tests, or states you could check) that together define 'done'. After calling this, end your turn.",
243
+ "Submit the finished plan. Call this \u2014 and only this \u2014 when the plan is complete and ready to post. The runner renders your structured fields into the canonical plan markdown and posts it as your comment. acceptanceCriteria is required and must contain at least 2 observable, verifiable conditions (behaviors, tests, or states you could check) that together define 'done'. After calling this, end your turn. The `title` field names this specific plan \u2014 make it concise and distinct from the request title.",
239
244
  planInputSchema,
240
245
  async (args) => {
241
246
  renderedPlan = renderPlan(planSchema.parse(args));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flumecode/runner",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "FlumeCode local runner — claims jobs and drives your local Claude Code against a real checkout.",
6
6
  "bin": {
@@ -57,6 +57,8 @@ it as your comment — do **not** write the plan as your reply text.
57
57
 
58
58
  Field-by-field guidance:
59
59
 
60
+ - **`title`** — a concise, descriptive name for this specific plan. Must be distinct from the
61
+ request title and from any sibling plans on the same request. Keep it under 120 characters.
60
62
  - **`scope`** — exactly one of `feat`, `fix`, `chore`, `docs`, `test`,
61
63
  `refactor`. Pick the one that best matches the primary intent of the request.
62
64
  - **`goal`** — one or two sentences stating the outcome, phrased so it directly
@@ -85,9 +87,10 @@ plan without re-deriving it.
85
87
  A single request can yield **several** plans — one thread can be accepted into
86
88
  many. If the work naturally splits into independent pieces, or the user asks for
87
89
  more than one plan, call `submit_plan` once for each finished plan so each can
88
- be accepted into its own GitHub issue. After a plan is accepted the user may
89
- keep commenting to refine it; treat a later turn as a fresh **Plan** phase and
90
- call `submit_plan` again with the revised fields.
90
+ be accepted into its own GitHub issue. Give each plan its own distinct `title`
91
+ so sibling plans don't collide. After a plan is accepted the user may keep
92
+ commenting to refine it; treat a later turn as a fresh **Plan** phase and call
93
+ `submit_plan` again with the revised fields.
91
94
 
92
95
  ## Always
93
96