Files
reply-end-controls/reports/pluginization-status-report.md

3.7 KiB

reply-end-controls - Pluginization Status Report

  • Date: 2026-05-13
  • Status: in progress

Summary

The project has moved beyond a one-off Telegram/OpenClaw PoC and is now in an active pluginization transition.

It is not yet a clean installable plugin package, but it is also no longer just a pile of undocumented runtime edits.

The project now has enough structure to support continued convergence toward a reusable integration path.

What has already been pluginized or partially pluginized

1. Shared configuration source

The project now has a single repo-owned config source:

  • config/reply-end-controls.json

This centralizes:

  • callback data
  • button labels
  • resolved button labels
  • acknowledgement text
  • stop-policy text

Both repo-side runtime helpers and the apply script now read from this source.

2. Reusable core modules

The project already contains reusable logic for:

  • state model
  • callback normalization
  • policy behavior
  • file-backed store behavior

These live under:

  • src/core/

3. Adapter layer foundations

The project now includes:

  • src/adapters/openclaw.ts
  • src/adapters/openclaw-state-file.ts
  • src/runtime/openclaw-telegram-bridge.ts

This means OpenClaw-specific behavior is no longer entirely trapped inside ad hoc runtime patch descriptions.

4. PoC runtime helper extraction

Telegram PoC behavior has already been captured into reusable helper code:

  • default button generation
  • resolved button rendering
  • acknowledgement reply text
  • stop-state inbound text shaping

5. Reproducible patch flow

The project now has:

  • scripts/apply-openclaw-poc-patch.sh
  • scripts/rollback-openclaw-poc-patch.sh

The apply/rollback flow has been validated against a pristine extracted openclaw@2026.5.7 package.

What is still not pluginized enough

1. Live OpenClaw runtime still uses inline patch behavior

Even though repo-side modules now exist, the live openclawtest runtime still depends on patched OpenClaw distribution files.

That means the behavior is reproducible, but not yet cleanly consumed from the repo at runtime.

2. Telegram callback behavior is still wired through patched runtime code

The callback path has been proven, but it is still implemented as a runtime patch rather than a clean runtime integration seam.

3. Stop policy is still injected as text

The PoC successfully alters later behavior using a stop-state instruction, but the implementation is still based on injected text policy rather than a more explicit first-class runtime policy hook.

4. Acceptance still has manual UI steps

The project has repeatable scripts, but acceptance is still partly human-driven because Telegram UI behavior must be observed directly.

Current maturity assessment

The project is currently at this maturity level:

  • more than a PoC patch experiment
  • less than a true installable plugin package
  • suitable for continued structured development
  • suitable for another agent to continue work with clear repo-side ownership points

Priority 1

Reduce runtime inline logic by replacing more hardcoded patch content with repo-side helper ownership.

Priority 2

Make apply/rollback/verify feel more like a supported integration workflow than an engineering exercise.

Priority 3

Document exactly which remaining runtime behaviors are still inline and what their intended repo-side owners are.

Final judgment

Pluginization is underway and meaningfully advanced, but not complete.

The project has crossed from:

  • undocumented patch success

to:

  • structured PoC
  • reusable repo-side modules
  • shared config source
  • reproducible patch workflow

The remaining work is real, but it is now focused and understandable rather than exploratory.