Skip to content

Preserve caller parsing and daemon log continuity - #841

Merged
onevcat merged 1 commit into
mainfrom
fix/codex-daemon-review-boundaries
Sep 29, 2026
Merged

onevcat merged 1 commit into
mainfrom
fix/codex-daemon-review-boundaries

Conversation

@onevcat

@onevcat onevcat commented Sep 29, 2026

Copy link
Copy Markdown
Owner

Stacked on #840, which is stacked on #839. Merge in that order.

The review found two boundary defects: an empty process argument shifted the kernel environment boundary, and a temporary daemon binding failure discarded established log progress.

  • Consume exactly argc NUL-terminated arguments, preserving empty values before reading the environment. Previously, the first environment entry could be reported as a command argument and omitted from caller identity.
  • Suspend an established log provider when its daemon binding is unavailable. Retain cursors so recovery delivers pending events without replaying an earlier turn start.
  • Document the suspension behavior and the existing 64 MiB session-log mapping limit.

Both new regressions failed on the original stack and passed with these changes. The recovery test also checks that a completion written during the gap is delivered and the rollout metadata is not reread.

Validation: 134 related app tests passed; make check, make build-app, make build-cli, make test-cli-smoke, make test-cli-unit (6 tests), and make test-cli-integration (105 tests) passed. The original PRs' interactive two-pane acceptance scenarios were not rerun in this review.

Base automatically changed from fix/codex-daemon-log-detection to main September 29, 2026 10:58
@onevcat
onevcat merged commit 11eb28f into main Sep 29, 2026
1 check passed
@onevcat
onevcat deleted the fix/codex-daemon-review-boundaries branch September 29, 2026 10:59
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