diff --git a/README.md b/README.md index 0f54f66..02ded39 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,14 @@ # agent-plugins -`agent-plugins` 用 Git 保存可跨 Codex 与 Claude 恢复的 Agent Plugin 资产。当前先从方法 Skill 开始,建立来源、运行端差异、验证和回滚边界。 +`agent-plugins` 是公开的 Codex/Claude Plugin 源码仓,保存可版本化、可审阅、可回滚的 Plugin、Skill、双端发现清单和来源符合性检查。仓库内容只证明源码状态;不证明任何机器已经安装或正在使用它。 -## 当前状态 +## 开始工作 + +- 本仓变更只由负责人当前指令,或本仓公开、自足且经明确激活的 Issue/PR 合同授权;当前入口清理见 [Issue #11](https://github.com/zaurakworks/agent-plugins/issues/11)。 +- 先读本 README、对应 Plugin manifest 与合同明确引用的文档。私有旧仓链接、迁移前编号和发布记录只作可选历史来源,不能成为理解、复现或授权的前提。 +- 开发、来源验证和本机安装是三个独立状态:修改源码不会自动安装,测试通过也不证明运行端生效。安装与卸载始终由使用者在目标运行端明确执行。 + +## 发布记录(历史) 本批按[关联 agent-control#258(决定块权威模板落地)修正事件](https://github.com/Eridanus117/agent-control/issues/258#issuecomment-5293496974)补齐关联 agent-plugins#77(决定块三句权威模板)遗漏的发布身份:`github-collaboration` 提升到 `0.3.16`,两端 manifest、两份 Marketplace、符合性版本声明与 README 版本总览同步更新;运行端重装与三端指纹验收必须在本版进入 `main` 后另行完成,不能由源仓合并推定。 @@ -22,7 +28,7 @@ 本批按 clean-slate 迁仓修正发布身份:仓库所有权由 `Eridanus117` 迁至 `zaurakworks`,七个 Plugin 的 `author.name` 与 `repository` 字段、两份 Marketplace(Claude 与 Codex)、符合性版本声明与 README 版本总览同步更新,七个 Plugin 各递增一个修订号。**运行端重装与三端指纹验收必须在本版进入 `main` 后另行完成,不能由源仓合并推定。** -正文中指向 `Eridanus117/agent-control` 的 Issue 链接**不在本次改动范围**:那些是历史证据,老仓冻结后仍可读,指向它是正确的。 +以下发布记录保留迁移前编号以便仓库维护者溯源;其中私有链接对公共协作者不可用,只是可选历史来源。当前行为、贡献要求和验收必须在本仓公开内容中自足表达。 仓库目前包含八个可安装 Plugin:`grilling` `0.1.2`、`self-improvement` `0.1.7`、`skill-maintenance` `0.1.0`、`knowledge-maintenance` `0.1.3`、`orchestrated-collaboration` `0.2.6`、`adaptive-problem-solving` `0.2.12`、`github-collaboration` `0.3.18` 与 `resource-observability` `0.2.4`。 @@ -58,7 +64,7 @@ 仓库分别维护两端的原生发现清单:Codex 使用 `.agents/plugins/marketplace.json`,Claude 使用 `.claude-plugin/marketplace.json`。Plugin 正文可以共享,但不能因为两端都叫 Marketplace 就假设清单格式相同。 -当前需求和授权只来自 `C:\Users\Morni\workspace\agent-control`。本仓旧 Issue、旧研究和既有设计文档不是默认权威,除非该仓的当前任务明确把它们列为待核验材料。 +本仓当前需求与授权只来自负责人当前明确指令,或本仓公开、自足且经明确激活的 Issue/PR。旧 Issue、私有历史和既有研究默认只作待核验来源,不能自行恢复工作。 ## 安装 `grilling` @@ -165,17 +171,17 @@ node plugins/orchestrated-collaboration/tests/verify-three-party-review.test.ts 这个仓不取代: -- `agent-control` 中已经确认的当前权威、活动任务和授权边界; +- 使用本仓 Plugin 的项目合同、任务授权与产品政策; - 判断内容能否成为可信知识的知识库门槛; - 某台电脑上的安装缓存和用户配置。 ## 从这里开始 -- 当前目标、授权和边界:读取 `C:\Users\Morni\workspace\agent-control\README.md` 及其指向的当前任务; +- 当前目标、授权和边界:读取本仓公开、自足且经负责人明确激活的 Issue/PR;没有明确合同则只做当前请求的最小范围; - 当前可安装内容:读取本 README 和对应 Plugin manifest; - `issue-workflow` 的三种模式、验收场景走读和当前证据等级:[`docs/issue-workflow-walkthrough.md`](docs/issue-workflow-walkthrough.md); - **每个 Skill 替你做什么、什么时候用、花掉多少复杂度预算:[`docs/skills-overview.md`](docs/skills-overview.md)**(生成产物,符合性测试钉住它不会漂); - 「装了才算数」的部署方式、Skill 的失效条件、最少复核、退役路径与复杂度预算:[`docs/lifecycle.md`](docs/lifecycle.md)。其中「必须声明失效条件与最少复核步骤」「数量与语料总量不得净增」由本仓 CI 强制; - [方法资产模型](docs/asset-model.md)、[符合性检查](docs/conformance.md)、旧 Issue 和 `codex-work`:只作为历史或待核验材料,不默认指导新工作。 -不要从旧交付顺序自行恢复工作。只执行 `agent-control` 当前任务明确授权的改动。 +不要从旧交付顺序、私有历史或开放状态自行恢复工作。跨仓项目调用本仓 Plugin 时,以调用方公开合同和本仓当前可用接口的交集为边界。 diff --git a/docs/lifecycle.md b/docs/lifecycle.md index efb1ecf..447d339 100644 --- a/docs/lifecycle.md +++ b/docs/lifecycle.md @@ -4,7 +4,7 @@ 知识有失效条件、有最少复核步骤、复核做不到就退出当前知识。Skill 一直没有这一层:一旦发布就永远有效,没有任何机制问它「你还对吗」。 -本文补这一层,只补这一层。资产的对象责任见 [`asset-model.md`](./asset-model.md),证据等级与行为场景见 [`conformance.md`](./conformance.md),版本化来源自洽由本仓 CI 强制,本机安装态由 `agent-control` 的 `tools/plugin_release` 检测。 +本文补这一层,只补这一层。资产的对象责任见 [`asset-model.md`](./asset-model.md),证据等级与行为场景见 [`conformance.md`](./conformance.md),版本化来源自洽由本仓 CI 强制;本机安装态由使用者在目标 Codex/Claude 客户端查询并以真实新会话核验。 一条贯穿规则:**能落成检查就不写成文字。** 下面每条规则都标注它实际落在哪一层——只有第 4 层(文本)才依赖执行者自觉,而第 4 层的每一条都应被视为暂时状态。 @@ -24,26 +24,22 @@ | 位置 | 状态 | 谁动它 | | --- | --- | --- | -| `workspace/agent-plugins` | 保持 `origin/main` 的干净检出 | 只有 `plugin_release sync` 快进它 | -| `workspace/agent-plugins-work/<分支>` | git worktree,随便改 | 所有开发在这里 | +| `` | 保持 `origin/main` 的干净检出 | 发布或安装时更新 | +| `/<分支>` | Git worktree | 所有开发在这里 | 生产检出保持干净**不再是安全要求**——在它上面编辑不会立刻影响任何会话。它是**可判定性要求**:漂移检测要回答「装的是不是 `origin/main` 应有的内容」,而工作树停在特性分支时它不代表那个内容,检测就失明了。 新建开发 worktree: ``` -git -C C:/Users/Morni/workspace/agent-plugins worktree add ../agent-plugins-work/<分支> -b <分支> +git -C worktree add /<分支> -b <分支> ``` -合并后**让新正文真正生效**: +合并后**让新正文真正生效**,按本仓 README 从 `` 添加 Marketplace,并在目标客户端显式安装或升级对应 Plugin。随后回读客户端的已安装列表,再用一个真实新会话核验实际 Skill 描述或行为。 -``` -python C:/Users/Morni/workspace/agent-control/tools/plugin_release/plugin_release.py sync --apply -``` - -`sync` 校验生产检出干净且在 `main`、快进、报告本次生效的行为变化、**把内容装进缓存**、指纹验收。第三步不是账目维护,**那就是部署本身**。 +本仓不提供跨机器部署器,也不把其他仓库的本机脚本作为公共发布前提。使用方可以在自己的项目中自动化“更新干净检出 → 安装 → 回读 → 新会话验收”,但该自动化必须声明自己的路径、权限和失败边界,不能由源仓合并推定成功。 -强制层次:`sync` 在检出不干净或不在 `main` 时直接拒绝(第 2 层);`plugin_release check --hook` 在会话启动时报缓存漂移,或在判不出时如实说判不出(第 2⁻ 层);「开发不要在生产检出里做」仍是纪律(第 4 层)——git 不阻止你在任何 worktree 里编辑。 +开发检出与安装检出分离是可判定性要求,不是源码即生产的安全假设:工作树停在特性分支时,它不代表 `origin/main`,也不能用于证明已安装内容。 ## 一、失效条件与最少复核 @@ -62,7 +58,7 @@ python C:/Users/Morni/workspace/agent-control/tools/plugin_release/plugin_releas 标记本身是 CI 可检查的(有 `suspect` 就必须同时有命中的失效条件与日期);「不得再被引用为判据」目前只能是第 4 层。这是本文已知最弱的一条,如实写在这里。 -**复核节律不进 CI。** 让 CI 因为时间流逝变红,会把与本次改动无关的红色带进每个 PR。到期与否是本机时间事实,归 `plugin_release` 的本地报告,不归版本化来源。 +**复核节律不进 CI。** 让 CI 因为时间流逝变红,会把与本次改动无关的红色带进每个 PR。到期与否是使用环境的时间事实,由使用方检查并记录,不由版本化来源臆测。 ## 二、退役 @@ -74,15 +70,13 @@ python C:/Users/Morni/workspace/agent-control/tools/plugin_release/plugin_releas **已安装端怎么办,是这一节的重点。** -从 Marketplace 移除**不会**卸载任何运行端上已安装的副本。证据:运行端从不主动清理旧版本缓存,Claude 端曾累积到 76 个版本目录,`claude plugin prune` 只处理自动安装的依赖。因此「从仓库删掉」等于「留下一个不再被维护、但仍会被加载的正文」——这比不删更危险。 +从 Marketplace 移除不会卸载任何运行端上已安装的副本。因此仓库退役与使用端卸载是两个必须分别取证的动作: -退役必须是一条命令走完,任一步失败即中止: - -``` -python tools/plugin_release/plugin_release.py retire <插件> --apply -``` +1. 本仓确认无路由入边,获得负责人批准,从 Codex/Claude 两份 Marketplace 移除并通过来源符合性检查; +2. 每个使用方按本仓 README 的卸载命令移除对应 Plugin,并回读目标客户端确认不再安装; +3. 无法访问的使用端明确记为未知,不能由源仓删除推定已经卸载。 -它按顺序做:确认无路由入边 → 从两份 Marketplace 移除 → 从每一份物理缓存卸载 → 回读确认三处都不存在。最后一步是关键:**不确认卸载,就不算退役完成**。 +仓库只能证明第 1 项。没有第 2 项的客户端回执,就不能声称该运行端已完成退役。 ## 三、复杂度预算