Skip to content

feat(signal): add setup wizard#100906

Open
jesse-merhi wants to merge 2 commits into
mainfrom
jesse/signal-setup-wizard
Open

feat(signal): add setup wizard#100906
jesse-merhi wants to merge 2 commits into
mainfrom
jesse/signal-setup-wizard

Conversation

@jesse-merhi

@jesse-merhi jesse-merhi commented Jul 6, 2026

Copy link
Copy Markdown
Member

What Problem This Solves

Signal setup needed a guided path that proves a usable receive transport before users rely on the channel, without OpenClaw creating or managing a Signal Docker container. Existing setup and status paths could also leave stale native/container transport fields ambiguous, miss account-specific API-mode behavior, or report a Signal daemon as generically working when the configured account was missing or receive was unavailable.

Why This Change Was Made

The Signal plugin now owns a setup wizard for two supported transports: local signal-cli and an existing Signal server managed by the operator. The same change tightens native/container/auto probing so setup and status distinguish transport reachability from account and receive readiness, and it lets multi-account Signal configs use channels.signal.apiMode as a channel default with per-account overrides.

The shared setup contract gains one additive cancellation result so a plugin can refuse to persist an unusable setup. Cancellation discards wizard-local channel changes and skips later hooks and completion notes while preserving accepted external-plugin installation metadata. This contract is documented in the plugin SDK setup guide.

Setup also materializes inherited root Signal transport fields into an account entry when that account is edited. This is migration-like config normalization, but it preserves the effective behavior while making the account's transport choice explicit; runtime still accepts the channel-level fields as defaults for untouched accounts.

User Impact

Users can run Signal setup, choose local signal-cli or an existing server URL, and save config only after the selected transport is reachable for the intended account. Operators get clearer openclaw channels status --probe and health output for ready, account-missing, receive-unavailable, and unreachable Signal states.

Existing/manual bbernhard/signal-cli-rest-api deployments remain supported through apiMode: "container". OpenClaw no longer offers an OpenClaw-managed Signal Docker setup path. Multi-account installations can mix native and container transports by overriding apiMode per account.

Evidence

Behavioral proof:

  • Native setup clears stale external/container endpoint fields at the intended account boundary while preserving explicit native bind settings.
  • Existing-server setup probes the selected account before writing httpUrl, autoStart: false, and apiMode: "auto".
  • Native multi-account daemons are checked through listAccounts; bound single-account daemons remain supported through the upstream JSON-RPC method-not-found contract.
  • Container receive readiness uses /v1/receive/{account}, and linked-account validation uses bounded /v1/accounts reads.
  • Send, reaction, monitor, attachment, status, and probe paths resolve account-specific apiMode before the channel default.
  • Setup cancellation rolls back wizard-local state but retains a successfully accepted external-plugin installation record.
  • Native link guidance uses the saved cliPath and configPath, including home-relative paths containing spaces.
  • Named-account setup ignores a synthetic fallback account when allocating its first native daemon port, while enabled local external endpoints still reserve occupied ports.
  • Account correction reports linked-account failures, permits retry or cancellation, and lets wizard cancellation escape network-error handling.
  • Auto detection starts both bounded transport probes concurrently and deterministically prefers native when both are healthy, independent of which response arrives first.
  • Screenshots are omitted because this changes terminal setup, gateway status, config, docs, and tests rather than browser UI.

Exact-head automated proof on ec905c1f8d3e2803b180dfae17d5f7b071617ea4:

  • Blacksmith Testbox tbx_01kxer8crr7n983esdnvhtehxr, Actions run 29288747237.
  • Full Signal suite passed: 35 files, 623 tests.
  • Shared setup and command coverage passed: src/channels/plugins/setup-wizard.test.ts (1), src/flows/channel-setup.test.ts (19), src/commands/health.test.ts (24), and src/commands/onboard-channels.e2e.test.ts (17).
  • Unused-export baseline matched all 1,575 entries.
  • Oxfmt checked all 52 supported changed files, and git diff --check passed.

