• Updated karlbot rollout memory settings in .github/workflows/deploy.yml and .github/workflows/manual-bot-redeploy.yml from --vm-memory 1024 to --vm-memory 2048 (and aligned retry log text to 2048MB) to keep redeploys at 2G.
  • Updated agent_proxy/gateway/entrypoint.sh so data_push.py gets a dedicated default interval of 600 seconds (DATA_PUSH_INTERVAL_SECONDS, 10 minutes) before launch, independent from other daemon polling intervals.
  • Updated agent_proxy/gateway/Dockerfile to set NODE_OPTIONS=--max-old-space-size=2048 at image level so mangrove-openclaw-common always applies a 2GB V8 heap cap even when machine env does not provide NODE_OPTIONS.
  • Updated dynamic-machine init script in agent_proxy/main.py to launch data_push.py in the background (python /app/data_push.py &) with default DATA_PUSH_INTERVAL_SECONDS=600, so machine-level /bin/bash -c ... launches (which bypass /app/entrypoint.sh) still start the daemon.
  • Verified locally by building gateway/Dockerfile image and running a container with a machine-style init command: ps showed python /app/data_push.py, and container logs showed Loaded session schema + hello from agent unknown.
  • Root-caused live mangrove-karlbot behavior: image updates were happening, but machine-level init.entrypoint (stored on the machine config) still used an older command that never launched data_push.py; image-only fly machine update --image does not rewrite that entrypoint.
  • Patched live mangrove-karlbot machine config via fly machine update --machine-config to add data_push.py startup, DATA_PUSH_INTERVAL_SECONDS=600, DATA_PUSH_INITIAL_DELAY_SECONDS=0, and explicit /opt/agent-python/bin/python invocation. Verified in logs with [init] starting data_push.py ..., Loaded session schema ..., hello from agent karlbot, and verified process with SSH ps.