Claude
b82ff27efd
Implement Python email agent with multi-model AI support
...
Adds a complete email-based registration agent for Spielgruppe Pumuckl
based on the OpenSpec define-project-scope specifications.
Architecture
- Channel-agnostic EmailAgent core — no email-specific code in business logic
- Pluggable AI provider layer: Anthropic (Claude) and OpenAI (GPT) supported
via a shared LLMProvider interface; switch with AI_PROVIDER env var
- IMAP polling for inbound emails with thread-tracking via email headers
(Message-ID / In-Reply-To / References)
- SMTP for outbound replies and admin notifications
- File-based JSON storage for conversation state and completed registrations
- Admin-editable knowledge-base loaded from markdown files at startup
Key files
src/config.py — env-var configuration
src/providers/base.py — abstract LLMProvider
src/providers/anthropic_provider.py — Claude backend
src/providers/openai_provider.py — OpenAI backend
src/agent/core.py — EmailAgent orchestrator
src/agent/prompts.py — system prompt builder (KB + registration state)
src/models/registration.py — RegistrationData matching the JSON schema
src/models/conversation.py — ConversationState persisted per thread
src/channels/email_channel.py — IMAP/SMTP I/O + quoted-text stripping
src/storage/json_store.py — conversation & registration persistence
src/notifications/notifier.py — admin notification routing by playgroup type
main.py — polling entry point
requirements.txt — anthropic, openai, python-dotenv, jsonschema
.env.example — configuration template
https://claude.ai/code/session_01HaUFs7SaLD5SoiuGCY27Tw
2026-02-20 20:17:00 +00:00
Claude
f24525e691
Add CLAUDE.md with comprehensive codebase documentation
...
Documents project overview, repository structure, OpenSpec workflow,
system architecture decisions, domain knowledge (fees, schedule,
registration schema, conversation flow), and conventions for AI
assistants working in this repo.
https://claude.ai/code/session_01A6JAs2Pbg1hF1aLs7bcKhx
2026-02-20 16:58:08 +00:00