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
54 lines
1.4 KiB
JSON
54 lines
1.4 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"game_id": "bfbc2",
|
|
"game_version": "20210416",
|
|
"chunk_size": 134217728,
|
|
"files": [
|
|
{
|
|
"canonical_path": "bfbc2.eti",
|
|
"kind": "file",
|
|
"size": 3146114,
|
|
"file_blake3": "2e4022096dfd3114ec7bacf69c6c25bd83b9a6d3af71e81df4ba8584fc23a82b",
|
|
"chunk_blake3": [
|
|
"2e4022096dfd3114ec7bacf69c6c25bd83b9a6d3af71e81df4ba8584fc23a82b"
|
|
]
|
|
},
|
|
{
|
|
"canonical_path": "version.ini",
|
|
"kind": "file",
|
|
"size": 8,
|
|
"file_blake3": "6eacd1c0e8efe8f809658ee66b9272d32daa1daadd904469ce5f7d128d23c9d5",
|
|
"chunk_blake3": [
|
|
"6eacd1c0e8efe8f809658ee66b9272d32daa1daadd904469ce5f7d128d23c9d5"
|
|
]
|
|
}
|
|
],
|
|
"streamed_install_files": [
|
|
{
|
|
"canonical_path": "bin",
|
|
"kind": "directory",
|
|
"size": 0,
|
|
"file_blake3": null
|
|
},
|
|
{
|
|
"canonical_path": "bin/bfbc2-payload.bin",
|
|
"kind": "file",
|
|
"size": 2097152,
|
|
"file_blake3": "4d6d0c9ee250f23e4828fd50872eecf945c022d0d82cc1a11bf25c96ef0ec807"
|
|
},
|
|
{
|
|
"canonical_path": "data",
|
|
"kind": "directory",
|
|
"size": 0,
|
|
"file_blake3": null
|
|
},
|
|
{
|
|
"canonical_path": "data/bfbc2-assets.dat",
|
|
"kind": "file",
|
|
"size": 1048576,
|
|
"file_blake3": "16daa7902e05888c38b984bac96bb5af496e43331bd3d8e858f019c8fd09dda5"
|
|
}
|
|
],
|
|
"content_id": "ddd30de1727ec7bb37dad961217de619b514a71f47ccb4d7acbfcb8ad21f50d3"
|
|
}
|