DEV Community

Sui Gn
Sui Gn

Posted on

Specification: NRP (Namespace Resolution Protocol)

This specification defines cleaker, a namespace-first network layer designed to decouple identity (Nomen) from network topology (Locum).

cleaker

1. Core Axiom

Resolutio ante directionem; nomen ante locum.
Resolution precedes direction; the name precedes the place.

In NRP, the entity's namespace determines the resolution path. Routing is a consequence of refinement over the Universal Set of Namespaces (U), not the starting point.

2. Canonical Target Grammar

The NRP address follows a strict hierarchical refinement:

[prefix.]constant:selector/path

2.1 Components:

Namespace Identity ([prefix.]constant): The root authority or identity node (e.g., ana.cleaker).
Semantic Port/Selector (:selector): Defines the capability or intent (e.g., :read, :query, :vault).
Branch Expression (/path): The specific semantic branch or executable resource (e.g., /profile).

Example: nrp://ana.cleaker:read/profile

3. The Refinement Logic

Rule: If B adds coordinates to A, then B is a specialized refinement of A.

(Logic: B is a subset of A, or B <= A)

In the cleaker stack:
Local Tree [.me]: Resolves what is internal to the semantic kernel.
Remote Pointer(cleaker): Explicitly defines a branch that exists outside the local kernel.
Transport (NRP): The grammar that makes remote branches addressable without collapsing into generic host-first routing.

4. Operational State: The Remote Pointer
A resolved NRP target produces a structured object that maintains separation between Identity and Transport:

{
identity: { prefix: 'ana', constant: 'cleaker' },
intent: { selector: 'read', path: 'profile' },
resolution: { status: 'unresolved' | 'verified' },
transport: { protocol: 'quic' | 'https', resolvedEndpoint: null }
}

The resolvedEndpoint (the "Place") remains null until the identity (the "Name") is resolved.

5. Implementation (Reference)

The resolution logic discriminates between three identity forms:
1. User Node: /@username -> host/users/username
2. Symmetric Relation: /@a+b -> host/relations/a+b (Stable sorting ensures identity: a+b is same as b+a).
3. Directional Nesting: /@a/@b -> host/users/a/users/b

Top comments (0)