Switch CLI configuration to ConfigKit
This commit is contained in:
@@ -18,6 +18,10 @@ described by its tagged
|
||||
- `internal/adapter/cli` resolves settings through `internal/config`,
|
||||
constructs `promptkit.Engine`, maps CLI values to `promptkit.RunRequest`,
|
||||
and owns output files, summaries, and exit codes.
|
||||
- `internal/config` delegates application YAML decoding, default resolution,
|
||||
overrides, and validation ordering to ConfigKit. The CLI supplies only
|
||||
explicitly visited application flags as overrides and renders safe structured
|
||||
load diagnostics on stderr.
|
||||
- `internal/adapter/http` strictly decodes request DTOs, maps them to Promptkit
|
||||
public values, calls its adapter-owned `Runner` interface, and maps results
|
||||
and errors to HTTP DTOs.
|
||||
@@ -53,7 +57,7 @@ not require prompt, schema, or artifact sources.
|
||||
with `promptkit.WithArtifactReader`, passes the engine through the HTTP
|
||||
adapter's consumer-owned `Runner` interface, and starts the server.
|
||||
|
||||
All three CLI paths assemble the engine from the same resolved prompt, profile,
|
||||
The command paths assemble the engine from the same resolved prompt, profile,
|
||||
and schema directories plus configured custom backends. Each backend is mapped
|
||||
to Promptkit's public `Backend` value and registered during engine construction,
|
||||
so one constructed server engine retains one immutable backend registry and its
|
||||
|
||||
@@ -24,9 +24,9 @@ The [configuration reference](../config.md) owns Scriptorium's source-location
|
||||
fields and precedence. Maintained files under `examples/` are application
|
||||
inputs that use Promptkit's tagged formats.
|
||||
|
||||
## Native Application Definition In Preparation
|
||||
## Application Configuration Boundary
|
||||
|
||||
`internal/config` also contains a ConfigKit-native `Document` definition. Its
|
||||
`internal/config` contains a ConfigKit-native `Document` definition. Its
|
||||
fresh defaults come from Scriptorium's existing default constants; its resolver
|
||||
records only actual trimming, path cleaning, and render-format normalization.
|
||||
The validator reports application retry, size-limit, and format errors without
|
||||
@@ -34,7 +34,7 @@ mutating the document or exposing rejected values. Application path values keep
|
||||
working-directory-relative meaning. ConfigKit owns strict YAML decoding and
|
||||
presence semantics, including dynamic integer values in backend parameters.
|
||||
|
||||
The new `Load` boundary selects an explicit file, the first existing implicit
|
||||
The `Load` boundary selects an explicit file, the first existing implicit
|
||||
configuration file, or ConfigKit's defaults-only source. Only absence advances
|
||||
implicit discovery. One ConfigKit load applies explicit application overrides
|
||||
before validation and returns a result containing the resolved document and
|
||||
@@ -43,9 +43,10 @@ existing runtime settings with backend IDs sorted; it does not read files or
|
||||
apply another merge. Imports and selected overlays remain disabled until their
|
||||
own user-facing integration is ready.
|
||||
|
||||
The executable commands still use the existing loader. The new definition is
|
||||
internal preparation and is not yet an alternative user-selectable configuration
|
||||
mode or a change to the current [configuration contract](../config.md).
|
||||
Every configuration-loading command uses this boundary. The CLI maps only
|
||||
explicitly visited application flags to ConfigKit overrides and prints
|
||||
structured load diagnostics before engine construction. The old application
|
||||
YAML decoder and merge path have been removed.
|
||||
|
||||
## Restricted HTTP Artifact Reader
|
||||
|
||||
@@ -78,7 +79,8 @@ codes.
|
||||
|
||||
Inspect:
|
||||
|
||||
- `internal/config/config_test.go`
|
||||
- `internal/config/document_test.go`
|
||||
- `internal/config/load_test.go`
|
||||
- `internal/adapter/cli/run_test.go`
|
||||
- `internal/adapter/http/artifact_reader_test.go`
|
||||
- `internal/adapter/http/handler_test.go`
|
||||
|
||||
Reference in New Issue
Block a user