Commit Graph

6 Commits

  • bug: Ignore tests for now (#3777)
    Ignore flaky / long tests for now
  • fix: race condition unified exec (#3644)
    Fix race condition without storing an rx in the session
  • fix(core): flaky test completed_commands_do_not_persist_sessions (#3596)
    Fix flaky test:
    ```
            FAIL [   2.641s] codex-core unified_exec::tests::completed_commands_do_not_persist_sessions
      stdout ───
    
        running 1 test
        test unified_exec::tests::completed_commands_do_not_persist_sessions ... FAILED
    
        failures:
    
        failures:
            unified_exec::tests::completed_commands_do_not_persist_sessions
    
        test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 235 filtered out; finished in 2.63s
        
      stderr ───
    
        thread 'unified_exec::tests::completed_commands_do_not_persist_sessions' panicked at core/src/unified_exec/mod.rs:582:9:
        assertion failed: result.output.contains("codex")
    ```
  • feat: context compaction (#3446)
    ## Compact feature:
    1. Stops the model when the context window become too large
    2. Add a user turn, asking for the model to summarize
    3. Build a bridge that contains all the previous user message + the
    summary. Rendered from a template
    4. Start sampling again from a clean conversation with only that bridge
  • bug: default to image (#3501)
    Default the MIME type to image
  • Unified execution (#3288)
    ## Unified PTY-Based Exec Tool
    
    Note: this requires to have this flag in the config:
    `use_experimental_unified_exec_tool=true`
    
    - Adds a PTY-backed interactive exec feature (“unified_exec”) with
    session reuse via
      session_id, bounded output (128 KiB), and timeout clamping (≤ 60 s).
    - Protocol: introduces ResponseItem::UnifiedExec { session_id,
    arguments, timeout_ms }.
    - Tools: exposes unified_exec as a function tool (Responses API);
    excluded from Chat
      Completions payload while still supported in tool lists.
    - Path handling: resolves commands via PATH (or explicit paths), with
    UTF‑8/newline‑aware
      truncation (truncate_middle).
    - Tests: cover command parsing, path resolution, session
    persistence/cleanup, multi‑session
      isolation, timeouts, and truncation behavior.