Skip to content

[codex] Fix doctor completion cache plugin loading#76235

Merged
steipete merged 3 commits into
mainfrom
codex/fix-doctor-completion-cache
Jul 5, 2026
Merged

[codex] Fix doctor completion cache plugin loading#76235
steipete merged 3 commits into
mainfrom
codex/fix-doctor-completion-cache

Conversation

@steipete

@steipete steipete commented May 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes the Windows openclaw doctor shell-completion cache path observed in the maintainer workshop: doctor was spawning openclaw completion --write-state without the plugin-command skip guard, so completion cache generation could load plugin CLI commands and trigger bundled runtime dependency work during doctor.

The update path already sets OPENCLAW_COMPLETION_SKIP_PLUGIN_COMMANDS=1 for this same cache write. This applies the same guard to doctor-triggered completion cache writes.

Validation

  • pnpm exec vitest run src/commands/doctor-completion.test.ts src/cli/completion-cli.write-state.test.ts
  • pnpm exec oxlint src/commands/doctor-completion.ts src/commands/doctor-completion.test.ts

@openclaw-barnacle openclaw-barnacle Bot added commands Command implementations size: XS maintainer Maintainer-authored PR labels May 2, 2026
@clawsweeper

clawsweeper Bot commented May 2, 2026

Copy link
Copy Markdown
Contributor

Codex review: found issues before merge. Reviewed July 5, 2026, 8:57 AM ET / 12:57 UTC.

Summary
The PR adds explicit core-only and full completion-cache generation modes and wires doctor, update, onboarding, script, test, and changelog paths to the new API.

PR surface: Source +20, Tests +39, Docs +1, Other +9. Total +69 across 7 files.

Reproducibility: yes. by source inspection. Current main loads plugin commands for completion unless the skip env is set, while PR head routes several user-facing cache writes through core-only or accepts existing caches without mode distinction.

Review metrics: 1 noteworthy metric.

  • Completion cache generation modes: 2 internal modes added: core-only and full. The selected mode determines whether plugin commands are included in generated shell-completion cache files, so caller choice matters before merge.

Stored data model
Persistent data-model change detected: migration/backfill/repair: CHANGELOG.md, migration/backfill/repair: src/commands/doctor-completion.test.ts, migration/backfill/repair: src/commands/doctor-completion.ts, migration/backfill/repair: src/wizard/setup.completion.ts, persistent cache schema: src/commands/doctor-completion.test.ts, unknown-data-model-change: src/commands/doctor-completion.test.ts, and 1 more. Confirm migration or upgrade compatibility proof before merge.

Root-cause cluster
Relationship: fixed_by_candidate
Canonical: #82070
Summary: This PR is the current candidate for the doctor/update completion-cache subpath of the broader CLI cold-start regression; it does not own the direct native-Windows completion hang.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge readiness
Overall: 🦪 silver shellfish
Proof: 🦞 diamond lobster
Patch quality: 🦪 silver shellfish
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:

  • [P2] Fix full-mode regeneration after core-only cache writes.
  • Use full cache generation for explicit install prompts while keeping automatic repairs core-only.
  • Remove the release-owned CHANGELOG.md line.

Risk before merge

  • [P1] Merging current head can write or preserve plugin-free completion caches in user-facing install and onboarding paths, breaking existing plugin command completion until users know to manually rebuild the cache.
  • [P1] The PR changes completion-cache behavior in setup/update/doctor paths, which are compatibility-sensitive because existing shell profiles source the generated cache files across upgrades.

Maintainer options:

  1. Repair cache-mode boundaries before merge (recommended)
    Keep automatic doctor/update repairs fast, but ensure prompted installs and full-mode callers produce plugin-inclusive caches and cannot accept an older core-only cache as complete.
  2. Pause this branch
    Leave the PR open while maintainers decide the exact cache metadata or regeneration strategy if forcing full-mode regeneration is too expensive.

Next step before merge

  • [P2] The protected maintainer label and multiple cache-mode compatibility findings make this a maintainer/author repair path, not a cleanup-close or autonomous fix lane.

Security
Cleared: No concrete security or supply-chain regression was found; the diff changes internal completion subprocess environment handling, tests, script call sites, and release-note text without new dependencies or permissions.

Review findings

  • [P2] Regenerate full caches after core-only repairs — src/commands/doctor-completion.ts:296-297
  • [P2] Generate full caches for prompted installs — src/commands/doctor-completion.ts:274
  • [P2] Scope core-only writes to the checked shell — src/commands/doctor-completion.ts:232
Review details

Best possible solution:

