feat(manifest): adopt v3 plugin contract - #96
Conversation
Signed-off-by: liugaowei <liugaowei@xd.com>
Signed-off-by: liugaowei <liugaowei@xd.com>
|
| Filename | Overview |
|---|---|
| .github/workflows/pr-verify.yml | 改为从检出的 PR merge commit 获取比较基线,并为插件包改动增加生产版 Cindy 验证声明门禁。 |
| .tests/plugin-contract.test.mjs | 扩展发布契约测试以兼容 legacy v2、校验 Manifest v3,并覆盖 merge-base 变更检测场景。 |
| .tests/contracts/plugin-manifest.dae1c66.mjs | 更新固定 Manifest 校验器快照,加入 v3 顶层能力、mainView、setup 及未知字段保留支持。 |
| scripts/validate-plugin-manifest.mjs | 更新本地 Manifest 校验入口以使用新的固定契约。 |
| .greptile/rules.md | 将审查规则与 v3 能力模型、生产版实机验证要求及 legacy v2 兼容边界对齐。 |
| docs/plugin-authoring.md | 补充英文版 Manifest v3 插件编写、迁移、调用和验收指南。 |
| docs/plugin-authoring.zh-CN.md | 补充中文版 Manifest v3 插件编写、迁移、调用和验收指南。 |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
PR[PR merge commit] --> Base[HEAD first parent]
PR --> Head[HEAD second parent / PR head]
Base --> Diff[Detect changed package files]
Head --> Diff
Diff --> Changed{Plugin package changed?}
Changed -->|No| Contract[Validate all v2/v3 manifests]
Changed -->|Yes| V3[Require Manifest v3 and version bump]
V3 --> Attestation[Require production Cindy verification attestation]
Contract --> Result[Publish-contract result]
Attestation --> Result
Reviews (12): Last reviewed commit: "docs: 避免递归打包工作目录" | Re-trigger Greptile
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 11e61261c7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: liugaowei <liugaowei@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 060db40768
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: liugaowei <liugaowei@xd.com>
Signed-off-by: liugaowei <liugaowei@xd.com>
当前合并门禁未通过(head 8ad0e53)新 PR 已进入巡检,当前状态:
请处理并 resolve 全部 review thread,并完成人工 review 后正式 Approve;完成前请勿合并。 |
Signed-off-by: liugaowei <liugaowei@xd.com>
当前合并门禁未通过(head be6c3bf)head 已更新到 be6c3bf(上一轮巡检的 head 为 8ad0e53),当前状态:
请处理并 resolve 全部 review thread,并完成人工 review 后正式 Approve;完成前请勿合并。 |
Signed-off-by: liugaowei <liugaowei@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f67e58a875
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
当前合并门禁未通过(head f67e58a)head 已更新到 f67e58a(上一轮巡检的 head 为 be6c3bf),当前状态:
请处理并 resolve 全部 review thread,并完成人工 review 后正式 Approve;完成前请勿合并。 |
Signed-off-by: liugaowei <liugaowei@xd.com>
Signed-off-by: liugaowei <liugaowei@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4b55bb5fa6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: liugaowei <liugaowei@xd.com>
Signed-off-by: liugaowei <liugaowei@xd.com>
当前合并门禁未通过(head 28831e1)head 已更新到 28831e1(上一轮巡检的 head 为 f67e58a),当前状态:
请完成人工 review 后正式 Approve;完成前请勿合并。 |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b65c6e4612
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: liugaowei <liugaowei@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a102fc59f7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
改动目的
让开发者可以依据插件仓文档、使用任意 Agent 或开发工具制作可用的 Cindy 插件;将官方仓的 Manifest 契约和验收流程与已合并的客户端、Server 改动对齐,避免重新引入“新增能力必须先改客户端白名单”的限制。
本 PR 改了什么
slots。未改动的 v2 插件继续兼容,不批量迁移。minCindyVersion;仓库只校验稳定版 SemVer 格式并排除开发哨兵值0.0.0,不写死0.1.61等统一版本下限。mainView和setup,不依赖 CI 检出客户端或私有 Server 仓库。.cindy并验证核心功能,验证版本不得低于插件声明的最低版本。仅仓库级文档或 CI 改动不触发此要求;修改 PR 正文会重新触发检查。main新增的插件改动误算进本 PR。补充真实 Git 分叉及事件基线滞后场景的回归测试,同时确保插件自身改动和公共随包文件改动仍触发门禁。不在本 PR 范围内
ios-simulator。相关客户端变更:makecindy/cindy#3434。
验证结果
已核对 PR diff:不包含任何现有插件包文件,因此无需插件版本升级或为本 PR 重新安装生产插件包。
本地仓库契约、本地化、provisioning 与发布工作流测试共 16/16 通过。
新回归测试覆盖:主分支独有插件改动不触发本 PR 验收;PR 自身插件改动正常触发;公共随包文件改动选中全部插件。
文档检查:104 个相对链接有效;双语 JavaScript 示例与 Manifest 片段校验通过;HTTP 失败处理、CLI 成功/缺失命令和单次工具回包检查通过。上述示例检查不是生产客户端实机验收。
检查清单
minCindyVersion,不批量迁移存量 v2 插件。敏感变更
本 PR 涉及 Manifest 校验契约、CI 发布门禁与审查规则,需要维护者人工审核;未扩大任何具体插件的权限。