46 lines
1.2 KiB
Markdown
46 lines
1.2 KiB
Markdown
# ClientFlow v4928.1.5.24 — Contact-person greeting for follow-up drafts
|
|
|
|
Incremental update over v4928.1.5.23.
|
|
|
|
## Changes
|
|
|
|
- Adds deterministic recipient resolution for follow-up drafts from personal email addresses.
|
|
- Example: `nuno.silva@verifone.com` resolves to `Nuno Silva`, first name `Nuno`, high confidence.
|
|
- Generic mailboxes such as `info@`, `geral@`, `comercial@`, `vendas@`, `escritorio@` are not treated as people.
|
|
- Dedicated OpenAI follow-up prompt now receives:
|
|
- contact person full name,
|
|
- first name,
|
|
- confidence,
|
|
- source of the inference,
|
|
- preferred greeting.
|
|
- Generated follow-up drafts are post-processed to preserve the preferred greeting.
|
|
- Safe fallback templates also receive the same preferred greeting when OpenAI is disabled/unavailable.
|
|
- Task detail UI now shows a small contact-person card when a person was safely resolved.
|
|
|
|
## Example
|
|
|
|
For a follow-up task with:
|
|
|
|
- Company: Verifone Portugal, Lda
|
|
- Email: nuno.silva@verifone.com
|
|
|
|
The greeting becomes:
|
|
|
|
```text
|
|
Bom dia Sr. Nuno,
|
|
```
|
|
|
|
For generic emails such as `escritorio@eficen.pt`, the greeting remains neutral:
|
|
|
|
```text
|
|
Bom dia,
|
|
```
|
|
|
|
## Validation
|
|
|
|
```text
|
|
python -m compileall -q app tests scripts
|
|
pytest -q
|
|
292 passed
|
|
```
|