hephaestus/docs/reference
Erich Blume 4cdf0de64c
Some checks failed
Build / validate (pull_request) Failing after 4m35s
feat(core): tags — canonical tag nodes + OR-set tagging (§4, §8.3)
A tag is a `tag`-kind node with a deterministic id in (owner, name)
(`tag:<owner>:<name>`, like the journal), so a name is one canonical tag
shared across nodes and replicas converge with no duplicates. Tagging is
an OR-set `tagged` link (mirroring in-project):

- heph-core: `nodes::open_or_create_tag` (bodyless, deterministic id),
  `tags::{add,remove,of}`, and `Store::{add_tag,remove_tag,tags_of}`.
  Enumerate all tags via the existing `list_nodes(Tag)`.
- hephd: `tag.add`/`tag.remove`/`tag.list` RPCs + RemoteStore forwarding.
- heph: `heph tag add|rm|list` (a node's tags, or every tag).

Names are trimmed; canonical case/spelling normalization is deferred to
the zk import. Unblocks the `tags:` line of the frontmatter surface.
Tests: core add/dedupe/remove/canonical-id/trim/missing-node + a socket
add/list/enumerate/remove test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 11:18:51 -07:00
..
heph-nvim.md feat(nvim): do/late date chip (+ ↻) on task-view rows (§8) 2026-06-03 11:05:02 -07:00
reference.md feat(tooling): mise run import-todoist — seed a heph store from Todoist 2026-06-02 20:15:05 -07:00
tech-spec.md feat(core): tags — canonical tag nodes + OR-set tagging (§4, §8.3) 2026-06-03 11:18:51 -07:00