Result: DRIFT FOUND + AUTO-RESOLVED

Daily sync of canonical Projects/Skills files into the Claude/Scheduled paths that scheduled-task prompts load. Ran via Desktop Commander (host FS) because Claude/Scheduled/ and Codex/ sit outside the Cowork mount.

Mirror map (5 entries)

# Destination Mode Pre-sync Action
1 _post-run-qa-reflection.md partial MATCH none
2 sail-kb-daily-pulse/SKILL.md full-skill BODY DRIFT merged, preload header preserved
3 sail-kb-daily-pulse/build_report.py binary DRIFT byte-copied canonical→dest
4 _skill-preload.md binary content MATCH but untracked staged + committed (now tracked)
5 Codex/_fallback/SKILL-PRELOAD-AND-DRIFT-GUARD.md binary MATCH none (outside repo)

Drift detail: dest sail-kb-daily-pulse was missing the canonical v3.3.0 (2026-06-03) changelog line (restored kb_live_backlog.py helper, live_backlog_count aggregate, Section C cap at 30 exports). build_report.py drift is the matching Section C change — a coherent pair. Preload header preserved byte-identical.

Verification (QA)

Git

Cross-checks

Open items (non-blocking, QA: Open)

  1. Recreate Projects/Skills/skills-scheduled-mirror-sync/discover_unmapped_partials.sh so Step 4 is deterministic instead of a manual fallback.
  2. Optionally add skills-scheduled-mirror-sync (self) to the mirror map so the task's own mirror is drift-guarded.