Skip to content

fix(acp): re-add opt-in parent commentary progress#89505

Merged
obviyus merged 11 commits into
openclaw:mainfrom
100yenadmin:codex/acp-commentary-progress
Jun 4, 2026
Merged

fix(acp): re-add opt-in parent commentary progress#89505
obviyus merged 11 commits into
openclaw:mainfrom
100yenadmin:codex/acp-commentary-progress

Conversation

@100yenadmin

@100yenadmin 100yenadmin commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds an opt-in ACP stream setting for parent-owned Codex/ACP runs:

  • Adds acp.stream.assistantCommentary with a default-off config/schema/docs surface.
  • Threads that setting into sessions_spawn(..., runtime: "acp", streamTo: "parent") parent-stream relays.
  • Keeps existing default behavior: phase: "commentary" assistant text is still hidden unless the operator enables the new option.
  • When enabled, assistant commentary and ACP status progress allowed by acp.stream.tagVisibility use the same bounded parent-stream buffering/truncation path as other assistant progress text.
  • Keeps final-answer selection/delivery unchanged.

This matters now because long CodexAgent ACP runs can be visibly active in tool logs while the parent OpenClaw conversation receives no natural-language progress updates. The existing relay counted commentary as internal progress but returned before any user-visible update, so operators could wait through long tool-heavy runs without knowing what was happening.

Intended outcome: deployments that want a more Codex-Desktop-like status experience can turn on assistant-authored progress/status text for ACP parent streams without changing current quiet defaults.

Out of scope: Discord-specific streaming.progress.commentary behavior, hidden chain-of-thought exposure, final transcript projection, or durable final-answer semantics.

Success looks like: default suppression remains unchanged; enabling acp.stream.assistantCommentary relays commentary into parent progress updates; final-answer relay still works as before.

Review focus: the config name/default, whether acp.stream is the right namespace, and the parent-stream classification behavior for opted-in commentary.

Scenario at a glance

The operator-facing failure mode is easiest to see as a long-running run:

Step Current OpenClaw ACP parent stream Codex Desktop / Claude Code-style expectation This PR
User asks a broad request Parent chat accepts the request. Same. Same.
Agent works for 30+ minutes Tool calls, file reads, and commands may be visible only in tool/log views, verbose mode, or diagnostics surfaces. The agent periodically sends brief assistant-authored commentary between tool batches. Default remains quiet; acp.stream.assistantCommentary: true enables bounded parent-visible commentary.
During the run The parent conversation can look silent even though the child runtime is active. The user gets lightweight "I am checking X now" style updates without opening raw tool streams. Opted-in users get the same kind of progress signal.
Final answer Final-answer handling works as before. Final answer arrives after the work. Final-answer handling remains unchanged.

This is a gateway/operator config choice, not a request to force commentary on everyone and not a per-user or per-sessions_spawn override. Existing deployments keep the current default. Operators who want a Codex-Desktop-like progress experience for ACP parent streams can turn it on explicitly for ACP parent streams served by that config.

Behavior diagrams

Current behavior:

sequenceDiagram
  participant U as User
  participant P as Parent OpenClaw chat
  participant A as ACP CodexAgent child
  participant T as Tools and logs

  U->>P: Ask broad request
  P->>A: sessions_spawn streamTo parent
  loop long tool-heavy work
    A->>T: tool calls and command output
    A-->>A: commentary updates internal progress only
    A--xP: no parent-visible text
  end
  A->>P: final answer
Loading

Opt-in behavior from this PR:

sequenceDiagram
  participant U as User
  participant P as Parent OpenClaw chat
  participant A as ACP CodexAgent child
  participant T as Tools and logs

  U->>P: Ask broad request
  P->>A: sessions_spawn streamTo parent
  Note over P,A: acp.stream.assistantCommentary = true
  loop long tool-heavy work
    A->>T: tool calls and command output
    A->>P: bounded commentary progress
  end
  A->>P: final answer
Loading

Linked context

Closes #89501

Related:

Requested by an OpenClaw/Codex operator report: local CodexAgent runs made many tool calls for long periods but did not provide interim message updates, making it unclear whether the agent was healthy or stuck.

