fix(ci): require all codex synthesis schema fields#891
Conversation
Signed-off-by: phernandez <paul@basicmachines.co>
|
Claude finished @phernandez's task in 1m 21s —— View job PR #891 Review: fix(ci): require all codex synthesis schema fields
SummaryThis is a targeted, correct fix for a live CI failure. OpenAI/Codex structured output schemas require every property to appear in The fix has two parts:
Code Review Checklist
Key ObservationsThe fix is correct and idiomatic.
schema = {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "AgentSynthesis",
"type": "object",
"additionalProperties": False,
"required": list(properties), # ← derives from dict, stays in sync automatically
"properties": properties,
}The dynamic derivation approach ( The regression assertion is the right guard:
assert set(schema["required"]) == set(schema["properties"])This is exactly the invariant Codex structured output requires. Any future addition of a property without adding it to Minor note: VerdictApproved. The fix is minimal, correct, and the regression assertion future-proofs it well. No issues. |
Fixes the Auto BM live run failure from PR #890. Codex/OpenAI structured output schemas require every property to appear in required; the generated AgentSynthesis schema now derives required from properties and has a regression assertion.