Files
reply-end-controls/reports/openclaw-patch-mapping-matrix.md

3.0 KiB

OpenClaw Patch Mapping Matrix

Purpose

Map the current runtime patch behaviors in openclawtest to the repo-side modules that should eventually own them.

This is the bridge between PoC patching and plugin-oriented implementation.

Matrix

Current runtime behavior Current patched file Intended repo-side owner Current repo status Notes
Default reply-end button injection send-sxDwUGaO.js src/runtime/openclaw-telegram-poc.ts + src/telegram/reply-decorator.ts + src/runtime/openclaw-telegram-bridge.ts strong Default buttons now exist as Telegram helper and bridge helper; tested repo-side
Callback data parsing (rec:continue, rec:stop) bot-Ce301bOE.js src/core/callback-contract.ts + src/telegram/callback-handler.ts strong Parsing and normalization logic exist and are tested
Resolved button state UI ( / ) bot-Ce301bOE.js src/runtime/openclaw-telegram-poc.ts + src/runtime/openclaw-telegram-bridge.ts + src/runtime/openclaw-telegram-callback-actions.ts strong Helper chain now owns the resolved-button model
Acknowledgement reply text bot-Ce301bOE.js src/runtime/openclaw-telegram-poc.ts + src/runtime/openclaw-telegram-bridge.ts + src/runtime/openclaw-telegram-callback-actions.ts strong Ack text now has explicit repo-side helper ownership and tests
State file persistence (reply-end-controls.json) bot-Ce301bOE.js src/core/store.ts + src/adapters/openclaw-state-file.ts strong Store and adapter helpers exist and have tests; runtime patch still writes directly instead of delegating
Stop-state inbound behavior injection bot-Ce301bOE.js src/runtime/openclaw-telegram-poc.ts + src/core/policy.ts + src/runtime/openclaw-telegram-bridge.ts good Policy behavior now has repo-side helper coverage; runtime still injects literal text inline
Callback debug logging bot-Ce301bOE.js future adapter/runtime diagnostics module missing Still PoC-only runtime instrumentation with no clean repo-side abstraction yet

Immediate migration priority

The best first migration target is:

Priority 1

Move button construction and acknowledgement text to repo-owned helper use.

Why:

  • smallest patch surface
  • easiest to verify
  • repo-side helper and bridge now both exist

Priority 2

Move state persistence to explicit adapter helper use.

Why:

  • store code already exists
  • adapter bridge already exists
  • removes fragile duplicated inline state-writing logic

Priority 3

Move stop-state behavior out of large inline injected strings into clearer policy-driven adapter logic.

Why:

  • highest behavior importance
  • also highest risk if changed too early

Current assessment

The repo now contains meaningful building blocks for the future pluginized path, including tested core/store/helper/bridge/callback-resolution modules, but the live OpenClaw runtime still contains direct inline patch logic.

That means pluginization has started, but the current implementation is still in a hybrid state.