Skip to content

fix: expose an active native Codex configuration receipt - #203

Merged
HTExplicit merged 1 commit into
mainfrom
fix/native-codex-receipt
Sep 24, 2026
Merged

HTExplicit merged 1 commit into
mainfrom
fix/native-codex-receipt

Conversation

@HTExplicit

Copy link
Copy Markdown
Owner

The native Codex configuration endpoint returned raw configuration without a receipt that diagnostic clients could bind to a running configuration epoch. Its getter could also return a cancelled snapshot.

The existing GET now returns four X-Sub2API-Codex-* headers with native hosting mode, configuration version, the SHA-256 of the exact response bytes, and runtime generation. Raw JSON and Cache-Control: no-store are preserved. The lifecycle lock selects one snapshot, verifies its persisted metadata and byte hash, and rejects stopped, cancelled or inconsistent state with a fixed 503 response and no receipt or raw configuration. The read path does not rebuild settings, change generation or acquire a business lease; retired installations remain disabled.

Validation: five direct service methods and two HTTP contract methods passed, covering exact bytes and copying, full int64 versions, shutdown and cancellation, persisted-fence changes, opaque errors and header removal. Independent review checked the lifecycle and multi-query fence boundary; formatting and documentation checks passed. Existing business-test results are reused locally, with normal required CI retained. No model calls or production changes.

This is the user-approved compatibility follow-up to #202. The published v0.2.8-codexrip.5 artifact remains unchanged; the receipt correction will ship in a new immutable version before the unified production deployment.

@HTExplicit
HTExplicit merged commit 4d46a2d into main Sep 24, 2026
18 checks passed
@HTExplicit
HTExplicit deleted the fix/native-codex-receipt branch September 24, 2026 14:22
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