the world of dizzi

The numbers

Six figures, and how each was counted

A number without a method is a claim. Each figure below carries the method that produced it and the date it was measured — and where it cannot be checked from outside, it says so on its own tile.

On 6 August 2026 the public code extract was withdrawn. What is published now is a curated set of 38 documents. Two of the figures below therefore describe something that is no longer public and can no longer be reproduced from outside. They stay on the page with that said, because deleting a number the site led with for two weeks would be the quieter kind of dishonesty.

Measured, not claimed

The six figures this site leads with

Three of the six cannot be checked from outside any more, and each of the three says so on its own tile. Every tile opens to show how it was produced.

  1. 10 applications — the core and nine around it

    can be checked

    How it was counted

    The ten are one row each in the extract’s README: admin, communication, core, creating, healthy, management, memory, money, news, trading. Counting the core as one of the ten is a choice, not a measurement — the same set is described as nine applications around a headless core wherever that relation is the point.

    Until 6 August 2026 the count had a second, blunter method: directories under apps/. Nine of them survive the curation with their README; the trading fleet’s papers were taken out entirely, so counting folders now lands at nine and the table is the method that still holds.

    apps/ in the repository ↗

  2. 38 documents published — the code is not

    can be checked

    966 tracked files, until 6 August 2026

    38 documents, now

    The same folder, before and after the curation of 6 August 2026. Nothing was added to make the second of these bars look better.
    How it was counted, and what it replaced

    git ls-files in the published folder: 38 Markdown documents. Twenty-eight are the network’s own — the laws, the vision, the architecture papers and the written contracts — and nine are one README per application; the last is the folder’s own README. This figure is current and can be reproduced by anyone in one command.

    It replaces a different figure. From 23 July to 6 August 2026 the same folder held 966 tracked files: the whole code extract, one curated commit. That was cut back deliberately. What went, went for reasons that are worth naming rather than hiding — the shared libraries and the security concept, because a map of what is not yet hardened helps exactly one kind of reader; the trading fleet’s papers, because sizing rules and decision mechanics of something that moves real money do not belong on an open page; every application’s implementation, because showing the method does not require shipping the machine.

    Nothing was published to make this number look better. The folder only lost files, never gained any, and every document still in it stood there before.

    The 38, in the repository ↗·The one application with no source link →

  3. ~100,000 lines of Python, across 632 files

    cannot be checked from outside

    How it was counted, and why you can no longer repeat it

    Measured in the code extract that was withdrawn on 6 August 2026. The method below was reproducible until that day and is not any more. It is written out anyway, so the figure can at least be judged by how it was made.

    File count: git ls-files "*.py" — 632 files. The rounded figure stands for an exact one: 100,234 lines carry a non-whitespace character, and 119,249 lines exist in total. The rounded number is the one used on the other pages, because the working repository moves every day and the next snapshot will carry a different exact figure; both describe the same measurement.

    One detail worth naming, because it is the sort of thing that makes two honest counts disagree: two files end without a final line break — apps/core/tests/test_voice.py and apps/news/tests/test_report.py. A count that works by counting line breaks misses the last line of each and lands two short. The figure above counts lines, not line breaks.

  4. 2,667 test functions in 309 files

    cannot be checked from outside

    How it was counted, and why you can no longer repeat it

    Measured in the code extract that was withdrawn on 6 August 2026 — like the figure above, and for the same reason.

    Every tracked .py file is parsed for functions whose names begin with test_. The suite is not run to produce this figure, which means it counts tests written, not tests passing. That distinction is the whole reason the number is described this way rather than as a pass rate.

    Forty-four of them are asynchronous, so a count that looks only for def test_ and not for async def test_ lands at 2,623 instead. The per-application figures on the applications page were produced by the same parse, in the same run.

    Where they sit →·The per-application figures →

  5. 1112 lines in the script that builds this website

    counted at build time

    How it was counted, and why it counts itself

    The physical line count of bake.py, in this website’s own repository. Of those lines, 1002 carry a non-whitespace character. The footer of every page names this figure, so it belongs here with its method like the rest.

    It is in this list for a second reason. Until 26 July the same footer said 100-line while the file held more than five times as many, and no reader could have caught it from the page: the only source link in that footer pointed to the network repository, which does not contain this file. Then it went wrong again — the figure was corrected to the right number, and the very work that added this page grew the file past it.

    Both holes are closed here. The figure is no longer typed anywhere: the build script counts its own lines and writes the result into every footer, into this entry and into the German summary at the foot of this page. An edit that changes its length changes all of them, and bake.py --check fails until they are built again — so the figure can no longer go stale without the check saying so. And the footer figure is now a link to this entry, which carries the source link that was missing.

    bake.py in this website’s own repository ↗

  6. 2,600+ commits in the private working repository behind the snapshot

    cannot be checked from outside

    How it was counted, and why it is stated as a floor

    git rev-list --count in the working repository, which is private. This one was never checkable, and it is the only one of the three for which that was always true. The public folder is a single commit, so counting commits there proves nothing about the work behind it.

    It is written as a floor rather than an exact number for that reason: an exact figure would look precise while resting on nothing you can inspect, and it would be stale within a day. A floor is the most a private number is entitled to claim.

