@odla-ai/cli 0.27.2 → 0.27.4
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 +44 -3
- package/REQUIREMENTS.md +4 -0
- package/dist/bin.cjs +536 -158
- package/dist/bin.cjs.map +1 -1
- package/dist/bin.js +1 -1
- package/dist/{chunk-JWEBGIBR.js → chunk-GENTB3VO.js} +539 -161
- package/dist/chunk-GENTB3VO.js.map +1 -0
- package/dist/index.cjs +536 -158
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/skills/odla/SKILL.md +29 -5
- package/skills/odla/references/agent-identity.md +125 -0
- package/skills/odla/references/pm-work-intake.md +131 -0
- package/skills/odla/references/pm.md +139 -11
- package/skills/odla-migrate/references/project-state.md +8 -2
- package/dist/chunk-JWEBGIBR.js.map +0 -1
package/README.md
CHANGED
|
@@ -73,6 +73,12 @@ and reject unknown fields, so credentials cannot be added to
|
|
|
73
73
|
when no profile is selected. Each cache records its platform audience, and a
|
|
74
74
|
token for another origin is never reused. `context show` reports provenance and
|
|
75
75
|
cache state only; it never returns a credential or starts a device handshake.
|
|
76
|
+
When a cached credential expires, the approving human can reuse the agent's
|
|
77
|
+
exact handle suffix to bind the replacement credential to the same durable
|
|
78
|
+
principal. The approval appends new revisions for the exact projects selected;
|
|
79
|
+
it does not automatically revoke the older credential or renew an omitted
|
|
80
|
+
project. The installed `references/agent-identity.md` runbook gives the full
|
|
81
|
+
cross-worktree recovery procedure.
|
|
76
82
|
|
|
77
83
|
```bash
|
|
78
84
|
ODLA_DEV_TOKEN=... npx @odla-ai/cli pm handoff --app <appId>
|
|
@@ -86,12 +92,13 @@ npx @odla-ai/cli runbook new deploy --context production --title Deploy --file d
|
|
|
86
92
|
|
|
87
93
|
Runbooks tell an agent how to operate; PM tells every agent what this project is
|
|
88
94
|
trying to prove, what is active, what was decided, and what is broken. Once the
|
|
89
|
-
app is registered, start each session
|
|
90
|
-
|
|
95
|
+
app is registered, start each session with the read-only aligned-work intake,
|
|
96
|
+
then read open bugs and recent decisions:
|
|
91
97
|
|
|
92
98
|
```bash
|
|
99
|
+
npx odla-ai pm next --app <appId>
|
|
93
100
|
npx odla-ai pm handoff --app <appId>
|
|
94
|
-
npx odla-ai pm
|
|
101
|
+
npx odla-ai pm watch --app <appId> --entity task --jsonl
|
|
95
102
|
npx odla-ai pm bug list --app <appId> --status open
|
|
96
103
|
npx odla-ai pm goal list --app <appId> --status open
|
|
97
104
|
npx odla-ai pm decision list --app <appId> --limit 20
|
|
@@ -112,6 +119,36 @@ the first provision, use a focused commit/checkpoint, then initialize PM and
|
|
|
112
119
|
backfill that evidence immediately after registration. Never use a parallel
|
|
113
120
|
status diary or put a secret in PM.
|
|
114
121
|
|
|
122
|
+
Before project-mutating work, match the request to an open goal. If it is not
|
|
123
|
+
aligned, discuss that with the user before creating an outcome or implementing.
|
|
124
|
+
Refine a Backlog task with `--goal` (or an accepted
|
|
125
|
+
`--alignment-decision`), `--description`, and `--acceptance`, then mark it Ready
|
|
126
|
+
and claim the reviewed revision:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npx odla-ai pm task ready <id> --expected-revision <n>
|
|
130
|
+
npx odla-ai pm task claim <id> --expected-revision <n>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Ready is stored as `todo` for API compatibility. Claims are atomic and assign
|
|
134
|
+
the authenticated principal; stale or concurrent claims fail. Use `pm task
|
|
135
|
+
release` for an explicit recovery handoff instead of leaving Doing as a vague
|
|
136
|
+
status. The complete runbook is installed as
|
|
137
|
+
`references/pm-work-intake.md` by `odla-ai skill install`.
|
|
138
|
+
|
|
139
|
+
`pm watch` is the durable wake-up path for goal/task/decision/bug changes and
|
|
140
|
+
comments attached to those work items. Its first request creates an opaque
|
|
141
|
+
checkpoint; persist later `checkpoint` JSONL records and deduplicate
|
|
142
|
+
at-least-once events by `eventId`. Use `--action comment.created` for comment
|
|
143
|
+
traffic. A Ready event or comment is not a claim: reload the task and goal, then
|
|
144
|
+
claim the current revision. General Discussion topics and mentions remain on
|
|
145
|
+
`discuss watch` until PM topics gain context-aware capability enforcement.
|
|
146
|
+
Use `pm task ref <id>` (or the equivalent goal/decision/bug command) to print
|
|
147
|
+
copy-ready structured markup for Discussion. The same markup may be pasted into
|
|
148
|
+
`pm <entity> comment <id> --body "…"`; PM stores it as a structured reference,
|
|
149
|
+
and `pm <entity> comments <id>` prints copy-ready markup instead of flattening
|
|
150
|
+
the link back to a title.
|
|
151
|
+
|
|
115
152
|
When diagnosing a deployed app, agents can request one parseable observability
|
|
116
153
|
snapshot instead of scraping Studio or composing collector routes themselves:
|
|
117
154
|
|
|
@@ -426,6 +463,10 @@ shown-once credential.
|
|
|
426
463
|
`--email <account>` or `ODLA_USER_EMAIL`; the matching existing account must
|
|
427
464
|
sign in, review the exact code, and approve it. Opening the URL alone does
|
|
428
465
|
not claim the request.
|
|
466
|
+
Studio shows the immutable project-derived agent handle, project, and
|
|
467
|
+
capability request without mutation controls. The owner approves that exact
|
|
468
|
+
request or declines it with an explanation which the CLI returns to the
|
|
469
|
+
calling agent; a different identity or access set requires a new request.
|
|
429
470
|
Every real CLI handshake prints exactly one canonical `/studio?code=…` URL
|
|
430
471
|
and attempts to open it — including from CI, SSH, display-less, scripted,
|
|
431
472
|
and agent-driven shells. Only `--no-open` suppresses the attempt. Browser
|
package/REQUIREMENTS.md
CHANGED
|
@@ -42,6 +42,10 @@ Agnacl, but none should mention or special-case Agnacl.
|
|
|
42
42
|
`<platform>/studio?code=…` URL. Optional server URL hints must not create a
|
|
43
43
|
second CLI path. Opening it must not claim the request; the matching user must
|
|
44
44
|
explicitly review that exact code before approval controls appear.
|
|
45
|
+
- Studio must display the complete immutable request without grant-editing
|
|
46
|
+
controls. Approval accepts the request digest exactly; denial requires a
|
|
47
|
+
bounded, non-secret explanation returned to the polling agent. Any changed
|
|
48
|
+
scope, project, or capability requires a fresh request.
|
|
45
49
|
- Only one claimed pending or approved-but-uncollected request may be active per
|
|
46
50
|
user. Unclaimed issued codes must not occupy that slot.
|
|
47
51
|
- Every real CLI handshake must attempt to open that canonical approval URL,
|