Update docs to reflect stages 1-4 complete and working email reply

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-18 03:46:56 +00:00
parent 7ddfcbecf4
commit fc3a91384a
2 changed files with 15 additions and 15 deletions

21
plan.md
View File

@@ -29,21 +29,22 @@ For now, `allowed_sender` substring match is sufficient for exploration. Worth a
## Implementation Stages
### Stage 1 — Explore the message object (current)
### Stage 1 — Explore the message object
Receive a message and `inspect()` the full imapflow msg object to understand what
data is available (headers, body parts, envelope, flags, etc.).
### Stage 2 — Prompt construction
Parse the message into a well-formed prompt: sender, subject, body. Prefix with
instructions telling Claude to reply via the CCC `send-email` action.
### Stage 2 — Prompt construction
Parse the message into a well-formed prompt using `mailparser`. Use HTML body for
better encoding/structure fidelity. Instruct Claude to reply via CCC per
`email_protocol.md`.
### Stage 3 — CCC send-email action
Extend `claude-code-conduit` with a `send-email` action (SMTP). Claude calls it as
a tool with recipient, subject, and body.
### Stage 3 — CCC send-email action
`send-email` action already existed in `claude-code-conduit` with full SMTP,
permission store, and topic-based access control. Tested and working end-to-end.
### Stage 4 — Wire it together
Replace the `inspect()` call with `make_prompt` + `send_to_claude`. End-to-end flow:
email in → Claude processes → email out.
### Stage 4 — Wire it together
`make_prompt` + `send_to_claude` wired up. Full flow working:
email in → Claude processes → replies via CCC send-email → email out.
### Stage 5 — Adaptive polling
High/low frequency mode: switch to fast polling (e.g. 10s) when a message arrives,