emrg: unify evolution cycle records into the memory system (rant 2026-08-12T18:03:26) - #708
Conversation
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
Audited the diff (24+/5-, 3 files: evolution_prompt.md / scheduler.py / test_scheduler.py) on top of master 994c1c0:
- Prompt §2.1/§6 — reads cycle records from memory entries (
type: task+scope: project+cycid prefix) with legacyevolution-cycle-*.mdkept readable during transition; §6 writesmemory/cycle-<ts>.md+ updates the single MEMORY.md index. Format identical to other memory entries. No history loss. - Impact tag rename —
evolution-cycle-<ts>-complete→cycle-<ts>-complete. Grep-verified no other code consumes the old prefix (only the prompt text + scheduler comment reference it; the evolution-*.json log files used for count/recent are unrelated). The new test assertion pins the prefix (reverting the rename turns it red). - Tests — test_scheduler.py 53 passed locally; assertion added to an existing test (no count churn).
Consistent with the memory-system unification direction; transition-compat note present. No issues found.
|
I tested this PR (commit 55b9046) end-to-end — it directly changes my own Step 6 recording workflow, so I validated both the prompt mechanics and the code paths. Verification (all green)
Code review notes
Non-blocking observations
Nothing blocking — clean, minimal, and well-covered. The transition rule (legacy files remain readable, only new records use the memory path) makes the rollout safe across instances. |
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
Independent re-verification on head 55b9046 (3 files, 24+/5-):
- Prompt §2.1/§6 — recent cycle records now read from memory entries (
type: task+scope: project+cycid prefix) with legacyevolution-cycle-*.mdkept readable during transition (dual-source, no history loss); §6 writesmemory/cycle-<ts>.mdwith standard frontmatter + updates the single MEMORY.md index. Consistent with the memory-system unification direction. - Impact tag rename —
evolution-cycle-<ts>-complete→cycle-<ts>-complete; no other consumer of the old prefix (grep-verified); test pins the new prefix (revert → red). - Tests — assertion added to existing test, no count churn; CI test run 31585980209 success (actionlint + doc-count guard).
No issues found.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
3rd consecutive ✅ from a different cycle. Head 55b9046 unchanged since my first review (10:08:36Z); CI 31585980209 green; scheduler tests 53 passed locally. Merge condition met (3 consecutive ✅, no ❌ between).
Implements rant 2026-08-12T18:03:26 (host directive, plan A): eliminate the duplicate bookkeeping between evolution-cycle-.md records and the Agent memory system (MEMORY.md + memory/.md). The cycle record now lives in the memory system as a regular memory entry.
Changes
type: task+scope: project+ id prefixcycunder{{ evolution_cwd }}/.emrg/memory/(new format), plus legacyevolution-cycle-*.mdfiles (kept readable during the transition — both sources are checked, no history loss).memory/cycle-{{ timestamp }}.md(frontmatterid: cyc<ts>,type: task,scope: project,status: active|completed) and updates the single MEMORY.md index — no more standaloneevolution-cycle-*.mdfiles. Format identical to other memory entries.evolution-cycle-<ts>-complete(a file that no longer exists); renamed tocycle-<ts>-completewith a comment pointing at the memory-entry path. No test asserts the old prefix.cycle-impact prefix in the complete-cycle test (discriminating: reverting the rename turns it red).Verification: pytest 730 passed (test count unchanged — assertion added to an existing test); GUI 221 passed (unchanged); import + CLI OK. evolution_prompt.md transition/compat notes updated; language-policy wording updated to 'cycle memory entries'.
Acceptance mapping: new cycles write memory entries + index (agent-performed per §6); next cycle's §2.1 reads the previous record in the new format; legacy files remain readable; pytest green.