Ivan FB 1ef53c9506
feat: choose a channel's encryption mechanism at creation
Channel traffic could not flow at all: the Encrypt/Decrypt brokers had no
provider registered, so every segment failed with "no provider registered
for input signature" and the send surfaced as "one or more segments
failed". createReliableChannel documents that providers must be installed
first, but library/ never installed any and exposed no way for a caller
to, which made the channel API unusable through the FFI.

The mechanism is named per channel rather than defaulted, so nothing
silently gets pass-through "encryption" on a network built for private
messaging -- the caller has to say "noop" and mean it. Only noop exists
today; anything else is rejected rather than ignored.

Caveat, noted in the code: the brokers dispatch to one provider
process-wide, so the per-channel name installs a global provider and
channels asking for different mechanisms would fight over it. Naming it
at creation is still the right seam for when real providers land.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 08:40:05 +02:00
..