Skip to content

feat(detect): add muse agent with generic Pick blocked detection - #2489

Open
ohk wants to merge 2 commits into
herdrdev:masterfrom
ohk:feat/muse-pick-generic-blocked-2
Open

feat(detect): add muse agent with generic Pick blocked detection#2489
ohk wants to merge 2 commits into
herdrdev:masterfrom
ohk:feat/muse-pick-generic-blocked-2

Conversation

@ohk

@ohk ohk commented Aug 7, 2026

Copy link
Copy Markdown

Add Muse agent detection.

  • manifests: src/detect/manifests/muse.toml + website/agent-detection/muse.toml (id muse v2026.08.06.1)
  • runtime: src/detect/mod.rs Agent::Muse (ALL 22, SCREEN 20), lookup for muse/muse-bin/muse-code, label/executable, sound override (sidebar unchanged)
  • fix waiting answer miss: Pick footer is generic 'Enter to select · ↑/↓ to move · Tab for an optional note · Esc to interrupt' – title/message can be anything. Previous rule required AND combos; now blocked pick is single generic gate 'Enter to select' (bottom_non_empty_lines(5), priority 950, visible_blocker) with working not Enter, so any Pick triggers blocked regardless of question text.

Evidence: herdr pane read --source detection (muse-spark-1.2-contributor 0.1.0) – idle YOLO/⟩, working esc to interrupt.

Replaces #2456 (closed by bot) with sidebar revert (6 files).

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 49c6f643-a631-49c0-9f2e-0db9d56a290f

📥 Commits

Reviewing files that changed from the base of the PR and between ef121fd and 4320fe1.

📒 Files selected for processing (3)
  • src/detect/manifests/muse.toml
  • src/detect/mod.rs
  • website/agent-detection/muse.toml
🚧 Files skipped from review as they are similar to previous changes (3)
  • website/agent-detection/muse.toml
  • src/detect/manifests/muse.toml
  • src/detect/mod.rs

📝 Walkthrough

Walkthrough

Adds Muse as a supported agent. The change defines Muse aliases and executable mappings, adds bundled and website detection manifests for terminal states, and adds Muse sound override configuration.

Changes

Muse detection integration

Layer / File(s) Summary
Define the Muse agent
src/detect/mod.rs
Adds Agent::Muse to agent collections, labels, executable mappings, aliases, and identification tests.
Add Muse detection rules
src/detect/manifest.rs, src/detect/manifests/muse.toml, website/agent-detection/index.toml, website/agent-detection/muse.toml
Registers Muse manifests and defines rules for blocked approvals, active work, idle prompts, and idle YOLO status output.
Configure Muse sound overrides
src/config/sound.rs
Adds Muse sound override storage, lookup handling, and default initialization.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant DetectionEngine
  participant MuseManifest
  participant TerminalPane
  DetectionEngine->>MuseManifest: evaluate Muse detection rules
  MuseManifest->>TerminalPane: inspect aliases and terminal evidence
  TerminalPane-->>MuseManifest: provide blocked, working, or idle evidence
  MuseManifest-->>DetectionEngine: return Muse state
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main changes: adding Muse detection and improving generic Pick blocked detection.
Description check ✅ Passed The description directly explains the Muse detection support and the generic Pick blocked-detection update.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@kangal-bot

Copy link
Copy Markdown
Collaborator

Hi @ohk, thanks for your interest in contributing.

Herdr does not accept unsolicited implementation pull requests from contributors who are not listed in .github/APPROVED_CONTRIBUTORS.

The pull request author is not an approved contributor.

If you encountered a reproducible bug, report the observed behavior through the bug issue template. A report does not reserve the work or authorize a pull request; accepted fixes are normally implemented by Herdr’s maintainer-controlled agents.

Feature requests, behavior changes, and other proposals belong in GitHub Discussions. Do not open an issue merely to justify an implementation that was already written.

If a maintainer explicitly wants this implementation, they can reopen the pull request. Reopening by anyone else will be closed again automatically.

See https://github.com/herdrdev/herdr/blob/master/CONTRIBUTING.md for the contribution policy.

@kangal-bot kangal-bot closed this Aug 7, 2026
@ogulcancelik ogulcancelik reopened this Aug 7, 2026
@kangal-bot kangal-bot added the ai-review Trigger automated AI reviews for pull requests admitted by the PR gate label Aug 7, 2026

@coderabbitai coderabbitai 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.

Actionable comments posted: 3


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 79b2bc5b-5e09-4326-8058-6f7f02062b92

📥 Commits

Reviewing files that changed from the base of the PR and between 7d77e92 and 773b4b6.

📒 Files selected for processing (6)
  • src/config/sound.rs
  • src/detect/manifest.rs
  • src/detect/manifests/muse.toml
  • src/detect/mod.rs
  • website/agent-detection/index.toml
  • website/agent-detection/muse.toml

Comment thread src/detect/manifests/muse.toml
Comment thread src/detect/manifests/muse.toml
Comment thread src/detect/mod.rs Outdated
@greptile-apps

greptile-apps Bot commented Aug 9, 2026

Copy link
Copy Markdown

Greptile Summary

Adds Muse as a recognized agent with bundled and remotely published screen-detection rules, executable aliases, and per-agent sound configuration.

  • Registers Muse across the agent enum, labels, executable lookup, manifest loading, and catalog.
  • Adds blocked, working, and idle screen rules based on Muse terminal chrome.
  • Replaces broad Muse-prefix executable recognition with explicit aliases.

Confidence Score: 4/5

The PR does not appear safe to merge until Muse working detection stops being suppressed by stale picker text in the wider working-rule region.

The working rule still rejects esc to interrupt whenever Enter to select remains within its eight-line region, while the higher-priority blocked rule checks only five lines; text in the three-line gap therefore leaves a visibly working Muse pane misclassified.

Files Needing Attention: src/detect/manifests/muse.toml and website/agent-detection/muse.toml

Important Files Changed

Filename Overview
src/detect/mod.rs Registers Muse throughout agent identification and replaces broad prefix recognition with exact executable aliases.
src/detect/manifests/muse.toml Defines Muse state-detection rules for picker prompts, approvals, active work, and idle chrome.
website/agent-detection/muse.toml Publishes a synchronized copy of the new Muse detection manifest.
src/config/sound.rs Adds a default-enabled Muse entry to per-agent sound overrides.
src/detect/manifest.rs Includes the Muse manifest in the bundled manifest registry.
website/agent-detection/index.toml Adds Muse to the remotely published agent-manifest catalog.

Reviews (2): Last reviewed commit: "fix(detect): tighten muse manifest and a..." | Re-trigger Greptile

Omer Hamid Kamisli added 2 commits August 9, 2026 00:08
Add Muse agent manifests and runtime detection for idle/working/blocked
states. Blocked Pick is generic on footer 'Enter to select' so any
question title/message triggers, fixing missed waiting answer where
previous AND-gated rule required specific hint combos. Cover process
names muse, muse-bin, muse-code variants and YOLO footer.

refs #herdr
- manifests: change working_esc_interrupt and blocked_approval
  from whole_recent to bottom_non_empty_lines(8) to use captured
  bottom-buffer controls instead of incidental whole-pane text
- manifests: anchor idle_prompt line_regex to ^\s*⟩\s*$ so working
  chrome "⟩ ..." does not match idle
- runtime: restrict muse lookup to explicit aliases
  (muse|muse-bin|muse-code|muse-cli), remove starts_with("muse")
  fallback that misclassified museum/muse-helper/muser; add
  positive/negative identification tests
- keep website mirror identical; verified with agent_detection
  manifest check --require-website

refs herdrdev#2489
refs herdrdev#2456
Comment thread src/detect/mod.rs Outdated
Comment thread src/detect/manifests/muse.toml
@ohk
ohk force-pushed the feat/muse-pick-generic-blocked-2 branch from ef121fd to 4320fe1 Compare August 9, 2026 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review Trigger automated AI reviews for pull requests admitted by the PR gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants