README.mdmarkdown

Messaging

IncomingOutgoing is the shared turn loop for any Lilith interface:

1. BeforeRead — prompt (optional) 2. ReadIncoming — one user message 3. Process — host calls the agent (HandleInputAsync, etc.) 4. WriteOutgoing — assistant/system text (optional; console often logs via Logger already) 5. AfterTurn — TTS, metrics, etc.

Subclass for each transport (Discord in the console app is the console adapter; a future Discord.NET bot would subclass the same base).