Skip to content

fix(media): avoid eager provider startup for audio listing#85368

Closed
FelixIsaac wants to merge 3 commits into
openclaw:mainfrom
FelixIsaac:fix/media-provider-discovery-metadata
Closed

fix(media): avoid eager provider startup for audio listing#85368
FelixIsaac wants to merge 3 commits into
openclaw:mainfrom
FelixIsaac:fix/media-provider-discovery-metadata

Conversation

@FelixIsaac

@FelixIsaac FelixIsaac commented May 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • list audio transcription providers from manifest metadata instead of constructing the runtime media-understanding registry
  • add missing bundled SenseAudio provider metadata so capability audio providers can report it without loading runtime code
  • apply control-plane plugin availability filtering to media-understanding manifest metadata, including global plugins.enabled: false
  • narrow plugin capability provider loading to config-requested media providers when no active registry exists

Why

openclaw capability audio providers only needs provider metadata for status/listing output. Building the runtime registry can eagerly load provider implementations and plugin code, which is slower and can trigger work unrelated to listing configured audio providers.

Real behavior proof (required for external PRs)

  • Behavior or issue addressed: openclaw capability audio providers --json should list manifest-declared audio providers without eager runtime startup, include bundled SenseAudio metadata, and omit bundled plugin providers when plugins are globally disabled.
  • Real environment tested: Real OpenClaw checkout on Linux, Node.js v24.2.0, built CLI entrypoint from this PR branch after patching.
  • Exact steps or command run after this patch:
CI=true OPENCLAW_BUILD_VERBOSE=1 NODE_OPTIONS=--max-old-space-size=8192 OPENCLAW_TSDOWN_TIMEOUT_MS=300000 node scripts/build-all.mjs cliStartup
node scripts/test-projects.mjs src/media-understanding/defaults.test.ts src/media-understanding/manifest-metadata.test.ts src/cli/capability-cli.test.ts
OPENCLAW_STATE_DIR=$(mktemp -d) HOME=$(mktemp -d) node openclaw.mjs capability audio providers --json
tmp_home=$(mktemp -d); tmp_state=$(mktemp -d); cfg=$(mktemp); printf '%s\n' '{"plugins":{"enabled":false}}' > "$cfg"; OPENCLAW_STATE_DIR="$tmp_state" HOME="$tmp_home" OPENCLAW_CONFIG_PATH="$cfg" node openclaw.mjs capability audio providers --json
  • Evidence after fix (screenshot, recording, terminal capture, console output, redacted runtime log, linked artifact, or copied live output): Copied live terminal output from the built CLI:
{
  "id": "senseaudio",
  "capabilities": ["audio"],
  "defaultModels": {
    "audio": "senseaudio-asr-pro-1.5-260319"
  },
  "available": true,
  "configured": false,
  "selected": false
}

Disabled-plugin config copied live output:

[]
  • Observed result after fix: The real CLI provider list includes senseaudio with the expected audio default model, and the same command returns an empty provider list when run with OPENCLAW_CONFIG_PATH pointing to a config containing {"plugins":{"enabled":false}}. The focused test shard also passed: media-understanding 10 tests and cli capability 76 tests.
  • What was not tested: I did not call the SenseAudio service or verify a live transcription; this PR only changes provider discovery/listing metadata.
  • Before evidence (optional but encouraged): Review report showed SenseAudio missing from capability audio providers output and bundled providers still appearing when plugins were globally disabled.

Root Cause

The CLI listing path moved to manifest metadata, but SenseAudio did not declare media-understanding provider metadata in its bundled manifest. The metadata builder also delegated availability filtering without first honoring the global plugin disable switch, so disabled plugin providers could still be listed.

Tests

  • node scripts/test-projects.mjs src/media-understanding/defaults.test.ts src/media-understanding/manifest-metadata.test.ts src/cli/capability-cli.test.ts
  • CI=true OPENCLAW_BUILD_VERBOSE=1 NODE_OPTIONS=--max-old-space-size=8192 OPENCLAW_TSDOWN_TIMEOUT_MS=300000 node scripts/build-all.mjs cliStartup
  • OPENCLAW_STATE_DIR=$(mktemp -d) HOME=$(mktemp -d) node openclaw.mjs capability audio providers --json
  • disabled-plugin config CLI proof command above
  • corepack pnpm exec oxfmt --write --threads=1 extensions/senseaudio/openclaw.plugin.json src/media-understanding/manifest-metadata.ts src/media-understanding/manifest-metadata.test.ts src/media-understanding/defaults.test.ts
  • git diff --check

Hygiene

  • committed with GitHub noreply author email
  • staged only the four intended source/test files
  • checked the staged diff for obvious credential patterns before committing

@openclaw-barnacle openclaw-barnacle Bot added cli CLI command changes size: S triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels May 22, 2026
@clawsweeper

clawsweeper Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs changes before merge. Reviewed June 24, 2026, 6:18 AM ET / 10:18 UTC.

Summary
The PR changes capability audio providers to prefer media-understanding manifest metadata, adds SenseAudio audio metadata, filters provider metadata by plugin availability, and narrows media runtime fallback loading.

PR surface: Source +98, Tests +221. Total +319 across 8 files.

Reproducibility: yes. from source inspection. Current main still lists audio providers through buildMediaUnderstandingRegistry, while the PR-head metadata filter conflicts with the shipped bundled discovery compatibility path.

Review metrics: 2 noteworthy metrics.

  • Bundled provider metadata: 1 added. The user-visible audio provider list now depends on the new SenseAudio manifest metadata matching the declared media provider contract.
  • Compatibility mode affected: 1 shipped mode. The new bundled metadata filter touches plugins.bundledDiscovery="compat", which doctor uses to preserve provider discovery for existing restrictive plugin allowlists.

Stored data model
Persistent data-model change detected: unknown-data-model-change: src/media-understanding/manifest-metadata.test.ts, unknown-data-model-change: src/media-understanding/manifest-metadata.ts, vector/embedding metadata: src/cli/capability-cli.test.ts, vector/embedding metadata: src/cli/capability-cli.ts, vector/embedding metadata: src/media-understanding/manifest-metadata.test.ts, vector/embedding metadata: src/media-understanding/manifest-metadata.ts. Migration or upgrade compatibility proof is recorded; maintainers should verify it before merge.

Merge readiness
Overall: 🧂 unranked krab
Proof: 🦞 diamond lobster
Patch quality: 🧂 unranked krab
Result: blocked by patch quality or review findings.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • Honor plugins.bundledDiscovery="compat" in media metadata filtering.
  • Rebase or refresh the branch so current media metadata fields such as documentModels are preserved.
  • [P2] Rerun the focused provider tests and real CLI provider-listing proof after the repair.

Risk before merge

  • [P1] The PR-head allowlist filter can hide bundled audio metadata for configs migrated to plugins.bundledDiscovery="compat".
  • [P1] The branch is currently GitHub-CONFLICTING against main, so the repair must preserve current metadata fields such as documentModels before merge proof is trusted.

Maintainer options:

  1. Preserve bundled discovery compat (recommended)
    Update the metadata filter to honor plugins.bundledDiscovery="compat", add the restrictive allowlist regression, refresh onto current main, and rerun focused CLI proof.
  2. Accept stricter allowlist semantics
    Maintainers can intentionally make audio metadata listing stricter than sibling runtime provider discovery, but that needs an explicit upgrade decision because existing migrated configs may lose bundled providers from listing output.
  3. Pause for contributor refresh
    Keep the PR open but wait for the author to rebase the conflicting branch and address the compat filter before another merge-readiness review.
Copy recommended automerge instruction
@clawsweeper automerge

Special instructions:
Refresh the branch onto current main; update media-understanding manifest metadata filtering to honor plugins.bundledDiscovery="compat" while still respecting global plugins.enabled=false, denylist, and explicitly disabled entries; preserve current-main metadata fields such as documentModels; add focused regression coverage for restrictive plugins.allow plus bundledDiscovery compat; rerun the focused provider tests and real capability audio providers CLI proof.

Next step before merge

  • [P2] A narrow automated repair can update the metadata filter, add the compat regression test, refresh the stale branch, and rerun focused proof.

Security
Cleared: The diff changes in-repo TypeScript, tests, and one bundled plugin manifest only; it does not add dependencies, workflows, secret handling, downloaded code, or package-resolution changes.

Review findings

  • [P1] Honor bundledDiscovery compat in metadata filtering — src/media-understanding/manifest-metadata.ts:22
Review details

Best possible solution:

Land a refreshed manifest-first audio provider listing that reuses the bundled discovery compat policy, preserves current media metadata fields, and keeps global disable, denylist, and explicit-disable behavior covered by tests.

Do we have a high-confidence way to reproduce the issue?

Yes, from source inspection. Current main still lists audio providers through buildMediaUnderstandingRegistry, while the PR-head metadata filter conflicts with the shipped bundled discovery compatibility path.

Is this the best way to solve the issue?

No, not as submitted. Manifest-first listing is the right layer, but the patch must reuse the existing bundled compat policy and refresh current metadata fields before it is the safest fix.

Full review comments:

  • [P1] Honor bundledDiscovery compat in metadata filtering — src/media-understanding/manifest-metadata.ts:22
    This helper drops every bundled plugin outside plugins.allow, but shipped doctor migration sets plugins.bundledDiscovery="compat" to preserve bundled provider discovery for old restrictive allowlists. Mirror the existing bundled compat policy so configs like { plugins: { allow: ["discord"], bundledDiscovery: "compat" } } still list bundled audio metadata unless the plugin is globally disabled, denied, or explicitly disabled.
    Confidence: 0.88

Overall correctness: patch is incorrect
Overall confidence: 0.88

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against e9720c27fa69.

Label changes

Label justifications:

  • P2: This is a normal-priority CLI/media provider discovery fix with limited blast radius and a concrete repair path.
  • merge-risk: 🚨 compatibility: The PR can change audio provider listing for existing migrated configs that rely on bundled discovery compat under restrictive plugin allowlists.
  • rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🦞 diamond lobster and patch quality is 🧂 unranked krab.
  • status: ⏳ waiting on author: ClawSweeper has contributor-facing work open and is waiting for author action. Sufficient (live_output): The PR body includes copied live CLI output from a built checkout showing SenseAudio in the audio provider list and an empty list with plugins globally disabled; rerun proof after the repair and rebase.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body includes copied live CLI output from a built checkout showing SenseAudio in the audio provider list and an empty list with plugins globally disabled; rerun proof after the repair and rebase.
Evidence reviewed

PR surface:

Source +98, Tests +221. Total +319 across 8 files.

View PR surface stats
Area Files Added Removed Net
Source 4 101 3 +98
Tests 4 223 2 +221
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 8 324 5 +319

Acceptance criteria:

  • [P1] node scripts/test-projects.mjs src/media-understanding/manifest-metadata.test.ts src/media-understanding/defaults.test.ts src/cli/capability-cli.test.ts src/plugins/capability-provider-runtime.test.ts.
  • [P1] OPENCLAW_STATE_DIR=$(mktemp -d) HOME=$(mktemp -d) node openclaw.mjs capability audio providers --json.
  • [P1] Run the same CLI command with an OPENCLAW_CONFIG_PATH containing {"plugins":{"enabled":false}} and confirm it returns [].
  • [P1] git diff --check.

What I checked:

