@odla-ai/cli 0.30.1 → 0.30.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.
package/dist/index.js CHANGED
@@ -56,7 +56,7 @@ import {
56
56
  startHostedSecurityJob,
57
57
  surfacePaths,
58
58
  validateInvocation
59
- } from "./chunk-7V7WVTDT.js";
59
+ } from "./chunk-3HFNKDZV.js";
60
60
  import {
61
61
  exitCodeFor,
62
62
  redactSecrets
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odla-ai/cli",
3
- "version": "0.30.1",
3
+ "version": "0.30.2",
4
4
  "description": "Agent-operable CLI for odla provisioning, calendar consent and connection lifecycle, System AI administration, Worker secrets, security jobs, and smoke checks.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://odla.ai/docs/packages/cli",
@@ -81,10 +81,19 @@ do not retry with a guessed revision. Once claimed, use the repository's
81
81
  worktree procedure and mention the PM references in the execution chat:
82
82
 
83
83
  ```text
84
- @[Task title](pm:task/<task-id>)
85
- @[Goal title](pm:goal/<goal-id>)
84
+ [Task title](https://odla.ai/studio/pm/board/<task-id>)
85
+ [Goal title](https://odla.ai/studio/pm/goals/<goal-id>)
86
86
  ```
87
87
 
88
+ In user-facing chat, a UUID is never the record's label. Name the type and title
89
+ as a Markdown link to Studio, then add the state, consequence, or next action. A
90
+ useful handoff says, for example, `Ready task: [Replace UUID-only PM
91
+ handoffs](https://odla.ai/studio/pm/board/<task-id>) — ready to claim`, not
92
+ `Ready task: <task-id>`. When several records are related, explain that
93
+ relationship instead of returning an id inventory. Create and lifecycle
94
+ commands print the title-first link directly; `pm ... link <id>` reproduces it
95
+ later. Reserve `pm ... ref <id>` for structured odla Discussion markup.
96
+
88
97
  ## 5. Execute, review, and complete
89
98
 
90
99
  - Keep the task description/acceptance criteria current under its revision.
@@ -188,6 +188,41 @@ npx @odla-ai/cli pm task comments <task-id>
188
188
  Use `pm:task`, `pm:goal`, `pm:decision`, `pm:bug`, and `pm:runbook`. The message
189
189
  is communication; the referenced PM row remains the lifecycle authority.
190
190
 
191
+ ### Human-readable handoffs
192
+
193
+ A PM id is an implementation handle, not a useful description of work. In every
194
+ chat update, final response, review request, or handoff, lead with the record's
195
+ type and title as an ordinary Markdown link to its Studio record, then say what
196
+ happened or what the recipient should do. The UUID belongs in the link target,
197
+ not in the prose. Typed `pm:*` references are for odla Discussion, where they
198
+ render as PM chips; do not expose that internal markup in ordinary chat.
199
+
200
+ Do not write:
201
+
202
+ ```text
203
+ Accepted decision: 019fd392-1217-754c-a61d-3b0470bcd269
204
+ Ready task: 019fd392-dd02-7312-86d6-d255c5a983e7
205
+ Backup bug: 20f38d3d-7c02-54b5-8e33-f8b82e4ab125
206
+ ```
207
+
208
+ Write a compact semantic handoff instead:
209
+
210
+ ```text
211
+ Accepted decision: [Keep the legacy fallback through migration](https://odla.ai/studio/pm/decisions/<decision-id>) — rules out deleting it before production evidence is clean.
212
+ Ready task: [Replace UUID-only PM handoffs](https://odla.ai/studio/pm/board/<task-id>) — implementation is bounded and ready to claim.
213
+ Tracked bug: [PM create output hides the record title](https://odla.ai/studio/pm/bugs/<bug-id>) — retained if the task does not cover every output path.
214
+ ```
215
+
216
+ The CLI reinforces this convention: successful creates and lifecycle changes
217
+ print title-first, copy-ready links, such as
218
+ `created bug: [Checkout 500s on retry](https://odla.ai/studio/pm/bugs/<bug-id>)`
219
+ and `decision: [Keep the fallback](https://odla.ai/studio/pm/decisions/<decision-id>)
220
+ → accepted`. Use `pm ... link <id>` to regenerate an ordinary Markdown link
221
+ later; use `pm ... ref <id>` only for structured odla Discussion markup.
222
+ Summarize the relationship between records instead of merely listing them; PM
223
+ contains the detail, while chat should make the state and next action
224
+ understandable before the recipient follows a link.
225
+
191
226
  In Studio, open any PM item and choose **Discuss** to open the owning project's
192
227
  Discussion composer with the same stable reference already inserted. The draft
193
228
  is retained in the URL across reload/back navigation but is not a write: review,