Real behavior proof (required for external PRs)

  • Behavior or issue addressed: ACP parent stream hard-suppressed assistant phase: "commentary" text and did not surface ACP status progress allowed by the existing tag-visibility policy even when streamTo: "parent" was requested.
  • Real environment tested: Local OpenClaw source checkout under /Volumes/LEXAR/repos/openclaw-codex-claw-builtin, branch codex/acp-commentary-progress.
  • Exact steps or command run after this patch: from the repo root, run node --import tsx /Volumes/LEXAR/Codex/openclaw-acp-commentary-proof.mjs. The script imports the patched OpenClaw relay module, emits an assistant event through the production agent-event bus, then drains the parent session's OpenClaw system-event queue.
  • Evidence after fix:
OpenClaw ACP parent relay console proof
repo: /Volumes/LEXAR/repos/openclaw-codex-claw-builtin
input event A: assistant phase=commentary
assistantCommentary=false parent events: []
assistantCommentary=true parent events: ["codex: checking workspace and tool state before the next step"]
input event B: ACP runtime status tag=plan
assistantCommentary=false parent events: []
assistantCommentary=true, default tagVisibility parent events: []
assistantCommentary=true, tagVisibility.plan=true parent events: ["codex: plan: inspect the runtime handoff first"]
  • Observed result after fix: with the default configuration, neither input event produces parent-visible text. With assistantCommentary: true, the phased assistant input produces codex: checking workspace and tool state before the next step. The plan status remains hidden by default and only produces codex: plan: inspect the runtime handoff first when tagVisibility.plan=true.
  • What was not tested: a live remote ACP/Codex harness run through an actual user channel. That path depends on host auth/runtime setup and can be long-running or credential-consuming.
  • Before evidence: current main had an explicit if (assistantPhase === "commentary") { lastProgressAt = Date.now(); return; } branch in src/agents/acp-spawn-parent-stream.ts.

Tests and validation

Commands run:

  • CI=true pnpm install --frozen-lockfile --ignore-scripts --prefer-offline
  • node scripts/run-vitest.mjs run --config test/vitest/vitest.agents.config.ts src/agents/acp-spawn-parent-stream.test.ts --pool forks --maxWorkers=1 (passed: 17 tests)
  • node scripts/run-vitest.mjs run --config test/vitest/vitest.agents.config.ts src/agents/acp-spawn.test.ts --pool forks --maxWorkers=1 -t 'streamTo="parent"|announces parent relay start' (passed: 4 tests, 61 skipped)
  • node scripts/run-vitest.mjs run --config test/vitest/vitest.runtime-config.config.ts src/config/schema.help.quality.test.ts src/config/schema.test.ts --pool forks --maxWorkers=1 (passed: 71 tests)
  • pnpm exec oxfmt --check src/agents/acp-spawn.ts src/agents/acp-spawn-parent-stream.ts src/agents/acp-spawn-parent-stream.test.ts src/auto-reply/reply/acp-stream-settings.ts src/config/types.acp.ts src/config/zod-schema.ts src/config/schema.help.ts src/config/schema.labels.ts (passed)
  • pnpm config:docs:check (passed after pnpm config:docs:gen)
  • pnpm tsgo:prod (passed after the follow-up fixes)
  • pnpm exec oxlint --tsconfig config/tsconfig/oxlint.core.json src/agents/acp-spawn.ts src/agents/acp-spawn-parent-stream.ts src/agents/acp-spawn-parent-stream.test.ts src/auto-reply/reply/acp-stream-settings.ts src/config/schema.help.ts --type-aware --report-unused-disable-directives-severity error --threads=4 (passed)
  • git diff --check (passed)

Regression coverage added:

  • Default commentary suppression remains tested.
  • New opt-in commentary relay is tested.
  • New opt-in ACP status progress relay honors acp.stream.tagVisibility.
  • Hidden ACP status tags such as plan, usage/config/tool/session-info remain suppressed from parent progress unless explicitly enabled by tag visibility.
  • Opted-in commentary/status progress is classified as visible output for stall/no-output messaging.
  • Config schema/help/doc baseline accepts the new key.

Acceptance proof:

  • Default-off suppression is covered by suppresses commentary-phase assistant relay text and the status-progress proof script default case.
  • Opt-in relay is covered by the assistant-commentary enabled test and the ACP status-progress enabled-with-tag-visibility test.
  • Stall/no-output classification is covered by the opted-in visible-output test.
  • Config schema/help/docs coverage proves the new key is documented and accepted.

Failed/limited:

  • pnpm tsgo:test:src was started earlier as a broader compile check but produced no output for roughly 95 seconds; it was terminated to avoid a long local validation run.
  • pnpm check:test-types was started after the follow-up type-shape fix, but local tsgo:core:test produced no diagnostics or completion after roughly 4 minutes 20 seconds and was terminated. Remote CI should carry broader test typechecking.
  • pnpm lint --threads=4 was started after the tag-visibility fix, but the local core shard produced no diagnostics after roughly 5 minutes 30 seconds and was terminated. The changed TypeScript files passed targeted type-aware oxlint; remote CI should carry broad lint.

Risk checklist

Did user-visible behavior change? (Yes/No)

Yes, but only when acp.stream.assistantCommentary: true is set. Defaults remain unchanged.

Did config, environment, or migration behavior change? (Yes/No)

Yes. Adds an optional config key under acp.stream; no migration required.

Did security, auth, secrets, network, or tool execution behavior change? (Yes/No)

No tool execution/auth/network behavior changes. The user-visible risk is exposing assistant-authored commentary/status progress text when explicitly configured and allowed by tag visibility. This relies on the ACP phase/status contract; it does not opt into hidden reasoning or chain-of-thought.

What is the highest-risk area?

Accidentally making commentary/status progress visible by default, relaying hidden thought/status tags, or changing final-answer behavior.

How is that risk mitigated?

The new option defaults off, existing suppression tests remain, hidden ACP status tags are filtered, and the implementation only changes the parent-stream relay branch when assistantCommentary === true. Final-answer relay code remains on the existing path.

Current review state

Next action: maintainer review.

Waiting on: maintainer preference on the exact config name/namespace. Current-head CI/proof checks are green or intentionally skipped.

Bot/reviewer comments addressed: none yet.

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation gateway Gateway runtime agents Agent runtime and tooling size: S triage: mock-only-proof Candidate: PR proof only shows tests, mocks, snapshots, lint, typecheck, or CI. labels Jun 2, 2026
@clawsweeper

clawsweeper Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed June 4, 2026, 9:16 AM ET / 13:16 UTC.

Summary
The branch threads config into ACP parent-stream relays, relays assistant commentary/preamble and tag-visible ACP status progress, broadens progress-commentary schema/types, updates ACP docs, and adds relay/config tests.

PR surface: Source +212, Tests +835, Docs +6, Generated 0. Total +1053 across 11 files.

Reproducibility: yes. for the source-level behavior: current main suppresses commentary-phase ACP parent relay text, and the PR source/tests show the changed eligibility path. I did not run a live ACP-to-channel scenario in this read-only review.

Review metrics: 1 noteworthy metric.

  • Config/default surfaces: 1 shared progress option broadened; 1 Discord ACP parent-stream default changed. This affects upgrade behavior and operator expectations even though the runtime change is small.

Merge readiness
Overall: 🦪 silver shellfish
Proof: 🦪 silver shellfish
Patch quality: 🦪 silver shellfish
Result: blocked until stronger real behavior proof is added.

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

Rank-up moves:

  • Get a maintainer decision on the Discord default and config namespace, then align code and docs to that choice.
  • Update the PR body with current-head real behavior proof for streaming.progress.commentary, including the default-off/default-on cases maintainers choose.

Proof guidance:

  • [P1] Needs stronger real behavior proof before merge: The terminal proof is useful, but it names a stale assistantCommentary toggle and does not demonstrate the current streaming.progress.commentary surface or Discord default-visible path. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Mantis proof suggestion
A visible parent-stream proof would materially help if maintainers consider keeping default-visible Discord progress behavior. A maintainer can ask Mantis to capture proof by posting a new PR comment that starts with the OpenClaw Mantis account mention, followed by:

visual task: verify a Discord ACP parent stream shows commentary only under the chosen streaming.progress.commentary default and final answer delivery stays unchanged.

Risk before merge

  • [P1] Existing Discord ACP parent streams with no explicit progress-commentary setting can start sending assistant commentary/status progress unless operators add streaming.progress.commentary=false.
  • [P1] The PR body still describes acp.stream.assistantCommentary, while the code/docs use channels..streaming.progress.commentary; release and operator guidance need one current contract.
  • [P1] The supplied terminal proof covers a relay-level path but not the current head's Discord default-visible behavior or current config surface.

