Skip to content

fix: bound Homebrew cleanup failure feedback - #201

Closed
seonghobae wants to merge 2 commits into
mainfrom
fix/brew-cleanup-error-privacy-v1
Closed

fix: bound Homebrew cleanup failure feedback#201
seonghobae wants to merge 2 commits into
mainfrom
fix/brew-cleanup-error-privacy-v1

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Purpose

Prevent arbitrary backend exception text from crossing the Homebrew cleanup desktop failure boundary without changing dry-run judgment, explicit approval, execution authority, audit publication, or filesystem/Homebrew semantics.

Exact current state

  • Exact source head: ded52e4b252c2e45b73053d0e31efd4d7678046a.
  • Independently resolved protected main: be418bac9bfbdc8aa41b1a698713833e3dbccfdc.
  • Fresh main -> head comparison is ahead, ahead_by = 2, behind_by = 0, with merge base exactly protected main.
  • Semantic delta is exactly src/lib/BrewCleanup.svelte plus src/lib/brewCleanupErrorPrivacyContract.test.ts.
  • The PR remains Draft and GitHub reports it mergeable.
  • Exact-head native workflows are green: Test 31652606281, Release 31652606273, Security Scan 31652606268, and SAST Semgrep 31652606275 all completed success.
  • Current-head formal reviews and review threads are empty. Automated status/check evidence is not a formal approval.

Test-first privacy repair

  • RED head 1e7b7311aaa984cbe7cc78820bd6736a2587de3b added the privacy contract while BrewCleanup.svelte still projected String(e) for both judgment/planning and approved execution failures.
  • Current implementation removes those arbitrary exception projections and replaces them with stable path-free messages: Homebrew 정리 계획을 만들지 못했습니다. and Homebrew 정리를 실행하지 못했습니다.
  • The focused contract preserves judgeBrewCleanup() and executeBrewCleanup(...) authority calls and the existing accessible alert boundary.
  • Fixed command selection, LLM judgment, exact approval phrase, plan fingerprint, audit record handling, mutation scope, and security: bind Brew cleanup audit records to private storage #187's backend object-bound audit-publication authority are unchanged.

Remaining integration blocker

Feature-local exact-head evidence is green, but repository-wide exact 100% owned-production statement/branch/function/line coverage remains materially unsatisfied on canonical coverage owner #156. This PR therefore remains Draft; feature-local success does not waive that repository-wide quality contract. Conditional release-publication/provenance helpers, where skipped by PR-event semantics, are not treated as passing release evidence.

Required before merge

Keep Draft until the unchanged exact head satisfies every applicable live required workflow at integration time, every valid current-head finding is addressed, repository-wide exact coverage is satisfied without exclusions or threshold weakening, and fresh live-base ancestry remains current. Pending, queued, skipped-required, failed, stale, predecessor, diagnostic-only, status-only, model-only, or synthetic evidence is not passing.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b06fb900-9214-41ed-80f6-0dbc84e78c33

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

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