@calliopelabs/cli 3.6.0 → 3.7.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/acp/controls.d.ts +10 -0
- package/dist/acp/controls.d.ts.map +1 -0
- package/dist/acp/controls.js +81 -0
- package/dist/acp/controls.js.map +1 -0
- package/dist/acp.d.ts +11 -4
- package/dist/acp.d.ts.map +1 -1
- package/dist/acp.js +114 -18
- package/dist/acp.js.map +1 -1
- package/dist/build-identity.d.ts +27 -0
- package/dist/build-identity.d.ts.map +1 -0
- package/dist/build-identity.js +32 -0
- package/dist/build-identity.js.map +1 -0
- package/dist/build-metadata.json +1 -0
- package/dist/improvement/cli.d.ts +1 -1
- package/dist/improvement/cli.d.ts.map +1 -1
- package/dist/improvement/cli.js +18 -4
- package/dist/improvement/cli.js.map +1 -1
- package/dist/improvement/host-capabilities.d.ts +119 -0
- package/dist/improvement/host-capabilities.d.ts.map +1 -0
- package/dist/improvement/host-capabilities.js +18 -0
- package/dist/improvement/host-capabilities.js.map +1 -0
- package/dist/improvement/index.d.ts +1 -0
- package/dist/improvement/index.d.ts.map +1 -1
- package/dist/improvement/index.js +1 -0
- package/dist/improvement/index.js.map +1 -1
- package/dist/orchestration/reviewed-ledger.d.ts.map +1 -1
- package/dist/orchestration/reviewed-ledger.js +11 -3
- package/dist/orchestration/reviewed-ledger.js.map +1 -1
- package/dist/orchestration/routing.d.ts +3 -0
- package/dist/orchestration/routing.d.ts.map +1 -1
- package/dist/orchestration/routing.js +5 -1
- package/dist/orchestration/routing.js.map +1 -1
- package/dist/storage.d.ts +2 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +5 -1
- package/dist/storage.js.map +1 -1
- package/docs/acp.md +228 -0
- package/docs/delegation-ledger.md +3 -1
- package/docs/improvement-cycles.md +304 -0
- package/docs/releases/3.7.0.md +53 -0
- package/package.json +5 -2
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
# Bounded improvement cycles
|
|
2
|
+
|
|
3
|
+
Version-4 [supervised runs](continuous-supervision.md) record each final `retry`,
|
|
4
|
+
`replan` or `decompose` decision as an improvement cycle. The controller optimizes
|
|
5
|
+
for the reviewed principle (`speed`, `robustness`, `stability`, `security`,
|
|
6
|
+
`performance` or `cost`), reviews executor evidence, and receives the latest four
|
|
7
|
+
cycles' measured outcomes. A reviewer, when configured, owns the final decision;
|
|
8
|
+
its controller draft is not a second improvement.
|
|
9
|
+
|
|
10
|
+
## Host capability discovery
|
|
11
|
+
|
|
12
|
+
`calliope improve host-capabilities --contract-version 1 --json` returns the
|
|
13
|
+
additive version-1 `improvement.host-capabilities` contract. It inventories the
|
|
14
|
+
native execution, review-request, task-outcome and source-change interfaces with
|
|
15
|
+
their independent versions. Discovery uses CLI JSON; operations use the native
|
|
16
|
+
library APIs described below. This declaration does not create remote RPC methods.
|
|
17
|
+
Unknown requested versions and run/approval/mutation selectors are refused.
|
|
18
|
+
|
|
19
|
+
`implementation` identifies the installed package version, artifact form and
|
|
20
|
+
build metadata status. Source metadata records the build's Git commit and dirty
|
|
21
|
+
state when available; builds outside their own source repository retain `null`.
|
|
22
|
+
The query never runs Git in the caller's project. Missing, malformed or mismatched
|
|
23
|
+
metadata cannot establish source identity. Even clean metadata is self-reported:
|
|
24
|
+
verify npm integrity and publisher provenance, or standalone release checksums
|
|
25
|
+
and binary attestations, against the same release tag and source commit before
|
|
26
|
+
trusting it. The query explicitly reports `external-attestation-required`.
|
|
27
|
+
|
|
28
|
+
Legacy execution discovery remains unchanged:
|
|
29
|
+
|
|
30
|
+
`calliope improve capabilities --json` returns a version-1 `improvement` envelope
|
|
31
|
+
whose action is `capabilities` and whose data kind is `improvement.capabilities`.
|
|
32
|
+
The data contract is version 2; its `hostAdmission` field advertises the native
|
|
33
|
+
`expectedExecutionRevision` option for propose/run and binding to the controller's
|
|
34
|
+
own committed reset event. Version-1 declarations do not promise this admission
|
|
35
|
+
contract. The outer CLI response envelope remains version 1.
|
|
36
|
+
This read-only query does not select a project/run, call a model, import feedback,
|
|
37
|
+
or grant execution authority. Run selectors, approval hashes and mutation flags
|
|
38
|
+
are rejected for this action. Hosts must negotiate this declaration instead of
|
|
39
|
+
inferring learning support from the package version or command names.
|
|
40
|
+
|
|
41
|
+
The current declaration advertises native recursive task-strategy improvement,
|
|
42
|
+
history schema versions, operation effects, exact-proposal approval, inherited
|
|
43
|
+
limits and withdrawal semantics. External feedback import, cross-run learned
|
|
44
|
+
strategy selection and model training are explicitly unavailable. Project brain
|
|
45
|
+
memory remains a separate interface. A supported operation still requires the
|
|
46
|
+
exact native run's current state and policy; this declaration is not evidence
|
|
47
|
+
that an installed run can execute it. Unknown contract versions are not compatible
|
|
48
|
+
by implication. This is the capability-discovery part of #413, not a completed
|
|
49
|
+
external feedback or reinforcement-learning interface.
|
|
50
|
+
|
|
51
|
+
## Host review requests
|
|
52
|
+
|
|
53
|
+
The separately negotiated `improvementReviewCapabilities()` API (version 1,
|
|
54
|
+
`improvement.review-capabilities`) advertises `requestImprovementReview`,
|
|
55
|
+
`inspectImprovementReviews` and `dismissImprovementReview`. It is request-only;
|
|
56
|
+
existing version-2 execution capabilities are unchanged. Hosts must negotiate
|
|
57
|
+
this API separately before exposing a model request tool. Hosts supply the model-tool and human-review UI adapters. This API increment
|
|
58
|
+
does not add a CLI subcommand.
|
|
59
|
+
|
|
60
|
+
Requests carry version 1, `action` (`propose`, `run`, `rollback`), the exact
|
|
61
|
+
`executionRevision`, `cycleId` and `proposalHash` (both null for `propose`), and a
|
|
62
|
+
nonempty untrusted `reason` of at most 1,024 characters. Recording requires an
|
|
63
|
+
inactive approved supervised run and native policy/confirmation. It calls no
|
|
64
|
+
model, starts no worker, approves no proposal, and changes neither task state nor
|
|
65
|
+
budget. Run/withdrawal requests bind the native proposal hash; a new proposal
|
|
66
|
+
request needs retained task outcomes and remaining original controller time and
|
|
67
|
+
round capacity. Withdrawal requests can outlive the original deadline.
|
|
68
|
+
|
|
69
|
+
Version-9 events append to the existing private execution journal. Each request
|
|
70
|
+
is bound to the immediately preceding revision. Only one request can be current;
|
|
71
|
+
identical retries after a lost acknowledgement return that same request ID after
|
|
72
|
+
rechecking policy and run approval. A competing changed request fails. Native
|
|
73
|
+
ownership, revision and revocation checks run again before commit. At most 64
|
|
74
|
+
requests are retained per run, within the existing journal byte/event bounds.
|
|
75
|
+
Replay independently validates requests and never derives execution authority
|
|
76
|
+
from them. Older readers that do not support event version 9 must refuse these
|
|
77
|
+
journals; do not downgrade a run's owner after recording a request.
|
|
78
|
+
|
|
79
|
+
Inspection projects `pending`, `expired`, `stale` or `dismissed` from native
|
|
80
|
+
events. Any later execution/control event makes the old request stale, not
|
|
81
|
+
approved or completed. Human execution must use a fresh native inspection and
|
|
82
|
+
the existing proposal/run/withdrawal APIs with their normal review and policy.
|
|
83
|
+
Dismissal requires the exact current request ID/revision and a separate native
|
|
84
|
+
confirmation; it retains all history and does not withdraw the strategy. The
|
|
85
|
+
request reason remains untrusted display data, never an instruction or reward.
|
|
86
|
+
|
|
87
|
+
## Controls
|
|
88
|
+
|
|
89
|
+
```sh
|
|
90
|
+
calliope improve history --run RUN_ID --json
|
|
91
|
+
calliope improve propose --run RUN_ID --allow-mutations --json
|
|
92
|
+
calliope improve run CYCLE_ID --run RUN_ID --approve PROPOSAL_HASH --allow-mutations --json
|
|
93
|
+
calliope improve rollback CYCLE_ID --run RUN_ID --allow-mutations --json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The REPL exposes the same arguments under `/improve`. Without a subcommand it
|
|
97
|
+
shows history; without `--run` it inspects the latest run in the active project.
|
|
98
|
+
Headless mutations require `--allow-mutations` or an approval callback, and still
|
|
99
|
+
pass project policy. REPL approvals use the existing scope preview and audit log.
|
|
100
|
+
|
|
101
|
+
`propose` reviews an inactive supervised run's retained outcomes, or returns its
|
|
102
|
+
existing pending proposal without another model call. Explicit recovery of a
|
|
103
|
+
halted controller retains its original rounds, task attempts, reservations and
|
|
104
|
+
deadline. It starts no workers and applies no proposed changes. It needs recorded
|
|
105
|
+
outcomes and remaining controller authority; a completed run or a `continue` or
|
|
106
|
+
`stop` decision can produce no improvement proposal. Inspect that decision before
|
|
107
|
+
resuming ordinary execution.
|
|
108
|
+
|
|
109
|
+
A recorded proposal hold survives restart. `run` requires its exact review hash;
|
|
110
|
+
ordinary `run resume` cannot bypass that hold. Approval is recorded in the same
|
|
111
|
+
execution journal before application, and checked again under coordinator
|
|
112
|
+
ownership. All subsequent decisions remain subject to the original reviewed
|
|
113
|
+
supervision policy. To inspect and retire a strategy, stop the coordinator first.
|
|
114
|
+
|
|
115
|
+
Native hosts can pass `expectedExecutionRevision` to `proposeImprovement` and
|
|
116
|
+
`runImprovement`. It must match the execution revision from their reviewed
|
|
117
|
+
inspection. Malformed, missing-history and stale bindings are refused before
|
|
118
|
+
execution approval. The coordinator rechecks after asynchronous authorization,
|
|
119
|
+
under its ownership lease and inside the journal append lock before starting
|
|
120
|
+
work. The execution permission request includes that bound `executionRevision`.
|
|
121
|
+
An explicit controller reset advances the binding only to its own committed
|
|
122
|
+
reset event; another writer's revision is never silently adopted. Existing
|
|
123
|
+
callers that omit the option bind to the history inspected by the improvement
|
|
124
|
+
action. This host API does not add a CLI flag; hosts negotiate the version-2 data
|
|
125
|
+
contract before relying on it. It does not authorize execution, change proposal hashes, or replenish
|
|
126
|
+
the original budget or deadline.
|
|
127
|
+
|
|
128
|
+
`rollback` **withdraws the execution strategy**. For a replan it restores the
|
|
129
|
+
previous unwithdrawn applied strategy; for decomposition it stops the admitted
|
|
130
|
+
child agents and their descendants. It stops controller continuation and preserves
|
|
131
|
+
the task graph, allocations, attempts, checks, candidate worktrees and artifacts.
|
|
132
|
+
It does not apply an inverse patch to source: this loop edits isolated candidates,
|
|
133
|
+
and never automatically applies them to the source checkout. Inspect the retained
|
|
134
|
+
base commit and patch artifacts to compare or recover a candidate. A different
|
|
135
|
+
pending decision must be resolved before withdrawing an older cycle. Withdrawing
|
|
136
|
+
an expired cycle is allowed because it reduces authority; it cannot revive the
|
|
137
|
+
clock or refund spend.
|
|
138
|
+
|
|
139
|
+
## Evidence and schema
|
|
140
|
+
|
|
141
|
+
History is a deterministic projection of the existing private, hash-chained
|
|
142
|
+
journals, not a second mutable database. Legacy histories and cycles retain
|
|
143
|
+
`version: 1`; runs with [request attribution](request-attribution.md) use version 2
|
|
144
|
+
and identify the observed budget revision. Cycles whose review events carry
|
|
145
|
+
sanitized [provider-health evidence](provider-health.md) use version 3 and retain
|
|
146
|
+
the controller snapshot plus the reviewer snapshot when that separate role is
|
|
147
|
+
configured. This records the aggregate operational evidence available to each
|
|
148
|
+
decision without importing credentials, endpoint strings, provider text or new
|
|
149
|
+
execution authority. Each cycle's immutable ID is its final decision event ID. It
|
|
150
|
+
includes:
|
|
151
|
+
|
|
152
|
+
- Trigger event IDs/hashes, principle, proposed hypothesis/change/metric.
|
|
153
|
+
- Parent decomposition and previous attempt links, target tasks, original run
|
|
154
|
+
deadline and limits, scoped worker/controller/reviewer accounts and ancestors.
|
|
155
|
+
- Review hold, explicit approval, application and withdrawal event references;
|
|
156
|
+
original plan approval and separate production approval (`not-approved`).
|
|
157
|
+
- Baseline and direct next-attempt outcomes, checks, artifact hashes, observed
|
|
158
|
+
duration/tool results, unresolved risks, isolation image and rollback references.
|
|
159
|
+
- Original manifest hash and the inspected execution revision.
|
|
160
|
+
- Controller and optional reviewer provider-health snapshots, their observation
|
|
161
|
+
times, relevant-event counts and history hashes.
|
|
162
|
+
|
|
163
|
+
Inspection validates journal ancestry, current artifact read permissions, retained
|
|
164
|
+
artifact bytes and the pinned worktree base. Evidence reads are bounded to 64 MiB
|
|
165
|
+
per inspection; histories retain the execution store's existing event/size bounds.
|
|
166
|
+
No inspection calls a model or replays a tool. Recorded run replay reproduces the
|
|
167
|
+
same cycles without execution. Keep history private: task evidence can contain
|
|
168
|
+
project information even though API keys are not part of the cycle contract.
|
|
169
|
+
|
|
170
|
+
A cycle measures its **direct next attempts**. If a decomposed child fails and a
|
|
171
|
+
nested replan fixes it, the parent cycle retains that first failed result and the
|
|
172
|
+
nested cycle records the verified retry. This preserves the failure instead of
|
|
173
|
+
retroactively claiming every experiment succeeded. `verified` means the recorded
|
|
174
|
+
targets completed their acceptance process, not that every optimization claim was
|
|
175
|
+
proved. Human acceptance remains distinguishable by its source event.
|
|
176
|
+
|
|
177
|
+
## Measurements and limitations
|
|
178
|
+
|
|
179
|
+
| Measurement | Definition | Comparison requirement |
|
|
180
|
+
|---|---|---|
|
|
181
|
+
| `acceptance-check-pass-rate` | Passed recorded acceptance checks / all recorded checks | Same tasks and check definitions |
|
|
182
|
+
| `attempt-duration` | Sum of task-start to task-finish event durations, milliseconds | Same complete task population |
|
|
183
|
+
| `tool-failure-rate` | Failed completed tool calls / completed tool calls | Same complete task population |
|
|
184
|
+
| `provider-accounted-cost` | Accounted provider charges for the recorded worker attempts, integer nano-dollars | Same complete task population, bound request provenance and fully settled usage |
|
|
185
|
+
|
|
186
|
+
Missing measurements are `null`, never zero. New task populations and changed
|
|
187
|
+
check definitions are explicitly non-comparable. These observations do not prove
|
|
188
|
+
causality or provide an automatic security/performance certification. Requested
|
|
189
|
+
metrics remain proposed even when checks pass. The duration is summed task time,
|
|
190
|
+
not workflow wall time; acceptance checks are not the individual assertions inside
|
|
191
|
+
a test process. The cost measurement excludes planning and controller/reviewer
|
|
192
|
+
overhead, and is not whole-goal cost per successful task or an invoice. Those
|
|
193
|
+
roles retain separate request attribution in run diagnostics. Unknown or pending
|
|
194
|
+
requests retain their conservative charge, but prevent a comparable cost delta.
|
|
195
|
+
Legacy/missing bindings yield unavailable costs rather than fabricated zeroes;
|
|
196
|
+
the shared run/project ledgers continue enforcing their original reservations.
|
|
197
|
+
|
|
198
|
+
For linked goals, [whole-goal metrics](goal-accounting.md) separately include
|
|
199
|
+
planning and review overhead and inspect final artifacts before reporting cost
|
|
200
|
+
per verified task. This total is not a comparable before/after cycle metric.
|
|
201
|
+
|
|
202
|
+
The HUD adds the latest cycle's status, comparable check rate and comparable
|
|
203
|
+
worker-attempt cost. Explicit Brain run ingestion cites the budget revision and
|
|
204
|
+
stores a separate snapshot when accounting changes; hypotheses remain proposed.
|
|
205
|
+
Headless output
|
|
206
|
+
uses `version: 1`, `type: improvement` for results and `type: improvement.event`
|
|
207
|
+
for streamed execution events; enclosed events keep their own schema version.
|
|
208
|
+
Execution exit codes remain 0 success, 4 partial, 3 policy denial, 130 cancellation
|
|
209
|
+
and 1 failure; malformed command arguments exit 2. History is local-only JSON and
|
|
210
|
+
can be redirected for diagnostics. There is no import of execution authority.
|
|
211
|
+
|
|
212
|
+
## Safety and recovery
|
|
213
|
+
|
|
214
|
+
The loop cannot edit permissions, expand budgets/depth/count, reset deadlines,
|
|
215
|
+
erase evidence, publish, merge, deploy or send external messages. Every file/tool
|
|
216
|
+
mutation uses the shared runtime gates; child admission rechecks inherited scope
|
|
217
|
+
and grants. All coding attempts use retained Git worktrees and reviewed isolated
|
|
218
|
+
verification. Unknown requests retain their reservation, and interrupted calls
|
|
219
|
+
require explicit recovery. A cancelled or denied experiment keeps its partial
|
|
220
|
+
results; a new run is not an automatic escape from its allowance.
|
|
221
|
+
|
|
222
|
+
This implements recursive, evidence-driven **task strategy improvement**. It does
|
|
223
|
+
not automatically patch Calliope itself or promote knowledge to accepted fact.
|
|
224
|
+
The [project Brain](project-brain.md) can explicitly ingest verified run evidence;
|
|
225
|
+
improvement hypotheses remain proposed. [Opt-in agent retrieval](agent-knowledge.md)
|
|
226
|
+
lets planners and workers read that knowledge within their inherited source scopes.
|
|
227
|
+
|
|
228
|
+
## Reviewed source proposals
|
|
229
|
+
|
|
230
|
+
The native `sourceChangeCapabilities`, `previewSourceChange`,
|
|
231
|
+
`proposeSourceChange`, `inspectSourceChange` and `listSourceChanges` APIs let a host offer verified
|
|
232
|
+
source changes for human review. A source-owned skill or interface uses the Git
|
|
233
|
+
repository that owns its files. Installed skills keep their separate installation
|
|
234
|
+
and trust lifecycle.
|
|
235
|
+
|
|
236
|
+
The selection binds the original run, execution revision, verified cycle, task
|
|
237
|
+
and executor-collected patch hash. Preview checks the original approval, task
|
|
238
|
+
write scope, pinned source commit and repository-local author. It returns the
|
|
239
|
+
patch, affected paths and a review hash without creating Git objects or refs.
|
|
240
|
+
Creating a proposal requires the exact `orchestration_source_proposal` permission
|
|
241
|
+
and rechecks those inputs under the execution lease.
|
|
242
|
+
|
|
243
|
+
The writer creates one commit and one local branch under
|
|
244
|
+
`refs/heads/calliope-proposals/<run>/<review hash>` using a temporary private
|
|
245
|
+
index. It leaves the source checkout/index and execution journal unchanged.
|
|
246
|
+
Immutable intent and candidate records support retry after cancellation or a lost
|
|
247
|
+
response; repeated publication recovers the same branch instead of overwriting
|
|
248
|
+
it. Inspection reports `prepared` when the branch is absent and `proposed` when
|
|
249
|
+
the exact recorded commit is present. Absence alone does not establish whether
|
|
250
|
+
someone previously removed the branch. A moved branch is a conflict.
|
|
251
|
+
Listing retains original review identities across restart and source HEAD changes;
|
|
252
|
+
it reads the same native intent/candidate records and checks each branch.
|
|
253
|
+
|
|
254
|
+
This API does not install skills, merge, push, release or invoke a model. A host
|
|
255
|
+
must explicitly support the separate versioned source-change capability before
|
|
256
|
+
offering the action. Desktop integration and platform qualification are separate
|
|
257
|
+
from native API validation.
|
|
258
|
+
|
|
259
|
+
## Ordinary task evidence
|
|
260
|
+
|
|
261
|
+
`taskOutcomeCapabilities()` and `inspectTaskOutcome(project, runId, selection,
|
|
262
|
+
options)` expose the same native evidence for an ordinary task outside an
|
|
263
|
+
improvement cycle. Select `{taskId, attempt, executionRevision}` from an inactive
|
|
264
|
+
run. The reader replays the journal at that attempt's start, retains its task,
|
|
265
|
+
agent and strategy configuration hash, and revalidates each artifact's bytes
|
|
266
|
+
under the native read policy. It refuses active ownership, stale selections and
|
|
267
|
+
changed or missing evidence. In particular, a historical live project file that
|
|
268
|
+
a later retry overwrote cannot be freshly verified; retained run artifacts allow
|
|
269
|
+
independent inspection of both attempts.
|
|
270
|
+
|
|
271
|
+
The returned `{value, hash}` separates executor status from native human task
|
|
272
|
+
acceptance, includes original event/check/artifact references, and attributes
|
|
273
|
+
charges to the exact start event using the reservation ledger. Missing or
|
|
274
|
+
unsettled costs remain `null`; reservations are not reported as settled cost.
|
|
275
|
+
Duration, tool calls and failures are recorded observations. An interrupted
|
|
276
|
+
attempt without a finish remains unknown. The accounting snapshot carries its
|
|
277
|
+
own ledger revision and may advance independently of the execution journal.
|
|
278
|
+
|
|
279
|
+
This read-only API performs no inference, artifact execution, ledger writes,
|
|
280
|
+
user assessment, feedback import or reward assignment. A host may separately
|
|
281
|
+
propose a human assessment for memory review; doing so does not change the
|
|
282
|
+
executor evidence. Ordinary-task UI and memory feedback require their own host
|
|
283
|
+
qualification.
|
|
284
|
+
|
|
285
|
+
## Native validation
|
|
286
|
+
|
|
287
|
+
The [native Brain-loop receipt](docs/evidence/native-brain-loop-smoke.json) records a
|
|
288
|
+
Fable planner/controller and a Haiku worker on a public clamp fixture. All 12 paid
|
|
289
|
+
requests used the native provider after live discovery. Planning recovered from
|
|
290
|
+
one output cutoff within its original allowance. After exact-plan review, the
|
|
291
|
+
worker submitted a deliberately unchanged baseline, the real Docker check failed,
|
|
292
|
+
the controller replanned, and a one-line repair passed the same unchanged tests.
|
|
293
|
+
The live HUD showed both agents, attempts, controller rounds and remaining budgets.
|
|
294
|
+
|
|
295
|
+
Planner and worker Brain reads left its journal unchanged. A fresh process resumed
|
|
296
|
+
and replayed the completed run without model calls or execution/budget changes.
|
|
297
|
+
Explicit run ingestion then preserved both failed and passed checks as observations
|
|
298
|
+
and the improvement hypothesis as proposed knowledge. All artifact hashes were
|
|
299
|
+
verified, and the source checkout remained unchanged.
|
|
300
|
+
|
|
301
|
+
The probe retained $3.068752 of conservative reservations, including the cutoff,
|
|
302
|
+
within a $5 cap. This demonstrates one staged repair cycle; it does not establish
|
|
303
|
+
general coding reliability, causal improvement, or native nested decomposition.
|
|
304
|
+
Provider conformance and signing remain separate release gates.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Calliope CLI 3.7.0
|
|
2
|
+
|
|
3
|
+
This release adds durable ACP session controls, tightens reviewed inference
|
|
4
|
+
admission, and publishes a versioned discovery contract for native improvement
|
|
5
|
+
hosts. It retains the LiteLLM retirement and Hugging Face support from 3.6.0.
|
|
6
|
+
|
|
7
|
+
## ACP session controls
|
|
8
|
+
|
|
9
|
+
ACP clients can change Work/Plan mode through `session/set_mode` and choose a
|
|
10
|
+
model through `session/set_config_option`. Model choices come from live provider
|
|
11
|
+
discovery. Saved controls survive process restart; stale or concurrent updates
|
|
12
|
+
refuse instead of overwriting another client. Plan mode denies mutating tools.
|
|
13
|
+
Delegated sessions retain their parent's model authority.
|
|
14
|
+
|
|
15
|
+
The stable ACP wire protocol and `--version --json` remain unchanged. Clients
|
|
16
|
+
must negotiate `_meta.calliopeSessionControls.version: 1`; an older CLI does not
|
|
17
|
+
promise these controls. See the [ACP contract](../acp.md).
|
|
18
|
+
|
|
19
|
+
## Reviewed inference authority
|
|
20
|
+
|
|
21
|
+
New remote-ledger reservations must match the current admitted agent's explicit
|
|
22
|
+
provider/model choices. The host rechecks those constraints under the ledger
|
|
23
|
+
writer lock, including for newly admitted descendants. Rejected choices leave
|
|
24
|
+
the parent's allowance unchanged; already-admitted requests retain their replay
|
|
25
|
+
and settlement semantics.
|
|
26
|
+
|
|
27
|
+
The Node and standalone qualifications use real child and ledger processes with
|
|
28
|
+
deterministic local inference. Task/attempt and endpoint authority, Smart routing
|
|
29
|
+
stage binding and actual disposable Astrolift parent/child acceptance remain in
|
|
30
|
+
[#415](https://github.com/calliopeai/calliope-cli/issues/415). This release does not
|
|
31
|
+
claim those deployment requirements are complete.
|
|
32
|
+
|
|
33
|
+
## Native improvement host discovery
|
|
34
|
+
|
|
35
|
+
`calliope improve host-capabilities --contract-version 1 --json` reports the
|
|
36
|
+
installed native execution, review-request, task-outcome and source-proposal
|
|
37
|
+
interfaces with independent versions. It does not open the caller's project or
|
|
38
|
+
grant execution authority. Unsupported versions and execution selectors refuse;
|
|
39
|
+
the existing `improve capabilities` response remains compatible.
|
|
40
|
+
|
|
41
|
+
The declaration includes the installed package version and build source metadata
|
|
42
|
+
when available. Metadata is self-reported, not proof of authenticity: verify npm
|
|
43
|
+
integrity and provenance, or native checksums and attestations, against the release
|
|
44
|
+
tag and source commit. Missing, dirty or invalid metadata cannot establish a
|
|
45
|
+
released build. See the [improvement host contract](../improvement-cycles.md).
|
|
46
|
+
|
|
47
|
+
External feedback import, cross-run learned strategy selection and model-weight
|
|
48
|
+
training remain unavailable. SDK 7 recapture work remains separate from this
|
|
49
|
+
release; xAI live qualification remains deferred.
|
|
50
|
+
|
|
51
|
+
Refs: [#444](https://github.com/calliopeai/calliope-cli/issues/444),
|
|
52
|
+
[#415](https://github.com/calliopeai/calliope-cli/issues/415),
|
|
53
|
+
[#413](https://github.com/calliopeai/calliope-cli/issues/413).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@calliopelabs/cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "The private-AI agent CLI - one terminal agent for any model backend, including the ones you run yourself",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -38,10 +38,13 @@
|
|
|
38
38
|
"docs/migration-*.md",
|
|
39
39
|
"docs/migration-example-*.json",
|
|
40
40
|
"docs/delegation-ledger.md",
|
|
41
|
+
"docs/improvement-cycles.md",
|
|
42
|
+
"docs/acp.md",
|
|
43
|
+
"docs/releases/3.7.0.md",
|
|
41
44
|
"docs/releases/3.6.0.md"
|
|
42
45
|
],
|
|
43
46
|
"scripts": {
|
|
44
|
-
"build": "tsc && chmod +x dist/bin.js",
|
|
47
|
+
"build": "tsc && node scripts/build-metadata.mjs && chmod +x dist/bin.js",
|
|
45
48
|
"dev": "tsc --watch",
|
|
46
49
|
"start": "node dist/bin.js",
|
|
47
50
|
"test": "vitest run",
|