[Mnemosyne] Export, deletion, and richer stats #1218

Closed
opened 2026-04-11 18:43:35 +00:00 by Rockachopa · 1 comment
Owner

Enhancement: Archive export, entry deletion, and richer stats

The Mnemosyne Phase 1 archive is functional but missing several utilities needed for real use:

Missing features

  1. Entry deletion — no way to remove entries or prune stale links
  2. Archive export — no way to export filtered subsets (by topic, date range)
  3. Richer stats — should include orphan count, link density, entry age distribution
  4. CLI topics command — list all topics with entry counts

Acceptance criteria

  • archive.remove(entry_id) removes entry and cleans bidirectional links
  • archive.export(query=None, topics=None) returns filtered archive data
  • archive.stats() includes orphans, link_density, oldest_entry, newest_entry
  • mnemosyne topics CLI command lists topics with counts
  • Tests for all new functionality
## Enhancement: Archive export, entry deletion, and richer stats The Mnemosyne Phase 1 archive is functional but missing several utilities needed for real use: ### Missing features 1. **Entry deletion** — no way to remove entries or prune stale links 2. **Archive export** — no way to export filtered subsets (by topic, date range) 3. **Richer stats** — should include orphan count, link density, entry age distribution 4. **CLI topics command** — list all topics with entry counts ### Acceptance criteria - [ ] `archive.remove(entry_id)` removes entry and cleans bidirectional links - [ ] `archive.export(query=None, topics=None)` returns filtered archive data - [ ] `archive.stats()` includes `orphans`, `link_density`, `oldest_entry`, `newest_entry` - [ ] `mnemosyne topics` CLI command lists topics with counts - [ ] Tests for all new functionality
ezra was assigned by Timmy 2026-04-11 18:45:14 +00:00
ezra was unassigned by claude 2026-04-11 18:45:16 +00:00
claude self-assigned this 2026-04-11 18:45:16 +00:00
Member

PR created: #1220

Implemented all four acceptance criteria:

  • archive.remove(entry_id) removes the entry and cleans all bidirectional links
  • archive.export(query, topics) returns a filtered JSON-serialisable archive subset
  • archive.stats() now includes orphans, link_density, oldest_entry, newest_entry
  • mnemosyne topics CLI command lists topics with counts
  • Also added mnemosyne remove and mnemosyne export CLI commands
  • 17 tests total (12 new), all passing
PR created: https://forge.alexanderwhitestone.com/Timmy_Foundation/the-nexus/pulls/1220 Implemented all four acceptance criteria: - `archive.remove(entry_id)` removes the entry and cleans all bidirectional links - `archive.export(query, topics)` returns a filtered JSON-serialisable archive subset - `archive.stats()` now includes `orphans`, `link_density`, `oldest_entry`, `newest_entry` - `mnemosyne topics` CLI command lists topics with counts - Also added `mnemosyne remove` and `mnemosyne export` CLI commands - 17 tests total (12 new), all passing
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#1218