.me

me:// URI Scheme — Grammar Specification

neurons.me / suiGn Status: Draft v0.1 License: CC0 1.0 Universal — Public Domain


1. Primitives

me-uri     = "me://" namespace [ selector ] [ "/" path ]

namespace  = handle "." space
handle     = 1*( ALPHA / DIGIT / "-" / "_" )
             ; handles MUST NOT contain "."
             ; "." is reserved as a structural operator
space      = label *( "." label )
label      = 1*( ALPHA / DIGIT / "-" )

selector   = "[" selector-value "]"
selector-value = ""                        ; explicit fanout
             / "current"                   ; local surface only
             / "surface:" surface-name     ; named surface
             / "claim:" claim-token        ; pairing handshake
surface-name = 1*( ALPHA / DIGIT / "-" / "_" )
claim-token  = 1*( ALPHA / DIGIT / "-" / "_" )

path       = segment *( "." segment )
segment    = 1*( ALPHA / DIGIT / "-" / "_" )

2. The . Operator

. is not a character. It is a structural operator with exactly one meaning:

descend into the next level

This rule applies uniformly across the entire system:

Context Example Meaning
Space neurons.me root space
Sub-space dev.neurons.me refinement of space
Namespace suign.neurons.me handle inside space
Path profile.name descent into tree
Deep path wallet.primary.balance chained descent

Because . has exactly one meaning, the parser is deterministic. No regex heuristics, no edge cases.

Handles must not contain . — this is not a validation rule, it is a semantic invariant. Allowing . in handles would make the system interpretive rather than structural.


3. Identity vs Transport

These are not the same thing, even when they share the same string.

Scheme Domain Parsed as
me:// semantic parsing namespace grammar
https:// transport parsing DNS / HTTP host

Rule: me:// defines meaning. https:// only reaches it.

me://suign.neurons.me[macbook]/profile.name
     ─────────────────────────
     semantic identity namespace
     parsed by me:// grammar

https://suign.neurons.me/profile.name
        ─────────────────
        DNS host
        parsed by HTTP/DNS
        may project to me:// via resolver — but is not me:// by itself

DNS never shapes identity directly. Only explicit resolver rules may project a DNS host into a namespace.


4. Namespace vs Surface vs Host

These three terms are distinct and must not be conflated:

Term Definition Example
space root semantic world neurons.me
namespace derived identity space suign.neurons.me
surface runtime execution context within a namespace [macbook], [iphone]
host HTTP/DNS transport address suign.neurons.me (as DNS)

A surface is not a namespace. An iPhone, a MacBook, and a server process are all surfaces of the same namespace — not separate namespaces.


5. Resolver Rules for DNS → Namespace Projection

Input Projection rule
me://suign.neurons.me canonical — always semantic namespace
https://suign.neurons.me transport host; resolver may project to suign.neurons.me namespace
https://foo.bar.neurons.me not auto-projected as username; treated as raw namespace string or rejected
hostname.local surface-local transport; no semantic namespace auto-inferred
localhost loopback transport alias only; not a semantic namespace

Single-label projection rule: exactly one extra label over a known root space = user namespace projection is permitted.

suign.neurons.me    →  handle=suign, space=neurons.me  ✓
foo.bar.neurons.me  →  NOT handle=foo.bar — reject or treat as raw namespace

Multi-label subdomains are either a raw namespace string or invalid unless explicitly declared projectable.


6. Human Layer vs System Layer

The system supports two surface forms for the same identity:

Human layer:    suign@neurons.me          (familiar, email-like)
Semantic layer: me://suign.neurons.me     (canonical)
Web surface:    https://suign.neurons.me  (transport ingress only)

suign@neurons.me resolves to suign.neurons.me as a canonical step, not a parsing rule.

@ = human-friendly binding operator . = system-level structural operator

Both coexist. Neither overrides the other.


7. Canonical Examples

me://suign.neurons.me/profile.name
me://suign.neurons.me[macbook]/wallet.primary.balance
me://suign.neurons.me[surface:iphone]/runtime.battery
me://suign.neurons.me[current]/session.active
me://suign.neurons.me[]/chat.general
me://suign.neurons.me[claim:xyz123]/new-surface

8. Invalid Forms

me://john.dev.neurons.me     ; ambiguous if john.dev could be a handle
                             ; INVALID — handles must not contain "."
me://suign@neurons.me        ; @ is human layer only, not me:// grammar
me://localhost/profile       ; localhost is transport, not namespace
                             ; INVALID as canonical me:// identity

9. The Invariant

A symbol must fulfill its meaning by definition.

. means descent. Always. At every level. In every context.

This is not enforced by validation logic. It is enforced by the grammar itself. A system where symbols cannot lie does not need rules to be consistent — consistency is structural.


∴ suiGn / neurons.me — Draft v0.1