@elmundi/ship-cli 0.14.0 → 0.14.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.
@@ -412,7 +412,8 @@ curl -fsS -X POST '${apiBase}/v1/workspaces/${workspaceId}/agent-runs/finish' \\
412
412
  ${ticketLine}
413
413
  ${fsmLine}
414
414
  "stage_next": "<next FSM stage, e.g. ba_requirements>",
415
- "comment": "Markdown summary of what you did. End with [Ship SDLC:${ctx?.role || "{{ROLE}}"}].",
415
+ "description": "<Full rewritten ticket body in Markdown Problem / Goal / Acceptance criteria / Scope / Non-goals / Risks / etc. when your role's job is to shape the ticket itself (intake, BA, planner). Omit (null) when your role is not supposed to rewrite the body.>",
416
+ "comment": "<One-paragraph audit narration of what you changed and why, ending with [Ship SDLC:${ctx?.role || "{{ROLE}}"}]. Do NOT paste the new description here — that's what the description field is for.>",
416
417
  "summary": null,
417
418
  "payload": {}
418
419
  }
@@ -421,20 +422,43 @@ JSON
421
422
 
422
423
  ### Outcomes
423
424
 
424
- - **\`ready_next_step\`** — your role finished cleanly. Set
425
- \`stage_next\` to the next FSM stage. Server moves the ticket and
426
- posts \`comment\` if provided.
425
+ - **\`ready_next_step\`** — your role finished cleanly. Two shapes:
426
+
427
+ 1. **You worked on a ticket.** Set \`ticket_ref\` and \`stage_next\`
428
+ to the next FSM stage; server moves the ticket. If your role's
429
+ job is to shape the ticket (intake / BA / planner), set
430
+ \`description\` to the **full rewritten body** — the server
431
+ replaces the tracker description (Linear keeps the prior body
432
+ in the activity feed, so nothing is lost). Use \`comment\` for
433
+ a short audit narration of what changed and why; **do not put
434
+ the new spec text in a comment**, otherwise the ticket
435
+ description rots while comments accumulate. Pure-narration
436
+ roles (security-officer, retro) skip \`description\` entirely.
437
+ 2. **There was nothing to do.** Pass \`ticket_ref: null\` and omit
438
+ \`stage_next\`. The server records the run in the audit log and
439
+ does **nothing** else — no inbox row, no tracker mutation. This
440
+ is the right outcome when a context-free routine (daily audit,
441
+ security sweep, retro) found no findings, OR when an FSM-stage
442
+ agent picked up no eligible ticket. **No work is not a blocker.**
443
+
427
444
  - **\`needs_clarification\`** — you're waiting on a human. Set
428
445
  \`comment\` with the question (server posts it) or omit it if you
429
446
  already left the question via a separate read-only path. Server
430
447
  tags the ticket \`needs:clarification\` so intake stops re-picking.
431
- Status stays Todo. \`stage_next\` is ignored.
432
- - **\`blocked\`** — you cannot proceed (missing secret, broken env,
433
- conflicting branch). Server drops a blocker into the workspace
434
- inbox; ticket unchanged. \`stage_next\` is ignored.
448
+ Status stays Todo. \`stage_next\` is ignored. Requires a
449
+ \`ticket_ref\`.
450
+
451
+ - **\`blocked\`** **the environment is broken.** Use this only when
452
+ something on the runner side prevents the work from running:
453
+ missing secret, dead adapter, conflicting branch, tracker
454
+ unreachable, snyk/probe binary not installed, etc. Server drops a
455
+ blocker row into the inbox so an operator can fix the plumbing.
456
+ **Do not use \`blocked\` to mean "no findings" or "queue empty"**
457
+ — those are \`ready_next_step\` with \`ticket_ref: null\`.
458
+
435
459
  - **\`out_of_scope\`** — the ticket is invalid or shouldn't be
436
460
  processed. Server moves it to Done with optional \`comment\`.
437
- \`stage_next\` is ignored.
461
+ \`stage_next\` is ignored. Requires a \`ticket_ref\`.
438
462
 
439
463
  ### Security
440
464
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elmundi/ship-cli",
3
- "version": "0.14.0",
3
+ "version": "0.14.2",
4
4
  "type": "module",
5
5
  "description": "Ship CLI: bootstrap a repo, sync the catalog, run process routines, report outcomes.",
6
6
  "license": "Apache-2.0",