Commitments

If someone says "remind me Friday", or your agent says "I'll check and get back to you", Pepe notices on its own and follows through.

Commitments

A commitment is different from every other automation in Pepe: it is not something you set up. It is noticed on its own, after a turn, from what was actually said: the user asking to be reminded of something, or the agent itself promising to check on something and get back to them. Turn it on per agent (commitments, off by default) and give that agent a utility_model; without both, nothing is extracted, and a promise stays just words.

Two kinds of follow-up, delivered two different ways

This is the detail worth understanding before turning it on, because the two cases are not handled the same way:

Confidence, and what happens when it’s uncertain

A cheap model call reads the last exchange and decides whether there’s a genuine commitment, with a confidence score. High enough, and a resolved due time, and it’s scheduled outright: no extra step, matching “notice it without being asked twice.” Below that, or when the due time couldn’t be resolved from what was said (a vague “sometime soon” isn’t a date), it lands awaiting your ok: you get asked directly, once, rather than it silently tracking something nobody actually asked for.

Managing them from chat

The agent’s commitment tool has three actions: list (what’s currently tracked), confirm id: <id> (promote an awaiting one; pass due_when too if the date never resolved), and cancel id: <id>.

Do it in the dashboard

Open the Commitments page under pepe serve to see everything tracked, grouped into awaiting your ok, scheduled, and delivered. Confirm or cancel directly from there.

No server to run, just a local file. Commitments live in a small embedded SQLite file alongside config.json, not a database you need to install or manage. They're fired by the same kind of in-process timer that drives watches and scheduled tasks, which only ticks while a long-lived surface (pepe serve, a gateway, or an interactive session) is up.