The sum a reader will try

Where the other 628 tests sat

Add up the nine test figures on the applications page — Dizz Creating carries none, because its core was never in the extract — and you get 2,039, not 2,667. The difference is real, and it was not hiding anywhere clever: the shared work does not sit inside the applications.

  • 579 in packages/ — the shared libraries, appkit and the design system
  • 46 in ops/ — the operating scripts and the documentation check
  • 3 in templates/ — the scaffold a new application starts from
  • 2,039 across the ten application folders — Dizz Creating contributes none

579 + 46 + 3 + 2,039 = 2,667. The bars are that sum drawn to scale. The sum is here because a reader who adds these four up deserves the answer on the page rather than a discrepancy to wonder about. This breakdown belongs to the same 27 July measurement as the total, and like the total it describes a folder that is no longer published.

Why the shared libraries carry the most

This is the part of the architecture that is easiest to state and hardest to show. Shared libraries that carry authentication, contract checking, security posture and deletion proofs for ten applications are where a mistake is a mistake everywhere — and that is where 579 of the tests sat, more than any single application had.

A word that has to be exact

What separable means here, and what it does not

Separable means each application already runs on its own: its own port, its own database, its own interface. That part is built.

Independently sellable is a different claim, and it is a design goal, not a finished feature. The packaging tooling itself is not built.

What is written down, and how far it goes

That part was visible in the code extract until 6 August 2026; what remains public is the contract that requires it.

There is a written export contract that specifies how one application, plus the core and the parts of the shared libraries it actually uses, becomes a self-contained bundle. That contract has design, stubs and contract tests.

docs/66 — the app export contract ↗

Principle · honesty

“If a value was never measured, the system says so instead of showing a zero.”

Limits

What these figures do not say

  • They are a count, not a verdict. A count of 2,667 tests written says nothing about how many pass, and nothing about what they cover. A number that could be raised by writing worse tests is not a quality measure.
  • They describe an extract, not the system. The working repository is larger; what was published was a curated part of it, and some modules were left out deliberately even then.
  • They are dated, and two of them are now historical. The Python and test figures were read on 26 July 2026 against the code extract of 23 July, and read again on 27 July; that extract was withdrawn on 6 August 2026, so those two cannot be repeated. The document count and the build figure are current — the build figure is produced at build time, so it is as current as the page you are reading. The commit count was taken in the private repository on 26 July.
  • They are the six the site leads with, not every number in the text. A figure that appears inside a sentence — the nineteen hand-over contracts, V1 to V19 — carries its source link where it stands, on the page that states it.
  • One of them rests on my word. The commit count is private and cannot be checked from outside, which is why it is a floor and why it is named here rather than left standing among figures that can be verified.

Auf Deutsch

Die Zahlen in einem Absatz

Zwei der sechs Zahlen – die Python-Zeilen und die Test-Funktionen – wurden am 26. Juli 2026 anhand des öffentlichen Code-Auszugs vom 23. Juli 2026 gemessen und am 27. Juli erneut gelesen. Die anderen vier stammen aus eigenen Quellen: die Zahl der Anwendungen aus der Tabelle im README des Auszugs, die 38 Dokumente aus dem veröffentlichten Ordner (jederzeit nachzählbar), die Zeilenzahl des Bau-Skripts beim Bauen selbst, die Commits am 26. Juli aus dem privaten Arbeits-Repository. Die Zählweise steht oben bei jeder Zahl einzeln, auf Englisch.

  • 10 Anwendungen (Core + 9).
  • 966 versionierte Dateien in einem einzigen kuratierten Commit – dieser Code-Auszug wurde am 6. August 2026 zurückgezogen; veröffentlicht ist seither ein kuratierter Satz von 38 Dokumenten, die 966 ist durch die 38 ersetzt.
  • ~100.000 Zeilen Python in 632 Dateien, genau: 100.234 Zeilen mit sichtbarem Inhalt – von außen nicht mehr nachprüfbar, steht nur noch mit Datum da.
  • 2.667 Test-Funktionen in 309 Dateien – gezählt, nicht ausgeführt, also geschriebene Tests, keine bestandenen; auch nicht mehr nachprüfbar.
  • 1112 Zeilen im Skript, das diese Website baut – beim Bauen selbst gezählt, im Repository dieser Website.
  • 2.600+ Commits im privaten Arbeits-Repository hinter diesem Auszug: die einzige Zahl hier, die Sie nicht nachprüfen können – Sie haben dafür nur mein Wort, und deshalb steht sie als Untergrenze da.

Zur deutschen Einstiegsseite →