- 所有时间戳统一使用 epoch 毫秒整数(
int(time.time() * 1000)),并通过now_ms参数或now_fn注入以便测试替换墙钟。 - 对 schedule/timezone 的校验拆分为 shape 校验(不解析时区键)与严格校验(解析 ZoneInfo)两阶段,分别用于持久化路径与执行路径。
- 错误信息在持久化前经
redact_text+redact_internal_paths脱敏并截断至固定长度,避免敏感路径泄露到存储中。 - Playbook 模板使用
{{variable}}占位符语法,变量必须在 frontmatter 中显式声明,且对输入长度施加上限以防止 prompt 膨胀。 - 对外暴露的包入口 (
__init__.py) 仅 re-export 稳定类型,将内部实现细节(executor、store、playbooks)隐藏于模块内。