Keep the explicit mode API, but restrict core-only to automatic background repair, generate full caches for user-accepted installs, and make full mode replace any existing core-only cache before merge.

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

Yes, by source inspection. Current main loads plugin commands for completion unless the skip env is set, while PR head routes several user-facing cache writes through core-only or accepts existing caches without mode distinction.

Is this the best way to solve the issue?

No, not yet. The explicit mode split is the maintainable shape, but the current caller mapping and cache-existence check are too broad for plugin-command compatibility.

Full review comments:

  • [P2] Regenerate full caches after core-only repairs — src/commands/doctor-completion.ts:296-297
    ensureCompletionCacheExists returns true for any existing cache file before considering generationMode. If doctor/update previously wrote a core-only cache, onboarding or another full caller will accept that plugin-free file as complete, so plugin commands stay missing from user-facing completion until a manual rebuild. Force regeneration for full mode when the existing cache might be core-only, or record cache mode metadata.
    Confidence: 0.9
  • [P2] Generate full caches for prompted installs — src/commands/doctor-completion.ts:274
    The fresh-install branch runs after the user accepts an interactive Enable ... shell completion prompt, but it still writes the cache with core-only. Since the completion command skips plugin CLI registration under that mode, the newly installed profile points at a cache missing plugin commands; keep core-only for automatic repairs and use full for explicit install prompts, including the matching update prompt.
    Confidence: 0.91
  • [P2] Scope core-only writes to the checked shell — src/commands/doctor-completion.ts:232
    These core-only calls omit shell, so the spawned completion --write-state writes every shell cache even though the status check only proved the active shell needed repair. Repairing one missing cache can overwrite other shells' existing full caches with plugin-free scripts; pass the resolved shell into the generated cache call for repair writes.
    Confidence: 0.88
  • [P2] Remove the release-owned changelog entry — CHANGELOG.md:11
    This prior ClawSweeper finding is still unfixed: normal PRs should leave CHANGELOG.md to release generation. Keep this release-note wording in the PR body or squash message and drop the PR-specific line.
    Confidence: 0.87

Overall correctness: patch is incorrect
Overall confidence: 0.9

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add merge-risk: 🚨 compatibility: The PR can make existing or newly installed shell-completion profiles source cache files that omit plugin CLI commands.
  • add rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦞 diamond lobster and patch quality is 🦪 silver shellfish.
  • remove rating: 🦐 gold shrimp: Current PR rating is rating: 🦪 silver shellfish, so this older rating label is no longer current.

Label justifications:

  • P2: This is a focused CLI/doctor/update completion-cache bug fix with limited blast radius, but current head still has normal-priority compatibility regressions.
  • merge-risk: 🚨 compatibility: The PR can make existing or newly installed shell-completion profiles source cache files that omit plugin CLI commands.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦞 diamond lobster and patch quality is 🦪 silver shellfish.
  • status: ⏳ waiting on author: ClawSweeper has contributor-facing work open and is waiting for author action. Sufficient (live_output): The PR discussion includes Testbox/gate output and a live workspace-plugin marker for the central doctor/update fast-path behavior, though it does not cover the merge-blocking cache-mode edge cases above.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR discussion includes Testbox/gate output and a live workspace-plugin marker for the central doctor/update fast-path behavior, though it does not cover the merge-blocking cache-mode edge cases above.
Evidence reviewed

PR surface:

Source +20, Tests +39, Docs +1, Other +9. Total +69 across 7 files.

View PR surface stats
Area Files Added Removed Net
Source 3 35 15 +20
Tests 2 41 2 +39
Docs 1 1 0 +1
Config 0 0 0 0
Generated 0 0 0 0
Other 1 12 3 +9
Total 7 89 20 +69

Acceptance criteria:

  • [P1] node scripts/run-vitest.mjs src/cli/completion-cli.write-state.test.ts src/commands/doctor-completion.test.ts src/wizard/setup.completion.test.ts.
  • [P1] Focused update-command test covering the interactive completion install prompt.
  • [P1] Real openclaw doctor --fix or equivalent marker proof showing automatic repair skips plugins while explicit/full rebuild includes them.

