Files
timmy-home/docs/MEMPALACE_EZRA_INTEGRATION.md
Alexander Whitestone 5c8ba43dbf
Some checks failed
Self-Healing Smoke / self-healing-smoke (pull_request) Failing after 31s
Agent PR Gate / gate (pull_request) Failing after 1m2s
Smoke Test / smoke (pull_request) Failing after 28s
Agent PR Gate / report (pull_request) Successful in 19s
feat: add Ezra MemPalace operator bundle (#570)
2026-04-21 07:22:18 -04:00

5.0 KiB

MemPalace v3.0.0 — Ezra Integration Packet

This packet turns issue #570 into an executable, reviewable integration plan for Ezra's Hermes home. It is a repo-side scaffold: no live Ezra host changes are claimed in this artifact.

Commands

pip install mempalace==3.0.0
mempalace init ~/.hermes/ --yes
cat > ~/.hermes/mempalace.yaml <<'YAML'
wing: ezra_home
palace: ~/.mempalace/palace
rooms:
  - name: sessions
    description: Conversation history and durable agent transcripts
    globs:
      - "*.json"
      - "*.jsonl"
  - name: config
    description: Hermes configuration and runtime settings
    globs:
      - "*.yaml"
      - "*.yml"
      - "*.toml"
  - name: docs
    description: Notes, markdown docs, and operating reports
    globs:
      - "*.md"
      - "*.txt"
people: []
projects: []
YAML
echo "" | mempalace mine ~/.hermes/
echo "" | mempalace mine ~/.hermes/sessions/ --mode convos
mempalace search "your common queries"
mempalace wake-up
hermes mcp add mempalace -- python -m mempalace.mcp_server

Manual config template

wing: ezra_home
palace: ~/.mempalace/palace
rooms:
  - name: sessions
    description: Conversation history and durable agent transcripts
    globs:
      - "*.json"
      - "*.jsonl"
  - name: config
    description: Hermes configuration and runtime settings
    globs:
      - "*.yaml"
      - "*.yml"
      - "*.toml"
  - name: docs
    description: Notes, markdown docs, and operating reports
    globs:
      - "*.md"
      - "*.txt"
people: []
projects: []

Native MCP config snippet

mcp_servers:
  mempalace:
    command: python
    args:
      - -m
      - mempalace.mcp_server

Session start wake-up hook

Drop this into Ezra's session start wrapper (or source it before starting Hermes) so the wake-up context is refreshed automatically.

#!/usr/bin/env bash
set -euo pipefail

if command -v mempalace >/dev/null 2>&1; then
  mkdir -p "~/.hermes/wakeups"
  mempalace wake-up > "~/.hermes/wakeups/ezra_home.txt"
  export HERMES_MEMPALACE_WAKEUP_FILE="~/.hermes/wakeups/ezra_home.txt"
  printf '[MemPalace] wake-up context refreshed: %s\n' "$HERMES_MEMPALACE_WAKEUP_FILE"
fi

Metrics reply for #568

Use this as the ready-to-fill comment body after the live Ezra run:

# Metrics reply for #568

Refs #570.

## Ezra live run
- package: mempalace==3.0.0
- hermes home: ~/.hermes/
- sessions dir: ~/.hermes/sessions/
- palace path: ~/.mempalace/palace
- wake-up file: ~/.hermes/wakeups/ezra_home.txt

## Results to fill in
- install result: [pass/fail + note]
- init result: [pass/fail + note]
- mine home duration: [seconds]
- mine sessions duration: [seconds]
- corpus size after mining: [drawers/rooms]
- query 1: [query] -> [top result]
- query 2: [query] -> [top result]
- query 3: [query] -> [top result]
- wake-up context token count: [tokens]
- MCP wiring succeeded: [yes/no]
- session-start hook enabled: [yes/no]

## Commands actually used
```bash
pip install mempalace==3.0.0
mempalace init ~/.hermes/ --yes
echo "" | mempalace mine ~/.hermes/
echo "" | mempalace mine ~/.hermes/sessions/ --mode convos
mempalace search "your common queries"
mempalace wake-up
hermes mcp add mempalace -- python -m mempalace.mcp_server

## Operator-ready support bundle

Generate copy-ready files for Ezra's host with:

```bash
python3 scripts/mempalace_ezra_integration.py --bundle-dir /tmp/ezra-mempalace-bundle

That bundle writes:

  • mempalace.yaml
  • hermes-mcp-mempalace.yaml
  • session-start-mempalace.sh
  • issue-568-comment-template.md

Why this shape

  • wing: ezra_home matches the issue's Ezra-specific integration target.
  • rooms split the mined material into sessions, config, and docs to keep retrieval interpretable.
  • Mining commands pipe empty stdin to avoid the interactive entity-detector hang noted in the evaluation.
  • mcp_servers: gives the native-MCP equivalent of hermes mcp add ..., so the operator can choose either path.
  • HERMES_MEMPALACE_WAKEUP_FILE makes the wake-up context explicit and reusable from the session-start boundary.

Gotchas

  • mempalace init is still interactive in room approval flow; write mempalace.yaml manually if the init output stalls.
  • The yaml key is wing: not wings:. Using the wrong key causes mine/setup failures.
  • Pipe empty stdin into mining commands (echo "" | ...) to avoid the entity-detector stdin hang on larger directories.
  • First mine downloads the ChromaDB embedding model cache (~79MB).
  • Report Ezra's before/after metrics back to issue #568 after live installation and retrieval tests.

Report back to #568

After live execution on Ezra's actual environment, post back to #568 with:

  • install result
  • mine duration and corpus size
  • 2-3 real search queries + retrieved results
  • wake-up context token count
  • whether MCP wiring succeeded
  • whether the session-start hook exported HERMES_MEMPALACE_WAKEUP_FILE

Honest scope boundary

This repo artifact does not prove live installation on Ezra's host. It makes the work reproducible and testable so the next pass can execute it without guesswork.