Repository navigation
feat(memory): link every record to the cards it names - #274
Merged
Merged
Conversation
A record now points at cards in the memory repo, as ADR-017 §3, §4 and §10 define it: - `persons` holds person ids, and the meta block links each person's file (`family/people/<id>.md`). A name no declared person goes by stays a plain name and is left out of `persons`. - No `Person: <name>` tags in the memory. Paperless keeps its own. - The first document from a correspondent writes its card, `family/correspondents/<slug>.md`, with the classifier's aliases. The first record filed into a topic writes `<bucket>/<topic>/topic.md`. Neither is rewritten afterwards. - The card browser links records to these cards, and the wiki sends a link to a person's or a topic's card to its page.
Migration `memory/0003` brings existing records to the shape the archivist files now (ADR-017 §3, §4), in one commit by the memory bot: - In each document, note, bookmark and email, a `persons` entry a declared person goes by becomes their id, a meta block link to a person's compiled page (`homer/about.md`) links their card, and `Person: <name>` tags are dropped. - A link to a document that moved since points at where it is now, when its Paperless id names exactly one document. A name no declared person goes by, and a link no one document answers, stay as they are and are listed in the output. Diary cards are left alone: they are signed with a digest. Undo: revert the commit in `family/memory`. Upgrade: `./stack up memory` runs it, after `./stack restart` has put the archivist on this release so new records are filed the same way. Older releases read the result; their archivist names people by display name again.
Migration `memory/0004` writes the cards the archivist now declares the first time a record names them (ADR-017 §10), in one commit by the memory bot: - `family/correspondents/<slug>.md` for each correspondent a document names, with `type`, `card_id` and `title`. - `<bucket>/<topic>/topic.md` for each topic a record is filed into, titled from the folder's name. - A correspondent's file of the old shape (`kind: correspondent`, no `type`) gets `type: correspondent` and its card id, nothing else. A card that is there is never rewritten. Undo: revert the commit in `family/memory`. Upgrade: `./stack up memory` runs it, after migration `memory/0003`. Older releases read the cards; their wiki shows a topic's card as a page of its own.
The stack reference and the vault format now say that `persons` holds person ids, that records link the cards of their people and their correspondent, that correspondents and topics have declared cards, and which migrations brought the files written before to that shape.
arthware-dev
added a commit
that referenced
this pull request
Oct 20, 2026
Every link in the memory points at a card (ADR-017 §3, §4, §10). Records name people by id and link each person's own file; a correspondent and a topic each get a card of their own; `Person:` tags are gone. New records get this from the archivist, existing ones from migrations `memory/0003` and `memory/0004`. Diary cards keep their names for now. Upgrade: `./stack restart` puts the archivist on this release, then `./stack up memory` runs `memory/0003` (people by id) and `memory/0004` (correspondent and topic cards), one commit each in the memory repo. Older releases read the result.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Person:tags are gone. New records get this from the archivist; existing ones from migrationsmemory/0003andmemory/0004.Upgrade:
./stack restartputs the archivist on this release, then./stack up memoryrunsmemory/0003(people by id) andmemory/0004(correspondent and topic cards), one commit each in the memory repo. Older releases read the result.