Likely related people:

  • steipete: GitHub path history shows repeated work on media-understanding manifest defaults, PDF/document metadata, and bundled plugin compatibility policy. (role: feature-history owner; confidence: high; commits: 7189b49f818f, d92501dbf34e, 9b42f399a1af; files: src/media-understanding/manifest-metadata.ts, src/plugins/bundled-compat.ts, docs/plugins/manifest.md)
  • vincentkoc: Recent path history includes CLI capability metadata and provider/runtime cleanup around the affected listing and capability surfaces. (role: recent area contributor; confidence: medium; commits: afa97a4b1014, 0ea39a22769f, 27b15a19e84c; files: src/cli/capability-cli.ts, src/plugins/capability-provider-runtime.ts)
  • shakkernerd: History on the media metadata surface includes performance work to use plugin metadata snapshots for media tool lookups. (role: adjacent performance contributor; confidence: medium; commits: 1a6d89113233, 1a193b2d9666; files: src/media-understanding/manifest-metadata.ts, src/plugins/plugin-metadata-snapshot.ts)
  • dougbtv: History shows the earlier bundled provider discovery allowlist policy work that led to the shipped compatibility behavior this PR must preserve. (role: compatibility feature introducer; confidence: medium; commits: f738663c7967; files: src/plugins/bundled-compat.ts, src/commands/doctor/shared/legacy-config-migrations.runtime.providers.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. labels May 22, 2026
@clawsweeper

clawsweeper Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper PR egg

✨ Hatched: 🥚 common Mossy Signal Puff

Hatch command

Comment @clawsweeper hatch when this PR is hatchable.

Hatchability rules:

  • Merged PRs are hatchable.
  • Open PRs are hatchable when they are status: 👀 ready for maintainer look, status: 🚀 automerge armed, or labeled clawsweeper:automerge.
  • Closed unmerged PRs are hatchable only when one of those hatchable labels is still present in the durable record.

Rarity: 🥚 common.
Trait: sparkles near resolved comments.
Image traits: location workflow harbor; accessory green check lantern; palette violet, aqua, and starlight; mood sparkly; pose peeking out from the egg shell; shell woven fiber shell; lighting calm overcast light; background little resolved-comment flags.
Share on X: post this hatch
Copy: My PR egg hatched a 🥚 common Mossy Signal Puff in ClawSweeper.

What is this egg doing here?
  • Eggs appear after the PR passes real-behavior proof. It is here for vibes, not verdicts: it does not change labels, ratings, merge decisions, or automation.
  • The shell reacts to review momentum: open follow-up work warms it up, re-review makes it wobble, and a clean final review lets it hatch.
  • Hatchability usually comes from sufficient real-behavior proof, no blocking P0/P1/P2 findings, no security attention needed, and clean correctness. A merged PR is already final, so merge makes the egg hatchable independently.
  • The hatch is seeded from this repository and PR number, so the same PR keeps the same creature; the reviewed head SHA can only change safe visual details.
  • Rarity is just collectible sparkle: 🥚 common, 🌱 uncommon, 💎 rare, ✨ glimmer, and 🌈 legendary.

@FelixIsaac

Copy link
Copy Markdown
Contributor Author

Follow-up performance-audit PR outside the media/provider discovery cluster: #85396 targets default root-help startup overhead by skipping the full config/validation import when no config/dotenv/plugin-help env can affect precomputed help. Measured
OpenClaw 2026.5.18 (50a2481) — All your chats, one OpenClaw.

Usage: openclaw [options] [command]

Options:
--container Run the CLI inside a running Podman/Docker container
named (default: env OPENCLAW_CONTAINER)
--dev Dev profile: isolate state under ~/.openclaw-dev, default
gateway port 19001, and shift derived ports
(browser/canvas)
-h, --help Display help for command
--log-level Global log level override for file + console
(silent|fatal|error|warn|info|debug|trace)
--no-color Disable ANSI colors
--profile Use a named profile (isolates
OPENCLAW_STATE_DIR/OPENCLAW_CONFIG_PATH under
~/.openclaw-)
-V, --version output the version number

Commands:
Hint: commands suffixed with * have subcommands. Run --help for details.
acp * Run and manage ACP-backed coding agents
agent Run one agent turn via the Gateway
agents * Manage isolated agents (workspaces, auth, routing)
approvals * Manage exec approvals (gateway or node host)
backup * Create and verify local backup archives for OpenClaw
state
capability * Run provider capability commands (fallback alias: infer)
channels * Add, remove, login, and inspect messaging channels
chat Open a local terminal UI (alias for tui --local)
clawbot * Legacy clawbot command aliases
commitments * List and manage inferred follow-up commitments
completion Generate shell completion script
config * Non-interactive config helpers
(get/set/unset/file/validate). Default: starts guided
setup.
configure Interactive configuration for credentials, channels,
gateway, and agent defaults
crestodian Open the interactive setup and repair assistant
cron * Schedule and inspect Gateway background jobs
daemon * Manage the Gateway service (legacy alias)
dashboard Open the Control UI with your current token
devices * Device pairing + token management
directory * Lookup contact and group IDs (self, peers, groups) for
supported chat channels
dns * DNS helpers for wide-area discovery (Tailscale + CoreDNS)
docs Search the live OpenClaw docs
doctor Diagnose and repair config, Gateway, plugin, and channel
problems
exec-policy * Show or synchronize requested exec policy with host
approvals
gateway * Run, inspect, and query the OpenClaw Gateway
health Fetch detailed health from the running Gateway
help Display help for command
hooks * Manage internal agent hooks
infer * Run provider-backed model, media, search, and embedding
commands
logs Tail Gateway logs locally or via RPC
mcp * Manage OpenClaw MCP config and channel bridge
memory Search, inspect, and reindex memory files
message * Send, read, and manage channel messages
migrate * Import state from another agent system
models * List, scan, and set model providers
node * Run and manage the headless node host service
nodes * Pair nodes and run node-host commands through the Gateway
onboard Interactive onboarding for gateway, workspace, and skills
pairing * Secure DM pairing (approve inbound requests)
plugins * Install, enable, disable, and inspect plugins
proxy * Run the OpenClaw debug proxy and inspect captured traffic
qr Generate mobile pairing QR/setup code
reset Reset local config/state (keeps the CLI installed)
sandbox * Manage sandbox containers for agent isolation
secrets * Audit, apply, and reload SecretRef-backed credentials
security * Security tools and local config audits
sessions * List stored conversation sessions
setup Initialize local config and an agent workspace
skills * List, inspect, and install agent skills
status Show Gateway, channel, model, and recent-session status
system * System events, heartbeat, and presence
tasks * Inspect durable background tasks and flows
terminal Open a local terminal UI (alias for tui --local)
tui Open a terminal UI connected to the Gateway
uninstall Uninstall the gateway service + local data (CLI remains)
update * Update OpenClaw and inspect update channel status
webhooks * Webhook helpers and integrations

Examples:
openclaw onboard
Run guided setup for a local Gateway, workspace, auth, and channels.
openclaw setup
Create the baseline config, workspace, and session folders.
openclaw configure
Change models, Gateway, channels, plugins, skills, and health checks.
openclaw status
Check Gateway, channel, model, and recent-session status.
openclaw doctor --fix
Repair common config, service, plugin, and channel problems.
openclaw channels add
Add or update a chat channel account with guided prompts.
openclaw channels status
See connected messaging accounts and login state.
openclaw --dev gateway
Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.
openclaw gateway run --force
Start the Gateway and replace anything bound to its port.
openclaw models status
Show model/provider auth health before running agents.
openclaw plugins list
Inspect enabled, disabled, and installed plugins.
openclaw agent --to +15555550123 --message "Run summary" --deliver
Run one agent turn through the Gateway and optionally deliver the reply.
openclaw message send --channel telegram --target @mychat --message "Hi"
Send via your Telegram bot.

Docs: https://docs.openclaw.ai/cli built-startup avg 1116.7ms/264.1MB -> 44.4ms/54.1MB.

@FelixIsaac

Copy link
Copy Markdown
Contributor Author

Benchmark-harness follow-up for the performance-audit series is open as #85400. It adds saved JSON report comparison to , so PRs like #85396 can include repeatable duration/RSS deltas without one-off scripts.

@FelixIsaac

Copy link
Copy Markdown
Contributor Author

Correction to the previous note: #85400 adds saved JSON report comparison to scripts/bench-cli-startup.ts, so PRs like #85396 can include repeatable duration/RSS deltas without one-off scripts.

@openclaw-barnacle openclaw-barnacle Bot added extensions: senseaudio proof: supplied External PR includes structured after-fix real behavior proof. and removed triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels May 22, 2026
@FelixIsaac

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Pushed the SenseAudio metadata/global plugin-disable fixes, added focused coverage, built the CLI, and updated the Real behavior proof section with copied live CLI output.

@clawsweeper

clawsweeper Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels May 22, 2026
@FelixIsaac

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Patched manifest metadata audio listing to respect bundled plugin allow/deny/per-entry disabled policy, and added runtime fallback only when an available media provider declaration lacks manifest metadata. Focused checks passed: node scripts/test-projects.mjs src/media-understanding/manifest-metadata.test.ts src/plugins/manifest-contract-eligibility.test.ts src/media-understanding/defaults.test.ts src/cli/capability-cli.test.ts src/plugins/capability-provider-runtime.test.ts plus git diff --check.

@clawsweeper

clawsweeper Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. labels May 22, 2026
@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jun 22, 2026
@openclaw-barnacle

Copy link
Copy Markdown

This pull request has been automatically marked as stale due to inactivity.
Please add updates or it will be closed.

@openclaw-barnacle openclaw-barnacle Bot added the stale Marked as stale due to inactivity label Jul 14, 2026
@clawsweeper

clawsweeper Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper status: review started.

I am starting a fresh review of this pull request: fix(media): avoid eager provider startup for audio listing This is item 1/1 in the current shard. Shard 0/1.

This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

@openclaw-barnacle

Copy link
Copy Markdown

Closing due to inactivity.
If you believe this PR should be revived, post in #clawtributors on Discord to talk to a maintainer.
That channel is the escape hatch for high-quality PRs that get auto-closed.

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

Labels

cli CLI command changes extensions: senseaudio merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. P2 Normal backlog priority with limited blast radius. proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. size: M stale Marked as stale due to inactivity status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant