## 闭环缺口与当前依据 #199 已要求不可变发布版本和固定版本实例化;业务仍需明确“当前应运行哪个已发布版本”。本单增加启用选择、原子切换、回滚及受理时的版本定位,发布一份定义不应自动改变所有运行。 代码/已有任务依据: https://github.com/agentic-ai-java/argi/blob/76d44429fdaa6a69320e21a1cb77119d0889d792/argi-runtime-core/src/main/java/io/github/agentic/ai/graph/execution/definition/DefinitionRegistry.java#L44 现有 Registry 解决精确版本对象解析,不提供部署目标的活动版本选择。 基线 Core `76d44429fdaa6a69320e21a1cb77119d0889d792` / Extensions `495414b76a37aca4d7c1022d973a8e5b9a7e92e6`。这是对现有代码与 issue 范围的设计缺口分析,不是已复现生产故障,也不代表下述能力已经实现。 建议优先级:P1,定义发布到实际准入的交接。 ## 独立交付与验收 - [ ] 区分草稿、已发布版本和活动绑定;活动绑定可定位到确定的定义/能力版本及环境资源绑定,采用租户/应用/逻辑 Agent 的明确作用域。 - [ ] 启用和回滚使用授权及 expected revision/CAS,保留操作者、原目标、新目标和原因;首阶段不要求流量灰度、实验平台或多集群部署。 - [ ] 任务受理时原子确定并保存所选版本;切换后旧任务按其绑定运行,新任务采用新绑定,不能在排队/恢复时意外选择“最新版本”。 - [ ] 切换前复用 #199/#209 的校验及必要资源解析;配置的评测门槛可引用 #132 的版本化证据,不能将没有执行的评测当通过。 - [ ] 回滚只切换后续准入,不倒放已执行副作用、不删除新版本历史;停用、紧急撤销和在途任务处理复用 #202 的明确策略。 - [ ] 覆盖并发发布/启用、旧 revision 冲突、切换时受理、排队/重启恢复、回滚与授权撤销,API 与 Studio 看到一致的活动版本。 ## 已有任务边界 #199 仍负责定义 CRUD/校验/发布,#202 负责能力停用生命周期,#235 负责命令受理,#185 负责工程工件发布;本单是运行定义的启用选择,不是 Maven 发布或第二个定义库。 不新增竞争的定义注册、运行日志、预算、授权或资源存储体系;独立 Agent/Workflow 不依赖 Graph/Loop,外部后端留可选适配侧。先形成必要的交接契约与可运行场景,不强制一能力一模块,不建设整套控制平面。公共 API、配置、持久数据若有破坏性变化,比较较小方案,说明收益、消费者影响、目标版本与迁移/回滚。验收区分离线 stub、真实模型、真实后端与跨实例证据,跳过不算通过。 ## 本轮任务关系 环境资源解析见 #250;用户反馈样本回流 #253 提供后续评测依据;集成消费者见 #254。 ## 定义依赖快照关联 #326 负责发布时冻结传递依赖;启用/回滚绑定完整已发布快照,受理和恢复不能重新解析活动成员最新版。此处只消费快照,不重复实现发布冻结。
Activity