Sync
One pass through every maintenance operation, in dependency order, ending in a status line and an optional next move.
sync brings every derived view current at once. Heavier than quick-pulse, lighter than running each skill by hand. Run it when you have been away, when you want to start fresh, or when something feels stale.
Why the order matters
Compile feeds the wiki state that lint operates on. Lint's auto-fix touches the same articles the dashboard's link rewriter needs clean. Flywheel runs after the wiki is clean, so it reads a current memory index, and before scan and dashboard refresh, so both views reflect post-flywheel task state. Out of order, you re-reconcile.
What flywheel does
Flywheel is a cross-project work session framed by your north-star roadmap. It advances tasks, updates threads, closes what is done, and keeps milestone statuses honest. Two sub-steps run every sync unconditionally: the archive sweep (closed tasks into tasks/archive/) and a snapshot to reports/briefings/flywheel/ so the next morning brief can pick up the trail.
The closing interview
Only when sync surfaced something to act on (an overdue item, a due cadence skill, a pending upgrade, a concrete next move) does it end with a single question: pick what to tackle, then act on it now or queue it as a task. On a clean bill, the status block is the end.
Chaining a briefing
sync morning or sync evening runs the matching briefing after the maintenance pass. With no argument, sync picks: a forgotten morning brief still runs in the afternoon instead of silently becoming an evening one.
The status block reads from artifacts on disk (projects/TASKS.md, .kevin/lint.md, knowledge/memory/index.md), not from per-tool return values, so the summary reflects what actually landed.