132 lines
3.7 KiB
Markdown
132 lines
3.7 KiB
Markdown
# 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
|
|
|
|
## Recommended next work
|
|
|
|
### 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.
|