Skip to content

feat(plugins): Artifact plugin interfaces and Atomic Memory as a plugin - #2

Open
jasper-yl wants to merge 6 commits into
masterfrom
feat/plugin-interfaces
Open

jasper-yl wants to merge 6 commits into
masterfrom
feat/plugin-interfaces

Conversation

@jasper-yl

Copy link
Copy Markdown
Owner

供内部审阅,不面向上游。

  • 实现 RFC docs(rfc): propose plugin interfaces oceanbase/powercontext#2549 的 Artifact 侧:powercontext.plugins 公开接口、插件发现与子进程检查、Supervisor binding、Worker 执行器、writer.transaction()(复用 ArtifactMergeService)、请求队列、插件 family 的公开读取与文本检索、GET /v1/plugins 和 POST .../{family}/generate。
  • examples/plugins/atomic_memory:用插件方式完整重写 Atomic Memory,带插件自管的相似度索引。
  • 测试:tests/builtin/plugins、tests/examples/test_atomic_memory_plugin.py、tests/e2e/test_plugins.py。

验证:make check 通过;全量 3005 passed,tests/release_upgrades 11 个因缺少 PC_UPGRADE_SOURCE_VERSION 在 setup 阶段报错;插件相关 64 passed;gpt-5.4-mini 真实模型冒烟两窗口通过。

分支包含原始 RFC 的三个提交(不含 v2 修订)。Source 插件侧和旧框架移除尚未实现。

🤖 Generated with Claude Code

jasper-yl and others added 6 commits November 8, 2026 10:45
Replace the Source and Artifact plugin frameworks with a few interfaces
that PC Server calls through the Supervisor. Core keeps only Sources,
Artifacts, collection targets, and consumption progress; plugins no
longer have managed lifecycle state.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nstrained writer

Implements the Artifact side of RFC 2549: directory-loaded plugins, Worker
execution through the existing Supervisor, a writer whose single
transaction commits plugin writes with the cursor and acknowledgment,
public reads and text search over plugin families, durable manual
requests, and read-only plugin listing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reuses the built-in extraction and reconciliation contracts, writes
memories, revisions, merges and lifecycle changes through the plugin
writer, keeps a plugin-owned similarity index checked against core
revisions, and accepts remember, edit, forget, restore and undo_merge
commands as manual requests. Restoring a merge-frozen input now uses the
shared restoration path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Register the generate operation in the base access contract, regenerate
JS operation tables, record the plugin persistence review, and fix type
diagnostics in the plugin modules and tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant