Prepare v0.23.0 release notes and retire completed roadmaps
This commit is contained in:
62
docs/releases/v0.23.0.md
Normal file
62
docs/releases/v0.23.0.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Promptkit v0.23.0
|
||||
|
||||
This minor release adds optional whole-operation timeouts and prepared-request
|
||||
notifications to ordinary and coordinated execution. Applications can bound
|
||||
each continuation independently and retain the request selected for execution
|
||||
without replacing Promptkit's turn loop or preparing the same request twice.
|
||||
|
||||
## Bound Individual Operations
|
||||
|
||||
`RunRequest.OperationTimeout` selects a fresh cooperative budget covering
|
||||
preparation and execution, including capacity waiting, retries, validation,
|
||||
structural repair, and prepared-request notification. It is independent of the
|
||||
provider generation timeout. Zero or negative values select no additional
|
||||
timeout; existing parent cancellation and earlier deadlines remain effective.
|
||||
|
||||
For split execution, `PrepareExecution` retains the duration without starting
|
||||
a timer. `RunPrepared` starts that budget after claiming the handle, so prior
|
||||
preparation and idle time do not consume it. Callers can still supply one shared
|
||||
deadline context to bound both calls together.
|
||||
|
||||
Local budget failures match both `ErrOperationTimeout` and
|
||||
`context.DeadlineExceeded`. Each coordinated turn uses its selected budget;
|
||||
expiry stops that coordination through the existing operational-error path
|
||||
without canceling its parent or sibling work. Completed outcomes are fixed
|
||||
before terminal observation and are not changed by a slow terminal observer.
|
||||
Cancellation does not forcibly interrupt callbacks or collaborators that ignore
|
||||
their context.
|
||||
|
||||
See the [execution-controls guide](../consumers/pkg-promptkit.md#bound-execution-and-retain-prepared-details)
|
||||
and the [public request contract](../../types.go) and
|
||||
[timeout error contract](../../engine.go) for exact behavior.
|
||||
|
||||
## Retain Prepared Details Before Generation
|
||||
|
||||
`RunRequest.OnPrepared` optionally receives a detached, credential-redacted
|
||||
`PreparedRun` and the operation context before first generation. It uses the
|
||||
actual prepared snapshot, including continuation history, without rereading
|
||||
inputs or rerendering. Applications may retain these details even if generation
|
||||
later fails without returning a result.
|
||||
|
||||
Notification is synchronous, at most once per logical execution, and runs while
|
||||
logical admission is held. It is not repeated for retries or structural repair.
|
||||
Preparation or admission failure can prevent delivery. The application owns
|
||||
diagnostic storage and disclosure decisions; ordinary observers remain
|
||||
metadata-only. See the [OnPrepared GoDoc](../../types.go) and updated
|
||||
[offline observation example](../../examples/go-library/observe/main.go).
|
||||
|
||||
## Compatibility And Upgrade
|
||||
|
||||
Both controls are opt-in. Existing keyed requests and configuration files need
|
||||
no migration from v0.22.0. `Prepare` and `ValidateRequest` continue using only
|
||||
their supplied contexts and do not invoke `OnPrepared`. `RunRequest` gained
|
||||
fields; consumers using positional struct literals must switch to keyed
|
||||
literals. Prepared/result JSON representations are unchanged.
|
||||
|
||||
The Go consumer minimum remains 1.27.0, and dependency versions are unchanged.
|
||||
|
||||
```sh
|
||||
go get go.maximumdirect.net/promptkit@v0.23.0
|
||||
```
|
||||
|
||||
[COPYRIGHT](https://forge.maximumdirect.net/base-layer/promptkit/src/tag/v0.23.0/COPYRIGHT) | [LICENSE](https://forge.maximumdirect.net/base-layer/promptkit/src/tag/v0.23.0/LICENSE) | [ATTRIBUTION](https://forge.maximumdirect.net/base-layer/promptkit/src/tag/v0.23.0/docs/oss/attribution.md)
|
||||
Reference in New Issue
Block a user