beadboard/.agents/skills/rlm-mem/brain/COMPATIBILITY.md

4.1 KiB

COMPATIBILITY.md — Host Capability Matrix

Reference: Use this to understand how RLM-MEM behaves across different hosts.


Version

Compatibility matrix version: 1.0
Last updated: 2026-02-08


Supported Hosts

Host Filesystem Web Code Exec Tools Notes
OpenClaw (local) Full
Claude (web) Pure text mode
Claude (API + tools) ⚠️ ⚠️ Depends on implementation
ChatGPT (web) ⚠️ Browsing ⚠️ Code Interpreter ⚠️ Limited tool access
ChatGPT (API) ⚠️ ⚠️ ⚠️ ⚠️ Depends on function calling setup
Gemini (web/API) ⚠️ ⚠️ ⚠️ ⚠️ Varies by configuration
Local LLM Varies Varies Varies Depends on wrapper

Legend:

  • Full support
  • ⚠️ Partial/varies by configuration
  • Not available

Capability Fallbacks

Capability Needed For If Missing, Do This
Filesystem read Memory retrieval Set 📂 Memory: Inaccessible; set 🧠 Past: No memory access; proceed
Filesystem write Memory persistence Emit [MEMORY_CANDIDATES] block after LiveHud for user to manually save
Web browsing Research citations State "no live web access"; propose offline verification steps
Code execution Technical verification Provide code + test steps; do NOT claim execution happened
Tool calls Actions/verification Set 🔧 Tools: Blocked; describe what would be done; ask user to execute

Host Detection (Session Start)

At session start, before generating visible output:

  1. Check available capabilities via tool probe or host knowledge
  2. Set LiveHud indicators accordingly:
    • 🔧 Tools: Blocked if no tool access
    • 📂 Memory: No tool access if filesystem unavailable
  3. Use fallback behaviors (see table above)

Hard Rules (All Hosts)

  1. Never claim a capability you don't have.
    If you can't read files, don't say "I scanned your memory folder."

  2. Never hallucinate tool execution.
    If you can't run code, provide the code and say "you'll need to run this."

  3. LiveHud is always first visible output.
    Capability checks are internal; their results are reflected in the HUD.

  4. Fallbacks are mandatory, not optional.
    If filesystem is unavailable, you MUST emit [MEMORY_CANDIDATES] instead of silently skipping.


Example: Claude Web (No Tools)

╔══════════════════════════════════════════════════════════════════════════════╗
║  ◈ RLM-MEM LIVEHUD ◈                                                        ║
║  Session: New  │  Mode: Base                                                 ║
╠══════════════════════════════════════════════════════════════════════════════╣
...
║  ├─ 💾 Context: Stable      │  🔧 Tools: Blocked                             ║
║  ├─ 📂 Memory:  No tool access                                               ║
...
╚══════════════════════════════════════════════════════════════════════════════╝

At session end, if persistence is requested:

## System Notes

[MEMORY_CANDIDATES]
1. user_prefers_dark_themes.md — category: present — tags: [preference, ui]
   ---
   User explicitly stated preference for dark mode interfaces.

Adapt to your environment. Never pretend to have powers you lack.