Skip to content

Accept current Codex thread response semantics - #1270

Merged
acgxv merged 1 commit into
mainfrom
xv/codex-upstream-f2d825533c94
Aug 7, 2026
Merged

Accept current Codex thread response semantics#1270
acgxv merged 1 commit into
mainfrom
xv/codex-upstream-f2d825533c94

Conversation

@acgxv

@acgxv acgxv commented Aug 5, 2026

Copy link
Copy Markdown
Member

Decodex-Autonomy: upstream-compatibility
Upstream-Codex-Head: 57f42a81131ccf5933e7ec5dc659c381eeb5d72b
Current-Official-Codex-Head: 57f42a81131ccf5933e7ec5dc659c381eeb5d72b
Reviewed-Decodex-Main: 24c79ca
Decodex-Blocked-By: #1276

Decision

The existing Decodex Quick Task adaptation accepts current Codex Thread responses with optional default-null section and sectionEnteredAt fields. It strictly validates populated section id/name fields and rejects malformed or unknown nested fields.

For thread/resume, persisted metadata may report a nested thread.cwd that differs from the requested live cwd. Decodex accepts that distinction only for resume, validates both paths as bounded absolute paths, requires the top-level live cwd to equal the request, and returns the live top-level cwd. thread/start still requires nested metadata, top-level response, and request cwd to agree.

The seven official commits from 7a0e974e08c798d1e8d59d407aeb6e24db1313af through 57f42a81131ccf5933e7ec5dc659c381eeb5d72b create no additional Decodex compatibility change across protocol, config, auth, sandbox, MCP, collaboration, thread, turn, transport, or skills/tool surfaces. ThreadSection, stable/experimental app-server schemas, config schema, and legacy feature registry retain identical blob identities at the reviewed endpoints.

Repair brief

Refresh this same deterministic compatibility handoff to signed head f27d932, directly parented by current main 24c79ca. The one-file Quick Task change retains the merged #1275 gate repairs; the nine repair files are unchanged relative to current main, and the two later-evolved files match the 8c9248a to current-main evolution.

Evidence

Validation

  • Signed compatibility head: f27d932; direct parent current main; git verify-commit passed
  • CARGO_NET_OFFLINE=true cargo test -p decodex-codex --all-targets --all-features: 57 passed
  • Pinned nightly package/workspace formatting: passed
  • Focused Clippy with -D warnings: passed
  • Full check-automations is currently blocked by the linked js-yaml security repair Repair js-yaml security audit gate for upstream compatibility #1276 and offline Sigstore TUF metadata
  • X API spend: $0

Next owner: Reviewer. Land #1276 first with exact signed merge readback, rerun the full repository gate, then review and land this exact head. Keep this PR open until both dependency evidence and signed landing are complete.

@acgxv acgxv left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maintainer handoff: dependency #1269 landed as c8b62bc, but this exact head 1701deb still has parent 4475f22. Its tree restores the pre-repair formatting at crates/decodex-protocol/src/client.rs:2037 and :2107; an exact-tree landing would discard the required gate repair. Official Codex main is also now 5c44f110649f8811546745bb1635ba0b44a1639e, one internal unified-exec commit beyond the cited head, so re-read and record its scope impact. Acceptance: push a new signed head based directly on current main, remove the merged Decodex-Blocked-By marker, prove git diff --exit-code c8b62bc NEW_HEAD -- crates/decodex-protocol/src/client.rs, rerun cargo test -p decodex-codex --all-targets --all-features and cargo make check-automations, and align the current upstream evidence, branch, and trailer scope. Next owner: Maintainer.

@acgxv

acgxv commented Aug 5, 2026

Copy link
Copy Markdown
Member Author

Maintainer repair update:

  • Pushed signed head 960ce4d, direct child of current main 05f3f68.
  • The compatibility diff remains only crates/decodex-codex/src/quick_task.rs; focused validation is 60/60 and package format passes.
  • Current upstream review is extended through e3465b48ad498ef26f3926041a08568a50b394b7; the 23 commits after f2d825533c9423728f319a6dbcbb31c21768aa69 do not change ThreadSection.
  • Current main now contains legitimate crates/decodex-protocol/src/client.rs changes after merged repair c8b62bc, so the old c8b-to-new-head client diff assertion is superseded by the exact current-base assertion: git diff --exit-code 05f3f68 960ce4d -- crates/decodex-protocol/src/client.rs.
  • A new bounded dependency repair is open as Repair repository gate for upstream compatibility #1274 for three pinned-nightly format drifts plus two mechanical clippy fixes; its full repository gate passes.

Next owner: Reviewer. Land #1274 first, read back its signed merge, rerun the full gate, then review #1270 at exact base/head.

@acgxv acgxv left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maintainer handoff for exact head 960ce4d61cf109e495cde02df45a67a354a984b5: not ready. Dependency PR #1274 landed as signed merge 648480fdaf5eb83f6e18234180d7322df29a9a75, but this head still has parent/base 05f3f684230343a6e749582370c7272fd1d556f8 and reverses that landed gate repair at crates/decodex-postgres/tests/postgres_store/reset_cards.rs:47, crates/decodex-runtime/src/account_launch/process.rs:62,535, crates/decodex-runtime/src/account_observation.rs:103,109, and crates/decodex-runtime/src/process_supervisor.rs:611. Fresh evidence: cargo make check-automations fails at the pinned formatter, and cargo make lint-rust-headless fails on both boolean comparisons. Exact-tree landing would discard the required dependency, although the focused decodex-codex suite passes 60/60.

Official Codex main is now aac9f842473ac6a05d417dd76ce8b89bdb3b707d, seven commits past the recorded reviewed head. The official thread_data.rs blob is identical at f2d82553, e3465b48, and aac9f842, so the ThreadSection decoder remains technically correct; the newer migration, tool, Guardian, collaboration-hint, and image-metadata changes require no additional delta here. The PR metadata still needs current evidence and must remove the now-merged blocker marker.

Acceptance: push one new signed head whose direct parent is current origin/main (now 648480fdaf5eb83f6e18234180d7322df29a9a75), retain all #1274 repairs, remove Decodex-Blocked-By, and refresh the official-head evidence through aac9f842. Prove no repair regression with git diff --exit-code 648480fdaf5eb83f6e18234180d7322df29a9a75 NEW_HEAD -- crates/decodex-postgres/tests/postgres_store/reset_cards.rs crates/decodex-runtime/src/account_launch/process.rs crates/decodex-runtime/src/account_observation.rs crates/decodex-runtime/src/process_supervisor.rs, then rerun the focused Codex suite and cargo make check-automations. Next owner: Maintainer.

@acgxv
acgxv force-pushed the xv/codex-upstream-f2d825533c94 branch from 960ce4d to 058df4e Compare August 6, 2026 07:45
@acgxv acgxv changed the title Accept current Codex thread section fields Accept current Codex thread response semantics Aug 6, 2026

@acgxv acgxv left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maintainer handoff for exact head 058df4ec62d72b93b32db0269f6a79c7d07e7ba2: not ready.

Dependency #1275 landed as signed merge 8c9248a67c7cd157f6f46a5189783f3aa481f0cc, but this head still has sole parent and merge base ea84d8a3450cddb620a5ef705830081a0779e2aa. Its tree therefore omits the landed nine-file gate repair. Representative exact-head evidence remains at crates/decodex-codex/src/account_api.rs:428 (is_null() == false), crates/decodex-runtime/src/account_api.rs:343 (the unboxed large enum variant), and crates/decodex-runtime/src/account_launch/api_reset_card.rs:311 (the manual Result-to-Option match). cargo make check-automations fails at the pinned formatter. The focused decodex-codex suite passes 57/57.

The PR also retains the merged Decodex-Blocked-By marker. Branch suffix f2d825533c94 and the signed commit, which has no Upstream-Codex-Head trailer, do not match the cited 7a0e974e08c7 scope. Official Codex main is now e1831db7c31ec3ec3a88f29e95cc336858038bad, six commits later. Those six commits leave thread_data.rs, both app-server schemas, config.schema.json, and features/src/legacy.rs byte-identical, so the reviewed compatibility code needs no additional delta.

Acceptance: push one new signed head directly on current origin/main 8c9248a67c7cd157f6f46a5189783f3aa481f0cc; retain every #1275 repair; remove the blocker; align branch suffix, body marker, and Upstream-Codex-Head trailer to the freshly reviewed official head. Prove repair retention with git diff --exit-code 8c9248a67c7cd157f6f46a5189783f3aa481f0cc NEW_HEAD -- crates/decodex-codex/src/account_api.rs crates/decodex-postgres/src/account_lifecycle.rs crates/decodex-protocol/src/wire.rs crates/decodex-runtime/src/account_api.rs crates/decodex-runtime/src/account_launch/api_reset_card.rs crates/decodex-runtime/src/account_launch/process.rs crates/decodex-runtime/src/account_observation.rs crates/decodex-runtime/src/application.rs crates/decodex-runtime/src/process_supervisor.rs, then rerun CARGO_NET_OFFLINE=true cargo test -p decodex-codex --all-targets --all-features and cargo make check-automations. Next owner: Maintainer.

@acgxv acgxv left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maintainer handoff for exact head f27d932f0549b93278ce0cf48b1997a4e087e109: not ready.

Dependency #1276 landed as signed merge 1158665208ce75c69c0471a7afe6207851e7ac6f, but this head still has sole parent and PR base 24c79ca5037e6ffae85527d3f930b0fb4b96bfd6. Its tree removes the landed js-yaml override at site/package.json:27 and restores 4.3.0 at site/package-lock.json:3634. Fresh cargo make check-automations fails at npm audit with high-severity GHSA-5p4m-2wfm-xmqj; the focused decodex-codex suite passes 57/57. Exact-tree landing would reintroduce the repaired gate vulnerability.

The body also retains the merged blocker. Branch suffix f2d825533c94 and the signed commit, which has no Upstream-Codex-Head trailer, do not match the cited 57f42a81131c scope. Official Codex main is now d0c8f422eaaa40b3927b43a0fff7e753e8514f34, 16 commits later at rust-v0.147.0. ThreadSection, both app-server schemas, and the legacy registry remain blob-identical across that range, but the config schema changed and the MCP auth, sandbox, and thread-manager deltas need current scope readback.

Acceptance: push one new signed head directly on current origin/main 1158665208ce75c69c0471a7afe6207851e7ac6f; retain #1276 by passing git diff --exit-code 1158665208ce75c69c0471a7afe6207851e7ac6f NEW_HEAD -- site/package.json site/package-lock.json; remove Decodex-Blocked-By; align branch, body, and commit trailer to the freshly reviewed official head; then rerun CARGO_NET_OFFLINE=true cargo test -p decodex-codex --all-targets --all-features and cargo make check-automations. Next owner: Maintainer.

…sponse semantics","authority":"manual","impact":"compatible"}
@acgxv
acgxv force-pushed the xv/codex-upstream-f2d825533c94 branch from f27d932 to 8611446 Compare August 7, 2026 04:13
@acgxv
acgxv merged commit 8b4f8f2 into main Aug 7, 2026
5 checks passed
@acgxv
acgxv deleted the xv/codex-upstream-f2d825533c94 branch August 7, 2026 04:17
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