Skip to content

docs: close the project, and correct what the docs got wrong - #3

Merged
attu308 merged 1 commit into
mainfrom
claude/project-closure-readme-4iwry3
Aug 21, 2026
Merged

attu308 merged 1 commit into
mainfrom
claude/project-closure-readme-4iwry3

Conversation

@attu308

@attu308 attu308 commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Development has ended. This marks the project closed in the READMEs and corrects five things the docs claimed that the code contradicts.

Why it ended

Two load-bearing premises failed while the engineering was succeeding:

  • P3 — the economics do not close. scripts/economics.py puts a realistic host at $2.256/1M tokens against a $0.150 commodity price (~15×), with break-even utilisation unreachable. That killed the marketplace and the reason a stranger would contribute hardware (D2).
  • P2 — NAT traversal is not a differentiator. The desk review found the falsifier true as written; Tailscale solves the single-machine case. What survives is cross-party pooling, which relocates the whole claim onto P1 — for which there was never any evidence.

D7 (a second pair of eyes) never got its human reviewer, and 1.5 — a request served across a real NAT — was never earned, despite being the product.

Discrepancies found by reading the code, and fixed here

  • packages/node/README.md had the architecture backwards. It said the Ollama proxy was "the only backend runtime.py assigns". It is not a runtime.py backend at all: runtime.py:282 assigns EchoBackend and nothing else, ever; OllamaBackend is never constructed outside a test; and nothing in src ever enqueues onto task_queue. So Runtime._worker_loop → InferenceBackend → ArtifactStore is dead code in production, kept alive by a test named test_end_to_end_pipeline that feeds the queue by hand. The live path is api/inference.py → clients/ollama.py, a different class.

  • The "155-word vocabulary" figure was never true. LocalBoundaryEngine holds 116 words plus 4 special tokens, against a declared vocab_size of 32,000. Counted, not recalled. The wrong number had propagated to five files, including CLAUDE.md and .claude/rules/node.md — the file governing how agents work in this repo.

  • The v1.0.1 tag names a tree that declares itself 1.0.0 in all four packages. test_every_package_declares_the_same_version compares the four to each other and never to the tag, so V3's fix converged them on the previous version and the ratchet passed. Left as found and documented rather than bumped: a tree claiming to be v1.0.1 that is not the released v1.0.1 is the same confusion in a different hat.

  • packages/website/README.md called the project "a globally distributed, community-owned AI infrastructure" — the thing D6 decided not to build and D2 priced out. The site's own landing component had been corrected; the README had not. It also listed 5 of 9 pages, omitting dashboard, playground and status (the functional ones), and described the sibling packages as separate repositories.

  • "Python 3.11–3.14" implied four interpreters; ci.yml names three (3.11, 3.12, 3.14). 3.13 is not in the matrix.

Verification

./scripts/verify.sh run as a separate pass against the committed tree: PASS, 25 checks, commit d9dc89c9, clean tree.

Two checks are UNVERIFIED, not passed — the gate names them itself:

  • compile under python3.14 (interpreter not installed in this environment)
  • website lint + tests (no node_modules)

CI on this PR runs both, which is the point of landing it this way.

Test evidence from the session that wrote this: 906 passed, 1 skipped — 397 scheduler / 260 node / 249 root.

STATUS.md was regenerated with scripts/generate_status.py, not hand-edited. It still reads CI UNVERIFIABLE because there is no gh CLI in this environment; the root README explains that and cites run #33 on main at e5d1e7c, read through the API, which concluded success.

Note

The repository is deliberately not being archived on GitHub — it stays writable. The READMEs state plainly that it is unmaintained, that there is no security response process, and that issues and PRs are not monitored.


Generated by Claude Code

Development has ended. The READMEs now say so, and record what worked and
what did not, rather than leaving a green test badge to imply the first and
hide the second.

Why it ended, stated in the root README: two load-bearing premises failed
while the engineering was succeeding. P3 -- the economics do not close;
scripts/economics.py puts a realistic host at $2.256/1M tokens against a
$0.150 commodity price, ~15x, with break-even utilisation unreachable. P2 --
the desk review found the NAT-traversal falsifier true as written, which
relocates the whole claim onto cross-party pooling (P1), for which there was
never any evidence. D7 never got its human reviewer.

Discrepancies found by reading the code and fixed here:

- packages/website/README.md called the project "a globally distributed,
  community-owned AI infrastructure" -- the thing D6 decided not to build and
  D2 priced out of existence. The site's own landing component had been
  corrected; this file had not. It also listed 5 of 9 pages, omitting
  dashboard, playground and status (the functional ones), and described the
  sibling packages as separate repositories a year after the migration.

- packages/node/README.md claimed the Ollama proxy was "the only backend
  runtime.py assigns". It is not a runtime.py backend at all. runtime.py:282
  assigns EchoBackend and nothing else, ever; OllamaBackend is never
  constructed outside a test; nothing in src ever enqueues onto task_queue.
  The live path is api/inference.py -> clients/ollama.py, a different class.
  So Runtime._worker_loop -> InferenceBackend -> ArtifactStore is dead code
  kept alive by a test named test_end_to_end_pipeline that feeds the queue by
  hand. Recorded in the node README and in ROADMAP's closure header.

- The "155-word vocabulary" figure for LocalBoundaryEngine was wrong and had
  propagated to five files: ROADMAP.md, CLAUDE.md, experimental/README.md,
  .claude/rules/node.md and the root README. The list holds 116 words plus 4
  special tokens, against a declared vocab_size of 32000. Counted, not
  recalled. CLAUDE.md warns that prose cannot notice when it goes stale; this
  number was never in scope of the mechanism built to act on that warning.

- The v1.0.1 tag names a tree that declares itself 1.0.0 in all four
  packages. test_every_package_declares_the_same_version compares the four to
  each other and never to the tag, so V3's fix converged them on the previous
  version and the ratchet passed. Left as found and documented: bumping now
  would produce a tree claiming to be v1.0.1 that is not the released v1.0.1.

- "Python 3.11-3.14" in ROADMAP implied four interpreters; ci.yml names three
  (3.11, 3.12, 3.14). 3.13 is not in the matrix.

STATUS.md regenerated with the script, not by hand: 906 passed, 1 skipped
across the three suites. It still reads CI UNVERIFIABLE because there is no
gh CLI here; the root README explains that and cites run #33 on main at
e5d1e7c, read through the API, which concluded success.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PgHmwMuw5ivVZTCdiUaEmN
@attu308
attu308 merged commit 47381d4 into main Aug 21, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants