Skip to content

align default models & additional small cleanup - #8

Merged
tibo-openai merged 1 commit into
mainfrom
tibo/codex/3
Apr 16, 2025
Merged

tibo-openai merged 1 commit into
mainfrom
tibo/codex/3

Conversation

@tibo-openai

Copy link
Copy Markdown
Collaborator

No description provided.

@tibo-openai
tibo-openai merged commit 1b40e19 into main Apr 16, 2025
@tibo-openai
tibo-openai deleted the tibo/codex/3 branch April 16, 2025 17:32
rumple pushed a commit to rumple/codex that referenced this pull request Apr 24, 2025
DioNanos referenced this pull request in DioNanos/codex-termux Nov 6, 2025
Three critical fixes for Android/Termux compatibility:

1. Disable sandbox on Android
   - Android/Termux does not support landlock/seccomp
   - Modified get_platform_sandbox() to return None on Android
   - File: core/src/safety.rs

2. Preserve LD_* environment variables on Android
   - Android needs LD_LIBRARY_PATH to find libraries in custom paths
   - Skip LD_* removal in process-hardening on Android
   - File: process-hardening/src/lib.rs

3. Use $SHELL instead of getpwuid() on Android
   - getpwuid() returns 'login' instead of actual shell on Termux
   - Use $SHELL environment variable which is correct
   - File: core/src/shell.rs

Fixes: bash execution 'Permission denied' errors in Agent mode
Platform: Android/Termux only (Linux/Mac/Windows unchanged)
DioNanos referenced this pull request in DioNanos/codex-termux Nov 6, 2025
- Document Patch #8: Fix bash execution in Agent mode on Android/Termux
- Three critical fixes: sandbox disable, LD_* preservation, shell detection
- Update npm package.json to 0.55.4-termux
- Add missing codex.js wrapper for npm binary

Tested successfully: Agent mode bash commands now work without Permission denied errors
DioNanos referenced this pull request in DioNanos/codex-termux Nov 21, 2025
Upstream changes (40+ commits):
- New: codex-shell-tool-mcp MCP server
- New: execpolicycheck CLI command
- New: TUI animations toggle feature
- New: Shell timeout increased to 1 hour
- Refactor: execpolicy migration (execpolicy2 -> execpolicy)
- Removed: tiktoken-rs, shell_command feature
- Improved: FreeBSD portability, fuzzy search (8->20 results)

Termux patches verified compatible:
- #1 Browser login (termux-open-url) ✅
- #2 RAM optimizations (lto=false, codegen-units=16) ✅
- #8 Bash execution (sandbox, LD_*, shell detection) ✅
- #9 Auto-update execution ✅

Stats: 195 files changed, +5915 insertions, -2293 deletions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
zcg added a commit to byebye-code/codex that referenced this pull request Dec 3, 2025
DioNanos referenced this pull request in DioNanos/codex-termux Jan 8, 2026
…8+ requirement

- Upstream: OpenAI Codex rust-v0.79.0
- Termux patches validated: #1-#6, #8, #9
- Testing: 47/49 passed (2 skipped: WebSearch, Git)
- Documentation:
  - Added GLM-4.7 quickstart guide (docs/GLM4.7-quickstart.md)
  - Updated README with GLM-4.7 Path 2 in Quickstart
  - Node.js requirement updated to >=18 (recommended >=22)
  - Web search safety warning added
  - Tagline updated to "Built from upstream"
- Package: npm-package synced with main README
- Binaries: codex (59M), codex-exec (34M), codex-tui (41M) verified
DioNanos referenced this pull request in DioNanos/codex-termux Jan 10, 2026
- Updated workspace version to 0.80.0-termux
- Termux patch #2 (compilation) preserved: lto=false, codegen-units=16
- Termux patch #9 (auto-update execution) preserved in main.rs
- Process hardening removal upstream improves bash execution (patch #8)

Upstream changes (77 commits from rust-v0.79.0):
- Metrics capabilities (otel/metrics modules)
- Requirements/list API
- Thread fork endpoints
- Elevated sandbox onboarding
- Skills explicit invocation via V2 API
- Updated dependencies: lru 0.16.3, zstd added
- Removed codex-process-hardening from Codex CLI
- Updated models.json
DioNanos referenced this pull request in DioNanos/codex-termux Jan 10, 2026
- Updated workspace version to 0.80.0-termux
- All Termux patches verified functional (#1-#6, #9 active)
- Patch #8 no longer required (resolved upstream by PR openai#8951)
- Process hardening removed from Codex CLI improves bash execution
- Test suite: 49/49 passed (CODEX_TEST_REPORT_v0.80.0.md)
- Upstream changes:
  * Thread fork endpoints (conversation branching)
  * Requirements/list API
  * Elevated sandbox onboarding NUX
  * Skills explicit invocation via V2 API
  * Metrics capabilities (otel/metrics module)
  * Removed process hardening from Codex CLI
- Binaries compiled: codex (60M), codex-tui (42M), codex-exec (35M), codex-app-server (38M)
- Updated patches/README.md for v0.80.0
DioNanos referenced this pull request in DioNanos/codex-termux Jan 10, 2026
- Remove old test report (CODEX_TEST_REPORT_v0.79.0.md)
- Update version references from 0.79.0 to 0.80.0
- Update upstream reference from rust-v0.79.0 to rust-v0.80.0
- Update test date from 2026-01-08 to 2026-01-10
- Update test results to 49/49 passed (0 skipped)
- Update patch description: 8 patches (#1-#6, #9) - Patch #8 resolved upstream
- Sync npm-package/README.md with root README.md
DioNanos referenced this pull request in DioNanos/codex-termux Jan 10, 2026
- CHANGELOG.md: Added 0.80.0-termux entry with:
  * Upstream rust-v0.80.0 release details
  * Process hardening removal (PR openai#8951)
  * New features: thread fork, requirements API, elevated sandbox NUX, skills V2, metrics
  * Patch #8 no longer required (resolved upstream)
  * Test results: 49/49 passed (0 skipped)
  * Documentation updates

- README.md: Fixed remaining reference to old test report
  * Updated CODEX_TEST_REPORT_v0.79.0.md → CODEX_TEST_REPORT_v0.80.0.md
  * Updated test results: 47 passed → 49 passed, 2 skipped → 0 skipped

- npm-package/README.md: Synchronized with root README.md
  * Same version and test result updates as README.md

All linked files verified and aligned to v0.80.0-termux.
victalejo added a commit to victalejo/codrex that referenced this pull request Apr 28, 2026
Discovered during live validation (2026-04-27):
- openai#7: codex_models_manager refresh uses env-only auth (cosmetic, opaque error)
- openai#8: rollout items not persisted for MiniMax sessions (blocks resume/fork)
- openai#9: wire_probe example permanently available for opaque-error debugging

Closed items section seeded with the 4 fixes shipped during validation
(developer-role remap / system-merge / bridge lifecycle / wire dump).
victalejo added a commit to victalejo/codrex that referenced this pull request Apr 28, 2026
Generalizes the consecutive-system coalesce shipped in c1579ac. While
investigating TODO openai#8 (rollout persistence), discovered MiniMax actually
enforces TWO related constraints:

  1. No two adjacent system messages
     -> "invalid chat setting (2013)"
  2. No system message after position 0
     -> "chat content has invalid message role: system (2013)"

Both surface from api.minimax.io/v1/chat/completions with the same opaque
error code 2013. Constraint openai#1 was hit on first turns; openai#2 was hit only
on resumed sessions where Codex emits a turn_context refresh as a
mid-conversation system message. The probe matrix in wire_probe.rs
confirms both behaviors live (probes 05a/05c/05d).

Refactor:
- coalesce_consecutive_system_messages -> consolidate_system_messages_to_leading
- New behavior: collect every system body anywhere in the array,
  drop empty ones, emit ONE leading system message joined by blank
  lines, preserve insertion order of system bodies, preserve all
  non-system messages in their original relative order.
- Content-preserving: the model sees every instruction body it would
  have seen, just hoisted to position 0.

Tests:
- New: translate_hoists_non_leading_system_to_position_zero (regression
  for the resumed-session shape).
- New: translate_drops_empty_system_messages_during_consolidation.
- Replaces translate_does_not_merge_non_adjacent_system_messages
  (whose old behavior is now incorrect).
- 17 minimax_adapter tests passing.

Validated:
  $ codrex exec resume <minimax-session-id> -m minimax/MiniMax-M2.7 "respond just OK"
  ...
  codex
  OK

While investigating: confirmed `failed to record rollout items: thread X
not found` is a PRE-EXISTING upstream bug (reproduces verbatim in
`codex-cli 0.125.0`). The error is cosmetic — the rollout file is
written to disk BEFORE the shutdown race that triggers the log line.
Resume works correctly despite it. TODO openai#8 downgraded to cosmetic; the
real blocker for MiniMax resume was this hoist fix, not the rollout
race.
victalejo added a commit to victalejo/codrex that referenced this pull request Apr 28, 2026
…+ add mid-conv system fix

After investigation:
- TODO openai#8 ("failed to record rollout items") is a PRE-EXISTING upstream
  bug reproducible in codex-cli 0.125.0. The rollout file IS persisted;
  the ERROR is racing log noise. resume works correctly.
- The actual MiniMax-resume blocker was a distinct bug: mid-conversation
  system messages rejected by MiniMax. Fixed in 7f33ffe and added to
  Closed section.

Net: Phase 3 unblocked. No deviation from upstream needed for openai#8.
yeshenlougu added a commit to yeshenlougu/codex that referenced this pull request Jul 18, 2026
… menu, shortcuts

- openai#1 Agent tool execution now gates through sandbox.RequestApproval()
  before every tool call. Safe ops auto-approve; dangerous ops trigger
  WebSocket → frontend modal flow.

- openai#5 Auto-compress context when msg count > 40 to keep last 8 pairs.
  Prevents token limit errors in long conversations.

- openai#8 Chat '+' button now opens a dropdown with file picker and slash
  command shortcuts (/spec, /steer, /execute).

- openai#9 Global keyboard shortcuts wired:
  Ctrl+Alt+B → toggle right panel, Ctrl+Alt+S → sidetasks,
  Ctrl+Shift+G → review, Ctrl+T → browser, Ctrl+P → files.

- openai#6 API key empty check: provider returns clear error when key missing.
defims added a commit to defims/lemurclaw that referenced this pull request Jul 20, 2026
Covers the 4 deferred items from subproject 4's final review:
- #1: TopBar cwd + model from ConversationState (reducer captures
  thread.cwd + model/rerouted; sendRequest-backed turn/start + thread/resume
  feed authoritative ThreadStartResponse/ThreadResumeResponse back via a
  synthetic responseMeta action)
- openai#2: AgentPanel real sub-agent data (extract from
  collabAgentToolCall.agentsStates into state.subAgents)
- openai#3: full styles.css var-ification (~50 hardcoded colors → theme variables)

Key insight during research: ThreadStartResponse + ThreadResumeResponse both
carry authoritative model + cwd via the Task 4.1 sendRequest channel, so #1b
is clean (not partial as originally thought).

Plan written across 4 Write/Edit calls to avoid the single-Write-too-long
interruption that hit the first attempt (documented in plan §实现备注 openai#8).
KitPan added a commit to KitPan/codex that referenced this pull request Aug 4, 2026
…persistence (P1-5)

Four hardening pieces on top of the P1-4 orchestrator (judge hooks
already landed there):

- circuit breaker (openai#6): consecutive same-signature tool failures trip
  at a threshold (default 5) and kill the task tree via the shared
  interrupt path; any success resets the streak. Signatures are
  deliberately coarse — shell-wrapper-stripped head token — because
  the observed 328-failure loop was one tool with varying arguments.
  Breaker-tripped tasks finalize as Failed (never Interrupted).
- southbound auto-retry (openai#7): transient-failure relaunch of the same
  LaunchPlan, triple-gated — failure text matches known transient
  patterns (stream disconnected / connection refused / timeouts, from
  the Phase 0 window postmortems), zero tool activity observed (no
  side-effect risk), and a retry budget (2). Each attempt streams to
  its own events file (<id>.aN.jsonl); retries recorded on the task.
- preflight (openai#7/openai#16): bare-IP endpoint probe before any resource
  allocation, with triage in the error — refused (host up, service
  down; hints at dspark_proxy), timeout (host likely down; suggest
  ping triage), or HTTP status anomaly.
- diff persistence (openai#8): finalize now auto-commits the dirty worktree
  onto the task branch before reclaim (models edit files but never
  commit — previously KeepBranch preserved a ref pointing at base and
  the actual output evaporated with the worktree). diff --stat lands
  on the record and in status; full diff reviewable via the branch.

Tests: 30 lib (signature/breaker/transient units, worktree
commit-and-retrieve) + 10 e2e (breaker trip <10s, streak reset,
retry-then-recover with per-attempt event files, non-transient
no-retry with stderr surfaced, diff preserved through reclaim,
preflight dead-vs-live endpoints). clippy clean.

Authored by Claude Fable 5 (Claude Code).
sekfung pushed a commit to sekfung/codex that referenced this pull request Aug 20, 2026
jiangshengdev added a commit to jiangshengdev/codex that referenced this pull request Sep 16, 2026
Preserve the pending trigger while messages remain, and restore Storybook composer focus when the queue drains during exit. Cover real exit animation continuity and connection changes across browser engines.

Implements CNB openai#9; specification CNB openai#8.
soddygo added a commit to nuwax-ai/codex that referenced this pull request Sep 24, 2026
External review (44 findings) triage — these 7 confirmed items fixed:

- openai#22 codex-config and codex-core TEST targets had 11 compile errors
  (ModelProviderInfo literals missing experimental_bridge; a WireApi
  match missing Anthropic). All patched; test targets now compile under
  no/single/both bridge features.
- openai#9 MCP flat-name resolution was DEAD in the production dispatch path:
  router.rs wraps the bridge's namespace-less flat name with
  with_default_namespace() BEFORE registry lookup, so the fallback's
  namespace.is_none() guard never fired — MCP tools were unresolvable
  via the chat bridges in real usage. The original unit test called
  registry.tool() directly with a plain name, bypassing the router (a
  false green). Fix: the fallback now resolves through the flat index
  regardless of the incoming namespace (safe: the index only contains
  namespaced tools, which the exact-key lookup already missed); new
  regression test drives the router-wrapped form.
- openai#8 Both bridges synthesized fixed txt_0/rsn_0 item IDs every turn;
  retained assistant history dedupes by ID, so each new message
  REPLACED the previous one. IDs now carry a per-turn unique suffix
  (nanos + counter).
- openai#31 The nextest live-test config never applied: it sat at the
  repository root (cargo workspace — and thus nextest config lookup —
  is rooted at codex-rs/) AND used invalid syntax ([[test-group]],
  group=). Merged into codex-rs/.config/nextest.toml with the official
  [test-groups.<name>] tables and test-group = override keys, per-test
  slow-timeout/retries with exponential backoff, and the ci profile the
  workflow references; config parse verified. Corollary: the earlier
  "per-vendor groups fixed rate limiting" claim was unfounded — the
  observed retries came from upstream's default retries=1.
- openai#29 Cassette replay fell back to LIVE on missing/corrupt fixtures,
  silently consuming vendor quota in declared-offline runs; now fails
  fast with the record hint.
- openai#30 The nightly workflow passed only API keys — vendors() skips
  entries without URLs/models, so every scenario would silently skip.
  The workflow now passes complete per-vendor config and fails when no
  vendor tests are listed.
- openai#35 The marker assertion matched the raw JSON line (the command
  string contains the marker too), so broken stdout capture could
  still pass; now parses the completed event and asserts the
  aggregated_output field specifically.

Verified: full live matrix 64/64 (mimo+glm+step), offline replay
43/43 with credentials removed, rig bridge units 18/18, config/core
test targets compile.
soddygo added a commit to nuwax-ai/codex that referenced this pull request Oct 20, 2026
…t [skip ci]

Nextest resolves slow-timeout to the first matching override and parses filters
lazily, so a mac window appended below the packaged rules would have looked
applied while doing nothing - the four measurements that establish both are
recorded next to the widening. The openai#8 leg's local non-reproduction and the ACP
scratch that landed on the system disk are logged with their counts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant