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 | 基于检出合并提交的父节点计算变更范围,并为改动插件包增加生产版 Cindy 验证声明门禁。 |
| .tests/contracts/plugin-manifest.dae1c66.mjs | 更新固定 Manifest 校验器快照以支持 v2/v3、顶层能力字段、mainView、setup 及未知 v3 字段保留。 |
| .tests/plugin-contract.test.mjs | 扩展插件契约和差异检测测试,未发现与既有跟进线程相关且仍需单独修复的问题。 |
| .tests/publish-workflows.test.mjs | 增加真实 Git 分叉及事件基线滞后场景的工作流回归覆盖。 |
| scripts/validate-plugin-manifest.mjs | 本地 Manifest 验证入口切换到更新后的固定契约快照。 |
| .greptile/rules.md | 更新 Manifest v3、授权跟随执行者、最低客户端版本及发布审查规则。 |
| docs/plugin-authoring.md | 补充英文 Manifest v3 插件开发、能力映射、验证与打包指南。 |
| docs/plugin-authoring.zh-CN.md | 补充中文 Manifest v3 插件开发、能力映射、验证与打包指南。 |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
PR[PR merge checkout] --> Parents[Resolve merge parents]
Parents --> Diff[Detect changed packaged files]
Diff -->|Plugin packages changed| V3[Require Manifest v3 contract]
Diff -->|Plugin packages changed| Attest[Require production Cindy attestation]
Diff -->|Repository-only changes| Skip[Skip plugin attestation]
V3 --> Validate[Validate manifests and package constraints]
Attest --> Validate
Skip --> Validate
Reviews (10): Last reviewed commit: "Merge branch 'main' into feature/plugin-..." | 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;完成前请勿合并。 |
改动目的
让开发者可以依据插件仓文档、使用任意 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 发布门禁与审查规则,需要维护者人工审核;未扩大任何具体插件的权限。