Why are there components at the top of a repo?

Question

Why are there mesh node components like _meta/, _node-handle/, and _assets/ at the top level of a repository? Shouldn't components only be inside nodes?

Answer

Components at the repository root exist because the repository root itself is a mesh node - specifically, it's the root node of the mesh.

Repository Root = Mesh Root Node

Every semantic mesh has a root node, and in a repository-based mesh, the repository root is that root node. It's a "nameless" node locally (represented as "/") that can be any type of mesh node:

  • bare node: If the repo organizes other nodes
  • data node: If the repo represents a single dataset
  • Reference node: If the repo represents an external entity

Since the repository root is a mesh node, it follows the same rules as any other node and must contain:

  • _meta/: corresponds to the metadata flow with administrative metadata for the root node
  • _node-handle/: corresponds to node handle for referential indirection

The root node may contain other components: Depending on the root node type (e.g., _ref/ for reference nodes, _data/ for versioned datasets)

Consistency Principle

This maintains architectural consistency: every mesh node has the same structure and capabilities, whether it's nested deep in the hierarchy or at the repository root. The root node isn't special - it's just the top-level node in the mesh hierarchy.

Mesh Self-Containment

This design also supports the principle that any subtree is a complete mesh. The repository root, being a proper mesh node with all its components, ensures the entire repository is a self-contained, functional semantic mesh.


Backlinks