| name | update |
| description | Mid-session checkpoint: status/decisions only, no session-log, hub updates, or wikilink checks. Use on an explicit checkpoint ("update memory", "checkpoint progress", "save status", `/memex:update`) or after a significant decision before stepping away. Not for every topic shift or heavy-context moment. For a clean close, use `/memex:session-end`.
|
Memex - Update
Wikilink rule: When referencing files in any markdown you write, use [[filename]] format.
Mid-session sync. Flushes status and decisions only. No session-log entry. No hub updates. No _CLOSETS.md refresh. No wikilink checks. For a full close, use /memex:session-end.
Step 1: Resolve paths
Run WORKSPACE_ROOT=$(pwd) && echo "$WORKSPACE_ROOT" via Bash.
Resolve paths via: Config table (if present) > convention (memory/) > search.
If _MANIFEST.md does not exist, tell the user "Memex is not initialized. Run /memex:init first." and stop.
Step 2: Update status.md
- Update "Last updated" to today
- Update "What's In Progress" to reflect current state
- Update "What's Blocked". Resolve unblocked items, add new blockers
- Update "Next Priorities" if they've shifted
Step 3: Log decisions
If meaningful decisions have been made this session, append to decisions.md:
**YYYY-MM-DD** - [decision stated as a fact, one sentence]
Skip if no decisions were made.
Step 4: Annotate superseded decisions
Scan decisions.md for entries where a later entry explicitly overrides an earlier one. Look for language in newer entries referencing older decisions: supersedes, replaces, dropped, no longer, instead of, reverses.
For each match:
- Find the older entry being referenced.
- If not already struck through, wrap it in
~~strikethrough~~.
- Append
(superseded YYYY-MM-DD) with the date of the newer entry.
Only annotate when the override is explicit in the text. Do not infer contradictions from topical similarity. That's /memex:lint's job.
Skip this step if decisions.md has fewer than 5 entries.
Step 5: Confirm
Memory updated.
status.md - updated [date]
Decisions: [count logged, or "none"] ([N] superseded entries annotated)
Session still open. Run /memex:session-end to close fully.
Gotchas
- Update is not session-end. It deliberately skips session-log, hub summaries,
_CLOSETS.md, wikilink check, typed-edge graph, and lock clearing. If the session is actually ending, use /memex:session-end. Otherwise the next session-start will see a stale state and warn.
- Decisions.md is append-only here. Compression lives in
/memex:consolidate. If the file is approaching its 100-line cap, surface a one-line nudge in the confirmation; don't compress in-line.
- Supersession detection is text-explicit only (Step 4). Do not infer from topical similarity. If two decisions about the same project don't reference each other, they're both live until
/memex:lint flags the contradiction.
- No idempotency check here (unlike session-end Step 3). Running
/memex:update twice in a row will refresh the "Last updated" date both times even if nothing else changed. That's fine for a checkpoint primitive. But means update is not a substitute for session-end's idempotent close.