Nightly sync of canonical Skills/X/SKILL.md into the Claude/Scheduled/_X.md paths scheduled tasks load, preventing version drift.
_post-run-qa-reflection.md (partial) — SAMEsail-kb-daily-pulse/SKILL.md (full-skill) — SAMEsail-kb-daily-pulse/build_report.py (binary) — SAMEClaude/Scheduled working tree has 17 dirty entries (other agents' work). Mirror-map files in that set: M build_report.py (uncommitted but byte-identical to canonical) and untracked pulse_history.json (generated artifact). Left untouched per Step-0 governance./Users/samaguiar/Documents/Projects; Claude/Scheduled/ and Codex/ are outside the mount.build_report.py — this task only commits files it actually syncs, and no sync occurred this run.routines-build/scripts/skill_surface_check.py find_projects_root() stops at the first ancestor containing both CLAUDE.md and Skills/ — and routines-build/ itself matches, so it resolves root as routines-build and undercounts canonical skills (11 vs 129) and misses AGENT-TOOL-MANIFEST.md. Re-running with SAIL_PROJECTS_ROOT env var produced the correct result. Fix options: hardcode env in the task invocation, or tighten the sentinel to a root-only marker (e.g., FOLDER-INDEX.md + AGENT-TOOL-MANIFEST.md).build_report.py in Claude/Scheduled (a prior sync updated the working tree but never committed). Could be committed by the owning task to clear the dirty flag.Mirror map is in sync as of 2026-05-31. If build_report.py still shows M next run, a prior sync left it uncommitted — confirm it matches canonical, then decide whether to commit. Consider invoking skill_surface_check.py with SAIL_PROJECTS_ROOT=/Users/samaguiar/Documents/Projects (or fix root detection) so the surface report is accurate by default.
shasum -a 256 on host./Users/samaguiar/Documents/Codex/skills-scheduled-mirror-sync/2026-05-31.md.QA status: Open (no drift, but two improvement candidates awaiting Sam's call).