Skip to content

Fix main compile break: classify() member access in CLI feed bridge - #9834

Merged
azooz2003-bit merged 1 commit into
mainfrom
fix-feed-classification-member
Aug 8, 2026
Merged

azooz2003-bit merged 1 commit into
mainfrom
fix-feed-classification-member

Conversation

@azooz2003-bit

@azooz2003-bit azooz2003-bit commented Aug 8, 2026 •

Copy link
Copy Markdown
Collaborator

Current main fails to compile: #9804 merged FeedEventClassifier.classify(...).0 after classify() had switched to returning the named FeedEventClassification struct, so every app-host unit tests shard and tests-build-and-lag job dies with CLI/cmux.swift:32779: value of type 'FeedEventClassification' has no member '0' (seen on merge-gate run https://github.com/manaflow-ai/cmux/actions/runs/31235977017, which gated #9779). The paused PR CI let the semantic conflict land silently.

One line: .0 → .hookEventName, matching the struct field and the existing call site at CLI/cmux.swift:34954. No behavior change from what #9804 intended.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Note

Cursor Bugbot is generating a summary for commit bf12119. Configure here.


Summary by cubic

Fixes a compile error on main by switching tuple access to a named property in the CLI feed event classification, restoring CI builds and tests.

  • Bug Fixes
    • Replace FeedEventClassifier.classify(...).0 with .hookEventName in CLI/cmux.swift to match FeedEventClassification. No behavior change.

Written for commit bf12119. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Bug Fixes
    • Improved hook event name extraction to ensure CLI hook events are identified correctly.

#9804 landed
`FeedEventClassifier.classify(...).0` while classify() already returned
the named FeedEventClassification struct, so CLI/cmux.swift no longer
compiles on main (every app-host and tests-build-and-lag CI job fails
with "value of type 'FeedEventClassification' has no member '0'").
Use .hookEventName, matching the other call site.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 8, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e469127b-b9d9-4c6c-bdb9-6fc5be0afcd3

📥 Commits

Reviewing files that changed from the base of the PR and between 7cc1346 and bf12119.

📒 Files selected for processing (1)
  • CLI/cmux.swift

📝 Walkthrough

Walkthrough

The CLI now extracts the hook event name through the returned value’s hookEventName property instead of tuple element .0.

Changes

Hook event handling

Layer / File(s) Summary
Use the named hook event property
CLI/cmux.swift
The CLI reads the hook event name through hookEventName instead of positional tuple access.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: lawrencecchen, austinywang

🚥 Pre-merge checks | ✅ 24 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains what changed and why, but it omits the required Testing section and checklist details. Add testing results, verification details, and the completed checklist; include the review-trigger block if required by repository process.
✅ Passed checks (24 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the compile failure and the required member-access fix in the CLI feed bridge.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Swift Actor Isolation ✅ Passed The only production change is .0 to .hookEventName; the synchronous classifier uses plain value structs, and the patch adds no actor, Sendable, or background-access changes.
Cmux Swift Blocking Runtime ✅ Passed The patch changes only .0 to .hookEventName in CLI/cmux.swift; it adds no semaphores, waits, sleeps, delayed dispatch, polling, sync calls, or locks.
Cmux Browser Automation Off-Main ✅ Passed The commit only changes FeedEventClassification.hookEventName access in CLI/cmux.swift; it adds no browser socket, WebKit, worker-routing, or policy-test changes.
Cmux Expensive Synchronous Load ✅ Passed The one-line diff only changes tuple access .0 to FeedEventClassification.hookEventName; it adds or moves no synchronous agent-history load or interactive file parsing.
Cmux Cache Substitution Correctness ✅ Passed The one-line diff changes tuple access to the named classify() field; it introduces no cache or authoritative-read substitution, and the caller sends transient feed telemetry.
Cmux No Hacky Sleeps ✅ Passed The diff changes only .0 to .hookEventName in Swift; it adds no sleep, timer, polling, delay, or wall-clock wait covered by this non-Swift rule.
Cmux Algorithmic Complexity ✅ Passed The diff changes one tuple-element access to FeedEventClassification.hookEventName; it adds no iteration, scan, sort, filter, join, or rescan.
Cmux Swift Concurrency ✅ Passed The PR changes only .0 to .hookEventName; no Dispatch, Combine, completion-handler, or fire-and-forget Task pattern is introduced or expanded.
Cmux Swift @Concurrent ✅ Passed The HEAD patch only changes synchronous .0 to .hookEventName; classify and sendFeedTelemetry are synchronous, with no isolation or async call-site change.
Cmux Swift Package Boundaries ✅ Passed The diff changes one existing CLI member access from .0 to .hookEventName; it adds no feature logic or app-target domain implementation requiring a SwiftPM boundary.
Cmux Swiftpm Lockfiles ✅ Passed The commit changes only CLI/cmux.swift; it includes no Package.swift, Package.resolved, .gitignore, workflow, Xcode project, or dependency changes, so the lockfile policy is not triggered.
Cmux Swift Logging ✅ Passed The diff only changes .0 to .hookEventName in CLI/cmux.swift; it adds or changes no logging, diagnostics, or sensitive-data output.
Cmux User-Facing Error Privacy ✅ Passed The patch changes only .0 to .hookEventName on an internal classifier result; it adds no user-facing error, alert, output, or sensitive diagnostic text.
Cmux Full Internationalization ✅ Passed The diff only changes .0 to .hookEventName on a protocol classification struct; it adds no user-facing text, catalog entry, locale, web message, or metadata change.
Cmux Swiftui State Layout ✅ Passed The patch changes only one CLI expression, from .0 to .hookEventName; it adds no SwiftUI state, layout, lazy-row store, or render-time mutation pattern.
Cmux Architecture Rethink ✅ Passed The diff changes one member access from .0 to .hookEventName; classify() returns FeedEventClassification, and no architectural anti-pattern is introduced.
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The diff only changes .0 to .hookEventName in CLI/cmux.swift; it adds or materially changes no auxiliary window or close-shortcut code.
Cmux Source Artifacts ✅ Passed The only changed path is the tracked hand-written source file CLI/cmux.swift, with a one-line .0 to .hookEventName fix; no artifact paths or generated outputs were added.
Cmux No Test Or Debug Seam In Production Source ✅ Passed The only changed file is CLI/cmux.swift, not a Swift file under /Sources/; the one-line access fix adds no test or debug seam.
Cmux No Ambient Global State ✅ Passed The commit changes only .0 to .hookEventName in an existing call; it adds no top-level API, mutable global, namespace type, or singleton state.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-feed-classification-member

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.

@azooz2003-bit
azooz2003-bit merged commit 4dc1004 into main Aug 8, 2026
7 checks passed
@azooz2003-bit
azooz2003-bit deleted the fix-feed-classification-member branch August 8, 2026 03:40
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