Broader repair-loop proof:

  • The relevant changed-check lanes passed before unrelated current-main src/config/sessions/store.ts missing-symbol errors stopped the aggregate gate.
  • The full build compiled plugin assets, TypeScript bundles, CLI/runtime, plugin SDK, and UI; repository-wide completion then stopped on the unrelated current-main Control UI startup JavaScript budget (25 files versus the 24-file limit).
  • The docs MDX check passed all 725 files.

Review proof:

  • Two consecutive independent automated review passes on the exact final head found no actionable regressions.
  • A fresh cold review of the exact frozen range found and drove the deterministic native-preference fix, then found no remaining correctness issue after checking setup ownership, runtime callers and siblings, tests, SDK cancellation docs, and direct upstream Signal contracts.
  • The ownership and config direction are sound, but the 54-file range spans three independently reviewable concerns. For reviewability, the preferred landing shape is a stacked split: shared setup cancellation/status plumbing; Signal setup/config scoping; then transport adapter/probe parity.

CI:

  • Exact-head pull-request-target guards passed, including Dependency Guard, Security Sensitive Guard, Real Behavior Proof, and Labeler.
  • Full pull-request CI is not currently scheduled because the live PR conflicts with the fast-moving main branch; the branch was reviewed and proven against frozen base 1ecef82da8a80bb46682279cc2e2157d1ee04aa1.

Copilot AI review requested due to automatic review settings July 6, 2026 13:30
@github-actions github-actions Bot added the dependencies-changed PR changes dependency-related files label Jul 6, 2026
@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation channel: signal Channel integration: signal scripts Repository scripts commands Command implementations size: XL maintainer Maintainer-authored PR and removed dependencies-changed PR changes dependency-related files labels Jul 6, 2026
@github-actions github-actions Bot added the dependencies-changed PR changes dependency-related files label Jul 6, 2026
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Dependency graph guard cleared

This PR no longer has blocked dependency graph changes. A future dependency graph change requires a fresh /allow-dependencies-change comment after the guard blocks that new head SHA.

  • Current SHA: ec905c1f8d3e2803b180dfae17d5f7b071617ea4

Copilot AI 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

Adds a guided Signal channel setup wizard (with a recommended Docker/container path) and updates core channel setup flow to support “setup not applied” results so failed setup won’t persist misleading partial configuration.

Changes:

  • Update setupChannels to support setupApplied: false results and roll back selection-time/config mutations instead of recording partial selections/accounts.
  • Extend Signal plugin setup with Docker container creation/reuse, readiness probing (daemon vs linked account vs receive), and account-scoped apiMode.
  • Add a narrow plugin SDK QR-terminal subpath to let setup flows render QR codes without pulling broader media runtime surfaces; update docs/catalog metadata accordingly.

Reviewed changes

