Skip to content

fix: support standard Intel Homebrew executable target - #205

Draft
seonghobae wants to merge 6 commits into
security/brew-cleanup-audit-private-authority-v1from
fix/intel-homebrew-executable-v1
Draft

fix: support standard Intel Homebrew executable target#205
seonghobae wants to merge 6 commits into
security/brew-cleanup-audit-private-authority-v1from
fix/intel-homebrew-executable-v1

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Purpose

Make the local-LLM-gated Homebrew cleanup available on a standard Intel macOS Homebrew installation without following or trusting the public /usr/local/bin/brew alias symlink and without changing command, dry-run, model, human-approval, executable-identity, audit, or filesystem authority.

Root cause

The official Homebrew installer uses /usr/local as the Intel prefix, stores the repository at /usr/local/Homebrew, and creates /usr/local/bin/brew as ../Homebrew/bin/brew. DiskSage rejected that public symlink alias while omitting the actual fixed repository target, so a standard Intel installation failed as brew-cleanup-brew-not-found before object-bound executable verification.

Exact current state

  • stacked base security: bind Brew cleanup audit records to private storage #187 exact head: 8d1733849884bc517171e44065e1219568120e66
  • exact current head: 4432ea1aa12ccafd4774828f135898cd333f2d97
  • fresh base-to-head comparison is ahead-only and preserves exactly two semantic files: src-tauri/src/brew_cleanup.rs plus src-tauri/tests/brew_cleanup_intel_install_contract.rs
  • production delta remains one fixed candidate: Path::new("/usr/local/Homebrew/bin/brew"), placed before the rejected public alias
  • exact Test 32319948669 and Release 32319948682 are queued; no passing evidence is transferred from predecessor 4bda9d27...
  • PR remains Draft

Test-first proof

The original RED process/contract evidence proved the standard Intel repository target was absent; the narrow production fix adds only that fixed target. Existing symlink_metadata, executable-bit admission, symlink rejection, opened-file device/inode binding, /dev/fd/3 execution, fixed arguments, plan fingerprinting, dry-run, model judgment, exact approval, and audit publication remain unchanged.

The branch was advanced onto the current #187 dependency root with a non-forced merge commit. The current base-to-head diff proves protected-main package movement did not leak into this stack edge.

Stack / ownership

Dependency order is #187 durable audit authority → this Intel compatibility slice → #206 content-bound executable bytes. #206 has also been advanced onto this exact head and retains only its content-binding delta.

Required before merge

Keep Draft until the parent dependency is integrated or deliberately preserved; every applicable exact-head native and central workflow passes; every valid current-head finding is addressed; repository-wide exact 100% owned-production coverage is satisfied without weakening; package/SBOM/provenance/release requirements are complete where applicable; and fresh stack/base ancestry remains current. Pending, queued, absent-required, skipped-required, failed, stale, predecessor, synthetic, diagnostic-only, status-only, model-only, or author-only evidence is non-passing.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

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: b0d6b836-78c2-4487-9cdd-63304afd34b8

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.

@opencode-agent opencode-agent Bot added priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior labels Aug 22, 2026
@seonghobae
seonghobae marked this pull request as ready for review August 24, 2026 07:14
@seonghobae

Copy link
Copy Markdown
Contributor Author

The Intel Homebrew executable slice is ready for review at exact head 5c86668a6e503a174ff0b07151f67226b39547ff; its hosted Test/Release/build checks are green. It remains stacked and requires current-base validation plus protected independent approvals before merge.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@seonghobae
seonghobae marked this pull request as draft August 24, 2026 07:18
@seonghobae
seonghobae marked this pull request as ready for review August 24, 2026 07:33
@seonghobae
seonghobae marked this pull request as draft August 24, 2026 08:11

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 5c86668a6e503a174ff0b07151f67226b39547ff.

  • Head SHA: 5c86668a6e503a174ff0b07151f67226b39547ff

  • Workflow run: 32702639442

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (2 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (2 files)"]
  R1 --> V1["required checks"]
Loading

@opencode-agent

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 5c86668a6e503a174ff0b07151f67226b39547ff
  • Workflow run: 32702639442
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 5c86668a6e503a174ff0b07151f67226b39547ff.

  • Head SHA: 5c86668a6e503a174ff0b07151f67226b39547ff

  • Workflow run: 32702639442

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (2 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (2 files)"]
  R1 --> V1["required checks"]
Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant