theseus-site/whitepaper
Hermes Dev 95f1ab55aa Whitepaper: rebuildable from its Markdown, with the workflow written down
The page was generated by a one-off script that no longer exists, so a text
change meant rebuilding the tooling first. build/build.mjs turns
whitepaper.md into index.html byte-for-byte as published; the page chrome and
the two diagrams are checked in beside it (the folder needs an exception from
the generic build/ ignore rule). README.md records the publishing steps for
both mirrors and the editorial decisions the text follows.
2026-11-01 18:01:58 +02:00
..
build Whitepaper: rebuildable from its Markdown, with the workflow written down 2026-11-01 18:01:58 +02:00
index.html theseus.x site lives under WebsiteDev; whitepaper source saved beside the page 2026-11-01 17:40:06 +02:00
README.md Whitepaper: rebuildable from its Markdown, with the workflow written down 2026-11-01 18:01:58 +02:00
whitepaper.md theseus.x site lives under WebsiteDev; whitepaper source saved beside the page 2026-11-01 17:40:06 +02:00

Theseus Navigator whitepaper

Published at theseus.x/whitepaper/ (Sia bucket bns/theseus/whitepaper/), mirrored at https://silentmode.st/theseus-x/whitepaper/ and reachable through the gateway at https://navigate.st/bns/theseus.x/whitepaper/. Licence: CC BY 4.0 (see LICENSES.md at the repo root).

Files

File Role
whitepaper.md The text. Source of truth in the repo; one paragraph per line, ## sections.
index.html Generated. Never edit by hand; rebuild it.
build/build.mjs Markdown → page. node build/build.mjs writes index.html; --check verifies it is current.
build/template.html Page chrome (nav, styles, footer, TOC script) with {{title}}, {{byline}}, {{toc}}, {{article}}.
build/figure-*.html The diagrams, hand-written SVG. Placed where the text has [embedded content: <name> · …].

The text may also be edited in a shared document outside the repo and exported as Markdown over whitepaper.md; the export keeps the [embedded content: …] markers the build needs. Either way, after a change:

node WebsiteDev/site-theseus-x/whitepaper/build/build.mjs

Open index.html locally to review, then publish both surfaces (the ICANN mirror does not sync from the Sia bucket):

node Argus/src/lib/sia-upload.js WebsiteDev/site-theseus-x/whitepaper/index.html bns/theseus/whitepaper
scp WebsiteDev/site-theseus-x/whitepaper/index.html silentmode:/opt/silent-mode/site/theseus-x/whitepaper/index.html

Check https://silentmode.st/theseus-x/whitepaper/ and https://navigate.st/bns/theseus.x/whitepaper/ afterwards (compare the SHA-256 with the local file; the gateway may cache a folder for a minute or two). Commit whitepaper.md, index.html and any figure change together.

When the whole theseus.x site is republished anyway, scripts/mirror-bcnr-site.sh (usage in its header) carries the whitepaper folder along with everything else.

Writing rules

These are decisions already taken for this paper; keep them.

  • Names are "digital certificate records" on Bitcoin Cash. Do not describe them as NFTs or CashTokens; those words are fine for chats and forums, not for this paper.
  • A name is neither "owned" nor "rented" by definition. The point is that the record lives on the chain and the intermediaries between owner and record are gone. A TLD's certificate holder sets its terms (a yearly fee, a longer term, or none).
  • No list of current TLDs, no prices, no network status, no release version numbers or dates. The paper describes how the system works and its security model, not the state of the network.
  • No personal names, nicknames or contact details. The author is Silent Mode. No references to the tools the text was written with.
  • The licensing paragraph names MPL-2.0 for the clients, Apache-2.0 for Argus, CC BY 4.0 for the documents, and points at the brand pages for the trademark terms.
  • Every factual claim is checked against the source tree and the live surfaces; the closing paragraph states the date of that check. Update that date and the byline (line 3) when a revised text is published.

Diagrams

Each figure is one <figure class="diagram">…</figure> fragment with an inline SVG sized to a 760-unit-wide viewBox, using the page colours (#e7eaf1 ink, #8b98a9 muted, #5e6678 dim, #d6ff3d accent) and a <figcaption>. To add one, write build/figure-<name>.html and put a line [embedded content: <name>] in whitepaper.md where it belongs.