KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

配套项目:可恢复的配置变更 — keel 龙骨

Real-world Execution 的配套项目:配套项目:可恢复的配置变更

代码只模拟配置服务和通知服务,不会修改本机配置、执行 Shell 或发送真实消息。重点是观察动作契约、幂等、未知结果、对账和补偿怎样协同。

准备环境

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r courses/advanced/real-world-execution/course/project/requirements.txt

建议运行顺序

python courses/advanced/real-world-execution/course/project/examples/01_action_contract.py
python courses/advanced/real-world-execution/course/project/examples/03_preview_and_execute.py
python courses/advanced/real-world-execution/course/project/examples/04_idempotency.py
python courses/advanced/real-world-execution/course/project/examples/05_long_running_job.py
python courses/advanced/real-world-execution/course/project/examples/06_unknown_and_reconcile.py
python courses/advanced/real-world-execution/course/project/examples/07_change_run.py

真实模型只参与动作提议:

ollama serve
ollama pull qwen3:8b
$env:OLLAMA_MODEL = "qwen3:8b"
python courses/advanced/real-world-execution/course/project/examples/02_ollama_plan.py

源码阅读顺序

contracts.py       Proposal、Command、Preview、Receipt 和 fingerprint
environment.py     可观察的配置/通知 Adapter 与失败注入
idempotency.py     同键重放与异参冲突
gateway.py         deadline、Attempt、unknown 和统一执行点
reconciliation.py 只读取外部事实的对账器
jobs.py            长任务状态机
events.py          最小事件历史
change_run.py      配置加通知的编排式 Saga
ollama_planner.py  真实 Ollama Structured Outputs

测试

python -m unittest discover -s courses/advanced/real-world-execution/course/project/tests -v

测试不依赖 Ollama,固定验证:

生产替换项

内存字典不能处理多进程竞态和主机故障。生产系统应把幂等记录、Command、Receipt、Operation 和事件放进事务存储,使用工作流引擎或可靠队列,加入 worker lease/fencing、持久化 deadline、签名回调、人工操作台和独立对账任务。

返回现实执行课程 · 继续安全控制课程

进入 keel 阅读