Repository navigation
refactor(codex): remove what the ticket-era work left behind - #233
Merged
Merged
Conversation
The ticket removal (#229-#231) kept several pieces that only existed for it, some under new names, plus tolerance code for its stored data. This removes them and restores the upstream or pre-ticket form in each place. Deleted: the response model-declaration guard on every path (upstream behaviour: the reply is delivered and the usage log records upstream_model_mismatch); the codex-quality-runs diagnostics; the Codex outbound fingerprint panel with its per-request wire observation and profile selection; plugin-owner job metadata decoding; the retired-key, retired-extra and retired-job tolerance added by #229/#230. Replaced: the native Codex runtime host (lease, epoch, generation, receipts, encrypted config, module dispatch) by one plain settings row {request_zstd} and direct calls into codexruntime/profile and codexruntime/recovery. GET/PUT /admin/settings/codex-runtime keep their path and body. Restored: x-codex-turn-state handling to the fork's contract from before the routing commits; Responses-Lite default instructions to upstream. Migration 264 carries the compression value over from the recorded config hash (it refuses an unknown hash instead of guessing), drops sub2api_plugin_state and sub2api_plugin_leases, removes the retired codex-runtime installation's stored configuration and package, and writes the fingerprint mode explicitly for OAuth accounts that had none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…test With the response model guard gone, an ordinary single test completed without saying that another model had answered. It now prints the same line the batch test shows. Also use typographic quotes in the restored fingerprint-mode description. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uspect The quality check now reaches replies that declare another model. Such a run is judged suspected degradation whatever its answer, with the reason shown next to the verdict. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
HTExplicit
pushed a commit
that referenced
this pull request
Oct 3, 2026
One conflict, backend/internal/service/admin_account.go: upstream's TypeSafe API-key-only check stays, and the maps.Clone(accountExtra) line that #233 removed stays removed. The risk manifest is regenerated against the new downstream commit and the review document names it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 4, 2026
HTExplicit
added a commit
that referenced
this pull request
Oct 4, 2026
…#237) The Codex identity resolvers kept a context parameter and a ...Context twin from the dispatch layer removed in #233. Each pair is now one function: resolveCodexOutboundIdentityForAccount, enforceCodexIdentityHeadersForAccount and resolveCodexIdentitySnapshot. An identity whose version cannot form a valid User-Agent still fails the send on every send path; the two diagnostic readers keep ignoring that error explicitly. The five account-test messages that named a policy now read "Codex client identity is invalid: ...". No request changes what it sends or when it fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
#229-#231 removed the Codex ticket subsystem but left pieces that only existed for it. An audit of main found 78:
The owner's instruction: retired features are deleted, and stored data is fixed at the root instead of being tolerated in code.
Change
Deleted
upstream_model_mismatch./codex-quality-runsroutes, the grant/trial headers, every hook in forwarding, and the service and repository code.account_job_legacy.go).kind_unsupportedand its text, placeholder parameters, and tests that only pinned tolerance.Replaced
codex_runtime_config={"request_zstd":bool}. It is decoded strictly, and a missing row meansgateway.openai_codex_request_zstd. A package-level compression gate and direct typed calls intocodexruntime/profileandcodexruntime/recoveryreplace the dispatch.GET/PUT /api/v1/admin/settings/codex-runtimekeep their path and body.Restored
x-codex-turn-stateto the fork's own contract from before Add GPT-6 Sol/Luna, verified Cookie routing and account-scoped prompt rules #192 (hunk-level reverts; the logical-turn file is deleted).defaultis gone; the dialog writesdeviceexplicitly, as Edit and Bulk already do.Where a differing upstream model is shown (replies that declare another model now reach the UI)
Migration 264
sub2api_plugin_state(it raises if another plugin has rows there) andsub2api_plugin_leases.codexrip.codex-runtimeinstallation, and deletes the two legacy settings rows.The migration is forward-only. A read-only production pre-check confirmed its three preconditions: the receipt lists the plugin, the hash is the known "on" value, and the state table holds only this plugin's 42 rows.
Not changed here, by agreement with the parallel reasoning-recovery rework: recovery semantics, and a few always-nil error returns in
plugin_codex_recovery.gothat the rework removes next.Verification
go build ./...;go vetunder no tag,unitandintegration; golangci-lint v2.13 on the touched packages;vue-tsc --noEmit,check:i18n, eslint and the specs of touched components;Not run: race suites locally (no cgo), Redis-dependent integration tests, real model calls.
🤖 Generated with Claude Code