模块生命周期协议
Module Lifecycle Protocol
完整的模块编排协议:认证→兼容性协商→声明→准备→配置→贡献→激活的10步生命周期
子问题
1.模块认证与兼容性
2.配置验证与迁移
3.能力声明与激活
4.状态机转换
5.传输层抽象与多运行时适配
6.版本协商与向后兼容降级
7.能力依赖等待与超时处理
8.K8s 风格标签路由与策略过滤
各项目的解法1 solutions
Signals
横向对比
| 维度 | AIRI |
|---|---|
| 协议完整度 | 40+ 类型安全事件覆盖 10 步生命周期,含能力级子协议 |
| 状态机实现 | XState 13 态状态机 + assertTransition 守卫 |
| 配置管理 | 三阶段 validate→plan→commit + 乐观并发控制 baseRevision |
| 传输抽象 | 5 种传输联合类型(in-memory/WebSocket/Worker/Electron) |
| 能力系统 | 4 态能力注册表(announced/ready/degraded/withdrawn)+ waitFor 超时 |
| 版本协商 | 双维度协商(protocol + api),支持 exact/downgraded/rejected |
| 标签路由 | K8s 风格 labels + 8 种 RouteTargetExpression 组合 |
最佳实践
1.使用乐观并发控制(baseRevision)处理配置冲突
2.用 XState 状态机替代 if-else 守卫生命周期转换合法性
3.每个能力独立走 validate/plan/commit 配置流,避免模块级粗粒度配置
4.传输层用联合类型抽象,协议层完全传输无关
5.load 和 init 分离,支持批量加载后确定性初始化