The first design attempted here was the obvious one: make the named-place hierarchy the primary structure. Directories mirror containment — coriopolis/southern-preserve/scimitar-falls/ — facts hang off the place they concern, and temporal scope rides along as a field. It is legible without any tooling at all, which on a project that has none is a serious argument.

It does not survive contact. Working out why it fails is more useful than the failure itself, because the same fault line runs under every alternative.

The fault: names and addresses are different objects#

A name is a label a person assigns to something they care about. A name tree encodes exactly one relation — declared parentage — and it encodes it by fiat. An address is a position in a space, from which relations can be computed: containment, overlap, distance, adjacency, direction.

Making names carry addressing means every spatial question has to be answered from the one relation that was declared, and most spatial questions are not about parentage. Seven cases make the gap concrete.

CaseUnder a name tree
A character stands somewhere unnamed — three kilometres spinward of a landmarkNo address exists. The only moves are minting a throwaway name or attaching the fact to an ancestor it is not true of
Given a point, which named places contain it?Unanswerable. The tree records who the parent is, not what the region is. There is nothing to test a point against
Do two places that are not ancestor and descendant overlap?Unanswerable — and this is the one that matters most, because contradiction detection is an overlap test. Two facts conflict only if their regions actually intersect
How far apart are two places, and how long to travel between them?No coordinates, no wrap-aware metric, no traversability graph
What is near a given place?Siblings-under-a-parent is not adjacency. Two districts under different parents can share a border; two siblings can be sixty kilometres apart
A district is renamed, or reparentedPath is identity. A rename rewrites every citing fact; a reparent rewrites every descendant’s citations too
Political, geographic, and infrastructure organizations coexistOne tree affords one parent. Two of the three get demoted to fields — at which point the tree was arbitrary

Cases two and three fail conditionally: they would work if each place carried real geometry. But then the geometry is doing the work and the directory is decoration, which is the tell that the hierarchy was never the load-bearing part.

Four structural reasons, underneath#

1. Space and time do not subdivide alike#

They have no common unit, and forcing them into one scheme imports an assumption that is false in both directions. Worse, the three spatial axes do not subdivide alike either:

  • Axial is continuous, signed, metric, and bounded — 80 km, endcap to endcap.
  • Circumferential is continuous and cyclic. Distances are not differences. Signed separation is R · (((θ₂−θ₁+π) mod 2π) − π), which at R = 10 km caps circumferential separation at 31.4 km while axial separation reaches 80 km. The two axes are not the same kind of thing.
  • Level is ordinal and discrete — canon writes “2 levels above,” never “400 m above” — with a small cardinality and, critically, a connectivity graph rather than an ordering. Levels are not freely traversable. This is not a dimension to subdivide; it is a discriminator.

So a toxel is not a cube. It is a level index, an axial interval, a circumferential arc, and — independently, at its own refinement rate — a time interval.

2. Most facts are step functions with open ends#

A fact becomes true at a point and stays true until it doesn’t, and usually the end has not been decided. This is fatal to any scheme where time is a location: an open-ended fact has no home. It belongs in every interval from its start onward, or in a “still true” bucket that swallows the corpus. You cannot file by a value you have not chosen yet. Temporal scope has to be a field, not a place.

3. The cross-product is sparse#

Space wants roughly four levels of containment; time wants roughly four. Nested either way, that is a tree whose interior is almost entirely empty, with a habitat-wide-for-one-afternoon fact and a single-room-forever fact at opposite corners of it.

4. One tree cannot hold several hierarchies#

The project already has three organizations in flight, and they do not nest the same way:

  • political — the Mayor’s Coriopolis, its districts and jurisdictions
  • geographic — the Southern Park, the midline ridge, Ring Lake, the preserve
  • infrastructure — splinky strands, terminals, the sub-decks beneath the landscape

A filesystem forces one parent per node. Whichever is chosen, the other two become metadata — so the model is already storing relations as fields, and the primary tree has bought nothing while charging full price on rename and reparent.

The inherited requirement#

One finding carries over from the spatial-consistency bundle and constrains this design more than anything above. Its diagnosis was that in a built environment, arbitrary choices and physical consequences look identical once written down — the dawn-sweep direction was filed under “Physical givens” when it is one of three defensible engineering decisions.

A model that stores only subject, scope, and value reproduces that bug faithfully. Every fact needs a modality: derived (computed from the frame, not editable), decreed (chosen, and could have been chosen otherwise), or undecided (a recorded absence, which the ledger technique already establishes as a finding rather than a blocker).

Modality is what makes the model able to say why a value is what it is — which is the question that six careful renderings could not answer about the sunrise.