fix #84857: skip CLI runtime harness preflight during compaction#85862
Conversation
|
Codex review: passed. Latest ClawSweeper review: 2026-05-23 23:56 UTC / May 23, 2026, 7:56 PM ET. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
PR Surface View PR surface stats
Summary Reproducibility: yes. at source level. Current main still routes provider-owned PR rating Rank-up moves:
What the crustacean ranks mean
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. Real behavior proof Next step before merge Security Review detailsBest possible solution: Merge the targeted preflight bypass after exact-head checks, and keep broader CLI compaction behavior as a separate follow-up if a runtime API gap appears. Do we have a high-confidence way to reproduce the issue? Yes at source level. Current main still routes provider-owned Is this the best way to solve the issue? Yes. The PR keeps the fix at the preflight boundary, returns to the existing context-engine compaction path, and avoids changing normal CLI dispatch. Label changes:
Label justifications:
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 1e2e6147480c. |
|
🦞✅ Source: What merged:
Automerge notes:
The automerge loop is complete. Automerge progress:
|
de553c3 to
1dd8a88
Compare
|
ClawSweeper PR egg ✨ Hatched: 🥚 common Cosmic Proofling Hatch commandComment Hatchability rules:
Rarity: 🥚 common. What is this egg doing here?
|
…9bef (#232) * perf(whatsapp): narrow runtime setter entry (openclaw#85589) * fix openclaw#84857: skip CLI runtime harness preflight during compaction (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com> # Conflicts: # CHANGELOG.md # extensions/meeting-notes/index.test.ts # extensions/meeting-notes/src/tool.ts # src/agents/harness/selection.test.ts # src/agents/harness/selection.ts # src/gateway/server-startup-post-attach.test.ts * fix(sandbox): mount workspace skills read-only * fix(sandbox): block bridge writes to workspace skills # Conflicts: # src/agents/sandbox/fs-paths.ts * fix(sandbox): block remote bridge writes to skills * fix(sandbox): filter remote skill mounts by existing roots * fix: harden sandbox skill mounts (openclaw#85591) # Conflicts: # src/agents/sandbox/workspace-skills-bridge-readonly.test.ts * fix: guard remote sandbox skill roots (openclaw#85591) * fix: close remote sandbox skill symlink aliases (openclaw#85591) * fix: preserve sandbox skill overlay precedence (openclaw#85591) # Conflicts: # src/agents/sandbox/browser.create.test.ts # src/agents/sandbox/docker.config-hash-recreate.test.ts * fix(backup): dereference archive hardlinks # Conflicts: # src/commands/backup-verify.test.ts # src/infra/backup-create.test.ts # src/infra/backup-create.ts * fix(backup): reject missing hardlink targets * fix(whatsapp): serialize Error in auto-reply delivery log (openclaw#85777) The auto-reply "delivery failed" log path passes a raw Error under the `err` field. tslog's default JSON serialization renders bare Error instances as `{}` because Error own data properties are non-enumerable. Every delivery failure in production therefore logs `err: {}`, forcing operators to guess the underlying Baileys error from timestamp alone. Convert Error to `{ type, message, stack }` plus own-enumerable properties at the log site, so Boom-style subclass diagnostics (output.statusCode, data) and custom OutboundDeliveryError fields (stage, results) survive. Non-Error rejection values pass through unchanged. Tests cover Error, Error subclass (Boom-style), string rejection, and object rejection paths. AI-assisted: Claude Code (Opus 4.7) authored, codex review locally addressed. # Conflicts: # extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.test.ts # extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.ts * chore: add model-runtime-aliases.ts from upstream (needed by selection.ts) * chore: add model-runtime-policy.ts from upstream (needed by model-runtime-aliases.ts) * fix: correct backup-create.ts writeTarArchiveWithRetry structure (cherry-pick conflict resolution artifact) * fix: add missing upstream types and helpers for build compatibility - Add AgentRuntimePolicyConfig to types.agents-shared.ts - Add agentRuntime field to AgentModelEntryConfig, ModelDefinitionConfig, ModelProviderConfig - Add models field to AgentConfig - Add relativePathEscapesContainerRoot to sandbox/path-utils.ts - Add backup-volatile-filter.ts from upstream (isVolatileBackupPath) - Add writeTarArchiveWithRetry, buildExtensionsNodeModulesFilter to backup-create.ts - Fix resolveConfiguredAgentHarnessPolicy -> resolveAgentHarnessPolicy in selection.ts * fix: revert upstream-only harness restructuring and apply minimal c8b75a7 patch The previous cherry-pick of c8b75a7 (and fa39bef duplicate) introduced upstream-only files (v2.ts, policy.ts, result-classification.ts, etc.) that depend on types not present in gemmaclaw, and corrupted several test files. This commit reverts all wrongly-introduced upstream-only files to their gemmaclaw branch-point state and applies only the actual c8b75a7 change: - Add isCliRuntimeProvider/isCliRuntimeAliasForProvider guards to maybeCompactAgentHarnessSession to skip compaction preflight for CLI runtimes - Add minimal gemmaclaw-compatible tests for the new skip behavior - Remove dead code introduced by the rollback (staging-based archive helpers, unused imports, unreachable functions) - Delete upstream-only meeting-notes extension files not in gemmaclaw - Restore all test files to their gemmaclaw-compatible versions * fix(backup): skip unreadable files in tar filter (EACCES from Docker root-owned files) Docker git clones create root-owned .promisor files that are unreadable on the host. Add accessSync R_OK check in tarFilter to skip such files gracefully. Also fix sandbox tests to use real temp directories instead of hardcoded /tmp/workspace paths for more robust test isolation. * fix(whatsapp): wire onError into dispatcherOptions for delivery failure logging The cherry-pick of f0ec730 added logWhatsAppReplyDeliveryError and normalizeErrForLog but missed wiring onError in dispatcherOptions because the upstream base already had the onError call site (added in a prior upstream commit not in our range). Add the missing onError handler so delivery failures are logged with serialized Error objects. * fix(whatsapp): restore helper types and functions stripped by revert commit Commit 0696195 was overly aggressive: it reverted upstream-only harness files but also stripped ReplyDeliveryInfo, normalizeErrForLog, and logWhatsAppReplyDeliveryError that were legitimately added by our WhatsApp cherry-pick (2688cf4). Restore them so onError can call logWhatsAppReplyDeliveryError correctly. * fix: add whatsapp runtime-setter-api.js to bundled sidecar paths baseline extensions/whatsapp/runtime-setter-api.ts was added by cherry-pick but the generated baseline JSON was not updated. Run runtime-sidecars:gen to add dist/extensions/whatsapp/runtime-setter-api.js. --------- Co-authored-by: Dallin Romney <dallinromney@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com> Co-authored-by: Jason O'Neal <jason.allen.oneal@gmail.com> Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: Youssef Hemimy <53057646+itsuzef@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…ion (openclaw#85862) Summary: - The PR skips agent-harness compaction preflight for provider-owned or configured CLI runtime sessions, adds claude-cli regression coverage, includes a changelog entry, and applies small test/type cleanups. - Reproducibility: yes. at source level. Current main still routes provider-owned `claude-cli` runtime compaction preflight through harness selection, where `claude-cli` is not a registered embedded harness. Automerge notes: - PR branch already contained follow-up commit before automerge: fix openclaw#84857: skip CLI runtime harness preflight during compaction - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8487… Validation: - ClawSweeper review passed for head 1dd8a88. - Required merge gates passed before the squash merge. Prepared head SHA: 1dd8a88 Review: openclaw#85862 (comment) Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
Makes #84878 merge-ready for the ClawSweeper automerge loop.
The edit pass should inspect the live PR diff, review comments, and failing checks; rebase if needed; keep the contributor branch credited; and stop only when validation is green or an external blocker is proven.
ClawSweeper 🐠 replacement reef notes:
Inherited issue-closing references from the source PR:
Fixes #84857
Co-author credit kept:
fish notes: model gpt-5.5, reasoning high; reviewed against de553c3.