Conversation
- mdBook scaffold with 26 pages across 5 tool chapters (lookup, announce, ping, cp, deaddrop) plus concepts and appendices - Echo protocol defined once in announce/echo-protocol.md; ping cross-refs - GitHub Actions workflow for automated GitHub Pages deployment - DOCS_PLAN.md progress tracker (all phases complete) - ISSUES.md with source-level findings from documentation review - AGENTS.md files at docs/, peeroxide-cli/, and workspace root - .gitignore updated to exclude docs/book/ build output
- Introduce UdxSocketInner to hold all socket state; UdxSocket becomes a thin Arc<UdxSocketInner> handle that is Clone + cheap to copy. - Drop impl moves to UdxSocketInner so the recv loop is only aborted when the last clone is dropped, not on every clone drop. - Restore UdxSocket::close(self) consuming signature. - Revert PeerConnection.socket back to UdxSocket (was Arc<UdxSocket>). - Revert server_socket()/listen_socket() return types to UdxSocket. - Update establish_stream() shared_socket param to Option<UdxSocket>. - Remove all Arc::new(socket) / Arc::clone(&socket) call sites in io.rs. - All 53 unit tests + integration tests pass (cargo test --workspace).
This comment was marked as resolved.
This comment was marked as resolved.
…task files - Remove docs-task-specific directives (DEADDROP_V2, echo protocol, DOCS_PLAN, RALPH_PROMPT, PR-TODOS, ISSUES.md, API_CHANGES.md) from AGENTS.md - Add Task Artifacts section: standing policy that task-specific files must not be committed without explicit direction; pre-PR scan requirement added - Delete ISSUES.md (contents moved to PR #12 comment) and API_CHANGES.md (breaking changes it documented are fully resolved by UdxSocket refactor) - Add .gitignore patterns for common task-artifact filenames (*_PLAN.md, *_PROMPT.md, *_TODOS.md, RALPH_PROMPT.md, REFACTOR_PLAN.md, etc.)
Neither of these are actually concerning. |
- Move test module to end of ping.rs (fixes clippy::items_after_test_module) - Extract type alias MatrixRow in cmd/mod.rs (fixes clippy::type_complexity) - Restore two-param establish_stream(); add establish_stream_with_socket() for callers that need socket reuse — removes the last remaining API breaking change - Remove task artifact files: DOCS_PLAN.md, RALPH_PROMPT.md, REFACTOR_PLAN.md, peeroxide-cli/PLANNING.md - Add PR checklist to AGENTS.md (high-level: tests, artifacts, API policy, CI)
CONTRIBUTING.md rewritten: adds peeroxide-cli to crate table, fixes Node.js version (18→20), removes reference to non-existent TESTING.md, replaces the generic numbered PR process with a proper pre-open/pre-merge checklist, adds release-plz release process note, adds API stability section. AGENTS.md: inline checklist replaced with a short summary + pointer to CONTRIBUTING.md, with a directive to check it before any PR-related action.
Summary
Adds `peeroxide-cli` — a command-line toolkit for interacting with the peeroxide P2P networking stack, wire-compatible with the Node.js Hyperswarm network.
New Crate: `peeroxide-cli`
The binary is named `peeroxide` and provides six subcommands:
Additional features: TOML config system, `--generate-man` roff man page generation, SIGINT/SIGTERM graceful shutdown, 24 unit tests, 9 local integration tests, 4 live network tests.
Public API Changes — library crates bumped to v1.2.0
All changes are additive (semver-compatible). No existing signatures were removed or altered.
`libudx`
`peeroxide-dht` — `DhtHandle`
`peeroxide-dht` — `HyperDhtHandle`
`peeroxide-dht` — `PeerConnection`
`peeroxide-dht` — free functions
`peeroxide-dht` — `PingResponse`
`peeroxide-dht` — `MutablePutResult`
`peeroxide-dht` — `Io`
`peeroxide-dht` — new types
`peeroxide` — `SwarmHandle`
`peeroxide` — re-exports
Documentation
Full mdBook documentation site under `docs/` (26 pages across 5 tool chapters + concepts + appendices), GitHub Actions workflow for automated GitHub Pages deployment.