Problem
append_session_note (src/dmx/loop_memory.py) keeps only the most recent _MAX_SESSION_NOTES = 10 entries in .dmx/activeContext.md's ## Session Notes section.
A ticket with a dev loop that iterates many times via repeat_until: all_phases_complete appends one "iterating (round N)" note per phase, plus one note per loop transition (spec complete → chained to plan, plan complete → chained to dev, etc). On a ticket with more than ~10 phases/transitions, the earliest breadcrumbs (e.g. "spec loop completed — chained to plan") scroll out of the window before the ticket finishes.
Purely cosmetic — activeContext.md Session Notes is a rolling human-readable log surfaced as context to the next skill, not a source of truth. The full history is still recoverable from the per-run state files under .dmx/jobs/{job_id}/. No functional/correctness impact, just a reduced narrative trail for a long-running ticket.
Proposal
- Bump
_MAX_SESSION_NOTES (or make it configurable), and/or
- Trim by significance instead of pure recency — e.g. always keep the most recent note per loop name/transition rather than a flat last-N window.
Trivial, no external contract — _MAX_SESSION_NOTES is an internal implementation constant, not part of any public interface.
Problem
append_session_note(src/dmx/loop_memory.py) keeps only the most recent_MAX_SESSION_NOTES = 10entries in.dmx/activeContext.md's## Session Notessection.A ticket with a
devloop that iterates many times viarepeat_until: all_phases_completeappends one "iterating (round N)" note per phase, plus one note per loop transition (spec complete → chained to plan, plan complete → chained to dev, etc). On a ticket with more than ~10 phases/transitions, the earliest breadcrumbs (e.g. "spec loop completed — chained to plan") scroll out of the window before the ticket finishes.Purely cosmetic —
activeContext.mdSession Notes is a rolling human-readable log surfaced as context to the next skill, not a source of truth. The full history is still recoverable from the per-run state files under.dmx/jobs/{job_id}/. No functional/correctness impact, just a reduced narrative trail for a long-running ticket.Proposal
_MAX_SESSION_NOTES(or make it configurable), and/orTrivial, no external contract —
_MAX_SESSION_NOTESis an internal implementation constant, not part of any public interface.