Commit Graph

15 Commits

Author SHA1 Message Date
Michael Mikovsky 2d5f04a024 Reorganize protocol test modules 2026-06-01 13:57:56 -06:00
Michael Mikovsky 7749f62629 Shrink endpoint runtime footprint 2026-06-01 13:08:26 -06:00
Michael Mikovsky 43a84c46f7 Work on implementing interface. 2026-05-31 12:14:36 -06:00
Michael Mikovsky f595b5aa98 Add "LeafMeta" struct to leaf 2026-05-31 10:26:57 -06:00
Michael Mikovsky 0a44bc93de Move protocol to workspace root. 2026-05-31 08:58:08 -06:00
Michael Mikovsky d4100d0604 Split protocol and leaf surfaces into crates
Move the protocol runtime into unshell-protocol and remote shell leaf code into unshell-leaves so endpoint and TUI roles can compile independently without circular dependencies.
2026-04-26 12:39:06 -06:00
Michael Mikovsky f332e58e44 Deepen protocol docs and explain runtime flow 2026-04-26 11:18:49 -06:00
Michael Mikovsky 17be0f9daa Improve protocol documentation and runtime structure 2026-04-26 01:53:37 -06:00
Michael Mikovsky 4a131e6b63 Reformat lines. 2026-04-25 12:41:10 -06:00
Michael Mikovsky 080f55ddd3 Rebuild protocol runtime from scratch
Implement an aligned two-section frame format, a compiled prefix router, a minimal pending and active hook engine, and a header-first receive path that only decodes payloads on local delivery. Recreate the protocol-focused test suite and document the explicit framing deviation in src/protocol/PROTOCOL_CHANGES.md.
2026-04-25 12:37:54 -06:00
Michael Mikovsky 62b22be39f Simplify hook runtime state
Remove the unused pending-hook layer and dead protocol trait wrappers, and resolve active hooks through a direct active-only flow with peer-side indexing instead of scan-based recovery.
2026-04-25 11:57:37 -06:00
Michael Mikovsky ba3f28a78c Improve Rust code clarity across the workspace
Document public APIs and non-obvious control flow so the protocol, simulator, and macro crates are easier to follow. Tighten a few helper paths and feature gates while preserving behavior and keeping the workspace warning-free.
2026-04-25 11:11:19 -06:00
Michael Mikovsky 49901b6370 Reorganize protocol. 2026-04-24 13:37:30 -06:00
Michael Mikovsky dcf0fe230b Work on implementing the protocol. 2026-04-24 12:32:24 -06:00
Michael Mikovsky fcb3b2be17 feat: complete protocol spec and initial implementation
- Write PROTOCOL.md with full wire format spec and 8 real-world scenario
  analyses (reconnect, multi-operator, large files, AV evasion, router crash,
  malformed packets, future pivoting)

- Rewrite workspace structure:
  - unshell lib: protocol types (PacketHeader, TreeRequest/Response,
    HandshakeMessage/Ack), Transport trait, TcpTransport, Tree routing
  - ush-router: router binary with per-node threads, NodeRegistry with
    longest-prefix path matching, packet relay
  - ush-payload: implant binary with reconnect loop, module tree, InfoModule
  - ush-cli: operator REPL with rustyline, session management, command parser

- Protocol design: two-part rkyv frame [header][payload]; router reads only
  header for routing, payload bytes forwarded opaque

- All code documented with doc comments and examples
- Zero warnings, zero errors across entire workspace
- 32 tests pass (unit tests for tree routing, TCP transport, framing,
  command parsing, node registry)
2026-04-20 23:38:02 -06:00