docs: add pluginization status report / 新增插件化進度報告
This commit is contained in:
131
reports/pluginization-status-report.md
Normal file
131
reports/pluginization-status-report.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user