模块按职责划分为四个核心文件:models.py 定义 ScheduledResearchJob dataclass、JobStatus 枚举及 schedule/timezone 校验函数(支持毫秒间隔与简化 5 字段 cron,含 DST 边界处理);store.py 实现 ScheduledResearchJobStore,以 <runtime_root>/scheduled_research/scheduled_research_jobs.json 为后端,采用写临时文件 + fsync + os.replace + 父目录 fsync 的原子写入模式,并在解析失败时 quarantining 损坏文件;executor.py 提供 ScheduledResearchExecutor 异步后台循环,通过注入的 dispatch 回调触发任务,维护 RUNNING/PENDING/COMPLETED/FAILED/CANCELLED 状态机、连续失败计数与指数退避重试,并具备进程重启后恢复残留 RUNNING 任务的能力;playbooks.py 从 playbooks/*.md 加载带 YAML frontmatter 的研究模板,支持用户目录覆盖内置模板(通过 VIBE_TRADING_PLAYBOOK_DIR),并提供 build_job 将模板渲染为可调度任务。依赖方向单向:executor → store + models,playbooks → models,__init__.py 仅暴露 JobStatus、ScheduledResearchJob、ScheduledResearchJobStore 作为对外 API 边界。