Build presence-aware execution targets from effective configuration
This commit is contained in:
@@ -17,7 +17,7 @@ contributor workflow and validation.
|
||||
| `examples/go-library/observe` | Demonstrates offline built-in HTTP retry and synchronous metadata observation across structured proposal and assessment runs using embedded sources, two profiles on one finite backend, and an application decision. It is not a public library package. | [Example program](../../examples/go-library/observe/main.go) |
|
||||
| `internal/backend` | Constructs each engine's immutable registry from maintained definitions and consumer additions, validates and defensively copies definitions through the shared JSON-value package, and consumes the LLM-owned OpenAI-compatible reserved request-field rule. | [Backend registry](../../internal/backend/registry.go) |
|
||||
| `internal/catalog` | Strictly validates imported immutable maintained backend and profile catalog assets before engine assembly uses them. | [Catalog adapter](../../internal/catalog/catalog.go), [internal sources](sources.md#profiles-and-built-ins) |
|
||||
| `internal/configuration` | Loads keyed backend, profile, and prompt configuration through ConfigKit; records effective field presence, validates final values, and captures indexed prompt definitions and referenced message content. It is not yet connected to engine assembly. | [Typed loader](../../internal/configuration/load.go), [internal sources](sources.md#typed-configuration-loading) |
|
||||
| `internal/configuration` | Loads keyed backend, profile, and prompt configuration through ConfigKit; records effective field presence, validates final values, captures indexed prompt definitions and referenced message content, and constructs immutable backend and presence-aware profile snapshots. It is not yet connected to engine assembly. | [Typed loader](../../internal/configuration/load.go), [internal sources](sources.md#typed-configuration-loading) |
|
||||
| `internal/capacity` | Owns engine-local bounded execution admission and FIFO model-generation permits for limited backend IDs, including cancellation-safe waiter removal and client wrapping. | [Internal capacity management](capacity.md) |
|
||||
| `internal/domain` | Defines internal framework values for requests, artifacts, prompt definitions, profiles, execution targets, rendering, generation, and validation, and owns source-neutral invariants for shared execution settings, OpenAI-compatible base endpoints, session identifiers, and output contracts. Source parsing, required fields, other source-specific normalization, defaulting, and boundary-specific error classification remain with their callers. | [Domain declarations](../../internal/domain/domain.go), [endpoint invariant](../../internal/domain/endpoint.go) |
|
||||
| `internal/engine` | Assembles external catalogs, Promptkit-owned profiles, repositories, registry, capacity, collaborators, repairer, and the one use-case runner for each engine instance. | [Engine assembly](../../internal/engine/engine.go), [internal sources](sources.md#profiles-and-built-ins), [internal runner](runner.md) |
|
||||
|
||||
@@ -53,8 +53,16 @@ explicit profile ID. Both then apply the ordinary source precedence, resolve a
|
||||
named backend, and construct the effective target from framework, backend, and
|
||||
profile values.
|
||||
|
||||
Inspection stops after the resulting endpoint and model are structurally
|
||||
validated. It does not check credential availability or perform prompt,
|
||||
The private ConfigKit loader can instead supply an already resolved,
|
||||
presence-aware target to this boundary. Request overrides still apply afterward,
|
||||
and preparation checks endpoint and model completeness only after those
|
||||
overrides. This path remains internal until the engine assembly switches to the
|
||||
loader; the existing public engine still uses the repository path above.
|
||||
|
||||
For the existing repository path, inspection validates the resulting endpoint
|
||||
and model. For the precomputed target path it can report an incomplete profile;
|
||||
preparation remains responsible for checking completeness after request
|
||||
overrides. Neither path checks credential availability or performs prompt,
|
||||
artifact, schema, rendering, admission, or model-client work. The root
|
||||
[`Engine.InspectProfile`](../../engine.go) GoDoc owns the public operation's
|
||||
exact contract.
|
||||
|
||||
@@ -20,7 +20,11 @@ profile domain values. A lower-layer domain value replaced before the handoff
|
||||
is not separately validated. It also validates effective prompt fields, reads
|
||||
referenced message content using the contributing field's passive source
|
||||
context, checks static template syntax, and indexes immutable definitions by
|
||||
exact ID and version. Its focused tests exercise real ConfigKit loading.
|
||||
exact ID and version. The loader also builds an immutable backend registry from
|
||||
the final definitions and indexes profile execution targets after inheritance,
|
||||
applying the selected backend's defaults only then. These targets retain
|
||||
explicit numeric-zero presence and null suppression for runtime execution.
|
||||
Its focused tests exercise real ConfigKit loading.
|
||||
|
||||
This loader is not yet wired into engine assembly. The public engine continues
|
||||
to use the source and repository behavior described below. The public
|
||||
|
||||
Reference in New Issue
Block a user