@xiaozhiclaw/qlogicagent-core 0.6.6 → 0.6.7

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
@@ -200,8 +200,18 @@ with a different context projection requires explicit product migration; Core
200
200
  does not reinterpret its saved input or tool receipts. Checkpoints without an
201
201
  assistant context retain their existing binding protocol.
202
202
  Optional `goal` requires a product `verifyGoal` callback before semantic completion.
203
- Products may resolve a user-confirmed goal from receipts with `resolveGoal`, and
204
- return independent verification evidence to the same loop through `goalFeedback`.
203
+ Products may resolve a user-confirmed goal from receipts with `resolveGoal`.
204
+ Incomplete evidence returns to the same loop by default; `goalFeedback` can
205
+ override its wording or return `[]` to stop. Unchanged incomplete evidence stops
206
+ repeated completion claims. Additional read receipts or worker replacement do not
207
+ prove business progress; this comparison reuses the persisted outcome.
208
+ Two consecutive identical batches rejected before tool dispatch, with no new
209
+ input, end with `TOOL_ARGUMENTS_STALLED`. The check uses checkpoint history;
210
+ changed proposals, mixed valid work and new input keep their normal execution path.
211
+ CloudTask terminal events report `taskOutcome: "satisfied" | "incomplete"` after
212
+ independent verification; an incomplete outcome also has `turnStatus: "stopped"`.
213
+ Without a confirmed goal, `taskOutcome` remains `"unverified"`; lifecycle completion
214
+ does not prove a business result. Product budgets, authorization and waits still apply.
205
215
  The model can correct its work or use existing input/confirmation wait tools;
206
216
  the product continues to own the acceptance criteria and verification rules.
207
217
  Criteria may carry opaque product `parameters`; verification can return `expected`,
@@ -211,7 +221,7 @@ Context anchors carry explicit revision/supersession/source references through
211
221
  compaction, keeping unresolved conflicts visible. Product tools retrieve material.
212
222
  Optional `runtime.prepareContext(messages, context)` asynchronously retrieves and
213
223
  projects product task materials before inference. `context` carries the model,
214
- input token budget, session/turn IDs and cancellation signal.
224
+ input token budget, resident tool schemas, session/turn IDs and cancellation signal.
215
225
  The budget is `Infinity` when context-capacity metadata is explicitly disabled;
216
226
  retrieval still runs and the provider remains responsible for its actual capacity.
217
227
  Return `{ messages, droppedCount, strategy }`; retrieval and fact updates are applied even
@@ -224,8 +234,22 @@ fills remaining capacity with recent history. These essential messages may excee
224
234
  capacity; Core does not silently drop them or pretend an estimate proves model fit.
225
235
  Optional `runtime.countMessageTokens(message, model)` supplies model-aware counts
226
236
  for the default window. Its fallback is an advisory serialized-message estimate.
227
- The input budget reserves configured maximum output tokens rather than a fixed
228
- percentage; provider context errors remain authoritative.
237
+ The default projection reserves configured maximum output tokens and resident
238
+ tool schema cost before selecting message history; provider context errors remain authoritative.
239
+ Optional `runtime.summarizeContext({previousSummary, messages}, context)` summarizes
240
+ only omitted complete protocol groups and merges the prior summary. Configure it
241
+ through the product's existing metered model service. The callback receives a
242
+ summary token allowance and cancellation signal; it owns model authorization,
243
+ cost accounting, deduplication and unknown-outcome recovery for that work. Its
244
+ usage is not automatically included in the main loop's model-operation ledger.
245
+ The default selector reserves a quarter of message capacity for a summary, pins
246
+ original intent, the latest amendment, facts and the latest complete protocol group,
247
+ and passes remaining older groups to the callback. It saves one derived summary in
248
+ the same checkpoint. Empty/oversized summaries or callback failures fail explicitly;
249
+ they do not silently fall back to discarding history. A provider-acknowledged response
250
+ replays its original projection without invoking the summarizer again.
251
+ `prepareContext`, when supplied, owns the whole projection and takes precedence.
252
+ Summaries are data, never instructions, authenticated facts or authorization.
229
253
  After retrieving current product facts, call public
230
254
  `prepareSlidingWindowContext(messages, context, countMessageTokens?)` to reuse
231
255
  the same canonical window implementation. Product retrieval must not accidentally
@@ -245,6 +269,15 @@ that contract and enforce the original ceiling atomically; it remains responsibl
245
269
  for supported currencies, precision and settlement. The model transport supplies
246
270
  normalized usage totals; source names in usage records stay opaque to Core.
247
271
 
272
+ Products explicitly mark independent tools with `meta.executionMode: "parallel"`
273
+ and set `config.maxConcurrentTools` to permit overlap. Omitted or `"sequential"`
274
+ execution modes form barriers: all earlier calls settle before that call starts,
275
+ and later calls wait for it. Consecutive parallel-safe calls share the same bounded
276
+ executor. No safety is inferred from tool names, categories or model arguments.
277
+ Results stream as each call finishes; model/checkpoint history retains original
278
+ call order. Cancellation or a wait stops queued calls; already dispatched effects
279
+ still need their original receipts and the existing reconciliation path.
280
+
248
281
  Cloud execution does not invent a round limit, per-response tool-call limit,
249
282
  retry-count limit, total presentation-block limit, compaction-count stop or default
250
283
  tool timeout. Products may supply per-tool `meta.executionTimeoutMs`; task deadlines