Skip to content

fix: support standard Intel Homebrew executable target - #205

Draft
seonghobae wants to merge 8 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 8 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.

The predecessor exact head 1052a75a8faff51a242bb0999f0a06b0d2b763a6 also inherited the release artifact namespace failure from its parent: Release run 33261220173, job 99126807927 downloaded the Windows artifact under release-disksage-windows-2022-1, while the verifier expected release-disksage-windows-latest-1. The canonical release-owner correction is #264; this PR does not duplicate or weaken it.

Exact current state — 2026-09-07

  • stacked base: security: bind Brew cleanup audit records to private storage #187 exact head fa1fead83d77d01a1ec00dddcb6c0fd317e145e0
  • exact current head: b01fb34124f573a0c7b31f8e1a239558c16573e7
  • non-force two-parent refresh commit: b01fb34124f573a0c7b31f8e1a239558c16573e7
  • exact base-to-head comparison: ahead 8 / behind 0, merge base fa1fead83d77d01a1ec00dddcb6c0fd317e145e0
  • semantic delta remains exactly two files: src-tauri/src/brew_cleanup.rs and src-tauri/tests/brew_cleanup_intel_install_contract.rs
  • local integrated verification: npm test passed 40 Vitest files / 164 tests plus 2 Node concurrency tests; git diff --cached --check passed before commit construction
  • local Rust verification was not claimed because this runner has no cargo; hosted exact-head Rust evidence remains required
  • fresh exact-head workflows are authoritative; predecessor successes and failures are historical only
  • PR remains Draft

Test-first proof

The RED contract proves the standard Intel repository target was absent; the narrow production fix adds only Path::new("/usr/local/Homebrew/bin/brew"). 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.

Stack / ownership

Dependency order is #264 release artifact contract → #187 durable audit authority → this Intel compatibility slice → #206 content-bound executable bytes. The branch was refreshed with ordinary two-parent history, preserving every valid predecessor commit and the canonical owner delta.

Required before merge

Keep Draft until parent dependencies are 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

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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

opencode-agent Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

Coverage evidence did not pass, so approval is blocked. The formal pull-request review is the source-backed diff review, not this status comment.

@seonghobae
seonghobae marked this pull request as ready for review August 29, 2026 15:47

@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 reviewed the current-head product diff. Coverage is a separate gate.

Changed files

  • src-tauri/src/brew_cleanup.rs — Rust package behavior
  • src-tauri/tests/brew_cleanup_intel_install_contract.rs — regression suite

Changed behavior

classDiagram
  class BrewCleanupPlan
  class approval_phrase
  class BrewCleanupJudgment
  class has_successful_calibration
  class BrewCleanupExecution
  class BrewCleanupAuditRecord
  class plan
  class prompt
Loading

Changed API

  • BrewCleanupPlan
  • approval_phrase
  • BrewCleanupJudgment
  • has_successful_calibration
  • BrewCleanupExecution
  • BrewCleanupAuditRecord
  • plan
  • prompt
  • judge
  • execute
  • write_audit_record
  • write_audit_record_with_before_create_hook

Findings

No source-backed product finding is synthesized from the coverage gate. A coverage miss belongs in the status comment.

  • Head SHA: 1052a75a8faff51a242bb0999f0a06b0d2b763a6
  • Workflow run: 33363203625
  • Workflow attempt: 1
  • Coverage gate: failure

Review outcome

Coverage is a gate, not the review. This body reviews the changed product files.

Changed-File Evidence Map

classDiagram
  class BrewCleanupPlan
  class approval_phrase
  class BrewCleanupJudgment
  class has_successful_calibration
  class BrewCleanupExecution
  class BrewCleanupAuditRecord
  class plan
  class prompt
Loading

@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 reviewed the current-head product diff. Coverage is a separate gate.

Changed files

  • src-tauri/src/brew_cleanup.rs — Rust package behavior
  • src-tauri/tests/brew_cleanup_intel_install_contract.rs — regression suite

Changed behavior

classDiagram
  class BrewCleanupPlan
  class approval_phrase
  class BrewCleanupJudgment
  class has_successful_calibration
  class BrewCleanupExecution
  class BrewCleanupAuditRecord
  class plan
  class prompt
Loading

Changed API

  • BrewCleanupPlan
  • approval_phrase
  • BrewCleanupJudgment
  • has_successful_calibration
  • BrewCleanupExecution
  • BrewCleanupAuditRecord
  • plan
  • prompt
  • judge
  • execute
  • write_audit_record
  • write_audit_record_with_before_create_hook

Findings

No source-backed product finding is synthesized from the coverage gate. A coverage miss belongs in the status comment.

  • Head SHA: 1052a75a8faff51a242bb0999f0a06b0d2b763a6
  • Workflow run: 33580608419
  • Workflow attempt: 1
  • Coverage gate: failure

Review outcome

Coverage is a gate, not the review. This body reviews the changed product files.

Changed-File Evidence Map

classDiagram
  class BrewCleanupPlan
  class approval_phrase
  class BrewCleanupJudgment
  class has_successful_calibration
  class BrewCleanupExecution
  class BrewCleanupAuditRecord
  class plan
  class prompt
Loading

@seonghobae seonghobae removed the status: draft Draft pull request label Sep 6, 2026
@seonghobae seonghobae added the status: needs-review Open pull request requiring current-head review or checks label Sep 6, 2026 — with ChatGPT Codex Connector
@seonghobae
seonghobae marked this pull request as draft September 7, 2026 00:11
@seonghobae seonghobae removed the status: needs-review Open pull request requiring current-head review or checks label Sep 7, 2026
@seonghobae seonghobae added the status: draft Draft pull request label Sep 7, 2026 — with ChatGPT Codex Connector
@seonghobae seonghobae added the bug Something isn't working label Sep 7, 2026 — with ChatGPT Codex Connector

seonghobae commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

Exact-head cancellation RCA and successor verification (2026-09-07).

Current authority remains b01fb34124f573a0c7b31f8e1a239558c16573e7; no source or ref changed.

Test run 34069013779 initially ended cancelled. Its original main test job completed Rust tests, headless cloud planner tests, and exact duplicate audit successfully, then received only The operation was canceled during Extraction-free archive tree proof tests; downstream npm steps were skipped. The workflow concurrency contract keys PR validation by ${github.workflow}-${github.repository}-${pull_request.number} and #206 uses a different PR identity, so the concurrently running child PR was not a valid same-group canceller. This is external cancellation evidence, not a product assertion/test failure; the exact cancel actor remains unavailable.

Because the cancellation left required exact-head evidence incomplete, I reran failed jobs once. The same run's successor attempt produced:

  • test job 101589954692 — success, including Rust tests, cloud planner, duplicate audit, archive tree proof, npm ci, all 164 Vitest tests, and production build;
  • windows-home-resolution job 101589955339 — success;
  • llm-engine-build job 101589955587 — success with the real llama.cpp CPU/FFI build.

This establishes repository-owned Test GREEN on the unchanged head without a dummy commit or cancellation suppression. It does not convert Draft Release skipped, queued/pending central CodeQL/security/review checks, or predecessor results into passing evidence. Keep Draft and do not merge until every then-live exact-head requirement is terminal-success.

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

Labels

bug Something isn't working 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