Plugin v3 清理账本

September 2, 2026 · View on GitHub

状态:active / major-deletions-complete / final-platform-gate

清理原则

  1. 先建立标准 current owner 和负向守卫,再迁移调用者,最后物理删除。
  2. 不做长期双读、双写、自动转换、旧 worker fallback 或空壳 facade。
  3. 删除前必须证明构建图、生产入口、正向 fixture 和脚本引用清零。
  4. 历史文档可以留作 evidence,但不得被导航、测试或实现当作 current source。

迁移后保留

Surface处理
App Server plugin domain继续作为唯一 catalog/install/activation owner
lime-mcp、Skills、RuntimeCore、tool-runtime继续作为领域 owner;增加标准 lowering,不承载 package discovery
typed Renderer gateway、Claw mention、Right Surface继续消费 projection,删除本地 registry 合并
Codex extension adapter仅保留 UI metadata 与 Apps 配置路径 adapter;禁止新增 Lime 私有 manifest 字段或恢复内联 Apps object

已删除

Surface已删除内容回流门槛
Lime 私有 manifest/package projectionlime.plugin.package.v1plugin_packages/**、旧 protocol/schema/client只能出现在 retired guard 或历史 evidence
私有 MCP 选择.mcp.json、manifest 内联/自定义 mcpServersportable loader 只读根 mcp.json
旧 renderer/install/runtimemanifest registry、SDK、shell、readiness、publish/package UIRenderer 只能消费 typed plugin/* projection
旧 Electron/App Server workerpluginRuntimeTaskHostpluginTaskWorkerplugin_worker_*Desktop Host 只能转发 App Server JSONL
旧 Lime plugin managerlime-core/src/plugin/** 与 processor Plugin hook不得恢复 workspace/build 依赖
旧存储和错误面installed_plugins DAO/schema、StepError::PluginProcessError::PluginErrorinstalled state 只归 App Server v3 store
旧命令 policyplugin_runtime_*pluginUiRuntime/*pluginInstalled/* 特殊 timeout/no-mock/current catalogcurrent catalog 只登记七个 plugin/* 方法
MCP 私有 runtime fixture--allow-plugin-runtime-fixtureplugin_runtime_capabilitiesplugin_mcp_targets 正向 smoke、transport summary 与五语孤立文案Rust inventory 负向测试与 smoke source guard 禁止私有投影回流
孤立 connector smoke无 npm/CI/文档入口且仍调用 plugin_runtime_get_taskconnector-outbox-smoke.mjsscripts/plugin/ 只保留 connector production delivery current 检查
Plugin v1/v2 active 执行计划与路线图internal/roadmap/plugin/v2/**、根部旧 PRD/计划/原型有效决策已替换到 v3 合同;旧版本文档已从 active tree 删除,Git history 仅用于追溯
Plugin Lab i18n/sidebar五语言 plugin.lab.* 155 个 source key 与 navigation.sidebar.items.pluginLab 1 个 source key(共 780 条资源)plugin-lab-retired-i18n-keys dead guard;禁止旧 Lab/sidebar 文案回流
旧 Plugin 技术标准文档internal/tech/plugin/README.mdlime-plugin-package-v1.md 及现役入站导航已物理删除;docs:boundary 的 Plugin v3 文档守卫禁止重新引用

剩余 residual

分类Surface退出条件
verification-gapWindows junction/reparse point、环境变量大小写与数据根行为Windows 真实环境通过验证矩阵
verification-gapWindows packaged Electron Gate B 与 Codex parityWindows runner 真实 artifact evidence;本机 macOS 不能替代 Windows 文件系统与 Squirrel 语义
verification-completeverify:local 全量重验(macOS)2026-08-09 从头通过版本/i18n/lint、前端 120 批、contracts、Bridge、Rust workspace 全量与 GUI smoke;Windows platform-gap 仍独立保留
verification-completePlugin v3 现役文档回流守卫npm run docs:boundary 通过;Writing 与发布文档不再引用旧技术标准或旧 manifest 合同

已完成门槛:标准包 Gate B

macOS arm64 独立 Electron Gate B 已证明根 plugin.json、根 mcp.json、合法 Skill、 canonical Plugin mention、真实 Agent turn、canonical MCP Tool Item、elicitation、Right Surface、reload/cold restore 与卸载后历史读取;worker、legacy command、生产 mock fallback 和 console error 命中均为零。证据位于 .lime/qc/gui-evidence/plugin-package-electron-gate-b/plugin-package-electron-gate-b-summary.json;最新运行 mcpAppResourceReadCount=4mcpAppHtmlLoadCount=4mcpAppToolCallCount=1productionMockFallbackHitCount=0consoleErrors=[]

已完成门槛:旧 server manager

lime-core::plugin::PluginManager、processor Plugin hook 与孤立 error variant 已退出构建图并 物理删除。lime-server/lime-processor 不再拥有 Plugin 业务事实源;任何恢复都属于回流。

数据处置

仓库无外部用户和历史兼容负担,因此不实现长期数据迁移器。旧 installed/setup/cache:

  • v3 不读取、不转换、不继承;
  • 新数据库不再创建 installed_plugins;既有孤立表不进入 runtime 或迁移输入;
  • Thread 历史保留可读性,但不恢复旧 worker 或旧能力执行。

回流守卫

生产代码、协议 catalog、脚本、current 文档禁止出现以下语义:

lime.plugin.package.v1
contributions.runtime
contributions.workbench
app.runtime.yaml
pluginUiRuntimeStart / pluginUiRuntimeStatus / pluginUiRuntimeStop
pluginLocalPackage/inspect / pluginLocalPackage/export / pluginPackage/fetchCloud
pluginInstalled/* / pluginShell/* / pluginUiRuntime/* / plugin_runtime_*

.codex-plugin/plugin.json 只能出现在 Codex extension adapter、历史 evidence 或负向测试; 标准 loader 必须只认根 plugin.json