Skip to content

sync: 契约同步到 preview 5d38352a1(#1740、#1752),登记协议更新记录 - #22

Merged
xiaoyumuxi merged 1 commit into
mainfrom
sync/1752-merged-preview
Nov 5, 2026
Merged

xiaoyumuxi merged 1 commit into
mainfrom
sync/1752-merged-preview

Conversation

@xiaoyumuxi

Copy link
Copy Markdown
Contributor

为什么

主仓库 #1740 和 #1752 已合入 preview,两者都改了 shared/contracts/plugins/v1/。按协议更新记录的“维护”流程,同步契约副本,登记这两个 PR,并更新受影响的页面。

本次登记的 PR

两次同步之间(644afdaac..5d38352a1)改动契约三处路径的 PR 只有这两个:

PR 作者 登记内容
1lck/Lithe-IDEA#1740 @xiaoyumuxi projectGenerators 2(API-33):生成器的 tool 字段
1lck/Lithe-IDEA#1752 @xiaoyumuxi litheToolchains 1 写入正式契约,删除工具链设计草案

@xiaoyumuxi 请核对 reference/protocol-changelog.md 里 2026-11-05 的这两行。

两个 PR 都没有新增或修改宿主方法、宿主通知,所以 API 总表的方法表和“宿主方法(按 API 编号)”索引不用加行。

改动

契约副本 contract/v1/(脚本生成,未手改)

  • 执行 node scripts/contract.mjs sync --revision 5d38352a1757a70fd5fa297d7aa3e43bb2e33607,同步了 80 个文件,contract.lock.json 随之更新。
  • #1740 带来的改动:
    • README.md 新增 tool 字段和 ### Tool fields 一节;
    • plugin-manifest.schema.json 允许 projectGenerators 2 和 tool 字段;
    • 新增 fixtures/project-generators/project-generator-tool-field.plugin.json 和 templates/tool-field/README.md;
    • project-plans.json 从 10 个用例增加到 22 个;
    • invalid-manifests.json 新增 9 个工具字段的拒绝用例。
  • #1752 带来的改动:
    • 删除 toolchains/proposal/ 和 fixtures/toolchains/proposal/(13 个文件);
    • toolchains/README.md 新增 ## Provider backend negotiation 和 ### Error replies 两节。

reference/protocol-changelog.md

  • “记录到”从 644afdaac(#1747)改为 5d38352a1(#1752)。
  • “按协议查首次出现”:
    • 能力表新增 projectGenerators 2(2026-11-05,#1740);
    • 进程协议表的 litheToolchains 1 去掉“(提案)”,注明由 #1581 实现、正式契约由 #1752 写入。
  • 时间线 2026-11-05 新增 #1752 和 #1740 两行,新版本号 projectGenerators 2 加粗。
  • #1747 那一行提到 toolchains/proposal/,是历史记录,保持原样。

reference/capabilities-and-versions.md

  • 中英能力表各新增一行 projectGenerators 2,链接到 #tool-fields。宿主现状:Core ✅、macOS ✅、Windows —。
  • 中英进程协议表的 litheToolchains 1:链接从已删除的 toolchains/proposal/protocol.md 改为 toolchains/README.md#provider-backend-negotiation。

reference/api-catalog.md

  • API-33 的协议列,中英都从 projectGenerators 1 改为 1、2。

reference/domains/project-generators.md(中英)

  • 能力版本改为 1、2;版本对照表新增 projectGenerators 2 一行:
    • tool 字段、${field.<id>.executable}、toolPins;
    • 表单 tools / installations / toolTooOld,目录条目 tools;
    • 版本 2 不能用 runtime 字段,版本 1 不能用 tool 字段。
  • 字段类型:runtime 注明只用于版本 1;新增 tool 的说明,包括属性、没有 default、初始选择规则和忽略末尾 0 的版本比较。
  • 清单模板:.version / .major 注明只用于 runtime,新增只用于 tool 的 .executable。
  • 生成后步骤:补上宿主把 toolPins 存为项目工具固定,用的是工具设置页的同一个存储。
  • 契约章节新增 Tool fields。
  • 示例与用例:
    • 新增 project-generator-tool-field.plugin.json 一行,含 python-app、node-app;
    • project-plans.json 改为 22 个用例,其中 12 个工具字段用例;
    • 模板目录补 tool-field/README.md;
    • 原句“共享示例里没有生成器的清单拒绝用例”已不成立,改为列出 invalid-manifests.json 的 9 个用例。

reference/domains/toolchains.md(中英)

README.md(中英)

  • 删除契约目录表里的 toolchains/proposal/ 行。
  • toolchains/ 行的描述补上提供方后端协商(litheToolchains)和稳定失败码。

验证

  • node scripts/contract.mjs verify:通过,80 个文件固定在 5d38352a1。
  • node scripts/contract.mjs verify --upstream:通过。
  • node scripts/contract.mjs drift --ref preview:无漂移,上游 preview 和 5d38352a1 一致。
  • node --test scripts/*.test.mjs:16 个通过,0 个失败。
  • README.md、reference/、guides/ 下 27 个文件的 1266 个相对链接和锚点逐个检查,0 个失效。
  • 在 contract/ 以外查找 toolchains/proposal:只剩更新记录里 #1752 和 #1747 两行的历史描述。
  • 没有跑 scripts/sdk-e2e.mjs:#1740 和 #1752 都没改 plugin_function.rs,插件后端协议没有变化。

- contract/v1 用 contract.mjs sync 同步到 5d38352a1:projectGenerators 2 的 tool 字段、
  新示例和用例;删除工具链草案 toolchains/proposal/ 和 fixtures/toolchains/proposal/;
  toolchains/README.md 新增后端协商和错误回复两节。
- 协议更新记录:记录到改为 5d38352a1;登记 #1740(projectGenerators 2)和 #1752;
  首次出现表补 projectGenerators 2,litheToolchains 去掉“提案”。
- 能力与协议版本对照、API 总表、项目生成器和工具链功能页、根 README 随之更新,
  去掉所有指向已删除草案的链接。
@xiaoyumuxi
xiaoyumuxi marked this pull request as ready for review November 5, 2026 05:34
@xiaoyumuxi
xiaoyumuxi merged commit 3097eb8 into main Nov 5, 2026
5 checks passed
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