Skip to content

Read the ECC Memory Vault, superpowers rulings and Claude Code memory files through decision import, as proposals - #693

Merged
felipesauer merged 7 commits into
main-v1from
bridges-into-the-record
Oct 4, 2026
Merged

felipesauer merged 7 commits into
main-v1from
bridges-into-the-record

Conversation

@felipesauer

Copy link
Copy Markdown
Owner

mnema decision import now reads three more places decisions are written, with --format:

  • ecc-vault: a directory of the ECC Memory Vault's *.json memories. Read from the vault's documented memory shape; only kind: "decision" is read, and rejected/superseded states are skipped.
  • rulings: one superpowers ledger file; each line starting Ruling: is one proposal, cited as file:line.
  • claude-memory: a directory of the memory files Claude Code writes under ~/.claude/projects/<project>/memory/ (name: frontmatter plus body; MEMORY.md is skipped).

Nothing is accepted by importing: every entry is born proposed, whatever the source calls its status, and is cited to where it was read (a source outside the project is cited as <format>:<file>). The plan is printed before anything is written, and a malformed file is named and nothing is read from it.

The first positional is now <source> instead of <dir>, since a ledger is a file. The guards that count files, declared sets and completion values are updated for the new option and files.

Proof: new tests cover each of the three sources and a malformed file. Recording the import as accepted makes two of them fail. Full suite: 450 files, 6351 tests.

@felipesauer
felipesauer merged commit 7635915 into main-v1 Oct 4, 2026
6 checks passed
@felipesauer
felipesauer deleted the bridges-into-the-record branch October 4, 2026 04:02
felipesauer added a commit that referenced this pull request Oct 5, 2026
… files through decision import, as proposals (#693)

`mnema decision import` now reads three more places decisions are
written, with `--format`:

- `ecc-vault`: a directory of the ECC Memory Vault's `*.json` memories.
Read from the vault's documented memory shape; only `kind: "decision"`
is read, and `rejected`/`superseded` states are skipped.
- `rulings`: one superpowers ledger file; each line starting `Ruling:`
is one proposal, cited as `file:line`.
- `claude-memory`: a directory of the memory files Claude Code writes
under `~/.claude/projects/<project>/memory/` (`name:` frontmatter plus
body; `MEMORY.md` is skipped).

Nothing is accepted by importing: every entry is born `proposed`,
whatever the source calls its status, and is cited to where it was read
(a source outside the project is cited as `<format>:<file>`). The plan
is printed before anything is written, and a malformed file is named and
nothing is read from it.

The first positional is now `<source>` instead of `<dir>`, since a
ledger is a file. The guards that count files, declared sets and
completion values are updated for the new option and files.

Proof: new tests cover each of the three sources and a malformed file.
Recording the import as `accepted` makes two of them fail. Full suite:
450 files, 6351 tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant