Skip to content

feat(registry): 插件与应用关系契约4.2 / plugin and application contract - #10

Merged
yi-ge merged 2 commits into
mainfrom
feat/plugin-contract-v4.2
Oct 8, 2026
Merged

yi-ge merged 2 commits into
mainfrom
feat/plugin-contract-v4.2

Conversation

@yi-ge

@yi-ge yi-ge commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

插件共享 canonical App 身份,4.2 提供严格贡献、直接依赖、入口和 artifact 契约;两套验证器保持一致。9 个旧应用保留原发行、来源、许可和 listing-only 事实及 Agent 维护入口。

合入前补充兼容修复:旧 native/Docker 应用 manifest 省略已发布 10.0.177 不认识的 productKind,受信读取时默认 application;sidecar 仍明确身份并核对归一结果。普通应用仍需入口,独立插件仍需显式 plugin 及真实贡献,artifact 仍要求明确身份。原 4.1/4.0 契约未放宽。新 LF Schema SHA-256:ea63d6305ae17994e595aea009a131c41300d2b7fdb07ec83cc2c19c37b32038,配套候选见 主仓 #4434。

验证:74 个范围 Node 测试通过、3 个既有 Windows 文件系统场景跳过;9 个旧 App 在 v10.0.177 原始 runtime Schema 下均通过,省略归属不能用空入口冒充插件。23 条目通过 CLI 与离线 sidecar 校验。没有新增或启用插件。

这只保持旧 App 的可读性,不能宣称 10.0.177 已支持 4.2 的插件、artifact 或新 authored 校验外部集成。主仓只在真实 squash 合并后按 merge SHA 和精确内容摘要更新 reviewed seed;客户端发行是独立步骤。


Plugins share the canonical App identity. The strict 4.2 contract adds host contributions, direct dependencies, entrypoints and artifacts with consistent CLI and offline validation. Existing release, source, license and listing-only facts remain intact.

The compatibility fix preserves all nine legacy Apps for the published 10.0.177 runtime schema: their manifests omit the unknown productKind field and normalize to application, while sidecars retain explicit identity. Applications still require entrypoints, plugins require explicit kind and real contributions, and artifacts retain explicit identity. The 4.1/4.0 contracts stay unchanged. The LF schema digest is ea63d6305ae17994e595aea009a131c41300d2b7fdb07ec83cc2c19c37b32038; the matching client candidate is #4434.

Validation: 74 scoped Node tests pass, three existing Windows filesystem cases skip, all nine legacy Apps pass the original 10.0.177 runtime schema, and both catalog validators accept all 23 entries. No plugin is listed or enabled. This does not make old clients support 4.2 features. Refresh the reviewed client seed only from the actual squash merge commit and exact content digest; client release remains separate.

@yi-ge
yi-ge merged commit 3828aa6 into main Oct 8, 2026
1 check passed
@yi-ge
yi-ge deleted the feat/plugin-contract-v4.2 branch October 8, 2026 02:08
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