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

817 B

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

  • Complete specification in informal markdown
  • Implement concretely in code
  • Apply standard code tests
  • Complete specification in formal language (P, Quint, etc.)