Skip to content

Feat/add export snapshot#775

Open
111r1ck wants to merge 6 commits intoMemPalace:developfrom
111r1ck:feat/add-export-snapshot
Open

Feat/add export snapshot#775
111r1ck wants to merge 6 commits intoMemPalace:developfrom
111r1ck:feat/add-export-snapshot

Conversation

@111r1ck
Copy link
Copy Markdown

@111r1ck 111r1ck commented Apr 13, 2026

What does this PR do?

  • add a new mempalace export <output_dir> CLI command
  • support --snapshot-name and --wing for snapshot exports
  • generate overview.md, manifest.json, root index, and per-wing indexes
  • preserve the existing verbatim room markdown export format
  • add implementation-focused docs for the snapshot export feature
  • stabilize Windows/offline test coverage for onboarding and convo mining verification

This PR adds a first-class snapshot export workflow for MemPalace.

The new export path builds on the existing markdown exporter and adds a human-readable, archive-friendly snapshot layout without changing storage behavior or drawer content. Snapshot exports remain additive and preserve the verbatim guarantee.

The implementation includes:

  • CLI wiring in mempalace/cli.py
  • snapshot export generation in mempalace/exporter.py
  • CLI and exporter test coverage
  • doc cleanup so repository docs keep only implemented snapshot behavior

This PR also includes test-only reliability fixes needed to keep full-suite verification green in the current Windows/offline environment:

  • explicit UTF-8 reads in onboarding bootstrap tests
  • offline deterministic embedding use in test_convo_mining

How to test

  • python -m pytest tests -v
  • python -m ruff check mempalace/exporter.py mempalace/cli.py tests/test_exporter.py tests/test_cli.py
  • python -m ruff check tests/test_onboarding.py tests/test_convo_miner.py

Checklist

  • Tests pass (python -m pytest tests -v)
  • No hardcoded paths
  • Linter passes (ruff check)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

good first issue Good for newcomers storage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants