messagebox-protocol/README.md
Zachery Aaron Shores-Chmielewski f0f33e0934 Implement sender client state machine with comprehensive tests
- Add SenderClient state machine with states: Idle, Ready, Composing, Encrypting, Submitted, Error
- Implement all state transitions according to specification
- Use sodiumoxide for sealed box encryption
- Add validation for sender name (max 200 chars) and message body (max 10,000 chars)
- Implement complete test suite covering:
  - State transitions and invalid transitions
  - Input validation (empty, max length, over max)
  - Encryption (ciphertext randomness, different messages)
  - Unicode and special characters support
  - Multiple messages in sequence
  - Error handling and recovery
2026-01-19 08:49:30 +07:00

14 lines
817 B
Markdown

## About
A simple little protocol for a "message box" where people can send me messages that are sealed "on site" in their local client (most likely
their web browser). Read `SPECIFICATION.md` for more details.
## Purpose
This is intended to test a workflow using LLM pair design and programming. I've found LLMs to be great at dumping code that is annoying
to read and understand, but mostly works. I would like to design systems that are pleasant and easy to understand, with the essential
components displayed to the human in a way that is abstacted away from noisy implementation details, which are handled by the LLM.
### Goals
- [x] Complete specification in informal markdown
- [ ] Implement concretely in code
- [ ] Apply standard code tests
- [ ] Complete specification in formal language (P, Quint, etc.)