Copilot reviewed 42 out of 43 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/wizard/i18n/locales/en.ts Tweaks Signal wizard prompt strings for clearer wording.
src/plugins/official-external-plugin-catalog.test.ts Updates expected Signal catalog install metadata (min host version, default choice).
src/plugin-sdk/qr-terminal-runtime.ts Adds narrow QR terminal rendering export for setup surfaces.
src/flows/channel-setup.ts Honors setupApplied and introduces rollback behavior; adds brief progress paint delay around registry snapshot load.
src/flows/channel-setup.test.ts Adds coverage for setupApplied/rollback semantics and progress rendering behavior.
src/config/zod-schema.providers-core.ts Moves apiMode into the Signal account base schema to allow per-account overrides.
src/config/types.signal.ts Adds account-scoped apiMode typing and clarifies channel-level apiMode semantics.
src/commands/channels/status.ts Surfaces Signal probe readiness in text output and suppresses misleading “works” when not ready.
src/commands/channels.surfaces-signal-runtime-errors-channels-status-output.test.ts Tests readiness bits and suppression of “works” for non-ready Signal probes.
src/channels/plugins/setup-wizard.ts Plumbs setupApplied through setup-wizard finalize -> setup result.
src/channels/plugins/setup-wizard-types.ts Extends finalize/result types with optional setupApplied.
src/channels/plugins/setup-wizard-helpers.ts Renames “account” wording to “configuration” and improves prompt labels/placeholders.
src/channels/plugins/setup-wizard-helpers.test.ts Updates tests for new “configuration” wording and adds new-account-name prompt coverage.
scripts/lib/plugin-sdk-entrypoints.json Registers new qr-terminal-runtime plugin SDK entrypoint.
scripts/lib/plugin-sdk-doc-metadata.ts Categorizes the new SDK subpath for docs.
scripts/lib/official-external-channel-catalog.json Bumps Signal minHostVersion to match new surfaces.
package.json Exposes ./plugin-sdk/qr-terminal-runtime in package exports.
extensions/signal/src/setup-surface.ts Refactors Signal setup wizard status/prompting to support transport selection and delegated prepare/finalize.
extensions/signal/src/setup-core.ts Implements transport choice, Docker/existing-server probing, rollback-on-cancel, per-account apiMode, and richer setup prompts/help.
extensions/signal/src/setup-container.ts New Docker container setup runner: create/start container, QR/link flow, linked-account validation, and bounded fetch parsing.
extensions/signal/src/send.ts Uses account-scoped apiMode (merged per-account config) and adds tests for apiMode fallback in typing/receipts overrides.
extensions/signal/src/send.test.ts Adds tests for typing/read receipt apiMode fallback behavior.
extensions/signal/src/send-reactions.ts Uses account-scoped apiMode for reaction sends.
extensions/signal/src/probe.ts Adds readiness classification and container linked-account validation for probes.
extensions/signal/src/monitor.ts Uses account-scoped apiMode and updates container/autoStart incompatibility error text.
extensions/signal/src/install-signal-cli.ts Improves Homebrew install failure messaging with command echo + bounded stderr/stdout output.
extensions/signal/src/install-signal-cli.test.ts Tests improved Homebrew failure messaging.
extensions/signal/src/core.test.ts Adds broad coverage for setup wizard transports, probe readiness, container setup helpers, and new prompt/help behaviors.
extensions/signal/src/config-schema.test.ts Updates schema test to accept per-account apiMode.
extensions/signal/src/client.ts Adds native receive readiness check via SSE open/cleanup.
extensions/signal/src/client.test.ts Tests native receive readiness behavior and failure modes.
extensions/signal/src/client-adapter.ts Enhances auto mode detection/checking to include receive readiness and preserve receive-specific errors.
extensions/signal/src/client-adapter.test.ts Adds coverage for receive-aware detection/checking behavior and error preservation.
extensions/signal/src/channel.ts Surfaces readiness in capability probe formatting and passes account into probe.
extensions/signal/src/channel.setup.ts Splits/defines a narrower setup-only plugin surface (vs full runtime plugin).
extensions/signal/setup-plugin-api.ts New narrow setup entrypoint export.
extensions/signal/setup-entry.ts Points bundled setup entry at the new setup-only API module.
extensions/signal/setup-entry.test.ts Tests bundled setup entry loading and account-scoped config mutation helpers.
extensions/signal/package.json Bumps Signal plugin minHostVersion to >=2026.6.11.
docs/plugins/sdk-subpaths.md Documents the new plugin-sdk/qr-terminal-runtime subpath.
docs/channels/signal.md Updates Signal channel docs for the new guided setup, Docker flow, and readiness states.
docs/.generated/plugin-sdk-api-baseline.sha256 Updates SDK API baseline hashes due to new exported surface.

@clawsweeper

clawsweeper Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 13, 2026, 6:45 PM ET / 22:45 UTC.

