Skip to content

improve(imessage): manage imsg setup and plugin skill ownership#101407

Merged
omarshahine merged 1 commit into
mainfrom
codex/imessage-plugin-skill-install
Jul 7, 2026
Merged

improve(imessage): manage imsg setup and plugin skill ownership#101407
omarshahine merged 1 commit into
mainfrom
codex/imessage-plugin-skill-install

Conversation

@omarshahine

@omarshahine omarshahine commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Related: openclaw/imsg#157

What Problem This Solves

Resolves a problem where OpenClaw's bundled iMessage guidance and setup flow lagged the current imsg CLI: the OpenClaw copy of the imsg skill still lived outside the iMessage plugin, did not document the landed poll behavior, and setup only reported that imsg was missing without offering the Homebrew install/update path most local Mac users need.

This is AI-assisted work.

Why This Change Was Made

The imsg skill now lives with the bundled iMessage plugin, matching the existing Discord, Slack, WhatsApp, and QQBot channel-plugin pattern. The old top-level skills/imsg copy was removed.

The iMessage setup flow borrows the Signal-style prepare hook to offer macOS Homebrew install/update for the default local imsg path, while preserving explicit custom cliPath values, including SSH/PATH wrappers. Probe and setup status messages now distinguish default/Homebrew-managed imsg from operator-owned wrappers, and doctor can repair stale session snapshot paths to the generated plugin-skill path when that path has been published.

Clanker checked the prior Vincent/Jason history: Vincent previously moved bundled skills into plugin directories with manifest skills entries and did not add extra doctor migration. This PR keeps that ownership move, with a conservative doctor repair only for stale session metadata when the generated plugin-skill target exists.

Codex review note: local Codex review repeatedly flagged that moving imsg into plugin skills means the skill is only published when the iMessage plugin is activated. I am keeping that behavior because Omar explicitly asked to remove the old skill and align with other channel plugins; the PR body calls out the tradeoff for maintainer review.

User Impact

Users configuring iMessage on the signed-in Messages Mac can install or update imsg from setup instead of manually discovering the command. Existing custom wrapper/SSH setups are left untouched, and setup/probe errors point operators at the configured wrapper when that is what is missing.

Agents using the iMessage skill get updated poll guidance, including the landed imsg poll send caption behavior and poll history/watch backfill notes.

Evidence

  • pnpm docs:list
  • pnpm format:docs:check -- docs/channels/imessage.md docs/channels/imessage-from-bluebubbles.md extensions/imessage/skills/imsg/SKILL.md
  • pnpm format:docs:check -- docs/channels/imessage.md docs/channels/imessage-from-bluebubbles.md
  • git diff --check
  • .agents/skills/autoreview/scripts/autoreview --mode local
    • Result: clean, no accepted/actionable findings. The review specifically checked that the docs now match the existing iMessage setup behavior.
  • codex review --uncommitted -c 'model="gpt-5.4"'
    • Result: clean. The review checked the changed docs against extensions/imessage/src/setup-surface.ts, extensions/imessage/src/install-imsg.ts, extensions/imessage/src/setup-core.ts, and extensions/imessage/src/status.test.ts; it found no concrete inaccuracy or regression in the docs-only follow-up.
  • Testbox tbx_01kwxk5p1772r17gqm46862fh0 / https://github.com/openclaw/openclaw/actions/runs/28845525814
    • node scripts/crabbox-wrapper.mjs run --provider blacksmith-testbox --timing-json -- env OPENCLAW_CHECK_CHANGED_REMOTE_CHILD=1 OPENCLAW_CHANGED_LANES_RAW_SYNC=1 corepack pnpm test extensions/imessage/src/status.test.ts extensions/imessage/src/install-imsg.test.ts src/plugins/bundled-plugin-metadata.test.ts src/skills/loading/plugin-skills.test.ts src/commands/doctor-session-snapshots.test.ts
    • Passed 4 Vitest shards: 25 plugin-skill tests, 20 doctor snapshot tests, 35 bundled plugin metadata tests, 4 iMessage install tests, 29 iMessage status/probe/setup tests.
  • Testbox-through-Crabbox release upgrade proof tbx_01kwyrmyjprq8rqvjdb0ve7psc / https://github.com/openclaw/openclaw/actions/runs/28884362791
    • node scripts/crabbox-wrapper.mjs run --provider blacksmith-testbox --id tbx_01kwyrmyjprq8rqvjdb0ve7psc --timing-json -- bash imsg-upgrade-proof.tmp.sh using a temporary, uncommitted proof script.
    • Scenario: isolated openclaw@latest global install with channels.imessage.enabled=true, channels.imessage.cliPath=/tmp/imsg-wrapper, seeded stale agent:main:main session snapshot pointing at skills/imsg/SKILL.md, candidate release tarball built with scripts/package-openclaw-for-docker.mjs, then candidate global upgrade plus openclaw doctor --non-interactive --fix.
    • Before: OpenClaw 2026.6.11 (e085fa1), top-level skills/imsg/SKILL.md existed, generated plugin skill did not, skill list exposed imsg from openclaw-bundled, cached prompt and injected workspace file both pointed at the old top-level skill path.
    • After: candidate OpenClaw 2026.6.11 (6139ef4), old top-level skills/imsg/SKILL.md absent, generated state/plugin-skills/imsg/SKILL.md present and linked to dist/extensions/imessage/skills/imsg/SKILL.md, skill list exposed imsg from plugin skills, doctor --fix rewrote both cached prompt and injected workspace file to the generated plugin-skill path, proof summary result: true.
  • Local macOS setup proof on head 650ad0d using the local dev install and an isolated PATH with temporary brew/imsg shims in front of the real system tools. This exercises the real iMessage plugin setup hook without modifying the machine's Homebrew packages. Current head 20b43dc only changes extensions/imessage/src/install-imsg.test.ts to use the public openclaw/plugin-sdk/test-env temp-dir helper; runtime setup code is unchanged from the proofed head.
    • Command shape: PATH=<proof>/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin PROOF_DIR=<proof> node --import tsx -e '<imports imessageSetupWizard from extensions/imessage/src/setup-surface.ts and calls prepare({ options: { allowIMessageInstall: true } })>'
    • Redacted setup output:
      {
        "platform": "darwin",
        "result": {
          "credentialValues": {
            "cliPath": "<proof>/homebrew/opt/imsg/bin/imsg"
          }
        },
        "events": [
          ["prompt.confirm", "imsg detected. Reinstall/update now?", false],
          ["runtime.log", "Updating imsg via Homebrew (<proof>/bin/brew)..."],
          ["prompt.note", "iMessage", "Installed imsg at <proof>/homebrew/opt/imsg/bin/imsg"]
        ]
      }
    • Recorded Homebrew argv from the proof shim:
      update
      upgrade imsg
      --prefix imsg
      

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation channel: imessage Channel integration: imessage commands Command implementations size: L maintainer Maintainer-authored PR labels Jul 7, 2026
@clawsweeper

