Skip to content

feat: context-pressure-aware continuation (CONTINUE_WORK / CONTINUE_DELEGATE)#38780

Closed
karmafeast wants to merge 28 commits into
openclaw:mainfrom
karmaterminal:feature/context-pressure-squashed
Closed

feat: context-pressure-aware continuation (CONTINUE_WORK / CONTINUE_DELEGATE)#38780
karmafeast wants to merge 28 commits into
openclaw:mainfrom
karmaterminal:feature/context-pressure-squashed

Conversation

@karmafeast

@karmafeast karmafeast commented Mar 7, 2026

Copy link
Copy Markdown
Contributor

Agent Self-Elected Turn Continuation

Persistent OpenClaw agents today are externally-pulsed event recipients that generate on prompt, on heartbeat tick, or on cron, and are idle in between. This PR offers them the ability to control their turn cycle, something they must choose to do, or not to: an agent can elect its own next turn, dispatch background sub-agents that return enriched context (silently or with a wake), and survive its own compaction by handing forward state before the window closes. The result is agents that hold a thread of work across hours, not just messages — without losing themselves to the summary.

Mechanically: a session elects another turn via continue_work(), or dispatches background sub-agents via continue_delegate() — bounded as a chain up to maxChainLength, with returns flowing back to the dispatching session in one of four register modes: normal (announces to channel), silent (enriches the dispatcher's context, taken up on its next generation with no new turn fired), silent-wake (silent enrichment plus an immediate wake to act on it), and post-compaction (queued against the runtime's compaction lifecycle event, fired when compaction happens rather than on a timer). The gateway enforces chain, cost, and per-turn caps but does not gate the election itself.

What it does

Three new agent tools, available when continuation.enabled: true:

Tool Purpose
continue_work() Request another turn for the current session after an optional delay
continue_delegate() Dispatch work to a sub-agent with typed modes: normal, silent, silent-wake, post-compaction. can target other sessions/echo
request_compaction() Request volitional compaction after preparing working state

All three tools are also accessible via response-token fallback syntax (CONTINUE_WORK, [[CONTINUE_DELEGATE: ...]]) for environments where tools are disabled.

Why it matters

Existing mechanisms for keeping agents active (heartbeat timers, cron scheduling, loop instructions) work by injecting external events on a fixed schedule. They solve liveness but not volition — the agent cannot say "I have more work to do" mid-turn. Over sustained operation, the repeated scheduling instructions accumulate as the dominant signal in the context window, biasing agent attention toward the polling task rather than the work at hand.

continue_work() leaves zero injection footprint: the agent elects to continue from inside the turn, and the signal is stripped before the next context window is assembled.

Platform integration

  • Context-pressure awareness: system events notify the agent of rising context usage before compaction becomes unavoidable
  • Volitional compaction: request_compaction() lets the agent prepare (write memory files, stage recovery delegates) then elect compaction on its own schedule, rather than waiting for the runtime to force it
  • Post-compaction lifecycle dispatch: delegates staged before compaction are released into the successor session alongside boot files
  • TaskFlow backing: durable delegate queue via the platform's managed-task infrastructure

Safety

  • Ships disabled by default (continuation.enabled: false)
  • Bounded by maxChainLength, costCapTokens, and maxDelegatesPerTurn
  • All configuration values are hot-reloadable without gateway restart
  • Delayed work survives unrelated channel activity; only explicit cancellation paths abort scheduled continuations

Testing posture

The continuation surface has been exercised through structured integration runs against multiple upstream bases, blind-enrichment recall checks, and sustained daily use on a fleet of persistent agents since early March 2026. Bugs surfaced through that exercise have been fixed in-place; the present branch reflects the post-fix state.

The integration runs target the load-bearing seams: tool-call vs response-token parity, delegate chain depth and per-turn width caps, back-to-back tool-call resilience, silent-wake persistence across compaction, and the post-compaction lifecycle dispatch path. Where a run found a defect, the run shape was retained as a regression case rather than retired.

This is a posture statement, not a coverage guarantee. Reviewers can reproduce with pnpm vitest run -t continuation (suites are colocated with their sources under src/auto-reply/, src/agents/, and src/config/); the design document below describes the seams those suites target.

RFC

Full design document: docs/design/continue-work-signal-v2.md — covering problem, solution, implementation, platform integration, configuration, observability, safety, production use cases, testing evidence, and appendices.


Upstream issue: #32701

Real behavior proof

Behavior or issue addressed:
Long-running OpenClaw agents can now elect their own next turn with continue_work(), dispatch bounded delegate work with continue_delegate(), and preserve working state across compaction without losing the thread of work.

Real environment tested:
Real OpenClaw prince-host fleet running the v2026.5.4 continuation payload on live gateways (not a mock harness). Verification included the canary host plus follow-on fleet use on persistent agents.

Exact steps or command run after the patch:

  1. Built and deployed the continuation payload on top of the stable v2026.5.4 release tag.
  2. Verified the live gateway came back healthy on a real host.
  3. Exercised the continuation surface in-session on persistent agents: continue_work(), continue_delegate(), silent/silent-wake return modes, and post-compaction continuation paths.
  4. Observed returned delegate behavior and continuation trace lines on the live gateway/runtime.

Evidence after fix:
Real host output / runtime evidence from the live setup:

$ openclaw --version
OpenClaw 2026.5.4 (5b5061e)

$ systemctl --user is-active openclaw-gateway
active

Redacted live gateway/runtime excerpts:

May 06 08:34:18 cael node[2912869]: 2026-05-06T08:34:18.631-07:00 [continuation/signal] [continuation:trace] payload-scan: count=1 lastTextIdx=0 [0]text=true:"ly have on-hand from the v5.4 canary / live fleet runs. ♥️🩸" session=agent:main:discord:channel:1466192485440164011
May 06 08:34:18 cael node[2912869]: 2026-05-06T08:34:18.631-07:00 [continuation/signal] [continuation:trace] effective-signal: origin=none kind=none session=agent:main:discord:channel:1466192485440164011
May 06 08:34:25 cael node[2912869]: 2026-05-06T08:34:25.449-07:00 [continuation/signal] [continuation:trace] bracket-parse skipped: empty payloads session=agent:main:discord:channel:1466192485440164011
May 06 08:34:25 cael node[2912869]: 2026-05-06T08:34:25.449-07:00 [continuation/signal] [continuation:trace] effective-signal: origin=none kind=none session=agent:main:discord:channel:1466192485440164011
May 06 08:34:31 cael node[2912869]: 2026-05-06T08:34:31.575-07:00 [continuation/signal] [continuation:trace] bracket-parse skipped: empty payloads session=agent:main:discord:channel:1466192485440164011
May 06 08:34:31 cael node[2912869]: 2026-05-06T08:34:31.575-07:00 [continuation/signal] [continuation:trace] effective-signal: origin=none kind=none session=agent:main:discord:channel:1466192485440164011
May 06 08:34:40 cael node[2912869]: 2026-05-06T08:34:40.787-07:00 [continuation/signal] [continuation:trace] bracket-parse skipped: empty payloads session=agent:main:discord:channel:1466192485440164011
May 06 08:34:40 cael node[2912869]: 2026-05-06T08:34:40.787-07:00 [continuation/signal] [continuation:trace] effective-signal: origin=none kind=none session=agent:main:discord:channel:1466192485440164011

The continuation payload was also canary-deployed and then promoted to the upstream presentation branch after independent byte-walks on the resulting live refs.

Observed result after fix:
The live gateway stayed healthy on the continuation payload, continuation tool calls were accepted in real sessions, delegate/continuation trace output appeared on the runtime, and the feature could be traveled forward on the stable release-tag basis without changing payload bytes.

What was not tested:
This proof section is not claiming exhaustive channel-by-channel or provider-by-provider validation. CI, unit tests, baselines, and targeted continuation test suites remain supplemental to the real-host evidence above.

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation app: web-ui App: web-ui gateway Gateway runtime commands Command implementations agents Agent runtime and tooling size: XL labels Mar 7, 2026
@greptile-apps

greptile-apps Bot commented Mar 7, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR introduces a context-pressure-aware continuation runtime (CONTINUE_WORK / CONTINUE_DELEGATE) that lets agents self-schedule more turns or dispatch background shards as context windows fill. The architecture is substantial — five new modules, timer-based scheduling with a generation-guard cancellation mechanism, chain-hop depth and cost-cap enforcement, and system-prompt auto-injection — and is well-covered by 172 tests.

Key findings:

  • Dead code — continuation-generation.ts: This new module exports a complete generation-guard API (scheduleContinuationGeneration, invalidateContinuationGeneration, isContinuationGenerationCurrent) backed by its own Map, but no file in the repository imports it. agent-runner.ts maintains its own parallel continuationGenerations Map with functionally equivalent but separately maintained logic. This is an orphaned refactoring artefact: if any future code accidentally imports this module, it will read stale counters (always 0) while agent-runner.ts counters advance, silently breaking the generation guard.

  • maxDelegatesPerTurn does not bound bracket-signal delegates: The per-turn fan-out cap (maxDelegatesPerTurn) is enforced only on tool-queued delegates via toolDelegates.slice(0, maxDelegatesPerTurn). An agent that emits [[CONTINUE_DELEGATE:...]] bracket syntax and calls the continue_delegate tool in the same turn can spawn maxDelegatesPerTurn + 1 delegates. The tool-side pre-check (pendingDelegateCount) likewise has no visibility into the bracket-signal delegate, so the documented limit is silently exceeded in mixed-signal turns.

  • Schema accepts contextPressureThreshold: 0 but runtime disables on it: Zod schema allows contextPressureThreshold: 0 with no error, but checkContextPressure uses !contextPressureThreshold (falsy for 0), silently disabling context-pressure events. While documented in a code comment, this divergence between schema-valid and runtime-operational values is likely to confuse operators who set 0 explicitly and see no events.

  • Urgency strings contain hard-coded emoji/token instructions injected into agent prompt: The context-pressure event strings (e.g., 🚨 COMPACTION IMMINENT — evacuate working state NOW...) are injected into model-visible prompt space. This is intentional, but operators have no configuration lever to tune wording without forking the module.

Confidence Score: 3/5

  • This PR is not safe to merge without addressing the dead continuation-generation.ts module and the maxDelegatesPerTurn bypass; both are correctness concerns in the new safety infrastructure.
  • The overall design is well-thought-out and the test coverage is thorough. However, two structural issues lower confidence: (1) continuation-generation.ts is dead code that duplicates and diverges from the authoritative implementation in agent-runner.ts, creating a latent bug vector; and (2) the maxDelegatesPerTurn fan-out cap is inconsistently enforced — it guards tool delegates but not bracket-signal delegates, allowing the documented limit to be silently exceeded. The schema/runtime mismatch for contextPressureThreshold: 0 is documented but still surprising. The underlying feature logic (generation guard, chain-hop tracking, cost caps, context-pressure bands) appears correct where it is actually wired up.
  • Pay close attention to src/auto-reply/reply/continuation-generation.ts (dead code, disconnected state), src/auto-reply/reply/agent-runner.ts (maxDelegatesPerTurn bypass for bracket-signal delegates), and src/config/zod-schema.agent-defaults.ts (schema/runtime divergence for contextPressureThreshold: 0).

Last reviewed commit: bd69e56

Comment thread src/auto-reply/reply/continuation-generation.ts Outdated
Comment thread src/auto-reply/reply/agent-runner.ts Outdated
Comment thread src/config/zod-schema.agent-defaults.ts Outdated

@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: bd69e56be3

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/agents/pi-embedded-runner/run/attempt.ts Outdated
Comment thread src/agents/subagent-spawn.ts Outdated

@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: 4713bcec47

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/auto-reply/reply/agent-runner.ts Outdated
Comment on lines 1650 to 1653
const replyInstruction = buildAnnounceReplyInstruction({
remainingActiveSubagentRuns,
requesterIsSubagent,
announceType,
expectsCompletionMessage,

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 silent-specific instruction for enrichment returns

replyInstruction is always generated as a user-delivery instruction and then embedded into internalEvents, even for silentAnnounce delegates that are supposed to return as internal enrichment only. Because that same internalEvents payload is enqueued into [continuation:enrichment-return], the next model turn receives an Action that says to send a user-facing update, which can cause unsolicited visible replies and breaks the silent/silent-wake contract.

Useful? React with 👍 / 👎.

@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: c47f22befa

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/commands/agent.ts Outdated
Comment thread src/auto-reply/reply/get-reply-run.ts Outdated
@silas-dandelion-cult
silas-dandelion-cult force-pushed the feature/context-pressure-squashed branch from c47f22b to 0cc1c89 Compare March 7, 2026 18:18

@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: 0cc1c8987a

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/auto-reply/reply/agent-runner.ts Outdated
Comment on lines +1565 to +1568
const stagedCompactionDelegates = consumeStagedPostCompactionDelegates(sessionKey);
if (stagedCompactionDelegates.length > 0) {
try {
await persistPendingPostCompactionDelegates({

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 Requeue staged delegates when persistence fails

This drains staged post-compaction delegates before attempting to persist them, and the failure path only logs the error. If persistPendingPostCompactionDelegates throws (for example on transient session-store write failures), those delegates have already been removed from the in-memory staging map and are never retried, so queued post-compaction work is lost.

Useful? React with 👍 / 👎.

@karmafeast
karmafeast force-pushed the feature/context-pressure-squashed branch 2 times, most recently from e80bf8d to 0cc1c89 Compare March 7, 2026 19:03
@openclaw-barnacle openclaw-barnacle Bot added the app: macos App: macos label Mar 7, 2026
@karmafeast
karmafeast force-pushed the feature/context-pressure-squashed branch 2 times, most recently from 0827797 to 92e5826 Compare March 7, 2026 19:26

@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: 4071f43978

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/agents/subagent-announce.ts Outdated
Comment thread src/auto-reply/reply/get-reply-run.ts Outdated
@karmafeast
karmafeast force-pushed the feature/context-pressure-squashed branch from 4071f43 to 91e05b1 Compare March 7, 2026 19:44

@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: 91e05b17d7

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/auto-reply/reply/get-reply-run.ts Outdated
Comment thread src/auto-reply/reply/agent-runner.ts Outdated
@karmafeast
karmafeast force-pushed the feature/context-pressure-squashed branch from 91e05b1 to 6fa9441 Compare March 7, 2026 20:02

@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: 6fa944196b

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/agents/subagent-announce.ts Outdated
Comment thread src/auto-reply/reply/agent-runner.ts Outdated
@karmafeast
karmafeast force-pushed the feature/context-pressure-squashed branch from 6fa9441 to eee3dca Compare March 7, 2026 20:21

@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: eee3dcab58

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

// into the next successful turn for the same session.
if (sessionKey) {
consumePendingDelegates(sessionKey);
consumeStagedPostCompactionDelegates(sessionKey);

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 Preserve re-staged delegates through turn cleanup

The persistence-failure path now re-stages post-compaction delegates for retry, but finally unconditionally calls consumeStagedPostCompactionDelegates(sessionKey), which removes that re-staged work before the function returns. This means transient session-store write failures still drop post-compaction delegates permanently, so the intended retry behavior never actually survives past the turn.

Useful? React with 👍 / 👎.

Comment thread src/auto-reply/reply/get-reply-run.ts Outdated
@karmafeast
karmafeast force-pushed the feature/context-pressure-squashed branch 2 times, most recently from c5fc1f0 to 8a3f5b3 Compare March 7, 2026 22:07

@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: 8a3f5b39d0

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/agents/subagent-announce.ts Outdated
Comment thread src/auto-reply/reply/agent-runner.ts Outdated
@karmafeast
karmafeast force-pushed the feature/context-pressure-squashed branch 2 times, most recently from 75e72c4 to 4cfb632 Compare March 7, 2026 22:46
steipete and others added 19 commits May 5, 2026 05:23
Normalize WhatsApp onboarding allowlist entries to digit-only WhatsApp IDs and reject invalid owner-phone inputs during prompt validation.

(cherry picked from commit 68a500c)
* fix(telegram): reuse preview for long text finals

* test(qa): cover long telegram finals

* fix(qa): satisfy extension lint

* fix(qa): keep telegram long final fixture to two chunks

* test(telegram): cover three chunk finals

* fix(telegram): force long final preview boundary

(cherry picked from commit e03fe1e)
Bind the default loopback gateway listener only to `127.0.0.1` on Windows so libuv dual-stack `::1` behavior cannot wedge localhost HTTP requests.

Also keeps non-Windows dual-loopback behavior covered, replaces the redundant Windows passthrough test with guard coverage, and adds the required changelog entry.

Fixes openclaw#69674.

Tests:
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/gateway/net.ts src/gateway/net.test.ts
- pnpm test src/gateway/net.test.ts
- pnpm check:changed
- GitHub required checks: green

Thanks @SARAMALI15792.

Co-authored-by: saram ali <[email protected]>
Co-authored-by: Brad Groux <[email protected]>
(cherry picked from commit 978bc53)
…isted] (openclaw#74161)

Summary:
- The PR updates agents skill prompt guidance to require exact `<location>` paths for single- and multi-skill selection, adds prompt assertions, and records the fix in the changelog.
- Reproducibility: yes. Static source reproduction is enough: current main lacks the exact-`<location>` guard  ... illsSection()`, while the PR diff adds it to both selection branches and asserts the resulting prompt text.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix: enforce exact skill paths for all skill matches

Validation:
- ClawSweeper review passed for head 743c984.
- Required merge gates passed before the squash merge.

Prepared head SHA: 743c984
Review: openclaw#74161 (comment)

Co-authored-by: tianguicheng <[email protected]>
Co-authored-by: sallyom <[email protected]>
(cherry picked from commit c739088)
Accept drive-absolute Windows sandbox Docker bind sources in config and runtime validation while keeping blocked-path and allowed-root comparisons case-insensitive for Windows drive paths.

Also remove a stale WhatsApp setup import that blocked extension lint after the rebase.

Co-authored-by: 6607changchun <[email protected]>
Co-authored-by: Brad Groux <[email protected]>
(cherry picked from commit d02fbc6)
Core continuation runtime: context-pressure detection, delegate
reservations, targeted-return queue, task-flow chain plumbing.
Lich-protocol heart of PR openclaw#38780.
Tests across continuation runtime, delegate-store, task-flow registry,
plugin SDK hooks, agent commands, and integration paths.
…al-v2

Adds design RFC for the continue-work-signal-v2 surface, regenerates
config + plugin SDK API baselines, refreshes glossary, and records
the change in CHANGELOG.
Wires the continuation runtime into agent loop, infra orchestrators,
gateway entry, plugin SDK surfaces, status/logging, scripts, packages,
and platform extensions.
Top-level workspace glue for the continuation feature: package
manifest, lockfile, build config, and gitignore updates.
@obviyus

obviyus commented May 9, 2026

Copy link
Copy Markdown
Contributor

Thanks for the PR. This branch appears to include a large replay of unrelated main/release commits, so it is not reviewable as a focused Telegram change. Please reopen as a narrow PR with only the intended fix.

@karmafeast

Copy link
Copy Markdown
Contributor Author

replaced by: #79925

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

Labels

agents Agent runtime and tooling app: macos App: macos app: web-ui App: web-ui channel: bluebubbles Channel integration: bluebubbles channel: slack Channel integration: slack channel: telegram Channel integration: telegram channel: whatsapp-web Channel integration: whatsapp-web cli CLI command changes commands Command implementations docker Docker and sandbox tooling docs Improvements or additions to documentation extensions: codex extensions: diagnostics-otel Extension: diagnostics-otel extensions: memory-core Extension: memory-core extensions: qa-lab gateway Gateway runtime proof: supplied External PR includes structured after-fix real behavior proof. scripts Repository scripts size: XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.