fix(confidence-engine): handle propertyless openai object schemas

This commit is contained in:
2026-09-07 10:59:28 +01:00
parent 0eadef6e3b
commit e289f0be1f
3 changed files with 64 additions and 7 deletions
+2 -1
View File
@@ -36,7 +36,8 @@ If YES, the next live experiment is one timed/costed OpenAI UI investigation mea
## OpenAI alternate structured output
- The OpenAI provider now honors a caller-supplied structured-output schema, applying its existing strict-schema transport projection; absent an alternate schema, initial reconstruction retains its existing strict schema and transport normalization.
- This deterministically fixes the focused-deconstruction 502 root cause: its six-field schema now reaches OpenAI rather than being replaced by the initial-reconstruction schema. Zero live calls occurred.
- The next live run exposed incomplete recursive strict projection: OpenAI rejected `relationships.items` because it lacked `additionalProperties: false`. The projector now recognizes every `type: "object"` node, including property-less objects in array items, and recursively enforces strict object schemas while preserving initial-reconstruction optionality/nullability behavior.
- This deterministically fixes the focused-deconstruction transport failures. Provider and focused-route suites pass with zero live calls.
- Next boundary: retry one fresh real Playwright-driven OpenAI/Terra investigation; do not reuse the failed focused-deconstruction attempt.
## Repository checkpoint