Skip to content

Thinclient mutated caps#60

Closed
david415 wants to merge 9 commits into
mainfrom
thinclient-mutated-caps
Closed

Thinclient mutated caps#60
david415 wants to merge 9 commits into
mainfrom
thinclient-mutated-caps

Conversation

@david415

@david415 david415 commented Jun 5, 2026

Copy link
Copy Markdown
Member

No description provided.

david415 added 9 commits June 5, 2026 08:33
Match the katzenpost daemon, which now carries the BACAP box position
inside the cap across the whole pigeonhole surface. Every method drops
its loose index argument and reads back the cap advanced past the boxes
it consumed: new_keypair, encrypt_read/write, the three start_resending
variants, write_stream/read_stream, the create_courier_envelopes family,
and tombstone_range. The persistent channel stores that evolving cap in
the next_index column in place of a separate index, and the CLI's genkey
no longer prints a first index. NextMessageBoxIndex and
GetMessageBoxIndexCounter are left as they were.
The channel, high-level, and copy-stream smoke tests thread caps where
they once threaded loose indexes, and the smoke test reads only the two
capabilities from genkey output.
Mirror the Rust binding and the daemon: drop the loose index argument
from every pigeonhole method and read back the advanced cap. The result
dataclasses carry read_cap / write_cap / dest_write_cap(s) in place of a
next index, and tombstone_range threads the cap. next_message_box_index
and get_message_box_index_counter are unchanged.
Thread caps through the multi-message and copy-stream loops in place of
loose indexes.
Point the integration workflow at katzenpost
2b330dc5bc81a4e6dafbdfce4cee822890190ccb, which carries the folded
pigeonhole API the bindings now speak.
A handful of files predated any formatting discipline. Run cargo fmt
across the crate so the tree is rustfmt-clean, in preparation for a CI
gate that enforces it. No behavioural change.
Add a rustfmt workflow that runs cargo fmt --all --check on pushes and
pull requests, so the tree stays uniformly formatted now that it is
clean.
Run ruff format across the first-party Python (katzenpost_thinclient,
katzenpost_reticulum, and the test suite) so the tree is ruff-clean,
in preparation for a CI gate that enforces it. No behavioural change.
Add a ruff-format workflow that runs ruff format --check over the
first-party Python on pushes and pull requests, mirroring the rustfmt
gate. The ruff version is pinned to match the formatting sweep.
@david415 david415 closed this Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant