docs/the-demo.md
The demo
tests/render-city.ts — point it at a repository the system has never seen, and
it becomes a city that states its own reasoning.
─── Enterprise XI
115 files · 662 facts → 43 districts, 113 buildings
refused: 38× import dependency · 2 actors unlocated · 2 unplaced
pipeline: 6 stages executed, 0 declared-only
probes: symmetrise=confirmed embed=confirmed distance=survived weight=survived
What a viewer can tell apart
The question this artifact exists to answer is not "does it look good". It is whether a human can separate fact, interpretation, and refusal.
Click any building. It answers all five questions, per mark:
height — 21.92 world units
from repo/bytes = 50000 · divided by the largest value currently observed,
square-root transformed, scaled by 26, offset by 2, floored at 0.4
scope world · warrant evidence + convention — floored at 0.4
actually claims: tall relative to the current population of the world
discarded (hidden-basis): the measured magnitude itself …
footprint — 3 · decorative
from nothing · a constant per subtype, carries no semantic claim
Claim-changing marks sort first; decorative ones last. A reader who stops after two entries has seen the marks most likely to mislead.
What it refuses, in the picture
- 38 import dependencies — the fact vocabulary has no binary state family, so there are no facts to draw. Named, counted, and absent.
- 2 actors, 0 located — a commit licenses
author → fileand nothing about place. No position was invented. - 2 files unplaced — never co-changed, so no metric licenses a position. Omitted rather than parked at the origin, which would read as central.
What it admits about its own arrangement
co-change compression removed distinctions irrelevant to the claim
weight compression
distance lossless
shortest-path convention selects a reference its input does not contain
symmetrise convention removes distinctions relevant to its own claim
embed convention
Three of six stages are choices, not measurements — and they are the last three, closest to the pixel. Position is evidential right up until it becomes a picture.
And the losses are witnessed, not asserted:
symmetrise confirmed both produce d(a,b) = 1. Two opposite relationships are one number.
embed confirmed the tetrahedron's four equal distances embed as 0.745, 0.972, 0.901
survived appears twice and the page says what it means: one probe passed.
Absence of contradiction is not proof of correctness.
Evidence versus interpretation
460 evidence · 202 convention
File sizes, containment, commit and author counts are measured. "A commit is a transfer of work from an author to a file" is a reading. The 90-day staleness threshold is a stipulation. Both are declared rather than absorbed.
Standing
| Runs on an unprepared repository? | yes |
| Every mark traceable to a fact? | yes — asserted by the manifest tests |
| Refusals visible? | yes — three classes, counted |
| Ontology expanded? | no |
What is still not established
- This is not the product surface. It is a standalone artifact. The 3-D app
still renders
deriveStructure's fixed estate, and the inspector panel wired intoWorldViewremains visually unverified — the app is passkey-gated and signing in is the user's action. - Position carries no information about coupling — 54.5% of proximity comparisons reversed, measured earlier. The page renders it and says so; it does not fix it. A viewer reading nearness as relatedness is wrong more than half the time, and the page's own stage table is what tells them.
- Comprehension is untested. Whether a viewer reads the caveats and understands them is condition 3, and no test here can establish it.
- One repository, TypeScript only, 115 files.
301 tests, 26 DOM, 40 mutations, tsc clean.