Files
memory-continuity/memory/2026-03-13.md
T

5.3 KiB

2026-03-13

  • Memory-continuity project reached a solid Phase 1 checkpoint.
  • Verified subagent continuity can work after fixing Telegram resident agents' tool permissions; root cause was agent config inheriting tools.profile = messaging without tools.alsoAllow, so subagents lacked read. Added group:fs, group:runtime, group:memory, sessions_spawn, and subagents to key resident agents (tech_geek, travel_assistant, finance_assistant, interpreter) and restart made the change effective.
  • Confirmed Telegram resident agent continuity failure was not just stale state; after tool fix, tech_geek successfully recovered a test fact from CURRENT_STATE.md after /new.
  • Determined OpenClaw contextEngine is an exclusive slot, so memory-continuity should not use ContextEngine as the primary v1 architecture because it would conflict with ecosystem plugins like lossless-claw.
  • Design direction finalized: memory-continuity is a structured working-state checkpoint layer that complements native OpenClaw memory/compaction, not a replacement. Primary path is now SKILL.md + standard lifecycle plugin; ContextEngine is a future option only.
  • Added and pushed design docs to GitHub repo dtzp555-max/memory-continuity:
    • references/scope.md
    • references/plugin-design.md
  • Updated and pushed skill docs aligned to lifecycle-plugin direction:
    • SKILL.md
    • README.md
    • references/template.md
    • references/doctor-spec.md
  • Added Phase 2 development artifacts to skill repo:
    • plugin/lifecycle-prototype.ts
    • references/phase2-hook-validation.md
  • Lifecycle plugin prototype now targets ordinary hooks instead of ContextEngine. Current key validated evidence from local SDK/docs: standard plugins can use prompt-injection hooks, especially before_prompt_build (preferred) and before_agent_start (fallback), plus command:new, agent_end, and compaction-related hooks.
  • Prototype bugfixes completed before next live testing phase:
    • fixed JS section parser regex in extractSection
    • aligned archive filenames to YYYY-MM-DD_HH-MM.md
    • added compaction probe marker/log so Experiment C is observable
  • Latest local checkpoint before next phase: ready to mount plugin and run real experiments, prioritizing:
    1. Experiment A — verify before_prompt_build startup continuity injection is actually visible to the agent
    2. Experiment C — verify compaction hook behavior is synchronous/reliable enough for checkpoint safety
  • User preference/process note: for future GitHub pushes on this skill, include a release/version identifier.
  • Phase 2 runtime probe status:
    • Experiment A passed on tech_geek: the resident subagent answered correctly from plugin-injected startup continuity state without using read.
    • After upgrade, travel_assistant initially failed as a sample because it had historical pollution from an old wrong workspace path (~/.openclaw/workspace-travel_assistant) and its AGENTS.md startup sequence did not read memory/CURRENT_STATE.md.
    • After removing the old wrong workspace and fixing travel_assistant's AGENTS.md to read memory/CURRENT_STATE.md on startup, travel_assistant also passed the startup-injection smoke test without using read.
    • Therefore Experiment A is now confirmed on multiple resident subagent samples, including post-upgrade validation.
    • Experiment C is still pending, not failed: the attempted pressure test on tech_geek never actually entered compaction (13% context, 0 compactions), so compaction-hook behavior remains unproven.
    • Conservative decision taken: do not force compaction on the main live session. Run compaction testing later in a disposable/sacrificial test session instead.
    • Additional boundary discovered after fresh Discord testing: Discord main/channel/thread sessions are not currently in the supported continuity set for v0.3.0-probe. Even with fresh /new, new thread, and new channel tests, Discord main failed to preserve short facts or restore concrete working-state details across sessions. Treat resident subagents as the validated support surface; treat Discord main continuity as unsupported for this alpha.
  • New fallback-path finding: during a main-session fallback/new-session event, memory-continuity-probe's before_prompt_build hook did run but logged workspaceDir=<missing> statePath=<missing>, so startup recovery could not resolve CURRENT_STATE.md. Opened upstream issue openclaw/openclaw#44746 and currently suspect an OpenClaw lifecycle/runtime contract gap rather than a pure plugin logic bug.
  • ACP capability clarified: this machine does have ACPX installed and enabled; a Codex ACP smoke test successfully started and inherited workspace context, and later returned a valid worker-style result. Current safe operational model is therefore main -> ACP worker -> main, not free-form stable agent↔agent ACP communication.
  • Additional execution-path validation: temporary subagents were tested in three modes and all worked — single reply, follow-up reply, and parallel two-worker fan-out with main-side aggregation.
  • Important sample-quality note: a same-day Claude ACP smoke test failed, but Tao later confirmed Claude had already entered timeout/overuse state from work usage. Therefore that Claude result should be treated as an invalid/contaminated sample, not evidence that Claude ACP is broken.