What I checked:

  • Repository policy applied: Root AGENTS.md and scripts/AGENTS.md were read fully; the review applied the repository guidance for whole-path PR review, compatibility-sensitive setup flows, and release-owned changelog handling. (AGENTS.md:1, e29448df08e2)
  • Current main behavior: Current main's doctor cache generation spawns completion --write-state with the ambient process environment, so it does not opt into the existing plugin-command skip guard. (src/commands/doctor-completion.ts:93, e29448df08e2)
  • Completion skip contract: The completion command registers plugin CLI commands unless OPENCLAW_COMPLETION_SKIP_PLUGIN_COMMANDS is exactly 1, so mode choice directly controls whether plugin commands enter the generated cache. (src/cli/completion-cli.ts:227, e29448df08e2)
  • PR head doctor mode use: At PR head, all three doctor cache writes use generationMode: "core-only", including the interactive fresh-install prompt path. (src/commands/doctor-completion.ts:274, 5b29853dabfc)
  • PR head update mode use: At PR head, update stores one core-only options object and reuses it for both automatic repair and the prompted fresh-install path. (src/cli/update-cli/update-command.ts:1470, 5b29853dabfc)
  • Public completion contract: The user-facing completion docs say completion generation eagerly loads the full command tree, including plugin CLI commands, while update and doctor can repair completion setup. Public docs: docs/cli/completion.md. (docs/cli/completion.md:45, e29448df08e2)

Likely related people:

  • Shakker: Introduced the completion subcommand, cache-writing flow, and doctor shell-completion module that define this behavior. (role: original shell-completion contributor; confidence: high; commits: 14c77f82959e, 80d8fe778602, 3fae90386328; files: src/cli/completion-cli.ts, src/commands/doctor-completion.ts)
  • steipete: Recent history touches the current doctor/completion implementation, and this PR implements the current cache-mode approach. (role: recent completion and update contributor; confidence: high; commits: f3e3b6985b08, 656848dcd7d0, 5b29853dabfc; files: src/commands/doctor-completion.ts, src/cli/completion-cli.ts, src/wizard/setup.completion.ts)
  • vincentkoc: Recent path history includes update and completion-adjacent maintenance, including the release baseline and update-command surface near this PR. (role: recent adjacent CLI/update contributor; confidence: medium; commits: e085fa1a3ffd, 0e54440ecc39, a24af4910018; files: src/cli/update-cli/update-command.ts, src/cli/update-cli/shared.ts, src/wizard/setup.completion.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 (2 earlier review cycles)
  • reviewed 2026-06-30T13:32:40.060Z sha ad61912 :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-05T12:07:11.590Z sha 31705cc :: needs changes before merge. :: [P2] Remove the release-owned changelog entry

@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. P2 Normal backlog priority with limited blast radius. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. 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. and removed 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. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jun 14, 2026
@clawsweeper clawsweeper Bot added the merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. label Jun 21, 2026
@steipete

steipete commented Jul 5, 2026

Copy link
Copy Markdown
Contributor Author

The bug remains real, but this patch is not landable as-is on current main.

generateCompletionCache() is shared by doctor, update, and onboarding. Setting OPENCLAW_COMPLETION_SKIP_PLUGIN_COMMANDS=1 unconditionally therefore makes onboarding-generated caches silently omit plugin commands too, despite the PR being scoped to doctor repair. Current update code already establishes the intended automatic-refresh policy in src/cli/update-cli/shared.ts, while manual openclaw completion --write-state still builds the full tree.

Best fix: recreate this narrowly on current main with an explicit cache-generation mode; pass the skip mode only from doctor/update repair paths, preserve full plugin registration for onboarding/manual writes, and fold the spawn assertion into the existing src/commands/doctor-completion.test.ts. Focused test plus a redacted real openclaw doctor --fix cache regeneration would make it landable.

@steipete
steipete marked this pull request as ready for review July 5, 2026 11:31
@steipete
steipete force-pushed the codex/fix-doctor-completion-cache branch from ad61912 to 50db7c9 Compare July 5, 2026 11:31
@openclaw-barnacle openclaw-barnacle Bot added cli CLI command changes scripts Repository scripts size: S and removed size: XS labels Jul 5, 2026
@steipete

steipete commented Jul 5, 2026

Copy link
Copy Markdown
Contributor Author

Rewritten around an explicit completion-cache generation mode instead of an ambient skip variable.

  • doctor and update repair choose core-only, preventing recursive workspace-plugin loading
  • onboarding and direct user rebuilds choose full and clear an ambient skip guard, preserving plugin completions
  • all callers must now name the mode and binary

Proof:

  • Blacksmith Testbox: 195 focused completion/update/doctor/wizard tests passed
  • full build passed
  • full changed-surface gate passed, including typechecks, core/scripts lint, import-cycle and policy guards (run 28739532100)
  • isolated real workspace-plugin marker: doctor --fix --non-interactive registered the plugin zero times; explicit completion --write-state registered it exactly once
  • targeted formatting, git diff --check, and fresh autoreview passed

The exact reviewed head is 1a9f7c9014d20e1fb03e9eb1ab737072fc5f684d; ready for the repository landing gate.

@openclaw-barnacle openclaw-barnacle Bot added the docker Docker and sandbox tooling label Jul 5, 2026
@clawsweeper clawsweeper Bot removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jul 5, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 31705ccff6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +291 to 294
options: CompletionCacheGenerationOptions,
): Promise<boolean> {
const shell = options.shell ?? resolveShellFromEnv();
const cacheExists = await completionCacheExists(shell, binName);

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.

P2 Badge Regenerate full caches over core-only caches

When a doctor/update repair has already written a core-only completion cache, later onboarding paths pass generationMode: "full" but this helper still treats any existing cache file as sufficient. In that scenario setupWizardShellCompletion installs or accepts the stale core-only cache, so plugin CLI commands remain missing even though the user-facing/onboarding path requested a full completion cache; force regeneration for full mode or record enough metadata to distinguish cache modes.

Useful? React with 👍 / 👎.

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. 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 5, 2026
@steipete
steipete force-pushed the codex/fix-doctor-completion-cache branch from 31705cc to 84fa2d9 Compare July 5, 2026 12:13
@openclaw-barnacle openclaw-barnacle Bot added size: S and removed docker Docker and sandbox tooling size: M labels Jul 5, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

return generateCompletionCache(options);

P2 Badge Limit core-only writes to the checked shell

When callers omit options.shell, this helper checks only the detected shell above, but then spawns completion --write-state without --shell; the completion command treats that as writing every shell cache. In the new core-only update/repair callers, fixing one missing shell cache can therefore overwrite existing full caches for other shells with plugin-free scripts, causing users in those shells to lose plugin command completion. Pass the resolved shell into generateCompletionCache for these ensure writes.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

}

