mirror of
https://github.com/openai/codex.git
synced 2026-06-01 19:02:59 +00:00
Fix memories output schema requirements (#11748)
Summary - make the phase1 memories schema require `rollout_slug` while still allowing it to be `null` - update the corresponding test to check the required fields and nullable type list Testing - Not run (not requested)
This commit is contained in:
@@ -118,10 +118,10 @@ pub fn output_schema() -> Value {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"rollout_summary": { "type": "string" },
|
||||
"rollout_slug": { "type": "string" },
|
||||
"rollout_slug": { "type": ["string", "null"] },
|
||||
"raw_memory": { "type": "string" }
|
||||
},
|
||||
"required": ["rollout_summary", "raw_memory"],
|
||||
"required": ["rollout_summary", "rollout_slug", "raw_memory"],
|
||||
"additionalProperties": false
|
||||
})
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ fn memory_root_uses_shared_global_path() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn stage_one_output_schema_keeps_rollout_slug_optional() {
|
||||
fn stage_one_output_schema_requires_rollout_slug_and_keeps_it_nullable() {
|
||||
let schema = crate::memories::phase1::output_schema();
|
||||
let properties = schema
|
||||
.get("properties")
|
||||
@@ -43,7 +43,24 @@ fn stage_one_output_schema_keeps_rollout_slug_optional() {
|
||||
properties.contains_key("rollout_slug"),
|
||||
"schema should declare rollout_slug"
|
||||
);
|
||||
assert_eq!(required_keys, vec!["raw_memory", "rollout_summary"]);
|
||||
|
||||
let rollout_slug_type = properties
|
||||
.get("rollout_slug")
|
||||
.and_then(Value::as_object)
|
||||
.and_then(|schema| schema.get("type"))
|
||||
.and_then(Value::as_array)
|
||||
.expect("rollout_slug type array");
|
||||
let mut rollout_slug_types = rollout_slug_type
|
||||
.iter()
|
||||
.map(|entry| entry.as_str().expect("type entry string"))
|
||||
.collect::<Vec<_>>();
|
||||
rollout_slug_types.sort_unstable();
|
||||
|
||||
assert_eq!(
|
||||
required_keys,
|
||||
vec!["raw_memory", "rollout_slug", "rollout_summary"]
|
||||
);
|
||||
assert_eq!(rollout_slug_types, vec!["null", "string"]);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
|
||||
Reference in New Issue
Block a user