clawsweeper Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 7, 2026, 5:05 PM ET / 21:05 UTC.

Summary
The PR moves the bundled imsg skill under the iMessage plugin, adds user-confirmed Homebrew install/update handling to iMessage setup, updates iMessage docs/skill guidance, and adds doctor repair for stale imsg skill snapshot paths.

PR surface: Source +275, Tests +501, Docs +13. Total +789 across 18 files.

Reproducibility: not applicable. this is a PR adding setup and packaging behavior, not a standalone bug report. The PR body provides after-change upgrade/setup proof rather than a failing current-main repro.

Review metrics: 3 noteworthy metrics.

  • Skill publication surface: 1 bundled skill moved from top-level skills/imsg to plugin manifest skills. This changes when agents can discover imsg, which is not fully settled by tests or CI.
  • Setup capability gate: 1 internal setup option added and enabled in 5 setup callers. The new guarded setup option controls whether the iMessage wizard may offer Homebrew install/update during user setup.
  • Session repair surface: 1 moved-skill snapshot repair path added. Doctor now rewrites stale imsg session metadata to the generated plugin-skill path, which is part of the upgrade-safety story.

Stored data model
Persistent data-model change detected: migration/backfill/repair: extensions/imessage/src/install-imsg.ts, migration/backfill/repair: extensions/imessage/src/setup-core.ts, migration/backfill/repair: src/commands/doctor-session-snapshots.test.ts, migration/backfill/repair: src/commands/doctor-session-snapshots.ts, serialized state: extensions/imessage/src/install-imsg.test.ts, serialized state: src/commands/doctor-session-snapshots.test.ts, and 2 more. Migration or upgrade compatibility proof is recorded; maintainers should verify it before merge.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster
Patch quality: 🐚 platinum hermit
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:

  • [P2] Maintainer should explicitly confirm the plugin-scoped imsg skill publication policy before merge.

Risk before merge

  • [P1] Moving imsg from top-level bundled skills to plugin skills means agents will no longer see that skill unless the iMessage plugin is activated, which changes current main’s global bundled-skill availability.
  • [P1] Doctor repair rewrites stale imsg session snapshot paths only when state/plugin-skills/imsg/SKILL.md exists, so inactive-plugin sessions may keep stale metadata until activation or a fresh session.
  • [P1] The setup flow now offers a user-confirmed Homebrew install/update path on macOS; the implementation is guarded and proofed, but maintainers should explicitly own that operator-action policy before merge.

Maintainer options:

  1. Confirm and accept scoped skill publication (recommended)
    A maintainer can accept that imsg becomes visible only through the activated iMessage plugin and that existing stale snapshots are repaired through doctor when the generated plugin skill exists.
  2. Add a transition path before merge
    If global imsg availability must survive upgrades, keep a top-level compatibility skill or add a release-bounded migration path with focused upgrade proof.
  3. Pause if ownership is undecided
    If the permanent skill ownership policy is unclear, pause this PR rather than landing a packaging change that later needs reversal.

Next step before merge

  • [P2] The remaining blocker is maintainer confirmation of iMessage skill ownership and upgrade behavior, not a narrow automated code repair.

Maintainer decision needed

  • Question: Should imsg stop being a top-level bundled skill and be published only through the activated iMessage plugin in this release?
  • Rationale: Current main exposes imsg globally under skills/, while this PR intentionally changes skill availability and session snapshot paths; that is a product and compatibility choice rather than a mechanical correctness issue.
  • Likely owner: steipete — The history pass points to Peter Steinberger as the original owner for both the iMessage setup surface and the bundled imsg skill policy.
  • Options:
    • Accept plugin-scoped imsg (recommended): Land the PR with the documented behavior that imsg is owned by the iMessage plugin and appears after plugin activation, relying on doctor repair for stale generated paths.
    • Keep a transition skill: Preserve a top-level skills/imsg compatibility path for one release or add a narrower migration if maintainers do not want skill availability tied to plugin activation yet.
    • Pause the ownership move: Close or pause the PR until the iMessage skill packaging policy is settled separately from the setup/install improvements.

Security
Cleared: No concrete security or supply-chain regression was found; the new Homebrew operations use fixed argv and require user confirmation before running.

Review details

Best possible solution:

Merge only after maintainers confirm plugin-scoped imsg skill publication and the guarded Homebrew setup path are the intended upgrade behavior for this release.

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

Not applicable; this is a PR adding setup and packaging behavior, not a standalone bug report. The PR body provides after-change upgrade/setup proof rather than a failing current-main repro.

Is this the best way to solve the issue?

Unclear until maintainer intent is confirmed: the code shape is an acceptable owner-boundary fix if imsg should be plugin-scoped, but the publication policy is the key remaining decision.

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body includes convincing after-change proof: Testbox upgrade repair from the latest release plus redacted macOS setup output showing the Homebrew install/update path and resulting cliPath.
  • remove rating: 🦐 gold shrimp: Current PR rating is rating: 🐚 platinum hermit, so this older rating label is no longer current.
  • remove status: ⏳ waiting on author: Current PR status label is status: 👀 ready for maintainer look.

Label justifications:

  • P2: This is a normal-priority iMessage setup and skill ownership improvement with bounded but real compatibility impact.
  • merge-risk: 🚨 compatibility: The PR changes existing imsg skill availability from a top-level bundled skill to an activation-gated plugin skill and adds a new setup install/update path.
  • merge-risk: 🚨 session-state: The PR changes how stale session snapshots referencing the old skills/imsg path are detected and repaired during upgrade.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body includes convincing after-change proof: Testbox upgrade repair from the latest release plus redacted macOS setup output showing the Homebrew install/update path and resulting cliPath.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body includes convincing after-change proof: Testbox upgrade repair from the latest release plus redacted macOS setup output showing the Homebrew install/update path and resulting cliPath.
Evidence reviewed

PR surface:

Source +275, Tests +501, Docs +13. Total +789 across 18 files.

View PR surface stats
Area Files Added Removed Net
Source 12 302 27 +275
Tests 3 502 1 +501
Docs 3 31 18 +13
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 18 835 46 +789

What I checked:

  • Repository policy applied: Root policy and scoped extensions/, docs/, src/channels/, and src/plugins/ guides were read; the relevant rules treat plugin setup, skill ownership, and session metadata migration as compatibility-sensitive review surfaces. (AGENTS.md:23, d563101a82fd)
  • Current main exposes imsg as a top-level bundled skill: Current main still has skills/imsg/SKILL.md, so this PR changes the shipped skill publication location rather than only editing content. (skills/imsg/SKILL.md:1, d563101a82fd)
  • PR scopes imsg through the iMessage plugin manifest: The PR adds skills: ["./skills"] to the iMessage plugin manifest, making the moved skill plugin-owned. (extensions/imessage/openclaw.plugin.json:7, 20b43dccb708)
  • Plugin skills are activation-gated: resolvePluginSkillDirs skips plugin skill directories when the effective plugin activation state is not activated, which is the core compatibility tradeoff for moving imsg out of the top-level bundled skills directory. (src/skills/loading/plugin-skills.ts:63, 20b43dccb708)
  • Setup prepare hook is guarded and user-confirmed: The iMessage setup prepare hook only runs when allowIMessageInstall is set, only on macOS, and asks the user before installing or updating imsg. (extensions/imessage/src/setup-surface.ts:60, 20b43dccb708)
  • Homebrew command path is fixed-argv: The installer uses runPluginCommandWithTimeout with fixed Homebrew argv for update, upgrade imsg, and install steipete/tap/imsg; no arbitrary user-controlled command string is introduced. (extensions/imessage/src/install-imsg.ts:53, 20b43dccb708)

Likely related people:

  • steipete: Peter Steinberger appears repeatedly in the imsg skill history and authored the setup-wizard move that introduced the current iMessage setup surface. (role: introduced behavior and likely decision owner; confidence: high; commits: 1f37203f88bc, 1cf455e91ced, d1850aaada68; files: extensions/imessage/src/setup-surface.ts, skills/imsg/SKILL.md)
  • tyler6204: Tyler Yust authored the prior iMessage docs/skill refresh that touched skills/imsg/SKILL.md, making them a useful routing candidate for wording and skill guidance context. (role: prior iMessage docs and skill contributor; confidence: medium; commits: 9c4eab69cca5; files: skills/imsg/SKILL.md)
  • shakkernerd: Shakker’s recent refactor is current-line blame for the iMessage setup, plugin-skill, and doctor snapshot files in this checkout, so they are relevant for adjacent implementation context. (role: recent area contributor; confidence: medium; commits: e94fde29199f; files: extensions/imessage/src/setup-surface.ts, src/skills/loading/plugin-skills.ts, src/commands/doctor-session-snapshots.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 (10 earlier review cycles; latest 8 shown)
  • reviewed 2026-07-07T18:07:33.701Z sha 6139ef4 :: needs real behavior proof before merge. :: [P2] Align docs with setup install behavior
  • reviewed 2026-07-07T18:43:20.655Z sha 650ad0d :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T18:53:57.735Z sha 650ad0d :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T19:08:49.693Z sha 650ad0d :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T19:18:32.852Z sha 650ad0d :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T19:29:34.436Z sha 650ad0d :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T20:46:19.597Z sha 79790dd :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T20:55:12.510Z sha 79790dd :: needs changes before merge. :: [P2] Keep extension tests off repo-only helpers

@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. 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. merge-risk: 🚨 session-state 🚨 May lose, corrupt, stale, or mis-associate session, agent, or context state. labels Jul 7, 2026
@omarshahine
omarshahine force-pushed the codex/imessage-plugin-skill-install branch from bed601a to 6139ef4 Compare July 7, 2026 17:46
@omarshahine

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Real behavior proof has been added to the PR body for the current head (6139ef4): Testbox-through-Crabbox release upgrade proof from openclaw@latest with iMessage config and stale skills/imsg session snapshot, then candidate tarball upgrade plus openclaw doctor --fix. The summary result is true, with cached prompt and injected workspace file rewritten to state/plugin-skills/imsg/SKILL.md.

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

@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. labels Jul 7, 2026
@omarshahine
omarshahine force-pushed the codex/imessage-plugin-skill-install branch from 6139ef4 to 650ad0d Compare July 7, 2026 18:34
@omarshahine

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Remaining proof has been added on current head 650ad0d:

  • Both iMessage docs pages now distinguish user-confirmed local Homebrew install/update from manual and SSH-wrapper setups.
  • Local macOS setup proof uses the local dev install with isolated brew/imsg shims and exercises the real extensions/imessage/src/setup-surface.ts prepare hook with allowIMessageInstall: true.
  • Redacted proof output shows the setup prompt imsg detected. Reinstall/update now?, the runtime log Updating imsg via Homebrew (...), returned credentialValues.cliPath, and recorded Homebrew argv: update, upgrade imsg, --prefix imsg.
  • Docs format, whitespace, autoreview, and Codex review are clean.

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

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. 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: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jul 7, 2026
@omarshahine
omarshahine marked this pull request as ready for review July 7, 2026 18:59
@omarshahine
omarshahine force-pushed the codex/imessage-plugin-skill-install branch from 650ad0d to 79790dd Compare July 7, 2026 20:38
@clawsweeper clawsweeper Bot added 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. 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 Jul 7, 2026
@omarshahine
omarshahine force-pushed the codex/imessage-plugin-skill-install branch from 79790dd to 20b43dc Compare July 7, 2026 20:59
@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 7, 2026
@omarshahine
omarshahine merged commit 91a0ebb into main Jul 7, 2026
126 of 131 checks passed
@omarshahine
omarshahine deleted the codex/imessage-plugin-skill-install branch July 7, 2026 21:13
@omarshahine

Copy link
Copy Markdown
Contributor Author

Merged via squash.

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

Labels

channel: imessage Channel integration: imessage 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: 🚨 session-state 🚨 May lose, corrupt, stale, or mis-associate session, agent, or context state. P2 Normal backlog priority with limited blast radius. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: L 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.

1 participant