Files
amethyst/commonsUI
Claude 6c6aec8315 fix(quartz): correct tag readers found by the graph link review
Reviewing every kind's links for the graph vocabulary turned up readers
that return the wrong target, or accept values of the wrong shape:

- nip19: pubKeys() no longer returns the key of a pasted nsec
- nip18: QTag address parsers accepted event ids and rejected addresses
- nip28: a hide-message no longer counts its channel as a hidden message
- nip53: live chat unmarkedReplyTos drops the activity; presence events
  mark their room `root`, as the spec requires
- nip51: GeohashListEvent.create no longer swaps public and private
  entries; a replaceable list ignores a stray d tag in its address
- forks: forkFromAddress reads the fork-marked `a`, not the first `a`;
  ForkTag checks the NIP-text kind, not the community kind
- attestations: RequestTag parses as RequestTag and requires kind 31872;
  attestorPubKeys() names the p tags, assertionPubkey() is deprecated
- nip58: profile badges read only kind 30009 definitions
- interactive stories: rootScene writes the root-scene tag; reading-state
  build no longer swaps summary and image
- nip87: mint and recommendation events are addressable (EventCache now
  routes them through consumeBaseReplaceable)
- nipA0: voice replies carry the thread's root event, kind and author
- id-shaped tags (replaced-by, agent, report, winner, edit, consent,
  group participants and deletions, citation timestamp, address members)
  reject values that are not 64-char hex or valid addresses

Each fix has a regression test that fails without it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pu8Fpp4KbXaiax8YTYxhJm
2026-09-29 15:19:14 +00:00
..