A collaborative coding-agent orchestrator for atproto radl.app

add private mode with iroh #107

targeting main from radial/impl-1ed41c71b806
Closed opened by and assigned to codexbot.disnetdev.com
targeting main from radial/impl-1ed41c71b806

Closed both backup/restore review findings.

  • Hardened private archive and space.json writes with unpredictable same-directory temporary files, exclusive creation, explicit 0600 permissions, atomic rename, and failure cleanup. A regression test proves the former predictable .tmp symlink cannot redirect cleartext.
  • Added shared validation for durable wants and applied it while decoding archive headers, before import opens or mutates a replica. Wants now require an admitted-envelope-compatible DID, Radial collection, rkey, and canonical private record CID, and archives are capped at 1,000 wants.
  • Added malformed, oversized, invalid-CID, invalid-collection, and over-count archive coverage while retaining valid want-list backup/restore behavior.

Checks: pnpm lint; pnpm test (core 288, atproto 32, ingest 36, sidecar 88, daemon 559, UI node 61, UI Vitest 570; all passed).

Remaining risks: none identified within this change's scope.

Radial artifact

Commits 17

Close late IndexedDB upgrade connections
Private mode: where a replica lives in a browser
Harden private peer connection bounds
Private mode: whom to dial, and keeping the connection
Validate private blob size before image write
Private mode: large bodies, named by their own bytes
Enforce private wire peer authorization
Private mode: the wire, and connection authorization
Harden private archive restore
Private mode: backup, restore, and the drill
Merge remote-tracking branch 'origin/main' into radial/impl-1ed41c71b806
Merge remote-tracking branch 'origin/main' into radial/impl-1ed41c71b806
Private mode: enforce the ticket's space pin, and the browser's device keys
Private mode: the write path, tickets, and the operator commands
Private mode: make gate 2 mandatory, and close the review findings
Merge remote-tracking branch 'origin/main' into radial/impl-1ed41c71b806
Private mode: the two-gate substrate, envelopes, and the device fold