Skip to content

ADR-0049:plugin-runtime.zod.ts 剩余家族(DynamicLoadRequest / DynamicUnloadRequest / DynamicPluginResult / PluginSource / DynamicPluginOperation)四仓零 runtime consumer —— enforce-or-remove 悬置待裁 #4834

Description

@os-zhuang

#4657 实施(PR #4831)中的范围外发现,只记录不修,需维护者裁决。

事实

packages/spec/src/kernel/plugin-runtime.zod.ts#3896 follow-up(删 island config)与 #4657(删 activationEvents + ActivationEventSchema)之后,剩余五个导出:DynamicLoadRequestSchemaDynamicUnloadRequestSchemaDynamicPluginResultSchemaPluginSourceSchemaDynamicPluginOperationSchema(及对应类型)。

三仓(objectstack / cloud / objectui)裸名扫描:除 spec 自身源码与测试外零命中。 没有任何 runtime 接收 DynamicLoadRequest、执行 load/unload/reload、或产出 DynamicPluginResult —— "Runtime load/unload of plugins without kernel restart" 这层能力整体是 declared-but-unenforced。#4657 的 kernel 侧墓碑之所以还值得立(而非直接裸删),恰是因为这个家族仍以 json-schema / IDE bundle / ./kernel 导出的形式发布,读者会把它当作能力。

既有决定

remove-unenforced-plugin-loading-config changeset(#3896 follow-up)当时明确写下:

the remainder (DynamicLoadRequest, DynamicUnloadRequest, DynamicPluginResult, PluginSource, DynamicPluginOperation) also has no runtime consumer today; it is left in place because those are operation contracts, not security promises, and the enforce-or-remove call on them is a design decision rather than a correction.

即:悬置是有记录的刻意决定,但只活在一份 changeset 散文里,没有 issue 承载,ADR-0049 的 worklist 也未覆盖(这些不是 metadata-type,liveness ledger 不走这里)。cloud-v1 ROADMAP 把 dynamic loading 排在 v0.4.0 —— 若那是活路线图,按 ADR-0049 应标 experimental 而非静默发布;若不是,则按 remove 处置(#4618 IDataEngine.batch 的形状:def 整删 + 基线有意删,tsc 为通道)。

待裁问题

对这五个 schema:enforce(cloud-v1 v0.4.0 真的会建 runtime?)/ experimental 标注 / remove,三选一。两个轴:长期架构上"写 runtime 再声明它 enforce 的东西"是既有先例(#3896 注释原话);AI 误用面上,一套发布进 IDE bundle 的 request/result 词表是模型会直接拿来构造调用的东西。

关联:#3896#4657、PR #4831#4618、ADR-0049、cloud-v1 ROADMAP v0.4.0。


Generated by Claude Code — session session_0176qgxgCXTJCUv4YFLtusP9

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions