Added stat version
CI / check (push) Successful in 2m41s

This commit is contained in:
Ultradesu
2026-07-28 22:00:11 +01:00
parent 8de7d12927
commit 10fa97a915
19 changed files with 703 additions and 407 deletions
+16
View File
@@ -51,6 +51,8 @@ applications from exchanging domain payloads.
Changing serialized messages incompatibly requires a new schema ID. Changing
the transport handshake incompatibly requires a protocol-version/ALPN plan.
The music DHT currently derives its schema id from `music-dht-v5`; the former
proof-of-concept name is no longer part of the production protocol identity.
### Discovery is not authorization
@@ -67,6 +69,12 @@ Tickets provide explicit discovery and carry enough connection information to
dial a peer directly. They remain useful when public rendezvous is disabled or
unavailable.
Jam control uses its own auxiliary ALPN and an opaque `frid://j/...`
capability. It reuses the portable playback state and command vocabulary from
personal-device sync, but never carries trusted membership, likes, playlists,
or listening history. Possession of the runtime capability authorizes control
of that host player only.
### Two data paths
Typed messages and raw byte streams serve different workloads:
@@ -143,6 +151,14 @@ stream capability and defines shared wire models for Furumi catalog and device
sync protocols. Audio transfer, rich catalog exchange, and synchronization can
therefore use dedicated ALPNs while sharing identity and connectivity.
Capability discovery is the narrow exception to schema isolation. The bounded,
self-versioned `furumi/capabilities/1` stream still validates the federation
transport version and network id, but remains reachable across application
schema upgrades. A peer publishes the versions it actually supports; consumers
retain the highest versions observed during the current run and may recommend a
manual application update. Capability data is informational only and never
authorizes a peer or triggers an automatic update.
## Failure model
Frid assumes normal distributed-system failures: