接续 88dd570,保存 W20–W24 已实现的共享接口、业务入口、迁移、工作台、测试与文档。 W20/W22/W23 保持 in_progress,W21/W24 保持 verified;此提交不宣称方法或规则正式启用、多轮返修、真实角色评测完成。 W25 新增实验、标定、逐调用交付与角色执行及其迁移/测试/索引留在实施工作树,原有私人和旧实现保留项不纳入。 验证:离线 571、前端 33 通过;PG 469 项通过、2 项浏览器未启用,2 项误带入的 W25 用例已移出本提交;最终任务与交付边界 37 项通过。make 检查、最终类型、84 项资源及 diff 检查通过。未重跑浏览器或 Pi 宿主,不以合成调用认证外部模型效果。 独立整体审查四维通过;证据保存在 R2-20260909/提交W20-W24。
64 lines
3.7 KiB
Markdown
64 lines
3.7 KiB
Markdown
# S01 正式变更
|
||
|
||
## 职责与对象
|
||
|
||
共同的审阅、并发、幂等和原子提交保护,不解释其他模块的任意字段值。
|
||
|
||
实例归属以[总体架构](../总体架构.md)为准;结构、状态和公开外壳分别引用数据模型与接口契约。
|
||
|
||
## 公开接口
|
||
|
||
| 用例 | 输入责任 | 输出与后果 |
|
||
|------|----------|------------|
|
||
| open_review | 候选与展示的具体版本 | 绑定差异和范围的审阅记录 |
|
||
| prepare_change | 类型化目标、批准身份和依赖 | 具名参与者组成的变更清单 |
|
||
| commit_change | 变更清单与命令身份 | 完整提交回执或整体回滚 |
|
||
| read_receipt | 作者、用途和命令身份 | 原请求的结果 |
|
||
| 读取回执于 | 同库同用途数据库工厂创建的受控连接、认证作者与命令ID | 在调用方事务内只读真实回执;不创建连接、不提交或回滚、不产生新批准 |
|
||
|
||
所有接口在本模块的接口.py 暴露。输入输出类型由同一公开表面导出,外部不导入私有模型或 SQL。
|
||
|
||
## 内部职责
|
||
|
||
| 文件 | 职责 |
|
||
|------|------|
|
||
| 接口.py | 正式变更公开用例和可导入合同 |
|
||
| 模型.py | 正式变更稳定对象、外壳及内部状态 |
|
||
| 存储.py | 正式变更所属记录的 SQL 与版本读写 |
|
||
| 作者审阅.py | 审阅版本、差异哈希及批准范围 |
|
||
| 状态迁移.py | 共用候选状态与合法迁移 |
|
||
| 幂等命令.py | 同请求回执重放、异请求拒绝 |
|
||
| 版本检查.py | 目标、候选和被审版本 |
|
||
| 依赖锁.py | 来源、结构及当前有效指针的稳定锁序 |
|
||
| 提交事务.py | 原子执行具名类型化参与者 |
|
||
| 修改影响.py | 变更影响与复核任务登记 |
|
||
|
||
完整路径及运行模板见[目标文件清单](../项目目录与文件职责.md)。逐文件意图、边界与目标见[文件合同](../文件设计/后端-S01-正式变更.md)。
|
||
|
||
## 实现约束
|
||
|
||
- 参与者由启动与业务接口登记,不接受来自模型或浏览器的回调代码。S01 不反向导入各业务模块或 S04,参与者通过共用合同执行所属模块的校验和写入。
|
||
- 稳定锁序覆盖目标、结构、投影和来源当前有效指针;其他更新入口使用同一协议。
|
||
- 审阅记录不等于批准;正式动作必须匹配被审版本和批准清单。
|
||
- 事件、派生任务、回执与业务版本一起提交,连接失败后可重放同一结果。
|
||
|
||
当前共用入口对应 `打开审阅`、`准备变更`、`提交变更`、`读取回执`。准备变更在只读连接中返回参与者和影响,不能被当作批准或传回服务端直接执行。提交点重新读取业务快照,并由登记的依赖维护者按稳定顺序锁定当前指针;维护者必须保留行锁到同一事务结束。目标和候选缺少当前指针保护时拒绝提交。S04和各业务owner在后续消费包登记自己的维护者与具体请求类型,S01不据类型名拼SQL。
|
||
|
||
回执固定实际被审的目标、候选、结构、投影和来源依据,以及审阅ID、参与者结果与影响ID。候选检查由业务owner判断,拒绝或暂缓不要求检查通过;人工保存不产生候选采纳决定。影响记录表示待复核事项,具体章后任务仍由对应业务参与者与S02接通,不能据此宣称已执行派生任务。
|
||
|
||
## 协作与失败
|
||
|
||
由 B01/B02/B04/B05/B06/B07/S04 等内容维护者调用;数据库只提供共同事务上下文。
|
||
|
||
任何参与者、来源、结构、审阅或幂等验证失败整包回滚。
|
||
|
||
## 验收行为
|
||
|
||
- 原子性。
|
||
- 同键异请求。
|
||
- 源变竞争。
|
||
- 结构切换竞争。
|
||
- 迟到批准。
|
||
|
||
验收入口和替换条件见[迁移与验收](../迁移与验收.md);这些条目是目标行为,不是已通过测试的声明。
|