From 21a020de74d082d9f9335c177ac33fbfb8e8eac6 Mon Sep 17 00:00:00 2001 From: PJ Date: Sat, 15 Aug 2026 22:55:13 +0530 Subject: [PATCH] docs(folio): say what property 2 demands now that it is a bound --- examples/folio/sanderling/spec.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/examples/folio/sanderling/spec.ts b/examples/folio/sanderling/spec.ts index 260e291..0881aae 100644 --- a/examples/folio/sanderling/spec.ts +++ b/examples/folio/sanderling/spec.ts @@ -258,10 +258,15 @@ const newAccountBalanceIsZero = always( ), ); -// Property 2: a tap on TxnSubmit must move the total balance by exactly the -// typed amount. A double-submit lands two transactions, so the balance shifts -// by twice the typed amount and the check fires. The route gate inside the +// Property 2: a tap on TxnSubmit cannot move the total balance by more than the +// typed amount. A double-submit lands two transactions, so the balance shifts by +// twice the typed amount and the check fires. The route gate inside the // predicate skips off-Home landings where totalBalance.current is the carrier. +// +// The name is the property's, and the gate keys on it, so it stays; what it +// demands is the bound, for the reason submitChangesBalanceByTypedAmount gives: +// a total that has not re-rendered yet has not moved, and an equality convicts a +// healthy app for a frame that has not caught up. const submitMovesBalanceByTypedAmount = always( next(() => submitChangesBalanceByTypedAmount({