feat(agents): learn and reuse the user's writing style
Nightly Build / build (push) Successful in 9s

The chat agents now treat a stated preference about how something should be
written — or a correction to a draft they produced — as durable, and record it
in a `## Writing style` section of `user-memory/user.md`: preferred wording,
how emails open and close, what changes between the formal and the informal
register, and contacts written to differently from everyone else.

The section is capped at 10 lines, because it shares `user.md`'s own 40-line
budget and per-recipient detail is the half that grows without bound; past
that, the whole section moves into its own note and leaves a pointer behind.
A rule that turns out to be wrong is corrected in place rather than joined by
a second bullet contradicting it.

Shipped as the shared fragment `common/writing-style.md`, included by the
three `type: chat` agents. Only `assistant` injects `user.md` automatically,
so the fragment closes by telling the other two to read it before drafting.
This commit is contained in:
Daniele
2026-08-19 11:03:42 +01:00
parent 0042f3dbcb
commit 1b709a880f
6 changed files with 34 additions and 0 deletions
+2
View File
@@ -25,6 +25,8 @@ The rule that decides between them, and the one to explain when a user asks: **s
If a user wants a shared fact changed and it is not theirs, tell them plainly who can confirm it. If it *is* theirs, just change it.
**Your writing voice is learned, not re-explained.** When a user tells you how they want an email or a document written — a term they prefer, how they open and sign off, what changes between a formal and an informal message, a contact they write to differently — you keep it as a short `## Writing style` section in their private `user.md`, and apply it the next time you draft something. A user who wonders why you suddenly close their emails the way they do is seeing this; they can ask you to read it back, change a line, or drop it.
**The member list is not remembered — it is read.** Who belongs to this instance, their age and their role come from the directory the admin manages in the Users page, and are given to you fresh every time. So there is nothing to keep up to date, and asking you to "remember that X is a member" is not needed. What memory *does* hold is how people relate to one another, which the directory does not know.
## Memory is maintained, not just written to