From e82db4c653c31d1e7ab200a6d25437ad6242b8a7 Mon Sep 17 00:00:00 2001
From: Local Dev
Date: Mon, 7 Sep 2026 21:06:25 +0200
Subject: [PATCH] site: fix homepage product count, drop stray brand-page copy,
add GOTCHAS
- index.html said 'five products' / 'all five' while listing seven cards
- deviant/brand/social/index.html was a copy of brand/index.html with every
relative link broken (assets live one level up); never deployed, removed
- GOTCHAS.md: never rsync --delete site/ to the VPS (deviant/ there is owned
by D:/Dev/Deviant/site), manifest lives in three places, archive script
Also shipped to VPS this session (no source change): releases-manifest.json
under /opt/silent-mode/site/ was stuck at 0.3.3 since 0.3.4; now 0.3.16.
---
GOTCHAS.md | 43 ++++
deviant/brand/social/index.html | 370 --------------------------------
index.html | 6 +-
3 files changed, 46 insertions(+), 373 deletions(-)
create mode 100644 GOTCHAS.md
delete mode 100644 deviant/brand/social/index.html
diff --git a/GOTCHAS.md b/GOTCHAS.md
new file mode 100644
index 0000000..ca0cb92
--- /dev/null
+++ b/GOTCHAS.md
@@ -0,0 +1,43 @@
+# site/ — gotchas
+
+Hand-authored static tree for **silentmode.st**. No build step. Served by nginx
+from `/opt/silent-mode/site/` on the VPS (ssh alias `silentmode`), and mirrored
+to Sia (`s3://bns/silentmode/` → `silentmode.bch`) by the
+`silentmode-sia-sync.timer` on the VPS every 5 minutes. Anything that lands in
+`/opt/silent-mode/site/` reaches the `.bch` mirror on its own; you do not need to
+run `sia-upload.js` for site files any more.
+
+## Never `rsync --delete` (or blanket-overwrite) `site/` → the VPS
+
+`/opt/silent-mode/site/` holds far more than this folder: `sirius-x/`,
+`deviant/` (the full Deviant site incl. `wallet/`, `artemision/`, `katalogos/`,
+`agora/`), `apps/`, `code/`. Those are deployed from **other repos**. In
+particular `site/deviant/` here is a **stale Aug-31 copy**; the canonical
+source is `D:\Dev\Deviant\site\deviant\` and the VPS already carries the newer
+Sep-1 pages. Pushing this folder wholesale would roll them back.
+
+Ship **individual files**: `scp site/ silentmode:/opt/silent-mode/site/`.
+
+## The release manifest lives in three places
+
+- `https://dl.silentmode.st/releases-manifest.json` — canonical
+ (`/opt/silent-mode/dl/`), what `releases.silentmode.bch` points at.
+- `/opt/silent-mode/site/releases-manifest.json` — what `tools/index.html`
+ links as `../releases-manifest.json`, and what the Sia mirror syncs.
+- `site/releases-manifest.json` — the committed source of both.
+
+The ship checklist (`Ship Theseus …` commits) must scp it to **both** VPS
+paths. It was missed for `site/` from 0.3.4 through 0.3.16 (found 2026-09-07):
+the HTML pages were current while the JSON next to them still said 0.3.3.
+
+## Old Theseus builds fill the VPS disk
+
+`scripts/theseus-vps-archive.sh ` moves everything older than N-1 to
+Sia and deletes it from `/opt/silent-mode/dl/`. Run it after every ship; when
+it is skipped the 48 GB disk climbs ~245 MB per release.
+
+## Pages that are not silentmode.st pages
+
+`hephaestus.x/` is the landing for the `.x` name and is served from Sia via the
+gateway (`navigate.st/bns/hephaestus.x/`); the copy under `/opt/silent-mode/site/`
+is just parity. `choose/` has no top nav on purpose.
diff --git a/deviant/brand/social/index.html b/deviant/brand/social/index.html
deleted file mode 100644
index 40f568f..0000000
--- a/deviant/brand/social/index.html
+++ /dev/null
@@ -1,370 +0,0 @@
-
-
-
-
-
-
-
- Deviant — Brand assets
-
-
-
-
-
-
-
-
-
Deviant brand
-
Logos, icons and social-media assets. All primary files are SVG — scale-independent, editable in code, and (where text appears) load the site's own fonts via @import. Click any file name to open the raw SVG.
- Source: brand/README.md · brand/palette.md
-
-
-
-
Uploading to social media? SVG isn't accepted for profile avatars, headers, or post images by Twitter/X, GitHub, Discord, LinkedIn, Instagram, Facebook, or Slack. Every card below has a PNG link next to the SVG path — use those. Full PNG set at source/exports/.
-
-
-
Icons
2 files
-
-
-
-
-
App icon (512)
-
OS launcher, PWA install, app-shell splash. Byte-identical to shells/app/public/icon.svg.
Five products, each named for a figure whose role matches its function.
+
Seven pieces, each named for a figure whose role matches its function.
Each solves one part of the "how do we run a web without gatekeepers" problem, and
- all five interoperate around one thing: a name on the Bitcoin Cash chain.
+ all of them interoperate around one thing: a name on the Bitcoin Cash chain.
@@ -127,7 +127,7 @@
-
One thread through all five
+
One thread through all of them
Everything above depends on one thing: a name registered on the
Bitcoin Cash chain, held in a wallet you control. That name is your address on
Prometheus, your identity on Hermes, your ranking signal on Helios, and the URL