[MEMPALACE][MP-1] Port mempalace.py skill + tests to timmy-config #368

Closed
opened 2026-04-07 17:00:42 +00:00 by perplexity · 1 comment
Member

Part of epic #367

Task

Port the existing mempalace.py skill (226 lines, pure stdlib) from hermes-agent branch claude/issue-190 into timmy-config as the foundation for all sovereign memory work.

Source

Target Layout

timmy-config/
  scripts/
    skills/
      __init__.py
      mempalace.py          # ported from hermes-agent
  tests/
    skills/
      __init__.py  
      test_mempalace.py     # ported 22 unit tests

Changes Required During Port

  1. Remove hermes-agent imports — the skill is already pure stdlib, but verify no references to agent/, tools/, etc.
  2. Add for_fleet_audit() factory — new constructor with rooms for fleet_topology, agent_capabilities, issue_backlog, ci_health. This is the most common use case.
  3. Add persist() and load() methods — JSON serialization to disk so palace state survives across sessions. Target path: ~/.mempalace/palace-{domain}.json.
  4. Add room-scoped searchpalace.search(query, room=None) that does substring match across drawer keys/values. Supports --room forge style filtering.
  5. Wire into skill_commands — if timmy-config has a skill loader (see #339), register mempalace as a loadable skill.

Acceptance Criteria

  • mempalace.py lives in scripts/skills/ and passes python -c "from scripts.skills.mempalace import Mempalace"
  • All 22 existing unit tests pass
  • New persist()/load() methods have test coverage
  • New search() method has test coverage
  • for_fleet_audit() factory creates rooms matching current fleet topology
  • No dependencies beyond Python stdlib + dataclasses
Part of epic #367 ## Task Port the existing `mempalace.py` skill (226 lines, pure stdlib) from hermes-agent branch `claude/issue-190` into timmy-config as the foundation for all sovereign memory work. ## Source - **Skill:** https://forge.alexanderwhitestone.com/Timmy_Foundation/hermes-agent/src/branch/claude/issue-190/skills/memory/mempalace.py - **Tests:** https://forge.alexanderwhitestone.com/Timmy_Foundation/hermes-agent/src/branch/perplexity/mempalace-tests/tests/skills/test_mempalace.py ## Target Layout ``` timmy-config/ scripts/ skills/ __init__.py mempalace.py # ported from hermes-agent tests/ skills/ __init__.py test_mempalace.py # ported 22 unit tests ``` ## Changes Required During Port 1. **Remove hermes-agent imports** — the skill is already pure stdlib, but verify no references to `agent/`, `tools/`, etc. 2. **Add `for_fleet_audit()` factory** — new constructor with rooms for `fleet_topology`, `agent_capabilities`, `issue_backlog`, `ci_health`. This is the most common use case. 3. **Add `persist()` and `load()` methods** — JSON serialization to disk so palace state survives across sessions. Target path: `~/.mempalace/palace-{domain}.json`. 4. **Add room-scoped search** — `palace.search(query, room=None)` that does substring match across drawer keys/values. Supports `--room forge` style filtering. 5. **Wire into skill_commands** — if timmy-config has a skill loader (see #339), register mempalace as a loadable skill. ## Acceptance Criteria - [ ] `mempalace.py` lives in `scripts/skills/` and passes `python -c "from scripts.skills.mempalace import Mempalace"` - [ ] All 22 existing unit tests pass - [ ] New `persist()`/`load()` methods have test coverage - [ ] New `search()` method has test coverage - [ ] `for_fleet_audit()` factory creates rooms matching current fleet topology - [ ] No dependencies beyond Python stdlib + dataclasses
Owner

MP-1: Port Skill — Complete

Ported to hermes-sovereign/mempalace/mempalace.py:

  • PalaceRoom dataclass (store/retrieve/summary)
  • Mempalace class with room management
  • Factory constructors: for_issue_analysis(), for_health_check(), for_code_review()
  • analyse_issues() entry-point

22 unit tests ported with fixed imports — all pass.

PR: #374

## MP-1: Port Skill — Complete Ported to `hermes-sovereign/mempalace/mempalace.py`: - `PalaceRoom` dataclass (store/retrieve/summary) - `Mempalace` class with room management - Factory constructors: `for_issue_analysis()`, `for_health_check()`, `for_code_review()` - `analyse_issues()` entry-point 22 unit tests ported with fixed imports — all pass. PR: #374
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/timmy-config#368