The World of Splectrum

Home > Engineering > Namespace

Namespace

The naming system of the Splectrum framework — how things are identified, how identifiers carry multiple dimensions, and how naming maps to resolution.

Identifier Grammar

Two structural primitives in the naming language:

These are upfront dimensions of the identifier backbone — not conventions that emerge through use. The grammar is extendable as new dimensions are discovered.

One Identifier, Multiple Dimensions

Every node in the namespace is identified by a single fully qualified name. This name carries the potential of encapsulated dimensions — each realised when read through a corresponding reader schema:

These are not mappings. The identifier is readable as schema identity, as repo identity, as logical type, as protocol binding. Which dimensions are active depends on what reader schemas are in scope. The potential is always there. The realisation is contextual.

AVRO identifiers — living in the namespace dimension — are underscore-free. General identifiers can include underscore parts when referencing associated metadata subject realities.

The Backbone

spl                          — the framework. Seed, carrier language, naming grammar.
spl.mycelium                 — physical pillar. Data fabric.
spl.mycelium.fabric          — substrate. Records, contexts, metadata dimension.
spl.mycelium.fabric.layers   — layering, read modes, synchronisation, replication.
spl.mycelium.xpath           — addressing, traversal, data protocols.
spl.mycelium.xpath.datauri   — data nodes, opaque bytes.
spl.mycelium.xpath.data      — data nodes, schema-interpreted.
spl.mycelium.protocol        — meaning context for operations. Envelope, resolution.
spl.mycelium.concept         — meaning context for data schemas. Schema flavouring.
spl.mycelium.avro            — AVRO as constitutive technology. Schemas, RPC, "readable as".
spl.mycelium.git             — git as constitutive technology. Boundary, history, exchange.
spl.mycelium.process         — dynamic runtime. Watchers, readiness, boot.
spl.mycelium.process.execute — execution environment. Uniform setup, WYSIWYG.
spl.splectrum                — logical pillar. Language fabric.
spl.haicc                    — cognitive pillar. Activation fabric.

spl is the framework top-level. The backbone is not rigid — other top-level nodes can exist alongside spl. Child nodes below these exist as and when needed. A parent namespace need not exist as a repo for its children to exist. The tree grows from the leaves.

Namespace Trees

The fabric is woven from namespace trees. Every language that participates in the fabric gets its own namespace tree — its own way of organising identity, its own structure for naming what it knows. The three committed languages — AVRO, git, Kafka — are three such trees. The principle extends to any language.

The pivot between any two trees is the same principle: can this data, structured by one tree, be read as what another tree expects? Schema resolution in AVRO is precisely this — reader schema asks whether the writer schema is readable as what the reader needs. The same test applies between any two namespace structures. One principle, everywhere. Not a mapping table — a structural relationship between languages.

Where the pivot loses something, languages genuinely differ. Every transformation between languages has a loss profile. That is not failure — it is equal standing making itself visible. P4: languages have equal standing in potential. The loss at the pivot is where that difference becomes concrete.

Identifier Mapping

Identifiers are mapped at all scopes where they are in play — fabric addressing relative to cwd, AVRO schema resolution relative to subject reality, remote references mapping to external sources. The aim: use an identifier sufficient for the context at hand, but not more. The excess is hidden in the addressing logic.

Mapping is decentralised. Each context contributes its own mappings. Resolution can chain through multiple passes depending on the repositories in play — a local identifier may rewrite through several mappings before reaching fully qualified form.

The execution context keeps sufficient pointer to resolve shortened identifiers back to their fully qualified form. This mapping state is an important part of the request execution context.

All referencing beyond local scope is hidden — the same way all code is hidden behind the RPC server. The subject sees only local identifiers. The infrastructure resolves everything beyond.

An optional domain prefix can be added for external identity. Not architecturally required.

Versioning

Versioning is metadata, not name. Version metadata is advisory to the compatibility unit of the functional resolution algorithm — it helps resolution select, but the actual compatibility test is “readable as.” When something diverges beyond “readable as” the original, it becomes a new namespace node — a new concept, not a version increment.


© 2026 In Wonder - The World of Splectrum, Jules ten Bos. The conversation lives at In Wonder - The Conversation.