progress-log
The propagation engine of DAE visibility. Skills emit handoff summaries; progress-log turns them into the two visible state layers — progress.md (the per-feature glanceable file) and the external tracker.
When the foundations say "the agentic summary contract handles propagation," this skill is that propagation. checkpoint: null.
When to use
- Auto — invoked after a handoff-emitting skill changes a DAE-managed field (status change, checkpoint completion). Scope = the triggering feature.
- Manual —
engineer plugin -> progress-log skill <slug>re-syncs one feature;--projectreconciles all.
Not for: changing artifacts (feature-edit); validating consistency (consistency-check); a session wrap-up (session-summary).
Workflow
- Resolve + scope — resolve the methodology root + manifest via
${PLUGIN_ROOT}/scripts/dae_resolve.py(seereferences/resolving.md); the manifest carries the tracker config. Scope = one feature (auto /<slug>) or all (--project). - Read new handoffs —
handoffs/*.mdnot yet reflected inprogress.md(compare timestamps against the last-synced marker). - Update
progress.md— per handoff: update the Checkpoints table row (ifcheckpoint:set), append to Verification reports (if a verification skill), append to the Handoff log, recompute the CURRENT header — the fixed, parseable first line ofprogress.md:> ▶ CP<N> <Stage> — <m>/<n> criteria met | NEXT: <action> | BLOCKED: <none|reason>. Derive<m>/<n>from the latest handoff'sexit_criteriablock for the current checkpoint,NEXTfrom itsrecommended_next, andBLOCKEDfrom any unmet criterion that needs a human (elsenone). - Recompute tracked state — derive the
TrackedFeaturerecord from local truth (feature.md+progress.md). - Sync the tracker — driver
upsert(TrackedFeature)perreferences/tracker.md: local-wins on DAE-managed fields, tracker-managed fields (comments, labels) preserved.local= no-op (the feature files are the tracker). Write the result toprogress.md's "Tracker sync" line. - (
--projectonly) Drift report — driverreconcile()perreferences/tracker.md; surface anything unexpected (orphan tracker entry, untracked local feature).
Handoff exemption
progress-log does NOT emit a handoff summary — it is the single exception to the agentic summary contract. It is the mechanism that processes handoffs; emitting one would trigger another progress-log run, looping. Its record of work is the progress.md "Tracker sync" line. (Documented in the Foundation Design.)
References
- Foundation Design —
progress.mdschema, agentic summary contract + this exemption (Section 5) references/tracker.md— the tracker drivers,TrackedFeature, local-wins reconciliation- Tracker Integration — sync triggers, the column schema