Clarify normalize fallback ownership
This commit is contained in:
@@ -325,7 +325,7 @@ processing immediately.
|
||||
Structured-completion adapters classify malformed or undecodable provider
|
||||
output with the provider-neutral `contracts.ErrInvalidStructuredOutput` error.
|
||||
A typed normalizer may turn that condition, or another unsafe proposal, into a
|
||||
normalize retry directive with a deterministic safe candidate, stable
|
||||
normalize retry directive with a module-supplied safe candidate, stable
|
||||
diagnostic, and fallback warnings. The directive consumes the same configured
|
||||
normalize retry budget: `retries` permits that many additional attempts after
|
||||
the initial attempt. It neither creates a normalizer-local retry loop nor
|
||||
@@ -339,6 +339,10 @@ rewriting either field. It validates only this mechanical contract; normalizers
|
||||
remain responsible for ensuring their otherwise valid diagnostics do not expose
|
||||
source material, credentials, paths, names, or other sensitive content.
|
||||
|
||||
The framework treats a module-supplied candidate as opaque. The normalizer owns
|
||||
its safety determination, and the configured normalizer validator chain remains
|
||||
the acceptance boundary for the final fallback.
|
||||
|
||||
When a later normalize attempt succeeds, its candidate alone proceeds through
|
||||
the usual validation and checkpoint path. When the final attempt still returns
|
||||
a directive, the runner validates its supplied safe fallback through that same
|
||||
|
||||
Reference in New Issue
Block a user