Skip to content

fix(model): redact provider error responses - #102

Open
XnLemon wants to merge 4 commits into
mainfrom
codex/phase2-model-provider-error-redaction
Open

fix(model): redact provider error responses#102
XnLemon wants to merge 4 commits into
mainfrom
codex/phase2-model-provider-error-redaction

Conversation

@XnLemon

@XnLemon XnLemon commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Objective

Redact sensitive provider error details before they are emitted through model response error events.

Completed Changes

  • Redacted ResponseError.Message in Anthropic, Bedrock, Hunyuan, and Ollama provider sendErrorResponse paths.
  • Preserved existing error type, completion state, and Ollama response ID semantics.
  • Added targeted regression coverage for Authorization bearer tokens, API keys, generic token/secret/password fields, and cookies.
  • Fail closed with a generic message if redactor initialization is unavailable.

Validation

  • go test ./model/hunyuan
  • go vet ./model/hunyuan
  • cd model/anthropic && go test ./... && go vet ./...
  • cd model/bedrock && go test ./... && go vet ./...
  • cd model/ollama && go test ./... && go vet ./...
  • git diff --check
  • Sub-agent open-code-review pass: 0 High / 0 Medium / 0 Low. OCR CLI config was unavailable, so the sub-agent performed read-only review following the skill flow.

Known Risks / Limitations

  • Scoped to direct provider sendErrorResponse paths in Anthropic, Bedrock, Hunyuan, and Ollama.
  • Windows Git reported LF-to-CRLF working-copy warnings only; git diff --check passed.

Follow-up Work

  • Continue Phase2 closure by sweeping remaining provider and graph/runtime error event paths for model-visible raw error messages.

@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@XnLemon, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 17 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f669f7e1-0f1d-4f3c-ac5a-43b3642b63c9

📥 Commits

Reviewing files that changed from the base of the PR and between 361e2a4 and c59379b.

📒 Files selected for processing (8)
  • model/anthropic/anthropic.go
  • model/anthropic/anthropic_test.go
  • model/bedrock/bedrock.go
  • model/bedrock/bedrock_test.go
  • model/hunyuan/hunyuan.go
  • model/hunyuan/hunyuan_test.go
  • model/ollama/ollama.go
  • model/ollama/ollama_test.go
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/phase2-model-provider-error-redaction

Comment @coderabbitai help to get the list of available commands.

@XnLemon
XnLemon force-pushed the codex/phase2-trpcagent-runner-error-redaction branch from 7bd49ce to 94f7143 Compare July 11, 2026 13:39
@XnLemon
XnLemon force-pushed the codex/phase2-model-provider-error-redaction branch from 649bd12 to 9188a9c Compare July 11, 2026 13:39
@XnLemon
XnLemon changed the base branch from codex/phase2-trpcagent-runner-error-redaction to main July 13, 2026 02:23
XnLemon and others added 2 commits July 13, 2026 10:26
* platform: add multi-tenant contracts

* platform/gateway: add text loop

* platform/toolpolicy: add governance bridge

* platform/channeladapter: add adapter outbox skeleton

* platform/gateway: enqueue outbound handoff

* platform/storagerouter: add storage routing contracts

* platform/gateway: add session lease

* platform: add gray routing helpers

* platform: add tenant budget helpers

* platform: validate storage migration modes

* platform: validate audit policies

* platform: validate audit records

* platform: add capacity estimator

* platform/channeladapter: replay dead letters

* platform: populate audit record ids

* platform: validate audit sink writes

* platform: add usage record contracts

* platform: add usage sink contracts

* platform: add config version contracts

* platform: select config version by session gray bucket

* platform: add config version lifecycle helpers

* platform: add usage summary contracts

* platform: add audit query contracts

* platform: add config version diff contracts

* platform: add config gray status summary

* platform: add operational action audit contracts

* platform: add config cache invalidation contracts

* platform: add secret rotation status contracts

* platform: add backend migration status contracts

* platform: add storage router status summary

* platform: add config operation summary contracts

* platform/toolpolicy: add approval summary contract

* fix(platform): enforce binding ACL and redact outbox errors

* fix(platform): redact gateway audit error reasons

* fix(toolpolicy): enforce auditable policy identity

* platform: harden identity and idempotency contracts

* platform: tighten routing identity contracts

* fix(platform): reconcile hardened contracts with gateway

* platform: add budget decision audit contracts

* platform/gateway: add minimum loop acceptance test

* platform/gateway: add outbound dispatch acceptance test

* platform/gateway: correlate audit trace ids

* platform/gateway: add trace skeleton spans

* platform/gateway: enable runner session trace

* platform/gateway: add message event trace contract

* feat(platform): mark tool call trace spans

Adds safe platform tool-call trace contract spans. Independent re-review reported P0/P1 clear; CodeRabbit only reported a trivial test-helper nitpick.

* feat(platform): trace memory search spans

Adds safe memory search trace spans on the current memory.Reader boundary. Independent review reported P0/P1 clear; local focused validation and build passed.

* feat(platform): trace memory write spans

Adds safe memory write trace spans for add/update/delete/clear. Independent review reported P0/P1 clear; local focused validation and build passed.

* feat(platform): mark summary create trace spans

Adds summary-create trace contract markers for Redis/PostgreSQL summary creation spans. Independent review reported P0/P1 clear; local focused validation and build passed.

* fix(platform): address CI checks

* fix(platform): address CodeRabbit review feedback

* fix(platform): bound in-memory sink records

---------

Co-authored-by: xnlemon <xianingawa@gmail.com>
@XnLemon
XnLemon force-pushed the codex/phase2-model-provider-error-redaction branch from 9188a9c to c59379b Compare July 13, 2026 02:38
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.

2 participants