Summary
Adds a plugin-owned Signal setup wizard, readiness-aware native/container probing, per-account API-mode routing, and an additive setup-cancellation result in the shared channel setup contract.

PR surface: Source +1635, Tests +3468, Docs +19, Generated 0. Total +5122 across 54 files.

Reproducibility: not applicable. this is a feature and compatibility review rather than a report of one reproducible current-main failure. The changed paths are source-verifiable and have extensive exact-head automated coverage.

Review metrics: 2 noteworthy metrics.

  • Config scope expansion: 1 existing setting expanded to per-account scope; 0 removed. apiMode now participates in account inheritance and runtime routing, so upgrade and mixed-account behavior need explicit review.
  • Plugin setup result surface: 1 additive cancellation variant. External and bundled setup plugins can now terminate without persisting wizard-local state, changing a shipped plugin-facing contract.

Stored data model
Persistent data-model change detected: serialized state: extensions/signal/src/client-container.test.ts, serialized state: extensions/signal/src/client.test.ts, unknown-data-model-change: src/config/bundled-channel-config-metadata.generated.ts, vector/embedding metadata: docs/plugins/sdk-setup.md, vector/embedding metadata: src/flows/channel-setup.test.ts. Confirm migration or upgrade compatibility proof before merge.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🐚 platinum hermit
Patch quality: 🦞 diamond lobster
Result: ready for maintainer review.

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

Rank-up moves:

  • Split or rebase the branch against current main and repeat the focused exact-head validation.
  • [P2] Capture a redacted live native/container mixed-account setup, send, receive, and status transcript before merge.

Risk before merge

  • [P1] The live PR is not cleanly mergeable, so its exact final behavior has not been validated against the current main merge result.
  • [P1] Editing a Signal account materializes inherited root transport fields into that account, and the wizard no longer offers an OpenClaw-managed Docker path; upgrade behavior must remain intentional and non-destructive for existing configurations.
  • [P1] Account-specific API-mode and readiness changes affect send, reaction, monitor, attachment, status, and probe paths; unit coverage is extensive, but a mixed native/container live delivery run would better settle message-routing risk.

Maintainer options:

  1. Split, rebase, and prove each layer (recommended)
    Create a stacked landing sequence for shared setup plumbing, Signal configuration/setup, and transport routing, with focused upgrade and delivery proof at each boundary.
  2. Accept the integrated landing risk
    Resolve the conflicts in the combined branch and obtain explicit owner approval after fresh-install, upgrade, and live mixed-account delivery validation.
  3. Pause the combined branch
    If the stacked split is not practical and the integrated review burden remains too high, pause this PR rather than merging an insufficiently refreshed conflict resolution.

Next step before merge

  • Resolve the merge conflicts, choose the stacked versus integrated landing shape, and obtain shared-setup and Signal-owner approval of refreshed upgrade and delivery proof.

Maintainer decision needed

  • Question: Should the conflicted branch be split into the proposed stacked changes before landing, or rebased and accepted as one compatibility-sensitive Signal and shared-setup change?
  • Rationale: Both approaches can preserve the intended behavior, but only the responsible owners can accept the review burden and upgrade/message-delivery risk of landing the combined change.
  • Likely owner: steipete — The shared setup-wizard history makes steipete the strongest available owner for choosing the landing boundary and accepting the cross-cutting setup contract risk.
  • Options:
    • Split and rebase (recommended): Separate shared setup-contract changes, Signal setup/config changes, and transport routing/probing changes, then validate each rebased layer against current main.
    • Rebase the combined PR: Keep the integrated branch, resolve current conflicts, and require fresh upgrade plus live native/container delivery proof before merge.

Security
Cleared: No concrete security or supply-chain regression was found; dependency guards passed, server URLs reject embedded credentials, response reads are bounded, and the changes do not broaden repository secret or workflow permissions.

Review details

Best possible solution:

Land this as rebased, independently reviewable changes—shared cancellation/status plumbing, Signal setup/config scoping, then transport probing and routing—with fresh-install, upgrade, and live mixed-account send/receive/status evidence before the final merge.

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

Not applicable: this is a feature and compatibility review rather than a report of one reproducible current-main failure. The changed paths are source-verifiable and have extensive exact-head automated coverage.

Is this the best way to solve the issue?

The plugin-owned architecture and additive cancellation contract are maintainable, but the combined conflicted landing shape is not the safest solution; the proposed stacked split with refreshed upgrade and live delivery proof is better.

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🦞 diamond lobster.
  • remove rating: 🦐 gold shrimp: Current PR rating is rating: 🐚 platinum hermit, so this older rating label is no longer current.

Label justifications:

  • P2: This is a substantial but bounded Signal onboarding and reliability improvement with compatibility-sensitive changes, not an active emergency or confirmed regression.
  • merge-risk: 🚨 compatibility: The PR changes setup cancellation semantics, per-account configuration inheritance, setup normalization, and the offered Docker setup path for existing users.
  • merge-risk: 🚨 message-delivery: The PR changes transport selection and account routing across Signal send, reaction, monitoring, attachment, receive, status, and probe paths.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🦞 diamond lobster.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: The external-contributor proof gate does not apply to this member-authored PR; exact-head Testbox coverage is strong, though a live native/container setup and mixed-account delivery transcript would still reduce merge risk.
Evidence reviewed

PR surface:

Source +1635, Tests +3468, Docs +19, Generated 0. Total +5122 across 54 files.

View PR surface stats
Area Files Added Removed Net
Source 32 2185 550 +1635
Tests 17 3553 85 +3468
Docs 2 27 8 +19
Config 0 0 0 0
Generated 3 13 13 0
Other 0 0 0 0
Total 54 5778 656 +5122

What I checked:

  • Shared setup contract: The PR adds an additive cancelled result to setup finalization and channel setup results, with tests showing cancellation skips config selection, completion notes, account callbacks, and post-write hooks. (src/channels/plugins/setup-wizard-types.ts:259, ec905c1f8d3e)
  • Configuration compatibility surface: The PR extends the existing Signal apiMode setting from channel-only configuration to a channel default with per-account overrides, affecting schema, generated metadata, account resolution, and runtime callers. (src/config/types.signal.ts:35, ec905c1f8d3e)
  • Delivery-routing surface: Send, reaction, monitoring, attachment, probing, and transport auto-detection paths now resolve account-specific API mode and receive readiness, so merge safety depends on native, container, and mixed-account behavior remaining aligned. (extensions/signal/src/client-adapter.ts:60, ec905c1f8d3e)
  • Current-main comparison: Current main still exposes channel-global apiMode and the earlier Signal setup/probe behavior, so the PR remains necessary and is not implemented or superseded on main. citeturn2view0turn8view0. (src/config/types.signal.ts:67, 0b96300fc675)
  • Upstream native contract: The upstream signal-cli JSON-RPC documentation includes listAccounts, supporting the PR's multi-account native probe, while the branch explicitly handles method-not-found for account-bound daemons. citeturn7search0turn7search2. (extensions/signal/src/probe.ts:36, ec905c1f8d3e)
  • Upstream container contract: The maintained signal-cli-rest-api project documents account and receive endpoints used by the new container readiness checks. citeturn6search1turn6search3. (extensions/signal/src/client-container-accounts.ts:1, ec905c1f8d3e)

Likely related people:

  • steipete: The shared channel setup-wizard history shows the initial declarative wizard implementation and several subsequent refactors under this author, including cancellation-adjacent flow ownership. (role: introduced behavior and recent area contributor; confidence: high; commits: 33495f3f, 4bd42ec0, 3bf54c10; files: src/channels/plugins/setup-wizard.ts, src/flows/channel-setup.ts)
  • Takhoffman: Recent shared setup-wizard history includes account-selection status behavior relevant to the PR's account-scoped Signal setup and status changes. (role: recent adjacent contributor; confidence: medium; commits: 18486f93; files: src/channels/plugins/setup-wizard.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.
