Daily Rituals — Global Checklists 是面向 synthesis engineering 项目的标准日初与日终仪式清单,属于全局(按个人)检查表。每个项目可在这些全局清单基础上增加项目专属补充内容,例如按渠道同步、按仓库检查以及与特定干系人的沟通,全局清单会在“Run any project-specific sync steps”这一步调用这些补充内容。
用途与定位 该技能用于按依赖顺序执行每日开始和每日结束时所需的检查与维护,覆盖上下文优化、跨 Slack 等渠道同步,以及项目状态、保护机制和仪式状态的核查。资料还提到若干参考文档:版本历史与规则缘由见 references/version-history.md,分布式 desk/worker 约定见 references/ritual-worker-contract.md,同步水位见 references/sync-watermarks.md,日计划格式与词汇见 references/plan-format.md,草稿依据与格式见 references/draft-grounding.md。
配置 清单列出了一组用户特定配置项,需要按各自环境更新,包括:daily_plans_path(日行动计划保存位置,个人范围内,位于个人 ai-knowledge 仓库)、transcripts_path_in_private(各 workspace-private 仓库内的相对子路径)、personal_repo(个人根目录绝对路径)、workspace_private_repo_pattern(workspace-private 仓库路径模式)、index_yaml_path(项目索引文件,用于更新 last_session)、lessons_path(可复用经验存放位置)、downloads_path(会议转录初始下载位置)、alert_sound(macOS 提示音文件)、slack_auth_command(Slack 重新认证命令或 UI 流程)。项目补充清单会列出要同步的仓库、渠道与私信 id、PR 审查目标、干系人沟通以及项目专属的日终步骤。
脚本调用方式 仪式脚本以 python3 <skill-root>/scripts/<name>.py 的形式从已安装的技能树中运行,这是清单中命名脚本时的规范调用方式。synthesis exec-public 不是该路径;其声明的入口是机器接线的脚本(钩子、启动器),仪式工作流脚本有意未注册在那里。exec-public 报“invalid choice”意味着脚本走了错误的入口,而不是脚本缺失。
分布式仪式执行(desk 与 workers,v2.23.0) 当存在 workers 注册表(默认 ~/.synthesis/ritual/workers.yaml;无注册表则为经典单会话仪式,行为不变)时适用。desk 是注册表的 desk_seat,即仪式主场,只有 desk 生成日计划:一份简报、一份待办、一个控制台;若一次运行产生多份简报,说明设计失败。每个活跃 worker 执行其工作区自己的清单步骤(同步、仓库检查、工作区侧分流),默认模式是在该工作区中进行的有人值守会话,按该工作区自己的时间表运行;desk 派发子代理是可选替代方式。worker 最后将约定产物写入其注册的 artifact_dir,该写入即代表完成。principal 是派发者,desk 从不触发 worker;desk 报告哪些工作区尚欠产物,由人打开欠账的会话。工作区按各自独立的时间表关闭,产物带时间戳和 run_type,desk 在每次 pass 时按工作区折叠最新产物,并随着后续片段的到达重新折叠。desk 只折叠、不重新推导:每次 pass 读取当天每个(工作区, run_type)的最新产物,跨工作区核对日历与承诺冲突,生成唯一简报。覆盖行必须首先出现在每份简报中:每个注册工作区标注已折叠(run_type 与完成时间)、待处理或未排期;已注册活跃但无新产物的工作区报告为未覆盖,绝不用陈旧产物或 desk 猜测重建。上下文隔离是关键:desk 不内联加载工作区的渠道、仓库或转录,worker 之间也看不到彼此或全局图景,核对仅属于 desk。存储分离、呈现汇聚(v2.24.0):desk 写入的计划是一个 SHELL,包含个人范围内容与指向各工作区片段(即其产物)的指针;工作区内容绝不复制到个人侧仓库。
日初清单(按顺序执行)
- 时间与状态校验——每天首先运行:运行 date "+%Y-%m-%d %H:%M:%S %Z (%A)" 并记录,作为当天权威日期;若与上下文印象不一致即为漂移。对 index.yaml 中每个活跃项目读取最新带日期会话条目,与 CONTEXT.md 和索引元数据比较;分别检查 git log -5 --pretty=format:"%h %ai %ci %s" -- projects/<id>/ 与 Git status。提交时间戳不是经过验证的会话日期;带日期证据缺失或不可读时报告会话日期校验不可用。对缓存状态可能过期的项目调用 synthesis-checkpoint 技能。保护健康检查(v2.15.0):运行 python3 ~/.synthesis/git-hooks/_load_config.py --doctor,端到端验证提交边界策略引擎;若报告 UNHEALTHY,在简报中列为紧急并在任何产生提交的工作前修复。消息守卫健康检查(v2.15.1):运行 python3 <synthesis-message-guard-root>/scripts/message_guard.py --doctor,验证发送前通信守门;UNHEALTHY 意味着发送将被阻止,需在通信工作前修复。上下文完整性检查(v2.16.0):运行 python3 <synthesis-context-lifecycle-root>/scripts/context_doctor.py --quiet --readiness local,审计各项目缺失层级、预算超支、索引状态不一致等缺陷;退出码 2 视为 UNHEALTHY。双客户端一致性检查(v2.18.0):运行 python3 <synthesis-agent-conformance-root>/scripts/conformance.py parity,验证两个源清单一致、两个客户端均已安装插件且版本相同并匹配源 main;任何 FAIL 需在此步修复。项目组合复盘(v2.27.0):运行 python3 <synthesis-daily-rituals-root>/scripts/portfolio_review.py,列出至多三个声称活跃但超过 30 天未动的项目,并在日计划中作为决策(关闭、暂停或今天捡起)。协调归档:运行 python3 <synthesis-project-management-root>/scripts/coordination.py archive --json,仅移动超过 30 天的已释放行和发送者与接收者均已归档的旧消息。孤儿快照维护(可选):运行 python3 <synthesis-project-management-root>/scripts/prune_tool_snapshots.py(可加 --dry-run 预览)。协调声明复盘(v2.27.0):运行 python3 <synthesis-project-management-root>/scripts/coordination.py stale,列出心跳安静的活跃声明及物理证据,释放仍由你决定。仪式状态读取(v2.28.0):运行 python3 ~/.synthesis/rituals/ritual_state.py query summary,从只追加日志推导各工作区上次关闭、连续记录和 OPEN 工作日。周复盘到期检查(v2.14.0):若今天是最近一个周五或之后,且 ritual_state.py query weekly-review 返回早于该周五的日期或无日期,则本工作区欠周复盘,应在本次会话运行日终第 10 步扫描并记录;若 catchup-ledger 扫描已在该周五后运行,记录其日期即可。
日终安装与 nudge 日终安装器从同一发布版本复制启动器、nudge 及其同级仪式状态查询帮助器为可执行文件;重新安装会刷新三者而不改变所选代理(除非要求),LaunchAgent 保留其模板时间表。nudge 查询仪式状态但不写入,并在所有预期工作区均已关闭时保持安静。