Conversation
e73779c to
765bc50
Compare
|
CI reproduced the local decentralized transport failure: all three peers joined Run evidence: https://github.com/epfml/disco/actions/runs/35863859110/job/107192148874 This confirms that the GitHub-hosted runner can start the real server, browser, and two Node participants and route localhost traffic. The remaining blocker is the browser↔Node WebRTC negotiation path, not CI process orchestration. |
|
Closing this draft while the decentralized browser-to-peer path is still under active development. The branch remains available for the fix; this PR should only be reopened once the real decentralized test passes locally and on GitHub Actions. |
What & why
This experimental follow-up to #1230 investigates the remaining decentralized portion of #1196 in GitHub Actions. It adds a real one-round WebRTC transport test with native Chrome, two Node peers, and a real CIFAR-10 signaling server. The same boundary fails locally because browser-to-Node peer connections time out, so this draft intentionally uses CI to determine whether the hosted runner behaves differently.
Technical plan
A dedicated Cypress configuration starts the server and two Node decentralized clients, while Chrome supplies the third participant. Each client contributes small deterministic weights and the test requires all three to reach the same aggregate. The isolated CI job enables focused signaling diagnostics and does not affect the ordinary Cypress or verified federated jobs.
Deviations from plan
Todo
If the CI transport gate succeeds, extend the spec through the full webapp training flow and UI assertions. If it fails in CI as well, investigate browser-to-browser contexts or the browser/Node SDP negotiation before adding production coverage.