What Atlas cannot show yet
Atlas renders only public interfaces. The day it needs a private endpoint to show something, the protocol has a gap — so this page is the protocol’s to-do list, kept where everyone can see it. The list shrinking over time is the proof the method works.
A node's index labels every mirrored event node_id:"peers" instead of naming the originating peer. Atlas works around it by querying each node's own index, but attribution should come from the protocol, not from fan-out.
Declared peer links carry kinds 0 and 1 only. A peer mirroring Röbel today gets profiles and posts, not the programme. Widening the declared kinds is a manifest edit — the mechanism exists.
Proposal texts, states and aggregate tallies live onchain and in the app, but are not yet published as signed records on the node's public index. Atlas shows chain aggregates and stops there.
Events owned by personal (non-organisation) accounts are refused by the publisher until an explicit per-person opt-in exists. Correct privacy default; missing feature.
A new node becomes visible to Atlas by a pull request to registry/nodes.json. A protocol-native announcement (a signed record on the node's own relay, or a well-known URL) would remove the human step; its design belongs in NSP.
@netizen-labs/protocol ships TypeScript with NodeNext-style .js imports that app bundlers cannot resolve, so Atlas validates manifests with its own tolerant schema instead of the canonical one. An outside builder would hit the same wall — the protocol package needs a published build.
Editing a profile, event or listing mints a new event id; the old id stops resolving anywhere (NIP-01 replaceable semantics, observed live 2026-07-30). Correct behaviour — but a proof page should eventually resolve the record's address (d tag) to its current version instead of dead-ending.
2026-07-30 — org profiles publish as kind 0 signed by each org's own derived key, with the netizen_org tag.
2026-07-30 — NIP-52 kind 31923, signed by the owning organisation. Any generic Nostr client renders the town's programme.
2026-07-30 — NIP-23 long-form (kind 30023) on the public index.
2026-07-30 — NIP-15 listings (kind 30018), seller opt-in, withdrawal-as-edit instead of silent deletion.
2026-07-30 — /manifest on the node's index returns the full NSP-0 document; secret references stay references, which is what makes a manifest safe to publish.
2026-07-30 — posts, replies, reactions and reposts dual-write to the relay, and events written in any Nostr client flow back to the app for bound citizens.