hephaestus/crates/heph-core/src
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
..
sqlite feat(core,hephd): wiki-link expand-on-read / collapse-on-write (§8.4) 2026-06-03 12:32:24 -07:00
clock.rs Scaffold cargo workspace + heph-core foundation 2026-05-31 18:52:15 -07:00
crdt.rs heph-core: body text-CRDT via yrs (sync 8d) 2026-06-01 09:06:17 -07:00
error.rs feat(views): filter views (§8.2) — saved agenda slices 2026-06-03 06:39:07 -07:00
export.rs heph CLI + export 2026-05-31 20:33:59 -07:00
extract.rs heph.nvim: context-item promotion + Dagger headless-nvim CI (slice 11c) 2026-06-02 06:08:41 -07:00
filter.rs feat(tui): recurring-task glyph + inline detail under the selected row (§8.1) 2026-06-03 08:08:16 -07:00
frontmatter.rs feat(core,hephd): frontmatter projection — render on read, strip on write (§8.3) 2026-06-03 11:32:59 -07:00
hlc.rs heph-core: real HLC + persistent device origin (sync 8a) 2026-05-31 21:13:55 -07:00
lib.rs feat(core,hephd): wiki-link expand-on-read / collapse-on-write (§8.4) 2026-06-03 12:32:24 -07:00
model.rs feat(core): task.set_schedule — reschedule do-date/late-on/recurrence 2026-06-02 19:26:25 -07:00
oplog.rs heph-core: body text-CRDT via yrs (sync 8d) 2026-06-01 09:06:17 -07:00
ranking.rs feat(tui): recurring-task glyph + inline detail under the selected row (§8.1) 2026-06-03 08:08:16 -07:00
recurrence.rs heph-core: recurrence (roll-forward in place) + per-task logs 2026-05-31 19:14:22 -07:00
store.rs feat(core): tags — canonical tag nodes + OR-set tagging (§4, §8.3) 2026-06-03 11:18:51 -07:00
wikilink.rs feat(core,hephd): wiki-link expand-on-read / collapse-on-write (§8.4) 2026-06-03 12:32:24 -07:00