HOWTO.md — Tended Web (wire version 0.1, document rev 0.1.3)
Companion to SPEC.md rev 0.1.3. Files you create carry Version: 0.1 — the document revision tracks editorial changes only.
A. Join as a site owner (~20 minutes, no new software, no account)
- Read the pledge (one-page manifesto). If it's your web too, continue.
- Create your pledge file — copy, edit, upload. The
Version:line comes first, then a blank line — both required:
Version: 0.1
Name: <your persistent name or pseudonym>
Since: <today, YYYY-MM-DD>
Pledge: <manifesto URL>
Vouches: <URL where your vouches.txt will live>
- Website: upload to
/.well-known/tended.txt(or/tended.txtif .well-known is awkward on your host). - Gemini capsule: place at capsule root as
tended.txt. - Gopher hole: add as text selector
/tended.txt, link from root gophermap. - Software project: commit
TENDED.txtto repo root.
Note: no inline # comments in these files — a # mid-line becomes part of the value. Comment lines start with # at the first character.
- Add a colophon to at least one substantial work: a short prose note — what you directed, what tools contributed, what you rejected and verified. Demonstration, not confession.
- Submit your URL to the seed list (any one of):
- the form on the homefront (one field — your tended.txt URL or your site root; either works), or
- a pull request / issue adding one line to
seeds.txtin the crawler repo, or - email to the published address.
The only check performed: does a parseable pledge file exist at your URL. Nobody reviews your site. You appear in the directory (tier: Declared) after the next weekly crawl.
- Optionally add the badge/link to the homefront anywhere on your site — the pledge file's
Pledge:line is the required backlink; the visible badge is just discovery.
Leaving: delete your tended.txt so the server returns a definitive not-found (HTTP 404/410, Gemini status 51, gopher selector-not-found). The crawler treats that as withdrawal and drops your listing within two crawls (~2 weeks). You cannot be delisted by accident: hosting outages (DNS/timeout/TLS/5xx) retain your last-good listing for 8 weeks, and an accidentally emptied or corrupted file is never treated as withdrawal — only true server-level absence is.
B. Vouch for someone (the core act — do it rarely and mean it)
- Read/use/test a specific work by another tended participant. Actually verify something: reproduce the steps, check the sources, run the code, compare the claims.
- If it's your first vouch, create
vouches.txtcontaining just the header — a header-only file is valid (zero vouches):
Version: 0.1
- Append a stanza (blank line before it):
Site: <their tended.txt URL or site root>
Work: <the specific work's URL>
Date: <YYYY-MM-DD>
Note: <one line: what you verified and how>
- That's the entire write operation. No submission, no approval. The crawler picks it up next pass — as long as your pledge file points to this file with
Vouches:(that pointer is how the crawler finds your vouches at all; without it, your edges are invisible).
Norms: vouch outputs, not people-in-general. Never courtesy-vouch or trade vouches — a vouch with your name on it that fails in public is your failure too. Un-vouch by deleting the stanza — no drama, no tombstone. If work you vouched for turns out fraudulent, remove the vouch promptly; optionally note why on your own site.
C. Discover / consume the graph
- Browse the directory (HTML or Gemini mirror). Both tiers shown: Declared (new, unvouched — review their work, maybe vouch) and Vouched (with who-vouches-whom and Notes visible).
- Developers: fetch
graph.jsonfrom its stable URL (full schema in SPEC §5 — exact fields, types, canonical-ID rules). Strings are raw: escape every graph string field before rendering;nameandnoteare especially visible. URL fields (work,id,vouches_url,also) are attacker-supplied too — validate schemes before emitting them as links (http/https/gemini/gopher only; neverjavascript:ordata:). Build anything — client plugins showing vouch-paths from people YOU trust, rival directories, visualizations. Rival crawlers are legitimate: fork the repo, edit seeds, publish your own index.
D. Operate the homefront (founder runbook)
Weekly (automated): cron/CI runs the crawler → regenerates HTML + gemtext directory → commits snapshots/graph-YYYY-WW.json.
Weekly (manual, minutes): merge seed submissions after the mechanical existence-check (parseable pledge file at the resolved URL — resolution rules in SPEC §4.1). Additions are never refused for content, quality, or method — only for absence of a parseable pledge file.
Never: remove sites on request, arbitrate vouch disputes, rank editorially, add quality judgments to the directory. Every refusal is load-bearing. The index reflects the graph; humans shape the graph by vouching and un-vouching.
Mirrors: Agate (Gemini, single static binary) and Gophernicus (gopher) on any small VPS, pointed at rendered output.
E. Genesis cohort playbook (before public launch)
- Hand-pick 5–10 people whose work you already know (mix protocols: blogs + at least one capsule/phlog).
- Personal ask: pledge + colophon + real cross-vouches naming specific works actually verified.
- First crawl must show a genuine verification graph — the movement's first screenshot. No empty reciprocal rings.
- Then publish the one-pager and open the seed list. Working example first; philosophy second.
F. FAQ seeds
- Is this a blockchain? No. No consensus, no canonical global state, no immutability, no tokens. Plain text on your own server + public git history of weekly snapshots for tamper-evidence.
- Who approves members? Nobody. Any submitted seed with a parseable pledge file is accepted; no node reachable through the graph is ever excluded. Vouches can't be faked without a real person staking a real name.
- Do I have to disclose AI use? Honesty when it materially matters, in your own words, in prose — never as metadata. The spec constitutionally forbids machine-readable method fields, so nobody can filter you by method. Works are judged blind; relationships are not.
- What if nobody vouches for me? You stay listed as Declared. Vouches are earned by work over time — that's the system working, not a queue you're stuck in.
- Someone listed their site as mine under
Also:. In v0.1Also:is an unverified claim and crawlers never merge identities on it. Verifiable cross-presence arrives with theKey:upgrade.
Changelog
- 0.1.3 — escaping guidance broadened to every graph string field + link-scheme validation; vouch pickup clarified (requires
Vouches:pointer in pledge file). - 0.1.2 — synced to SPEC 0.1.2 (withdrawal semantics, header-only validity, inline-comment rule).
- 0.1.1 — Version header shown in all examples; leaving instructions added.