You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4ada6aa
Browse filesBrowse the repository at this point in the historyBrowse files
fix(settle): decide the broad-transition confirmation by the transition alone
The arming bar was `requestedQuietMs >= DEFAULT_STABLE_QUIET_MS`, so the confirmation that #1831
added to hold a modal dismissal for 1.5s was a function of the window the caller asked for rather
than of the transition in front of the loop. Three consequences, all reported as #3470:
- `--settle-quiet 499` behaved differently from 500, with no rule that explains the boundary
- a caller passing `settleQuietMs: 150` (tester-army/e2e) got no guard at all, on exactly the
dismissal the guard exists for
- a shorter window read as "trust a coherent transitional tree sooner", which is not what
`--settle-quiet` asks for: it asks for a tighter verdict, not a different set of transitions to
distrust
Arming now reads the transition only, and a confirmed replacement is held for the caller's own
window, floored at 1.5s. The trigger stays exactly as on main: a complete-viewport post-action
projection or a tiny presented baseline, plus fewer than half the node identities carried over.
The six #1831 cases run at 500ms and 150ms alike. The provider-backed scenario is a real dialog
dismissal, so it now holds the floor at its 25ms window too, which is what that wait is worth on a
runner round trip: measured 1510ms over 6 captures, against 1511ms over 6 for the same scenario at
the default window on main — the same verdict at the same price, no longer window-dependent.
usageDescription: 'Settle: quiet window the UI must hold to count as settled (default 500ms)',
213
+
usageDescription:
214
+
'Settle: quiet window the UI must hold to count as settled (default 500ms). On iOS, a broad screen replacement such as a modal dismissal is confirmed for at least 1500ms whatever window is asked for, within the --timeout settle deadline',
Copy file name to clipboardExpand all lines: src/commands/post-action-observation-grammar.ts
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,10 @@ const settleFields = () => ({
33
33
settle: booleanField(
34
34
'After the action, wait for the UI to go quiet and return the settled diff vs the pre-action tree in the same response. Best-effort; never fails the action.',
35
35
),
36
-
settleQuietMs: integerField('Settle: quiet window in milliseconds (default 500).',{min: 0}),
36
+
settleQuietMs: integerField(
37
+
'Settle: quiet window in milliseconds (default 500). On iOS, a broad screen replacement such as a modal dismissal is confirmed for at least 1500 whatever window is asked for, within the timeoutMs settle deadline.',
38
+
{min: 0},
39
+
),
37
40
timeoutMs: integerField('Settle: wait deadline in milliseconds (default 10000).',{min: 1}),
0 commit comments