Review history (30 earlier review cycles; latest 8 shown)
  • reviewed 2026-07-09T23:17:59.583Z sha 8165d87 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-10T09:57:00.532Z sha ebf3d47 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-10T12:30:10.802Z sha e429e76 :: found issues before merge. :: [P2] Report an unlinked container account as account missing
  • reviewed 2026-07-10T13:46:46.724Z sha 86c2afa :: needs maintainer review before merge. :: none
  • reviewed 2026-07-11T19:53:48.852Z sha 7ff67ab :: needs maintainer review before merge. :: none
  • reviewed 2026-07-13T01:00:03.948Z sha 949888f :: needs maintainer review before merge. :: none
  • reviewed 2026-07-13T21:01:25.987Z sha c35ac56 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-13T21:39:27.398Z sha a1e334d :: needs maintainer review before merge. :: none

@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P1 High-priority user-facing bug, regression, or broken workflow. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. merge-risk: 🚨 message-delivery 🚨 May drop, duplicate, misroute, suppress, or wrongly target messages. labels Jul 6, 2026
@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch from b29755e to bc2f512 Compare July 6, 2026 16:17
@github-actions github-actions Bot removed the dependencies-changed PR changes dependency-related files label Jul 6, 2026
@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. labels Jul 6, 2026
@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch 2 times, most recently from 72899d7 to 37ea225 Compare July 7, 2026 00:25
@jesse-merhi jesse-merhi changed the title feat(signal): add guided setup wizard feat(signal): add setup wizard container flow Jul 7, 2026
@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch from 37ea225 to 7f68911 Compare July 7, 2026 07:27
@jesse-merhi

Copy link
Copy Markdown
Member Author

/clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 7, 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.

@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch from 7f68911 to 4c9acd8 Compare July 7, 2026 16:16
@clawsweeper

clawsweeper Bot commented Jul 10, 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.

@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch from e07a22d to 86c2afa Compare July 10, 2026 13:35
@jesse-merhi

Copy link
Copy Markdown
Member Author

/clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 10, 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: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jul 10, 2026
@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch from 86c2afa to 7ff67ab Compare July 11, 2026 19:37
@github-actions github-actions Bot added the dependencies-changed PR changes dependency-related files label Jul 11, 2026
@jesse-merhi

Copy link
Copy Markdown
Member Author

/clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 11, 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:

@jesse-merhi jesse-merhi self-assigned this Jul 13, 2026
@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch from 7ff67ab to 949888f Compare July 13, 2026 00:52
@github-actions github-actions Bot removed the dependencies-changed PR changes dependency-related files label Jul 13, 2026
@clawsweeper clawsweeper Bot added P2 Normal backlog priority with limited blast radius. and removed P1 High-priority user-facing bug, regression, or broken workflow. labels Jul 13, 2026
@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch from 949888f to e3e20ca Compare July 13, 2026 19:03
@openclaw-barnacle openclaw-barnacle Bot added channel: msteams Channel integration: msteams and removed scripts Repository scripts labels Jul 13, 2026
@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch from e3e20ca to a668bf0 Compare July 13, 2026 19:06
@jesse-merhi
jesse-merhi force-pushed the jesse/signal-setup-wizard branch 3 times, most recently from 40c76bc to f5791bb Compare July 13, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: msteams Channel integration: msteams channel: signal Channel integration: signal commands Command implementations docs Improvements or additions to documentation maintainer Maintainer-authored PR merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. merge-risk: 🚨 message-delivery 🚨 May drop, duplicate, misroute, suppress, or wrongly target messages. P2 Normal backlog priority with limited blast radius. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: XL status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants