feat/database-instance-readiness
main
Instance 原先只有生命周期 checkpoint 和扩展观测,无法根据完整管理能力与 registry 回读判断 Ready。本变更按已批准的 Instance 方法合同实现管理能力判定、registry 准备决策、操作结果回读、Ready 重验和供应前置检查。
连接、metadata、role/database/grant/extension 管理能力逐项提供观察;未观察或失败不能产生 Ready。registry 缺失或需迁移时保存准备阶段,不兼容或不可访问时禁止写入。已持久化 Ready 在重建对象后不包含新鲜 evidence;配置变化、访问失败、registry 漂移及删除均不能继续依赖旧 Ready。安全失败类别与完整回读分开表达,裸操作成功不能构造就绪证据。
更新 Database 文档,修复 ADR-0008 链接,并明确后续验证分层。本切片只实现纯领域决策:不新增 controller、adapter 或 CRD,不读取 Secret,也不执行数据库写入。SQL 权限探测矩阵、Condition 映射、checkpoint 保存与冲突、finalizer、凭据刷新和真实后端并发恢复仍由后续切片验证。
验证:领域 go test -race 通过,语句覆盖率 100%;领域 golangci-lint 为 0 issues;git diff --check 通过。覆盖完整回读、缺项、错误阶段、目标不匹配、重建与重复判定、依赖恢复、registry 漂移和删除限制。未执行 PostgreSQL/Kubernetes 集成测试,不将纯领域测试作为运行链路验收。
前置迁移 PR:#4。wiki 的持久设计和使用方式没有变化,本轮实现进度保留在本 PR 与源码文档。
No dependencies set.
The note is not visible to the blocked user.
Instance 原先只有生命周期 checkpoint 和扩展观测,无法根据完整管理能力与 registry 回读判断 Ready。本变更按已批准的 Instance 方法合同实现管理能力判定、registry 准备决策、操作结果回读、Ready 重验和供应前置检查。
连接、metadata、role/database/grant/extension 管理能力逐项提供观察;未观察或失败不能产生 Ready。registry 缺失或需迁移时保存准备阶段,不兼容或不可访问时禁止写入。已持久化 Ready 在重建对象后不包含新鲜 evidence;配置变化、访问失败、registry 漂移及删除均不能继续依赖旧 Ready。安全失败类别与完整回读分开表达,裸操作成功不能构造就绪证据。
更新 Database 文档,修复 ADR-0008 链接,并明确后续验证分层。本切片只实现纯领域决策:不新增 controller、adapter 或 CRD,不读取 Secret,也不执行数据库写入。SQL 权限探测矩阵、Condition 映射、checkpoint 保存与冲突、finalizer、凭据刷新和真实后端并发恢复仍由后续切片验证。
验证:领域 go test -race 通过,语句覆盖率 100%;领域 golangci-lint 为 0 issues;git diff --check 通过。覆盖完整回读、缺项、错误阶段、目标不匹配、重建与重复判定、依赖恢复、registry 漂移和删除限制。未执行 PostgreSQL/Kubernetes 集成测试,不将纯领域测试作为运行链路验收。
前置迁移 PR:#4。wiki 的持久设计和使用方式没有变化,本轮实现进度保留在本 PR 与源码文档。