f3abc5fdc6
Deploy Slides / build-and-deploy (push) Successful in 1m39s
- eino-deep-dive.md: split slide 2 into code-only + explanation+SVG slides - async-deep-dive.md: split slide 2 into code-only + progress+SVG slides - harness.md: split slide 2 (4 Items + SVG) into two slides (2 Items each) - request-journey.md: split into middleware/handler + pipeline/finalization slides The frankfurt theme header (~40px) overlaps ~7px into the content zone, leaving ~467px effective height. Dense slides with code+Items+images exceeded this budget and were hidden behind the bars.
2.1 KiB
2.1 KiB
一致性保障 — 风格与管线
多层一致性确保输出可控
func mergeStyle(projectStyle, taskStyle map[string]string) map[string]string {
result := make(map[string]string)
for k, v := range projectStyle { result[k] = v }
for k, v := range taskStyle { result[k] = v } // 覆盖
return result
}
Project Style(基底)+ Task Override(覆盖)→ `mergeStyle()` 逐键合并。工程风格定义全局基调,任务风格按需微调,互不干扰。
Graph 强制拓扑顺序执行,State 每次调用独立生成。节点无状态,数据经 State 中转,避免并发污染。
QualitySupervisor 自动质检,不合格重试(最多 3 次),超限降级输出。确保最终产物始终可用。
一致性保障 — 数据与 ID
存储层的一致性设计
SQLite 单文件 ACID + GORM 事务包裹关键操作。CASCADE 删除保证级联清理,外键约束维护引用完整性。 格式:`prefix_base62`(如 `task_9bN4vR`)。`crypto/rand` 生成 base62 编码,全局唯一且可读。前缀标识实体类型,便于调试。一致性保障 — 部署与配置
从容器到配置的全链路一致性
Docker Compose 双容器(nginx + app),确定性构建保证环境一致。CI/CD 推送 master 自动触发部署。 配置优先级:配置文件 → 环境变量 → 默认值。`Viper` 统一管理,开发/测试/生产环境无缝切换。