Maintainer options:

  1. Keep Discord opt-in before merge (recommended)
    Make Discord ACP parent commentary/status progress require an explicit streaming.progress.commentary=true setting unless maintainers approve a default flip.
  2. Approve the Discord default flip
    Maintainers can intentionally accept default-visible Discord parent progress, but the PR body, docs, and upgrade notes should say existing deployments may need streaming.progress.commentary=false to stay quiet.
  3. Pause for namespace decision
    If acp.stream versus channel streaming config is still unsettled, pause the PR until the permanent operator-facing config contract is chosen.

Next step before merge

  • [P1] The remaining blocker is maintainer choice on default visibility and config namespace, not a narrow automation-safe repair.

Security
Cleared: No dependency, workflow, auth, secret, network, or tool-execution surface changed; the sensitive part is message visibility and is covered as merge risk.

Review findings

  • [P1] Keep Discord parent commentary opt-in until approved — src/agents/acp-spawn-parent-stream.ts:204
Review details

Best possible solution:

Land only after maintainers explicitly choose the channel-level default and namespace; absent that approval, keep commentary default-off for existing Discord parent streams and align docs, PR body, and proof with the chosen config.

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

Yes for the source-level behavior: current main suppresses commentary-phase ACP parent relay text, and the PR source/tests show the changed eligibility path. I did not run a live ACP-to-channel scenario in this read-only review.

Is this the best way to solve the issue?

No, not yet. Reusing channel progress config may be reasonable, but the Discord default-visible behavior is a compatibility/product decision and the safer default is explicit opt-in unless maintainers choose otherwise.

Full review comments:

  • [P1] Keep Discord parent commentary opt-in until approved — src/agents/acp-spawn-parent-stream.ts:204
    Current main hard-suppresses commentary-phase ACP parent relays, but this passes true as the Discord fallback and the helper also defaults unconfigured Discord parent streams into progress mode. Existing Discord ACP parent streams with channels.discord: {} will start sending assistant commentary/status progress unless operators set streaming.progress.commentary=false, so this needs explicit maintainer approval or a default-off fix before merge.
    Confidence: 0.9

Overall correctness: patch is incorrect
Overall confidence: 0.88

AGENTS.md: found and applied where relevant.

Codex review notes: model gpt-5.5, reasoning high; reviewed against 087fcf40858b.

Label changes

Label changes:

  • add rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish and patch quality is 🦪 silver shellfish.
  • add status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: The terminal proof is useful, but it names a stale assistantCommentary toggle and does not demonstrate the current streaming.progress.commentary surface or Discord default-visible path. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • remove rating: 🐚 platinum hermit: Current PR rating is rating: 🦪 silver shellfish, so this older rating label is no longer current.
  • remove status: 👀 ready for maintainer look: Current PR status label is status: 📣 needs proof.

Label justifications:

  • P3: This is a useful ACP progress ergonomics/config change with limited blast radius, not an urgent production outage fix.
  • merge-risk: 🚨 compatibility: The diff changes the effective default for existing Discord ACP parent streams that have no explicit commentary setting.
  • merge-risk: 🚨 message-delivery: The diff can newly send assistant commentary/status progress into parent channels where current main suppresses it.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish and patch quality is 🦪 silver shellfish.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: The terminal proof is useful, but it names a stale assistantCommentary toggle and does not demonstrate the current streaming.progress.commentary surface or Discord default-visible path. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed

PR surface:

Source +212, Tests +835, Docs +6, Generated 0. Total +1053 across 11 files.

View PR surface stats
Area Files Added Removed Net
Source 7 266 54 +212
Tests 2 837 2 +835
Docs 1 6 0 +6
Config 0 0 0 0
Generated 1 9 9 0
Other 0 0 0 0
Total 11 1118 65 +1053

What I checked:

Likely related people:

  • vincentkoc: History shows commit 7315914 added the commentary suppression branch and regression tests in the ACP parent relay. (role: introduced current suppression behavior; confidence: high; commits: 7315914ee50d, 2e08f0f4221f; files: src/agents/acp-spawn-parent-stream.ts, src/agents/acp-spawn-parent-stream.test.ts)
  • Bob: History shows commit 257e2f5 added the ACP sessions_spawn parent-stream relay and tests. (role: introduced parent relay surface; confidence: high; commits: 257e2f5338d1; files: src/agents/acp-spawn-parent-stream.ts, src/agents/acp-spawn-parent-stream.test.ts, src/agents/acp-spawn.ts)
  • Ping: History shows commit e3f81b1 updated ACP parent delivery context routing for this relay path. (role: adjacent parent delivery routing contributor; confidence: medium; commits: e3f81b151ee4; files: src/agents/acp-spawn-parent-stream.ts, src/agents/acp-spawn.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.

@openclaw-barnacle openclaw-barnacle Bot added proof: supplied External PR includes structured after-fix real behavior proof. and removed triage: mock-only-proof Candidate: PR proof only shows tests, mocks, snapshots, lint, typecheck, or CI. labels Jun 2, 2026
@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. P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. labels Jun 2, 2026
@100yenadmin 100yenadmin changed the title feat(acp): add opt-in parent commentary progress fix(acp): add opt-in parent commentary progress Jun 2, 2026
@100yenadmin 100yenadmin changed the title fix(acp): add opt-in parent commentary progress fix(acp): re-add opt-in parent commentary progress Jun 2, 2026
@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 Jun 2, 2026
@100yenadmin

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jun 2, 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: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. labels Jun 2, 2026
@100yenadmin

Copy link
Copy Markdown
Contributor Author

@steipete While the default behavior is set to off, I recommend actually making this the default OpenClaw behavior (returning back to this as default) as this is default Codex behavior and expected behavior by users of any agent app. This was suppressed a few weeks ago for token savings however it doesn't actually save any tokens and leads users to think agent is stalled given agent does not respond for long runs.

@100yenadmin

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Fixed in a6f72f8799: ACP parent status progress now reuses the canonical ACP tag-visibility policy via isAcpTagVisible(resolveAcpProjectionSettings(cfg), tag) instead of a separate hard-coded hidden set. plan remains hidden by default and only relays when acp.stream.tagVisibility.plan=true. Tests: src/agents/acp-spawn-parent-stream.test.ts covers both enabled tag visibility and default-hidden plan; the PR body proof output is updated with the default-hidden and explicit-opt-in cases.

@clawsweeper

clawsweeper Bot commented Jun 2, 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: 🌊 off-meta tidepool PR readiness rating does not apply to this item. and removed 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. labels Jun 2, 2026
@100yenadmin

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Previous targeted ClawSweeper run 26833168543 reached the Codex reviewer timeout (spawnSync codex ETIMEDOUT) before evaluating this PR. Current head is a6f72f87992c6ca28b39c2ab5b825660af85b705; GitHub reports MERGEABLE/CLEAN, OpenClaw CI/proof checks are green, and the latest patch specifically fixes the prior tag-visibility finding. Please retry the current head.

@clawsweeper clawsweeper Bot added rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. and removed 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. labels Jun 4, 2026
@obviyus obviyus force-pushed the codex/acp-commentary-progress branch from deae8c2 to c216553 Compare June 4, 2026 12:34
@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: 🌊 off-meta tidepool PR readiness rating does not apply to this item. labels Jun 4, 2026
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label Jun 4, 2026
@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. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jun 4, 2026
@obviyus obviyus merged commit e59a768 into openclaw:main Jun 4, 2026
157 of 160 checks passed
@obviyus

obviyus commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Landed via rebase onto main.

  • Scoped tests: node scripts/run-vitest.mjs run --config test/vitest/vitest.agents.config.ts src/agents/acp-spawn-parent-stream.test.ts --pool forks --maxWorkers=1
  • Config/runtime tests: node scripts/run-vitest.mjs run --config test/vitest/vitest.config.ts src/config/schema.test.ts extensions/telegram/src/config-schema.test.ts src/agents/acp-spawn-parent-stream.test.ts --pool forks --maxWorkers=1
  • Type checks: node scripts/run-tsgo.mjs -p tsconfig.core.json --noEmit --pretty false; pnpm tsgo:test
  • Lint/generated/build: node scripts/run-oxlint.mjs src/agents/acp-spawn-parent-stream.ts; node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check; pnpm build; git diff --check
  • Review gate: .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main clean
  • Changelog: not updated; release generation owns CHANGELOG.md
  • Land commit: 6467c82144b6d1580c88f8e1f86ed7042b4fbb34
  • Merge commit: e59a7680e66a2afadc2e69bf2c87a7b009cdd249

Thanks @100yenadmin!

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

Labels

agents Agent runtime and tooling docs Improvements or additions to documentation 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. P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. size: XL status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[fix] Add opt-in ACP CodexAgent commentary progress in parent streams

2 participants