@koda-sl/baker-cli 0.134.1 → 0.135.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/README.md CHANGED
@@ -2507,7 +2507,8 @@ Permissions enforced server-side:
2507
2507
 
2508
2508
  - Only `claim`/`release` mutate live state.
2509
2509
  - `claim` returns action details (`id`, `name`, `description`) plus `recommendedSkills` — a fast model reads the action's name/description/tags against the local `.claude/skills/` catalog and returns the skills (`{ name, reason }`) most worth loading for the work, echoed as `/skill — reason` lines in `hints`. It is best-effort: if the catalog is absent or the model call fails, the claim still succeeds and falls back to the generic "review and load relevant skills" hint.
2510
- - `update`, `complete`, `discard`, `unlink` require the action to be claimed by the current chat — otherwise the API returns `FORBIDDEN` with a hint to claim first.
2510
+ - `complete` and `unlink` require the action to be claimed by the current chat — otherwise the API returns `FORBIDDEN` with a hint to claim first. Completing is the record that the work is done, so it stays claim-gated.
2511
+ - `update` and `discard` do NOT require a claim — a chat may edit or retire an action it never claimed. They are blocked only when another chat currently holds the claim (`CONFLICT` with that chat's title).
2511
2512
  - Claiming an action already claimed by another chat returns `CONFLICT` with the other chat's title — pick a different action.
2512
2513
  - All staged ops are reverted automatically when the chat is discarded.
2513
2514
 
package/dist/cli.js CHANGED
@@ -507,7 +507,7 @@ function readSkillCatalog(startDir) {
507
507
  // src/commands/actions/claim.ts
508
508
  registerSchema({
509
509
  command: "actions.claim",
510
- description: "Claim an action for the current chat (live \u2014 visible to other chats immediately). Returns action details plus a fast-model recommendation of which skills to load for the work (`recommendedSkills`).",
510
+ description: "Claim an action for the current chat (live \u2014 visible to other chats immediately). Claim only what you're actively working on now: it's required before `complete`, but NOT for `update` or `discard` (those stage without a claim). Returns action details plus a fast-model recommendation of which skills to load for the work (`recommendedSkills`).",
511
511
  args: {
512
512
  id: { type: "string", description: "Action ID", required: true }
513
513
  }
@@ -536,7 +536,7 @@ function buildHints(recommendations) {
536
536
  var claimCommand = defineCommand({
537
537
  meta: {
538
538
  name: "claim",
539
- description: "Claim an action so other chats see you're working on it. Required before update/complete/discard. Example: baker actions claim <action-id>"
539
+ description: "Claim an action so other chats see you're working on it. Required before `complete` (update and discard don't need a claim). Example: baker actions claim <action-id>"
540
540
  },
541
541
  args: {
542
542
  id: { type: "positional", description: "Action ID", required: false },
@@ -2752,16 +2752,16 @@ var createCommand = defineCommand3({
2752
2752
  import { defineCommand as defineCommand4 } from "citty";
2753
2753
  registerSchema({
2754
2754
  command: "actions.discard",
2755
- description: "Stage discard of a claimed action. Applies on chat publish.",
2755
+ description: "Stage discard of an action \u2014 no claim needed; retire any action you're not working on. Applies on chat publish. Blocked only if another chat currently has it claimed.",
2756
2756
  args: {
2757
- id: { type: "string", description: "Action ID (must be claimed by current chat)", required: true },
2757
+ id: { type: "string", description: "Action ID", required: true },
2758
2758
  reason: { type: "string", description: "Optional reason", required: false }
2759
2759
  }
2760
2760
  });
2761
2761
  var discardCommand = defineCommand4({
2762
2762
  meta: {
2763
2763
  name: "discard",
2764
- description: 'Stage discard of a claimed action. Example: baker actions discard <id> --reason "obsolete"'
2764
+ description: 'Stage discard of an action (no claim needed). Example: baker actions discard <id> --reason "obsolete"'
2765
2765
  },
2766
2766
  args: {
2767
2767
  id: { type: "positional", description: "Action ID", required: false },
@@ -3340,9 +3340,9 @@ var unlinkCommand = defineCommand16({
3340
3340
  import { defineCommand as defineCommand17 } from "citty";
3341
3341
  registerSchema({
3342
3342
  command: "actions.update",
3343
- description: "Stage an update on a claimed action (name, description, tags, and/or priority). Applies on publish. --tags REPLACES the tag set; pass --tags '' to clear. --priority accepts urgent|high|medium|low or 'none' to clear back to unset (== normal).",
3343
+ description: "Stage an update on an action (name, description, tags, and/or priority) \u2014 no claim needed; edit any action you're not working on. Applies on publish. Blocked only if another chat currently has it claimed. --tags REPLACES the tag set; pass --tags '' to clear. --priority accepts urgent|high|medium|low or 'none' to clear back to unset (== normal).",
3344
3344
  args: {
3345
- id: { type: "string", description: "Action ID (must be claimed by current chat)", required: true },
3345
+ id: { type: "string", description: "Action ID", required: true },
3346
3346
  name: { type: "string", description: "New name", required: false },
3347
3347
  description: { type: "string", description: "New description", required: false },
3348
3348
  tags: {
@@ -3360,7 +3360,7 @@ registerSchema({
3360
3360
  var updateCommand = defineCommand17({
3361
3361
  meta: {
3362
3362
  name: "update",
3363
- description: 'Stage an update on a claimed action. Example: baker actions update <id> --name "New name"'
3363
+ description: 'Stage an update on an action (no claim needed). Example: baker actions update <id> --name "New name"'
3364
3364
  },
3365
3365
  args: {
3366
3366
  id: { type: "positional", description: "Action ID", required: false },