personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: OpenAI provider sandbox value for write mode

Codex CLI accepts 'workspace-write', not 'write', for --sandbox. The
old value caused agents with write:true to fail immediately with
'invalid value' error. Discovered via morning_briefing agent testing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+5 -5
+2 -2
tests/test_cogitate_coder.py
··· 117 117 118 118 cmd = mock_runner_cls.call_args.kwargs["cmd"] 119 119 s_idx = cmd.index("-s") 120 - assert cmd[s_idx + 1] == "write" 120 + assert cmd[s_idx + 1] == "workspace-write" 121 121 122 122 @patch("think.providers.openai.CLIRunner") 123 123 def test_write_true_with_session_resume(self, mock_runner_cls): ··· 138 138 139 139 cmd = mock_runner_cls.call_args.kwargs["cmd"] 140 140 s_idx = cmd.index("-s") 141 - assert cmd[s_idx + 1] == "write" 141 + assert cmd[s_idx + 1] == "workspace-write" 142 142 assert "resume" in cmd 143 143 144 144
+1 -1
tests/test_openai.py
··· 40 40 cmd = MockCLIRunner.last_instance.cmd 41 41 assert "-s" in cmd 42 42 s_idx = cmd.index("-s") 43 - assert cmd[s_idx + 1] == "write" 43 + assert cmd[s_idx + 1] == "workspace-write" 44 44 45 45 46 46 def _make_test_harness():
+2 -2
think/providers/openai.py
··· 177 177 # Build command — sandbox is read-only; "sol" commands bypass 178 178 # the sandbox via exec-policy rules in .codex/rules/solstone.rules 179 179 # Write-enabled agents get full sandbox access 180 - sandbox = "write" if config.get("write") else "read-only" 180 + sandbox = "workspace-write" if config.get("write") else "read-only" 181 181 182 182 session_id = config.get("session_id") 183 - sandbox = "write" if config.get("write") else "read-only" 183 + sandbox = "workspace-write" if config.get("write") else "read-only" 184 184 if session_id: 185 185 cmd = [ 186 186 "codex",