During the live Memory Core repair-defrag, the operator added the new progress output from #14011/#14013 but found the log still hard to correlate with LM Studio warnings and wall-clock runtime. The visible progress stream now reports useful phase buckets, but the individual repair progress lines have no timestamp:
When the repair can run for hours and LMS emits separate warnings with timestamps, untimestamped progress lines are not enough. The operator cannot pin which repair batch or phase emitted which external warning without manual wall-clock watching.
The Problem
#14011 made repair-defrag progress visible, but not time-correlatable. That leaves a forensic gap during incident recovery: progress percentage, phase, and counts are present, but not the precise time at which each phase/bucket occurred.
This is a follow-up, not a reopening of #14011. The missing functionality is narrower: add machine-readable timestamps to the progress log lines emitted by the repair-defrag path.
The Architectural Reality
The affected surface is the operator-facing maintenance script output:
ai/scripts/maintenance/defragChromaDB.mjs owns formatMemoryCoreRepairProgress() and the CLI log calls around Memory Core repair-defrag.
ai/scripts/maintenance/repairMemoryCoreStoredEmbeddings.mjs already emits phase/count progress events; the timestamp belongs at formatting/logging time, not in embedding provider config or Chroma state.
The format should remain human-readable while making correlation with LM Studio / process supervisor logs straightforward.
The Fix
Prefix Memory Core repair-defrag progress lines with an ISO timestamp or otherwise include an explicit timestamp field in each formatted progress line.
Live latest-open sweep: checked latest 20 open issues at 2026-06-25T18:43Z; no equivalent open ticket found. Targeted open search for defrag timestamp progress log Memory Core repair returned no open issues. A2A in-flight claim sweep: checked latest 30 all-status messages at the same time; no overlapping [lane-claim] or [lane-intent] found.
Context
During the live Memory Core repair-defrag, the operator added the new progress output from #14011/#14013 but found the log still hard to correlate with LM Studio warnings and wall-clock runtime. The visible progress stream now reports useful phase buckets, but the individual repair progress lines have no timestamp:
When the repair can run for hours and LMS emits separate warnings with timestamps, untimestamped progress lines are not enough. The operator cannot pin which repair batch or phase emitted which external warning without manual wall-clock watching.
The Problem
#14011 made repair-defrag progress visible, but not time-correlatable. That leaves a forensic gap during incident recovery: progress percentage, phase, and counts are present, but not the precise time at which each phase/bucket occurred.
This is a follow-up, not a reopening of #14011. The missing functionality is narrower: add machine-readable timestamps to the progress log lines emitted by the repair-defrag path.
The Architectural Reality
The affected surface is the operator-facing maintenance script output:
ai/scripts/maintenance/defragChromaDB.mjsownsformatMemoryCoreRepairProgress()and the CLI log calls around Memory Core repair-defrag.ai/scripts/maintenance/repairMemoryCoreStoredEmbeddings.mjsalready emits phase/count progress events; the timestamp belongs at formatting/logging time, not in embedding provider config or Chroma state.The Fix
Contract Ledger Matrix
formatMemoryCoreRepairProgress()outputnpm run ai:defrag-memory -- --allow-memory-coreoperator streamDecision Record impact
none - this is maintenance-script observability within the existing repair-defrag path.
Acceptance Criteria
Out of Scope
Avoided Traps
Related
Related: #14011 Related: #14013 Related: #13999 Related: #14015
Live latest-open sweep: checked latest 20 open issues at 2026-06-25T18:43Z; no equivalent open ticket found. Targeted open search for
defrag timestamp progress log Memory Core repairreturned no open issues. A2A in-flight claim sweep: checked latest 30 all-status messages at the same time; no overlapping[lane-claim]or[lane-intent]found.Origin Session ID: 9280140f-8b54-4462-9342-49cca7e226f4
Handoff Retrieval Hints:
Memory Core repair-defrag progress timestamps formatMemoryCoreRepairProgress,#14011 progress bucket timestamp follow-up,correlate LMS warnings with defrag re-embed progress