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:
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"game_id": "cnc4",
|
||||
"game_version": "20170204",
|
||||
"chunk_size": 134217728,
|
||||
"files": [
|
||||
{
|
||||
"canonical_path": "cnc4.eti",
|
||||
"kind": "file",
|
||||
"size": 3146110,
|
||||
"file_blake3": "e96019bec5b92e3f5a241d1a5bd1a1608c4bb6b44e2767a7eaa01ae46a1d35d9",
|
||||
"chunk_blake3": [
|
||||
"e96019bec5b92e3f5a241d1a5bd1a1608c4bb6b44e2767a7eaa01ae46a1d35d9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"canonical_path": "version.ini",
|
||||
"kind": "file",
|
||||
"size": 8,
|
||||
"file_blake3": "6744ce6acc6d7548c8a87eea79a5bb7480fe3848cfab7f272e2bcbe43d652d3f",
|
||||
"chunk_blake3": [
|
||||
"6744ce6acc6d7548c8a87eea79a5bb7480fe3848cfab7f272e2bcbe43d652d3f"
|
||||
]
|
||||
}
|
||||
],
|
||||
"streamed_install_files": [
|
||||
{
|
||||
"canonical_path": "bin",
|
||||
"kind": "directory",
|
||||
"size": 0,
|
||||
"file_blake3": null
|
||||
},
|
||||
{
|
||||
"canonical_path": "bin/cnc4-payload.bin",
|
||||
"kind": "file",
|
||||
"size": 2097152,
|
||||
"file_blake3": "f1394ba123b31bbdbd109d0a241d0d580b99e78750f1cff7838caf8e62f6e3e0"
|
||||
},
|
||||
{
|
||||
"canonical_path": "data",
|
||||
"kind": "directory",
|
||||
"size": 0,
|
||||
"file_blake3": null
|
||||
},
|
||||
{
|
||||
"canonical_path": "data/cnc4-assets.dat",
|
||||
"kind": "file",
|
||||
"size": 1048576,
|
||||
"file_blake3": "ee16d8c5e60a48ce5fabfd230bf889865e847eb8a0cc5dd3d7615291fe04c043"
|
||||
}
|
||||
],
|
||||
"content_id": "d356f42b1989d6c36011ff3c5f52ac663bcc0eb8efe144872f11e8d8b0e2e9a1"
|
||||
}
|
||||
Reference in New Issue
Block a user