Write down the bound on suspension (V-654)
This commit is contained in:
+34
-1
@@ -1,6 +1,6 @@
|
|||||||
# Maven — Design
|
# Maven — Design
|
||||||
|
|
||||||
*Last verified: 2026-08-02 @ 7079a24. Living doc: correct it in place, do not append.*
|
*Last verified: 2026-08-07 @ beb093a. Living doc: correct it in place, do not append.*
|
||||||
|
|
||||||
> Folded 2026-07-30 from `SPEC.md` (north star, 2026-07-03), `maven.md`
|
> Folded 2026-07-30 from `SPEC.md` (north star, 2026-07-03), `maven.md`
|
||||||
> (consolidated decisions, 2026-06-30) and `ROADMAP.md` (execution plan,
|
> (consolidated decisions, 2026-06-30) and `ROADMAP.md` (execution plan,
|
||||||
@@ -282,6 +282,39 @@ Three reasons, in the order they settle it:
|
|||||||
So the notice stays what it is: the in-process TTL case, where she really did
|
So the notice stays what it is: the in-process TTL case, where she really did
|
||||||
wait and really did let go.
|
wait and really did let go.
|
||||||
|
|
||||||
|
#### A parked question may step aside three times
|
||||||
|
|
||||||
|
Decided 2026-08-07 (V-654). A side query or an aside suspends the parked
|
||||||
|
question instead of dropping it. The words are answered as themselves, and the
|
||||||
|
question comes back on the end of the same reply.
|
||||||
|
|
||||||
|
Neither bound on a question reaches that path. No attempt is spent, because a
|
||||||
|
side query is not a failed answer, so `MaxAttempts` never applies.
|
||||||
|
`noteSuspended` also restarts the 90s clock, since she is about to speak the
|
||||||
|
question again. So the TTL cannot arrive while he keeps talking.
|
||||||
|
|
||||||
|
Measured on 2026-08-07: one unfilled time slot rode the tail of six consecutive
|
||||||
|
unrelated replies. It stopped only when a seventh turn happened to read as a
|
||||||
|
failed answer. See `docs/evals/2026-08-07-week-of-usage.md`.
|
||||||
|
|
||||||
|
`PendingQuestion.Suspends` counts the step-asides. `MaxSuspends` is 3, matching
|
||||||
|
`DefaultMaxAttempts`. Past it she lets the request go, with the same
|
||||||
|
`clarifyDropped` line every other drop uses. The owner's rule is unchanged. A
|
||||||
|
question still ends by being answered or by being let go out loud. This only
|
||||||
|
recognises three unrelated requests in a row as the second of those.
|
||||||
|
|
||||||
|
The count is of CONSECUTIVE step-asides. It resets the moment he answers, in
|
||||||
|
`resolveClarifyAnswer`. An answer that gives her nothing she asked for resets it
|
||||||
|
too. "Позвонить маме" against a question about the time is still him in the
|
||||||
|
exchange. The retry it costs is bound enough on its own.
|
||||||
|
|
||||||
|
The re-ask is also two sentences rather than one. It used to be spliced onto the
|
||||||
|
answer with a comma. On a real answer that buries the question in the tail of
|
||||||
|
one run-on thought:
|
||||||
|
|
||||||
|
> вот что я нашла: вайфай пароль лежит в ящике стола, на какое время поставить
|
||||||
|
> напоминание?
|
||||||
|
|
||||||
### save-where — the two-memory routing axis
|
### save-where — the two-memory routing axis
|
||||||
|
|
||||||
One discriminator: **does the loop evaluate a predicate against it?**
|
One discriminator: **does the loop evaluate a predicate against it?**
|
||||||
|
|||||||
Reference in New Issue
Block a user