Skip to content

docs: switch CLAUDE.md to the v2 URN grammar - #9

Merged
shadowbrush merged 1 commit into
mainfrom
docs/v2-urn-grammar
Aug 4, 2026
Merged

docs: switch CLAUDE.md to the v2 URN grammar#9
shadowbrush merged 1 commit into
mainfrom
docs/v2-urn-grammar

Conversation

@shadowbrush

Copy link
Copy Markdown
Member

Closes #8. Part of hadron-memory/hadron-server#866 — the ecosystem-wide sweep.

CLAUDE.md is loaded verbatim as mandatory instruction every session, so its v1 :: URNs actively teach the stale grammar to every agent working in this repo. v1 still resolves forever via the stored alias map, which is precisely why the habit never gets corrected by feedback — nothing ever errors.

Per cor:urn:010:01, :: is v1; v2 is flat single-colon and the platform has emitted it since #697/#720.

What changed

  • memory refs hrn:memory:<org>::<slug>hrn:mem:<org>:<slug> — the type word changes too, per the v2 registry
  • node refs collapse to a single colon and keep or gain the hrn:node: prefix. A bare v2 node URN has no positional memory-vs-loc split without the type word, and the CLI rejects it outright — see dev:findings:bare-v2-node-urn-ambiguous-to-cli
  • -m <org>:<memory> args stay bare — the flag fixes the arity there, so the ambiguity doesn't arise
  • shorthand spelled out in full

Not a blind sweep

Every site in this file was checked and every one was instructional — no ownership chains (which have no string-derivable v2 form) and no accepted-input examples to preserve, per dev:conventions:memory-audit-fix-vs-preserve.

Every rewritten target was verified to resolve via a batch hadron_get_nodes read, not assumed.

Follows the same transformation as hadron-memory/hadron-server#868. The root cause — the MCP tool descriptions, which reach every agent regardless of local CLAUDE.md — was hadron-memory/hadron-server#870.

CLAUDE.md is loaded verbatim as mandatory instruction every session, so its
v1 `::` URNs actively teach the stale grammar to every agent working here.
v1 still resolves forever via the stored alias map, which is exactly why the
habit never gets corrected by feedback.

Per cor:urn:010:01, `::` is v1; v2 is flat single-colon and the platform has
emitted it since #697/#720.

- memory refs `hrn:memory:<org>::<slug>` -> `hrn:mem:<org>:<slug>` (the type
  word changes too, per the v2 registry)
- node refs collapse to a single colon and KEEP/GAIN the `hrn:node:` prefix:
  a bare v2 node URN has no positional memory-vs-loc split without the type
  word, and the CLI rejects it (dev:findings:bare-v2-node-urn-ambiguous-to-cli)
- `-m <org>:<memory>` args stay bare -- the flag fixes the arity there
- shorthand spelled out in full

Every site was instructional -- no ownership chains and no accepted-input
examples to preserve (dev:conventions:memory-audit-fix-vs-preserve). Every
rewritten target verified to resolve.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Closes #8. Part of hadron-memory/hadron-server#866.
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@shadowbrush
shadowbrush merged commit 35adbb1 into main Aug 4, 2026
1 check passed
@shadowbrush
shadowbrush deleted the docs/v2-urn-grammar branch August 4, 2026 06:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CLAUDE.md teaches the v1 :: URN grammar — switch to v2 (flat, single colon)

1 participant