const cacheGenerated = await ensureCompletionCacheExists(CLI_NAME);
const cacheGenerated = await ensureCompletionCacheExists(CLI_NAME, generationOptions);

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.

P2 Badge Use full cache generation for prompted installs

When an interactive update finds no profile installed and the user accepts the Enable ... shell completion prompt, this reuses the core-only repair options. That mode sets OPENCLAW_COMPLETION_SKIP_PLUGIN_COMMANDS=1, and the completion command skips plugin CLI registration under that env var, so a newly installed completion profile omits every plugin command until the user knows to manually rebuild the cache. Keep core-only for repair-only paths, but generate a full cache for this initial install path.

Useful? React with 👍 / 👎.

@steipete
steipete force-pushed the codex/fix-doctor-completion-cache branch from 84fa2d9 to c327f7d Compare July 5, 2026 12:22

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c327f7d1c3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


if (shouldInstall) {
const generated = await generateCompletionCache();
const generated = await generateCompletionCache({ generationMode: "core-only" });

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.

P2 Badge Generate full caches for doctor installs

When a user has no completion profile and accepts the interactive openclaw doctor prompt, this now writes the cache with generationMode: "core-only". That sets OPENCLAW_COMPLETION_SKIP_PLUGIN_COMMANDS=1, and src/cli/completion-cli.ts skips registerPluginCliCommandsFromValidatedConfig under that guard, so the newly installed profile points at a cache missing every plugin CLI command until the user manually rebuilds it. Keep the core-only mode for automatic doctor repairs, but use a full cache for this explicit install prompt.

Useful? React with 👍 / 👎.

@steipete
steipete force-pushed the codex/fix-doctor-completion-cache branch from c327f7d to 5b29853 Compare July 5, 2026 12:43
@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. labels Jul 5, 2026
@steipete
steipete force-pushed the codex/fix-doctor-completion-cache branch from 5b29853 to a34278d Compare July 5, 2026 14:25
@steipete
steipete merged commit 17c0ad8 into main Jul 5, 2026
97 checks passed
@steipete
steipete deleted the codex/fix-doctor-completion-cache branch July 5, 2026 14:33

steipete commented Jul 5, 2026

Copy link
Copy Markdown
Contributor Author

Landed as 17c0ad8. The rewrite makes completion-cache generation explicit: doctor/update repair use core-only, onboarding and user rebuilds use full, and full generation clears an ambient recursion guard. Blacksmith proof covered 195 focused tests, a full build, changed-surface gates, and isolated workspace-plugin marker behavior; fresh autoreview was clean; exact-head CI run 28743913727 completed successfully.

github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 6, 2026
* fix(completion): make cache generation mode explicit

* test(completion): type spawned cache options

* fix(completion): require explicit cache binary name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli CLI command changes commands Command implementations maintainer Maintainer-authored PR 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. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. scripts Repository scripts size: S 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