68 lines
3.8 KiB
Markdown
68 lines
3.8 KiB
Markdown
# Promptkit v0.22.0
|
|
|
|
This minor release adds captured conversation exchanges, optional sequential
|
|
coordination, and explicit execution-group summaries. Applications can continue
|
|
or branch a conversation without reconstructing rendered history, while keeping
|
|
response interpretation and workflow decisions in application code.
|
|
|
|
## Capture And Continue Conversations
|
|
|
|
Set `RunRequest.CaptureExchange` to capture a completed run's effective messages
|
|
and final assistant content. Supply its `RunResult.Exchange` as `ContinueFrom`
|
|
on a new request to continue it. Exchanges are reusable, support independent
|
|
branches and different engines, and expose detached history through `Details()`.
|
|
Prepared execution also supports capture of the exact snapshot it executes.
|
|
|
|
Internal structural-repair instructions and intermediate candidates are not
|
|
conversation history. A completed result with failed structural validation can
|
|
still be captured; an operational error returning no result creates no exchange.
|
|
Follow-ups select their own profiles, output contracts, credentials, and sessions
|
|
under ordinary request rules. See [capture and continuation guidance](../consumers/pkg-promptkit.md#capture-and-continue-a-conversation)
|
|
and the [public exchange contract](../../exchange.go).
|
|
|
|
## Coordinate Application-Directed Turns
|
|
|
|
`Engine.Coordinate` advances one conversation branch using an application callback
|
|
and an additional-turn budget. The application selects the next request or stops;
|
|
Promptkit handles turn progression and cancellation. Each completed run releases
|
|
backend admission before the callback, allowing assessment calls to use the same
|
|
backend. Stop and budget exhaustion are control-flow outcomes, not judgments of
|
|
response acceptance. Transport retries and structural repairs remain separate
|
|
from the turn budget.
|
|
|
|
See the [coordination walkthrough](../consumers/pkg-promptkit.md#coordinate-application-directed-turns)
|
|
and [coordinator GoDoc](../../coordinate.go) for callback and cancellation behavior.
|
|
|
|
## Collect Selected Execution Facts
|
|
|
|
`ExecutionGroup` collects explicitly selected execution observations, while
|
|
`ComposeObservers` combines groups with existing diagnostic observers. Detached
|
|
group snapshots report member identities, terminal coverage, attempt/retry/repair
|
|
counts, and available token totals without counting a run more than once.
|
|
Terminal coverage remains distinct from token-usage completeness; membership is
|
|
not inferred from ancestry or nested calls.
|
|
|
|
See [execution-group guidance](../consumers/pkg-promptkit.md#collect-selected-execution-facts),
|
|
the [group GoDoc](../../execution_group.go), and the updated
|
|
[offline observation example](../../examples/go-library/observe/main.go).
|
|
|
|
## Efficiency And Compatibility
|
|
|
|
History assembly and inspection avoid intermediate full-history copies. Observer
|
|
composition retains storage only for selected callbacks and avoids fan-out
|
|
closures for zero or one selected callback.
|
|
|
|
Capture and coordination are opt-in; existing execution workflows and
|
|
configuration formats need no migration from v0.21.0. The Go consumer minimum
|
|
remains 1.27.0, and dependency versions are unchanged. Exported request, prepared,
|
|
result, and observation structs gained fields; consumers using positional struct
|
|
literals must switch to keyed literals. Continuation metadata adds `parent_run_id`
|
|
to prepared/result JSON when applicable; the opaque exchange itself is excluded.
|
|
Exchanges are in-process capabilities, not serialized restartable sessions.
|
|
|
|
```sh
|
|
go get go.maximumdirect.net/promptkit@v0.22.0
|
|
```
|
|
|
|
[COPYRIGHT](https://forge.maximumdirect.net/base-layer/promptkit/src/tag/v0.22.0/COPYRIGHT) | [LICENSE](https://forge.maximumdirect.net/base-layer/promptkit/src/tag/v0.22.0/LICENSE) | [ATTRIBUTION](https://forge.maximumdirect.net/base-layer/promptkit/src/tag/v0.22.0/docs/oss/attribution.md)
|