@@ -430,22 +430,23 @@ def _extend_list_section(sections: list[str], title: str, values: list[str]) ->
430430
431431def render_agent_synthesis_schema () -> str :
432432 """Render the optional Codex structured-output schema guardrail."""
433+ properties = {
434+ "summary" : {"type" : "string" , "minLength" : 1 },
435+ "why_it_matters" : {"type" : "string" , "minLength" : 1 },
436+ "user_facing_changes" : {"type" : "array" , "items" : {"type" : "string" }},
437+ "internal_changes" : {"type" : "array" , "items" : {"type" : "string" }},
438+ "verification" : {"type" : "array" , "items" : {"type" : "string" }},
439+ "follow_ups" : {"type" : "array" , "items" : {"type" : "string" }},
440+ "decision_candidates" : {"type" : "array" , "items" : {"type" : "string" }},
441+ "task_candidates" : {"type" : "array" , "items" : {"type" : "string" }},
442+ }
433443 schema = {
434444 "$schema" : "https://json-schema.org/draft/2020-12/schema" ,
435445 "title" : "AgentSynthesis" ,
436446 "type" : "object" ,
437447 "additionalProperties" : False ,
438- "required" : ["summary" , "why_it_matters" ],
439- "properties" : {
440- "summary" : {"type" : "string" , "minLength" : 1 },
441- "why_it_matters" : {"type" : "string" , "minLength" : 1 },
442- "user_facing_changes" : {"type" : "array" , "items" : {"type" : "string" }},
443- "internal_changes" : {"type" : "array" , "items" : {"type" : "string" }},
444- "verification" : {"type" : "array" , "items" : {"type" : "string" }},
445- "follow_ups" : {"type" : "array" , "items" : {"type" : "string" }},
446- "decision_candidates" : {"type" : "array" , "items" : {"type" : "string" }},
447- "task_candidates" : {"type" : "array" , "items" : {"type" : "string" }},
448- },
448+ "required" : list (properties ),
449+ "properties" : properties ,
449450 }
450451 return json .dumps (schema , indent = 2 , sort_keys = True ) + "\n "
451452
0 commit comments