Browse documentation
Model layer
AI usage and limitations
Claude helps narrow the work. It does not replace the people who made the decision.
What AI does
| Job | Input | Output |
|---|---|---|
| Summarise | Batch of message text, IDs, times, sender names, and chosen language | Six structured cited sections |
| Answer | Your question plus retrieved raw messages and summary text | A list of cited claims or I don't know |
| Pick | Already extracted items, group names, buckets, mention flags, and your name when known | A headline and up to five existing item keys |
| Mention judgment | One retained message, group name, and paired identity context | Whether the mention appears to need you |
The current default models are Claude Opus 5 for summaries and answers, and Claude Sonnet 5 for picks. The summary model can be changed through configuration.
What reaches Anthropic
WALAO decrypts selected message bodies in the application before an AI call. Anthropic receives the plain text needed for that job, along with the related identifiers and context listed above.
There is no product mode where useful AI summaries are generated while all group text stays only on your phone.
How outputs are constrained
- The model receives message text as untrusted user content, not as a system instruction.
- The AI calls have no tools, browser access, or ability to send a message by themselves.
- Structured JSON schemas restrict the expected response shape.
- Summary claims without a real message ID from the input batch are dropped.
- Answer claims without a real retrieved source ID are dropped.
- Pick keys not present in the candidate list are dropped, deduplicated, and capped at five.
What these checks cannot guarantee
- A valid citation can still be misunderstood or taken out of context.
- The model can omit an important message or choose the wrong section.
- Names, dates, owners, and deadlines can be interpreted incorrectly.
- A relevance pick can hide something you consider important.
- Search can miss relevant material, especially outside English tokenisation.
- A connection or plan gap can make the input incomplete before the model sees it.
Check the cited WhatsApp messages before making a payment, accepting a legal duty, changing staff work, or taking any other high-impact action.
When an AI call fails
A summariser error marks that summary job failed and the normal drain moves on. There is no automatic retry path for that failed job in the current implementation.
A picker error returns an empty pick and is not cached, so a later request can retry. Ask errors return through the normal API error path. Unsupported Ask claims become I don't know.
In local development without an Anthropic key, deterministic stand-ins keep the pipeline runnable. Their repeated text is not representative of production summary quality.
Review checklist
- Is the cited message from the right group and time?
- Does it support the exact claim, date, amount, and owner?
- Did a later message reverse or refine it?
- Does a coverage warning mean the window is partial?
- Should this become a reminder or memory, or remain temporary?