# The reminder completeness rule, measured on the box

Measured 2026-08-06 at 02:34 local, on homesrv, master `59cc882`, immediately after V-577
and V-579 merged as #231. Probe is `POST /api/chat` through mavweb, which is the same
`handleText` seam the mic and telegram use.

## The rule being measured

The owner ruled it the same night. A reminder commits only when three things are answered:
what, what time, and what day. Anything missing is asked for. Every time question opens by
stating the clock.

He gave two examples and confirmed two derived cases when asked.

## Result: the rule holds on all four

| said | what | time | day | reply |
|---|---|---|---|---|
| `напомни завтра в 3 заказать цветы` | yes | no part of day | yes | `Сейчас 02:34. Это утра или вечера?` |
| `напомни в 9 вечера разгрузить стиралку` | yes | yes | no | `Сейчас 02:34. В какой день?` |
| `напомни завтра в 15:00 позвонить врачу` | yes | yes | yes | `хорошо, напомню завтра в 15:00.` |
| `напомни через час выключить духовку` | yes | yes | yes | `хорошо, напомню сегодня в 03:34.` |

Row two is the one worth noting. `в 9 вечера` is unambiguous as a clock time and is still
asked about, because the day is missing. Today being a valid reading is not enough.

## The invented clock is gone

Last night the worst failure was silent. A reminder was written at the current minute and
nothing said so.

```text
напомни забрать посылку   ->  Сейчас 02:34. Когда?
что у меня сегодня?       ->  на 06.08.2026 ничего нет, на какое время поставить напоминание?   [s=calendar]
в 15                      ->  Сейчас 02:34. В какой день?
```

Measured last night, the second turn answered nothing and wrote a reminder at the clock.
The question now reaches the calendar and the parked question resumes on the same reply.

The root cause was one step earlier than filed. `ownContent("что у меня сегодня?")` returns
empty, because every token is frame. `что` is an interrogative, `у` a frame word, `меня`
filler, `сегодня` a day offset. So `needsRoute` said no and no route was computed at all.
The turn fell through to answering the parked question. The extractor read `сегодня`, and
the date parser answered a bare day word with that day at the current minute.

So this was not a claimant beating the route. It was a claimant running where the route was
never asked for.

## Two defects the probe found

**V-592, invented content.** `я выпил воды` came back as
`Проверила, что ты выпел стакан воды`. `выпел` is not a Russian word and `стакан` was never
said. The arbitration around it is correct: the aside is taken, the parked question resumes,
nothing is dropped. Only the content is wrong. Whether the store agrees with the sentence is
not yet known. That answer decides whether this is a phrasing defect or a capture defect.

**V-593, an unacknowledged partial answer.** `на 9` then `на завтра` produces the same ask
twice, byte-identical.

```text
а, да, прости - на 9  ->  Сейчас 02:34. Это утра или вечера?
на завтра             ->  Сейчас 02:34. Это утра или вечера?
```

The behaviour is right, since the part of day is missing both times. The wording gives him
no evidence he was heard, which is the failure mode the V-558 family exists to remove.

## The pinned acceptance transcript is now superseded

The transcript the owner wrote has her guess a reading and accept `на завтра` as the last
turn:

```text
me:     а, да, прости - на 9.
maven:  сейчас 15:23 - на 9 сегодня вечером?
me:     на завтра.
maven:  напомню.
```

Under the rule he later ruled, `на 9` plus `на завтра` still names no part of day. So she
must ask a third time rather than commit. The transcript and the rule disagree, and the rule
is the newer statement. Offering a reading, as that transcript does, remains allowed and is
not required. The implementation asks `Это утра или вечера?` and offers none.

## Regression checked

A new request still drops the old one out loud. That is the behaviour the owner kept when he
rejected the silent drop for side queries.

```text
напомни позвонить маме          ->  Сейчас 02:34. Когда?
напомни завтра в 9 купить молоко ->  Прошлую просьбу отпускаю. Сейчас 02:34. Это утра или вечера?
```
