You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Discard credential-bearing Codex app-server error text #329
Main 66764b6f65964d1422e63aa5c575333b5bafb0e0 copies arbitrary Codex JSON-RPC error.message and failed account/login/completed.params.error strings into AppServerError::Refused. Truncating to 200 characters preserves short credentials. The sign-in handler displays to_string().
The mock-transport tests cli_request_errors_discard_credential_bearing_messages and cli_login_failures_discard_credential_bearing_messages both fail on that main revision. They inject only Bearer SYNTHETIC_CREDENTIAL_7DA8 or code=SYNTHETIC_CREDENTIAL_7DA8 through an in-memory channel. No actual CLI, auth files or provider calls.
Closed #72 / PR #112 fixed retired C# paths. This Rust path is distinct; PR #313/#321 are excluded.
Why
Credential-bearing CLI failure text can reach the sign-in diagnostic. Truncation is not redaction.
Goal
Discard arbitrary CLI error text at the Rust error boundary while keeping useful fixed diagnostics.
Acceptance Criteria
Request errors and failed login notifications omit synthetic tokens, authorization codes and cookies in Display and Debug.
Short, multiline and oversized messages obey the guarantee.
Successful, cancelled, timed-out and signed-out behavior remains covered.
Definition of Done
Bounded Rust fix with mock-transport regression coverage.
Four Rust gates, required hosted checks and clean current-head independent review.
Guarded merge and verified clean-main sync; no application launch or deployment.
Validation
cargo test -p codexbar-providers --test codex_error_privacy --locked: before the fix 0 passed, 2 failed with synthetic credential leak assertions; after the fix all pass.
Run the format, Clippy, production binary and workspace test gates from AGENTS.md on Laptop headlessly.
Source: Chief7da8 bounded synthetic error-redaction assignment. This is source-security work without layout or interaction changes.
Source fix delivered by the Chief7da8 Laptop repository owner in PR #330, guarded squash merge 899bf3fe7c589ce45ca7ca96c9684d43e1f956d1. Exact reviewed head b4641be8189acbfef409342a3e305fa7783ef2a7 has all seven required checks green and authenticated SFL Round 2 PASS, with no unresolved review threads. All four local Rust gates pass.
Two mock-transport regressions failed before the source fix. Three now pass, covering request errors, failed login notifications and malformed login-start responses using only invented credentials. Raw CLI error text is discarded before diagnostics are built. No live provider/authentication or desktop execution was used, and no installed product was changed.
Mini clean main and the clean detached Laptop task checkout are at the merge SHA; their source trees match the reviewed head. Home sync was safely skipped because its retained checkout is on fix/300-checked-durations; Laptop primary sync was skipped because of its pre-existing untracked audit/. These are explicit sync limits, not permission to remove or switch retained work. Owned remote and Mini staging branches and the task branch were removed. The active T3-managed worktree remains clean and detached. PR watch stopped. This closes the bounded source-security task without claiming a full audit or rendered/live-provider qualification.
Activity
test: cover malformed Codex login response privacy (#329)
fix: discard credential-bearing Codex CLI error text (#329) (#330)
HemSoft commentedon Nov 11, 2026
Source fix delivered by the Chief7da8 Laptop repository owner in PR #330, guarded squash merge
899bf3fe7c589ce45ca7ca96c9684d43e1f956d1. Exact reviewed headb4641be8189acbfef409342a3e305fa7783ef2a7has all seven required checks green and authenticated SFL Round 2 PASS, with no unresolved review threads. All four local Rust gates pass.Two mock-transport regressions failed before the source fix. Three now pass, covering request errors, failed login notifications and malformed login-start responses using only invented credentials. Raw CLI error text is discarded before diagnostics are built. No live provider/authentication or desktop execution was used, and no installed product was changed.
Mini clean main and the clean detached Laptop task checkout are at the merge SHA; their source trees match the reviewed head. Home sync was safely skipped because its retained checkout is on
fix/300-checked-durations; Laptop primary sync was skipped because of its pre-existing untrackedaudit/. These are explicit sync limits, not permission to remove or switch retained work. Owned remote and Mini staging branches and the task branch were removed. The active T3-managed worktree remains clean and detached. PR watch stopped. This closes the bounded source-security task without claiming a full audit or rendered/live-provider qualification.