Skip to content

fix: retain original MCP errors when optional metadata is invalid - #29

Open
IanYet wants to merge 1 commit into
mainfrom
codex/preserve-original-failure-metadata-20261025
Open

IanYet wants to merge 1 commit into
mainfrom
codex/preserve-original-failure-metadata-20261025

Conversation

@IanYet

@IanYet IanYet commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

A production collector 1.2.3 report retained its error text in a host snapshot but rejected the dedicated original-failure record because an optional operation value failed validation. The rejected input value is unavailable; local replay proves the rejection mechanism, not the historical operation value or connection root cause.

  • Keep the strict record validator. On the collection read path, omit invalid optional conversation/call/operation/request metadata and retain the independently valid original error, cause, stack, known timestamp, and other valid identifiers. Invalid or absent timestamps remain null.
  • Record rejected field names in the original-failure metadata gaps, report gaps, and evidence summary without including rejected values. Core source/server/error and dedicated-record shape checks remain strict; credential redaction remains in the normal report and fragment path.
  • Apply the same behavior to the existing Codex and Claude helpers. Versions: Codex 1.10.24, Claude 1.10.26, collector 1.2.5. These versions contain main's existing 1.2.3 capabilities plus this narrow fix; they do not include the other changes in unmerged fix: preserve MCP failure evidence in existing collector #28.

Validation for final head 0130207b11ed3020b45dba65857bc802ce0881c0: 149/149 checks passed in the repository's Ubuntu CI, and CodeQL passed. On Windows Node 24.12.0, 72/72 collection and version checks passed, including both shipped CLIs saving reports and reassembling upload fragments without network or production upload. The full Windows suite is 81/85: four unchanged media tests fail before helper loading because their fixture filename includes Windows-invalid ?. No model round, production report, backend deployment, or standalone Doctor release was performed.

Release coordination: #28 must incorporate this fix and reconcile versions before it is merged, so it cannot restore the older validator or downgrade these versions. The Codex store 1.10.23 ZIP already handed off for review remains byte-for-byte unchanged. This PR improves evidence preservation; it does not establish fewer user connection failures or historical recovery. Product release remains with the normal maintainers.

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