mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
feat: new memory prompts (#11439)
* Update prompt * Wire CWD in the prompt * Handle the no-output case
This commit is contained in:
1 parent
8b7f8af343
commit
f5d4a21098
14 files changed
+581
-142
No files matched your search
@@ -4,7 +4,6 @@ use super::rollout::serialize_filtered_rollout_response_items;
|
||||
use super::stage_one::parse_stage_one_output;
|
||||
use super::storage::rebuild_raw_memories_file_from_memories;
|
||||
use super::storage::sync_rollout_summaries_from_memories;
|
||||
use super::storage::wipe_consolidation_outputs;
|
||||
use crate::memories::ensure_layout;
|
||||
use crate::memories::memory_root;
|
||||
use crate::memories::raw_memories_file;
|
||||
@@ -41,6 +40,23 @@ fn parse_stage_one_output_rejects_legacy_keys() {
|
||||
assert!(parse_stage_one_output(raw).is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_stage_one_output_accepts_empty_pair_for_skip() {
|
||||
let raw = r#"{"raw_memory":"","rollout_summary":""}"#;
|
||||
let parsed = parse_stage_one_output(raw).expect("parsed");
|
||||
assert_eq!(parsed.raw_memory, "");
|
||||
assert_eq!(parsed.rollout_summary, "");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_stage_one_output_accepts_optional_rollout_slug() {
|
||||
let raw = r#"{"raw_memory":"abc","rollout_summary":"short","rollout_slug":"my-slug"}"#;
|
||||
let parsed = parse_stage_one_output(raw).expect("parsed");
|
||||
assert!(parsed.raw_memory.contains("abc"));
|
||||
assert_eq!(parsed.rollout_summary, "short");
|
||||
assert_eq!(parsed._rollout_slug, Some("my-slug".to_string()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn serialize_filtered_rollout_response_items_keeps_response_and_compacted() {
|
||||
let input = vec![
|
||||
@@ -182,27 +198,3 @@ async fn sync_rollout_summaries_and_raw_memories_file_keeps_latest_memories_only
|
||||
assert!(raw_memories.contains("raw memory"));
|
||||
assert!(raw_memories.contains(&keep_id));
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn wipe_consolidation_outputs_removes_registry_and_skills() {
|
||||
let dir = tempdir().expect("tempdir");
|
||||
let root = dir.path().join("memory");
|
||||
ensure_layout(&root).await.expect("ensure layout");
|
||||
|
||||
let memory_registry = root.join("MEMORY.md");
|
||||
let skills_dir = root.join("skills").join("example");
|
||||
|
||||
tokio::fs::create_dir_all(&skills_dir)
|
||||
.await
|
||||
.expect("create skills dir");
|
||||
tokio::fs::write(&memory_registry, "memory")
|
||||
.await
|
||||
.expect("write memory registry");
|
||||
|
||||
wipe_consolidation_outputs(&root)
|
||||
.await
|
||||
.expect("wipe consolidation outputs");
|
||||
|
||||
assert!(!memory_registry.exists());
|
||||
assert!(!root.join("skills").exists());
|
||||
}
|
||||
Reference in new issue
Block a user