AetherContracts 兼容性与发布门槛
本页是面向中文用户的说明。带标签版本中的英文规范、机器可读兼容性文件、测试夹具和 TCK 才是规范性依据。
兼容性必须由证据证明。仅仅共享一个版本字符串,或成功解码一个测试夹具,都不能证明完整互操作性。最新发布版本是 v0.1.0-alpha.3;0.1.0-alpha.4 是尚未发布的开发目标。旧传输继续作为默认值。
当前产品基线
“当前产品基线”标题的链接| 产品 | 契约关系 | 当前状态 |
|---|---|---|
| AetherEdge | 当前可验证锁指向 v0.1.0-alpha.3;alpha.4 采用仍是开放门槛 |
仅有 alpha.3 分发证据 |
| AetherCloud | 当前可验证锁指向 v0.1.0-alpha.3;alpha.4 采用仍是开放门槛 |
仅有 alpha.3 分发证据 |
| 独立实现 | 精确发布包、封闭使用方锁、公开测试夹具与 TCK | 受支持的分发路径;一致性必须由使用方自行证明 |
两个产品对 alpha.3 的锁定证据可以证明分发完整性,但不能证明 alpha.4 已被采用,也不能证明生产身份、完整状态机行为、崩溃持久性或安全的旧传输切换。精确产品提交与开放门槛以 AetherContracts 的机器可读产品矩阵为准。
Integration 门槛
“Integration 门槛”标题的链接| 门槛 | 状态 | 含义 |
|---|---|---|
| 提供方中立拓扑 | 实验性契约 | 完整区域、设备、稳定实体、当前来源地址和多点位描述符已有封闭结构定义与 TCK 证据 |
| 类型化观测 | 实验性契约 | 布尔、有符号与无符号整数、浮点数、十进制、字符串和字节已有冻结表示与上下文类型检查 |
| Home Assistant 映射 | 实验性配置档 | 注册表身份、重命名、质量和边缘本地密钥规则已冻结;产品适配器属于独立证据 |
| 受治理控制 | 实验性契约,默认关闭 | 只定义 device.power.set.v1;生产密钥、产品作业账本、真实消息代理与物理确认仍需独立证据 |
| CloudLink 传输 | 实验性扩展 | 拓扑和观测对象原样封装,并复用既有会话、位置、摘要、重放、数据丢失和持久确认语义;必须显式启用 |
| 端到端产品证据 | 必需 | 重连、重启、重命名、删除、陈旧代次、服务错误、超时与延迟状态都需要产品测试环境证明 |
机器可读状态见 compatibility/integration-v1alpha1.json 与 compatibility/integration-control-v1alpha1.json。
CloudLink 门槛
“CloudLink 门槛”标题的链接| 门槛 | 状态 | 含义 |
|---|---|---|
| 共享消息代理认证 | 提案 | 认证交互已冻结,但生产密钥签发、轮换、撤销与验证方归属尚未实现 |
| 单一线协议契约 | 实验性 | 核心信封、时间、身份、摘要与确认语义只有一个公开权威 |
| Integration 扩展发布 | 实验性 | 必须先升级云端;仅协商基础协议 1.0 不会启用新的消息结构定义 |
| 跨语言测试夹具 | 已通过,实验性 | TypeScript、Rust、C 与 C++ 执行相同夹具清单和稳定失败类别 |
| 真实消息代理双端测试 | 需要使用方证据 | 产品必须通过应用用例证明边缘与云端并发行为 |
| 故障注入 | 需要使用方证据 | 断连、确认丢失、重启、重复、冲突与数据丢失结果都需要产品证据 |
| 签名持久确认 | 规划中 | 签名投影、密钥生命周期和生产事实事务仍未完成 |
| 旧传输切换 | 阻塞 | 前述门槛必须全部通过,并且必须保留回滚能力 |
机器可读权威见 compatibility/cloudlink-v1alpha1-gates.json。
语言绑定兼容性
“语言绑定兼容性”标题的链接| 绑定 | alpha.4 开发目标中的已实现范围 | 尚未声明 |
|---|---|---|
| TypeScript | 规范 uint64、JSON 规范化、公开夹具清单 |
完整的生产结构定义与传输编解码器 |
| Rust | 全范围规范 u64、类型化失败、公开夹具清单 |
完整的生产 JSON、模型与传输编解码器 |
| C99 | 有界规范 uint64、无分配 P/M/A 查询、有界夹具配置档 |
完整的生产 JSON、模型与传输编解码器 |
| C++17 | C99 核心上的轻量视图与结果 | 独立线协议语义或第二套编解码器 |
| Go、Java、Python | 规划中 | 当前没有已发布的一致性绑定 |
稳定的字符串失败代码属于契约。数值错误值和消息文本仍由具体语言绑定决定。映射错误或重试行为前,请先阅读机器可读的 compatibility/failure-codes.json。
兼容性规则
“兼容性规则”标题的链接- 协议
uint64使用规范十进制字符串。 - Integration 观测中的
int64、十进制和字节值使用各自配置档规定的有界规范字符串。 - Integration 显示文字与证据文字不能为空,并且不得包含 C0 控制字符或 DEL。
- 核心 JSON 对象是封闭对象,未知字段会被拒绝。
- 重复键、无效 Unicode、不安全数字和无界输入必须安全失败。
- MQTT 确认只是传输证据,不是应用层持久接纳。
- Thing Model 能力是声明,不是授权。
- CloudLink 不包含直接物理控制操作。
- 后续编码必须显式协商,并拥有自己的 TCK。
- alpha.3 CloudLink 使用方会拒绝 alpha.4 Integration 消息类型;混合版本部署必须关闭扩展,不能通过发送业务数据探测支持情况。
未来每个发布版本都应公布精确产品版本或提交,并链接到可执行证据。浮动的 main、latest 和隐含兼容性都不是发布证据。