Separate prompt and target capture

This commit is contained in:
2026-11-05 14:24:19 +00:00
parent 2e2fba4993
commit 8c0fb15727
4 changed files with 227 additions and 184 deletions

View File

@@ -85,6 +85,8 @@ returning and retains no source capability for public inspection.
Prompt materialization shares a lazy metadata snapshot across root and collection
resources during construction, avoiding a full metadata copy per collection.
Input metadata, message content and templates, and output contracts are captured
separately before the definition, inspection, and hash are assembled.
Normalization and defaults are recorded at individual resolved field paths,
including message roles and cache controls. List indexes identify fields for
@@ -146,8 +148,8 @@ change rendering behavior.
ConfigKit resolves profile inheritance before the handoff. Within a collection,
`extends: {id: parent}` names a sibling local ID; it is not a cross-collection reference.
The configuration adapter validates final effective resource references and
field values, then builds target
snapshots with backend defaults and presence/suppression state. A profile can
field values, then captures backend definitions and profile target snapshots
with backend defaults and presence/suppression state. A profile can
remain partial until runtime overrides complete it. `InspectProfile` selects
that captured target without prompt, artifact, schema, credential lookup, or
provider work. Preparation applies runtime overrides and then checks target

View File

@@ -650,6 +650,11 @@ on Go 1.27.3; the extracted checks preserve their existing paths and rules.
input metadata, inspection, and execution-selection tests keep their behavior.
Update focused source/internal descriptions without duplicating format policy.
Completion: prompt inputs, messages, and output contracts are captured separately
before final definition assembly, and backend/profile construction is isolated
with presence handling intact. Configuration, prompt, engine, and focused public
tests pass on Go 1.27.3; the internal source description is updated.
## Stage 25: Replace Parallel Attempt Returns With A Result Value
**Catalog:** 25, attempt boundary. **Files:** generation coordinator and tests.