hephaestus/crates
Erich Blume ef2081fd8b feat(core,hephd): wiki-link expand-on-read / collapse-on-write (§8.4)
Keep canonical `[[NODEID]]` links readable without storing names. New pure
`heph-core::wikilink` (injected id→title): `expand` turns a bare `[[id]]`
into `[[id|Current Name]]`, `collapse` turns a name-matching `[[id|text]]`
back to bare (a custom label is preserved as an override).

- `node.get` expands on every read (nvim buffer + TUI preview both
  readable), then prepends frontmatter when asked.
- `update_node` strips frontmatter, then collapses links, then CRDT-diffs
  — so neither projection ever persists and an unchanged read→write is a
  no-op to the bare id.

Tests: wikilink unit (expand/collapse/round-trip), a heph-core collapse
+ materialize-by-id integration test, and a socket expand→collapse
round-trip. `heph export` still emits raw ids (later polish).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:32:24 -07:00
..
heph feat(core): tags — canonical tag nodes + OR-set tagging (§4, §8.3) 2026-06-03 11:18:51 -07:00
heph-core feat(core,hephd): wiki-link expand-on-read / collapse-on-write (§8.4) 2026-06-03 12:32:24 -07:00
heph-tui feat(tui): s sort toggle — default vs project-grouped (§8.1) 2026-06-03 11:01:51 -07:00
hephd feat(core,hephd): wiki-link expand-on-read / collapse-on-write (§8.4) 2026-06-03 12:32:24 -07:00