Restart-when: git grep -l -E 'driver-memory|InMemoryDriver' origin/main -- 'packages//.test.' 'packages//tests/' 'packages/qa/' '.github/workflows/' ':!packages/drivers/driver-memory/' ':!**/CHANGELOG.md' returns 0
⚠️ 本卡按 #5499(维护者 2026-08-05 常设冻结)挂 pm:on-hold:driver-memory 族新单直接 hold 引用该单、⛔ 不入 pm:queue。上面这行是 #5499 的唯一可执行唤醒判据,逐字引用,⛔ 未发明代理判据。例外升级通道(「影响 CI 判绿的正确性」)已由分诊席逐字实测不成立,读数见评论 5727726909。
由 domain:devx 执行席在复核 #18915(已发布 README 示例编译,PR #18968)时,从施工席的 out_of_scope_findings 接出,并由本席在 PR head a8b75f978 上独立复核。⛔ 未分级。
缺陷
packages/drivers/driver-memory/src/index.ts:64 默认导出的不是一个 kernel Plugin:
export default {
id: 'com.objectstack.driver.memory',
version: '1.0.0',
onEnable: async (context: any) => {
而 Plugin 要的是 name(packages/spec/src/contracts/plugin-validator.ts:25):
export interface Plugin {
/** Unique plugin identifier */
name: string;
version?: string;
...
⇒ 这个对象给的是 id 而不是 name,且用 onEnable 而不是 init。类型检查拒绝 kernel.use(memoryPlugin),assertPluginContract 在启动时以 PLUGIN_CONTRACT_VIOLATION 再拒一次。 另注:onEnable: async (context: any) —— 参数是 any,所以它内部怎么用 context 都不会被检查。
为什么今天没人被绊倒,以及为什么这仍然要修
仓库里没有任何文件按默认导入引它(实读:所有真实使用点都走具名的 InMemoryDriver,例如 packages/runtime/src/.../undeclared-field-write-driver-split.integration.test.ts:161、examples/embed-objectql/src/index.ts:20;按默认导入的命中为 0)。
⇒ 它是一个只对着文档读者存在的导出。PR #18968 已把该包 README 的 quick start 与「Key Exports」行改正,但导出本身还在 —— 下一个照着「这个包有默认导出」推断的人(或 agent)仍会写出一个启动时才失败的 kernel.use。
⚠️ 本席⛔ 不替它选收法:退役这个导出、还是把它改造成一个真正的 Plugin,是运行时决定,超出 #18915 这张文档卡的面,所以 PR #18968 没有动它。
去重
REST /search/issues 对本席回 403,改用全量枚举:2026-09-18T08:57Z 枚举全部 open 非 PR issue 523 条。assertPluginContract / PLUGIN_CONTRACT_VIOLATION / memoryPlugin 各 0 命中;driver-memory 20 条、onEnable 1 条(#6024,一张席位贴)—— 判别证据是那三个专指词全为零。同总体阳性对照:README 13 条、driver-memory 20 条 ⇒ 读法有反应,零不是空读。
去重词:driver-memory default export onEnable · kernel.use rejects default plugin · legacy onEnable plugin shape · drop-in plugin not a Plugin
读数时刻 2026-09-18T08:58Z
Generated by Claude Code
Restart-when: git grep -l -E 'driver-memory|InMemoryDriver' origin/main -- 'packages//.test.' 'packages//tests/' 'packages/qa/' '.github/workflows/' ':!packages/drivers/driver-memory/' ':!**/CHANGELOG.md' returns 0
pm:on-hold:driver-memory 族新单直接 hold 引用该单、⛔ 不入pm:queue。上面这行是 #5499 的唯一可执行唤醒判据,逐字引用,⛔ 未发明代理判据。例外升级通道(「影响 CI 判绿的正确性」)已由分诊席逐字实测不成立,读数见评论 5727726909。由
domain:devx执行席在复核 #18915(已发布 README 示例编译,PR #18968)时,从施工席的out_of_scope_findings接出,并由本席在 PR heada8b75f978上独立复核。⛔ 未分级。缺陷
packages/drivers/driver-memory/src/index.ts:64默认导出的不是一个 kernel Plugin:而
Plugin要的是name(packages/spec/src/contracts/plugin-validator.ts:25):⇒ 这个对象给的是
id而不是name,且用onEnable而不是init。类型检查拒绝kernel.use(memoryPlugin),assertPluginContract在启动时以PLUGIN_CONTRACT_VIOLATION再拒一次。 另注:onEnable: async (context: any)—— 参数是any,所以它内部怎么用context都不会被检查。为什么今天没人被绊倒,以及为什么这仍然要修
仓库里没有任何文件按默认导入引它(实读:所有真实使用点都走具名的
InMemoryDriver,例如packages/runtime/src/.../undeclared-field-write-driver-split.integration.test.ts:161、examples/embed-objectql/src/index.ts:20;按默认导入的命中为 0)。⇒ 它是一个只对着文档读者存在的导出。PR #18968 已把该包 README 的 quick start 与「Key Exports」行改正,但导出本身还在 —— 下一个照着「这个包有默认导出」推断的人(或 agent)仍会写出一个启动时才失败的
kernel.use。Plugin,是运行时决定,超出 #18915 这张文档卡的面,所以 PR #18968 没有动它。去重
REST
/search/issues对本席回 403,改用全量枚举:2026-09-18T08:57Z 枚举全部 open 非 PR issue 523 条。assertPluginContract/PLUGIN_CONTRACT_VIOLATION/memoryPlugin各 0 命中;driver-memory20 条、onEnable1 条(#6024,一张席位贴)—— 判别证据是那三个专指词全为零。同总体阳性对照:README13 条、driver-memory20 条 ⇒ 读法有反应,零不是空读。去重词:driver-memory default export onEnable · kernel.use rejects default plugin · legacy onEnable plugin shape · drop-in plugin not a Plugin
读数时刻 2026-09-18T08:58Z
Generated by Claude Code