feat(peer)!: cut over to authenticated catalog sharing

Replace address-only trust and pushed peer state with installation identities,
SPKI-pinned QUIC, candidate-only discovery, and bounded responder-owned
protocol-8 pulls. The runtime now owns each network generation and all admitted
work through shutdown.

Add exact bundled content identities, reproducible manifest publishing,
capability-confined downloads, streaming BLAKE3 verification, quarantine and
retry, and crash-recoverable download and install transactions. Ship generated
fixture catalogs and fail closed when production manifests are absent.

The Tauri backend exposes durable sharing policy, redacted identity state, and
attempt-keyed transfer snapshots. Frontend consumption follows in the next
commit. Repository-wide test certificates and protocol-7 paths are removed.

BREAKING CHANGE: peers must use protocol 8 and exact catalog content artifacts;
protocol-7 frames and shared-certificate identities are no longer accepted.

Test Plan:
- `just test` -- passed on the completed stack (708 workspace tests)
- `just clippy` -- passed on the completed stack
- `just build` -- passed with fixture catalogs on the completed stack
- `just catalog-check-production` -- failed closed because the external
  production manifest corpus is absent
- `git diff --cached --check` -- passed
This commit is contained in:
2026-08-10 13:59:18 +02:00
parent 36c4785775
commit 60fd7ba0c2
128 changed files with 51759 additions and 10784 deletions
@@ -0,0 +1,89 @@
{
"schema_version": 1,
"game_id": "css",
"game_version": "20240623",
"chunk_size": 134217728,
"files": [
{
"canonical_path": "css.eti",
"kind": "file",
"size": 654,
"file_blake3": "a5123abeb6b462d0fba6e58516cd2e6a7986eb18bd9084134c07c8422552bccd",
"chunk_blake3": [
"a5123abeb6b462d0fba6e58516cd2e6a7986eb18bd9084134c07c8422552bccd"
]
},
{
"canonical_path": "version.ini",
"kind": "file",
"size": 8,
"file_blake3": "6568056191954d307f80dcf71bdb0052a6873a770098141d34edd801bcaf2194",
"chunk_blake3": [
"6568056191954d307f80dcf71bdb0052a6873a770098141d34edd801bcaf2194"
]
}
],
"streamed_install_files": [
{
"canonical_path": "engine",
"kind": "directory",
"size": 0,
"file_blake3": null
},
{
"canonical_path": "engine/bin",
"kind": "directory",
"size": 0,
"file_blake3": null
},
{
"canonical_path": "engine/bin/win64",
"kind": "directory",
"size": 0,
"file_blake3": null
},
{
"canonical_path": "engine/bin/win64/steam_settings",
"kind": "directory",
"size": 0,
"file_blake3": null
},
{
"canonical_path": "engine/bin/win64/steam_settings/SmartSteamEmu.ini",
"kind": "file",
"size": 71,
"file_blake3": "6b2e288b261c0d2464f6f422cc1038b4c49de58daf89dcc758481adfd99dc026"
},
{
"canonical_path": "profiles",
"kind": "directory",
"size": 0,
"file_blake3": null
},
{
"canonical_path": "profiles/local",
"kind": "directory",
"size": 0,
"file_blake3": null
},
{
"canonical_path": "profiles/local/account_name.txt",
"kind": "file",
"size": 11,
"file_blake3": "626d0787808ca0087e3d959495e57e41d15c7fff51113f6627aa908825c29830"
},
{
"canonical_path": "profiles/local/language.txt",
"kind": "file",
"size": 7,
"file_blake3": "3e59c7a7502a0a63099171b709c5eed0191275c51d83de063d4cac191bac4813"
},
{
"canonical_path": "readme.txt",
"kind": "file",
"size": 17,
"file_blake3": "815192d90dcdecf7dff970c24ae3b20b18351d75da2aba226ba6f6e0bac2c7b6"
}
],
"content_id": "9d8a0aa232c27023b41491fa0218abd0592a3e0b3e5b5168b337a608e3cf8507"
}