This package is for people whose OpenClaw remembers too little, loses track of tasks, or gives different answers in fresh sessions than it gave earlier.
It adds a small reliability layer on top of OpenClaw. It does that by using a few plain Markdown files as the canonical source of truth:
PROJECTS.mdfor project priorities, goals, status, and time allocationTASKS.mdfor open and closed tasksMEMORY.mdfor durable facts and explicit "remember this" requests- a managed block in
AGENTS.mdthat tells OpenClaw to update and read those files before answering
This package exists because many OpenClaw users run into the same three problems:
- important state given in conversation does not always get written durably
- fresh sessions can answer from stale fuzzy recall instead of current file state
- completed tasks can leak into "what's left" answers
This pack does not replace OpenClaw. It gives OpenClaw clearer files and stricter retrieval rules so memory and task handling become predictable.
Paste this into your coding agent:
I have the OpenClaw Memory Reliability Pack in the current folder. Please install it safely into the real OpenClaw workspace, not a throwaway test profile unless I explicitly ask for one.
Do this exactly:
1. Open a shell in the folder that contains this README.
2. Run the installer in dry-run mode first.
3. Show me the workspace it detected and where that workspace came from.
4. If the workspace looks correct, run the real installer.
5. Run the verifier.
6. If verification fails, run the debug collector and summarize the failure.
7. Do not claim success unless the verifier passes.
- OpenClaw already installed on the target machine
- model access already working for the target OpenClaw instance
- shell access, either directly or through a coding agent
Helpful but optional:
- embeddings enabled for semantic memory support
In practice, OpenClaw can struggle with memory and tasks for a few technical reasons:
- state given in normal conversation is not always turned into durable canonical files immediately
- fresh sessions can rely too heavily on fuzzy semantic recall instead of the newest current state
- task state can be ambiguous when there is no clear canonical split between open work and closed work
- recommendation answers can drift because the agent answers from recent conversation or embeddings instead of reading an authoritative workspace file first
That means a user can tell OpenClaw something important, get a correct answer once, and then get a weaker or inconsistent answer later.
This pack fixes that by changing the storage and retrieval path, not by replacing OpenClaw.
Specifically, it introduces:
PROJECTS.mdas the canonical source for project priorities, focus, goals, status, and allocationTASKS.mdas the canonical source for open and closed tasksMEMORY.mdas the canonical source for durable facts and explicit remember-requests- a managed block in
AGENTS.mdthat tells OpenClaw to update those files before replying when new state is given - retrieval rules that tell OpenClaw to read the correct canonical file before answering project, task, focus, or memory questions
In other words:
- current canonical file state wins over fuzzy recall
- open-task questions read open tasks only
- completed tasks stay in the closed section unless the user explicitly asks about completed work
- fresh-session answers are anchored to durable workspace state instead of chat history alone
The verifier then tests that behavior with real agent calls so you are not relying on the bot simply claiming it worked.
This is the safest path:
- Open a shell on the machine that runs OpenClaw.
- Go into the unzipped package folder.
- Run the installer in
--dry-runmode first. - Confirm it found the real workspace.
- Run the real install.
- Run the verifier.
- Only trust the install if verification passes.
This flow works well on headless Linux servers, including Railway deployments.
Example:
ssh your-user@your-serverExample:
cd ~/openclaw-memory-reliability-pack-YYYYMMDD-HHMMSSIf you know the profile:
bash install-openclaw-memory-reliability-pack.sh --profile YOUR_PROFILE --dry-runIf you want the installer to detect the active default workspace:
bash install-openclaw-memory-reliability-pack.sh --dry-runDry-run shows:
- which profile is being used
- which workspace was detected
- whether the workspace came from config, env vars, or fallback defaults
- which files would be created or patched
- warnings about existing files
bash install-openclaw-memory-reliability-pack.sh --profile YOUR_PROFILEOr, if you want to target a workspace directly:
bash install-openclaw-memory-reliability-pack.sh --workspace /absolute/path/to/workspacebash verify-openclaw-memory-reliability-pack.sh --profile YOUR_PROFILEThe verifier does real openclaw agent --json checks, inspects the canonical files, tests fresh-session retrieval, and restores the original workspace files afterward so the test data does not stay behind.
Run:
bash collect-openclaw-memory-pack-debug.sh --profile YOUR_PROFILEThat writes a non-secret debug report inside:
.memory-reliability-pack-reports/
You can attach that report to a GitHub issue or send it to support.
Typical Railway deployments use a workspace like:
/data/workspace
That is only an example. The installer does not assume that path blindly. It tries, in order:
--workspaceopenclaw config get agents.defaults.workspaceOPENCLAW_WORKSPACE_DIRorCLAWDBOT_WORKSPACE_DIR- a documented fallback default
If you are running the release gate from your local machine with Railway CLI:
railway login --browserlessThen run the generic Railway gate helper from this repo:
bash railway-gate-openclaw-memory-reliability-pack.sh --project YOUR_PROJECT --service YOUR_SERVICE --environment YOUR_ENVIRONMENTIf you know the workspace path and want to force it:
bash railway-gate-openclaw-memory-reliability-pack.sh --project YOUR_PROJECT --service YOUR_SERVICE --workspace /data/workspaceThe installer is designed to be conservative:
- it patches only the managed block inside
AGENTS.md - it creates
PROJECTS.mdonly if missing - it creates
TASKS.mdonly if missing - it creates
MEMORY.mdonly if missing - it backs up existing files before changing anything
- it tries to enable
session-memory - it tries to run
memory index --force
It does not overwrite existing PROJECTS.md, TASKS.md, or MEMORY.md.
After install and verify:
PROJECTS.md,TASKS.md, andMEMORY.mdexist in the real workspaceAGENTS.mdcontains the managed memory reliability block- fresh-session retrieval answers from canonical files
- completed tasks do not leak into open-task answers
- seeded state is durably written to files
- rollback can restore the latest backup cleanly
If you want a throwaway local profile first:
bash smoke-test-openclaw-memory-reliability-pack.sh --profile mempack-smokeUse this only if you intentionally want a test profile. The default recommendation is to install into the real active workspace after confirming the dry-run output.
Paste this:
Please remove the OpenClaw Memory Reliability Pack safely.
Do this exactly:
1. Detect the same workspace the installer used.
2. Run the uninstall script instead of editing files manually.
3. Restore the latest backup.
4. Show me which files were restored.
5. Tell me whether any pack-created files were left behind.
Run:
bash uninstall-openclaw-memory-reliability-pack.sh --profile YOUR_PROFILEOr:
bash uninstall-openclaw-memory-reliability-pack.sh --workspace /absolute/path/to/workspaceIf OpenClaw eventually fixes these memory problems natively, you do not need to panic or rip this out immediately.
Recommended path:
- Upgrade OpenClaw in a safe environment first.
- Run this pack's verifier again.
- Compare the new native behavior with the pack-assisted behavior.
- If upstream behavior is now reliably correct for your workflow, uninstall the pack and rerun verification.
- If upstream behavior is still inconsistent, keep the pack in place until native behavior is trustworthy.
In other words: treat this pack as a reliability layer you can keep until OpenClaw proves it no longer needs it.
If you are on macOS instead of Linux:
- Open Terminal
cdinto the unzipped package folder- Run the same
--dry-run, install, and verify commands shown above