From a32a007741ac39fac4417acc9b3006a50a9f0d59 Mon Sep 17 00:00:00 2001 From: DavertMik Date: Fri, 18 Sep 2026 01:32:31 +0300 Subject: [PATCH 1/2] fix(pilot): plan a reverse action from a state it can move from MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A scenario that verifies going back was planned from wherever the page happened to be. On the Plans list that meant clicking the previous-page arrow while on page 1: the arrow is inert there, the run reported a failure, and the app had done nothing wrong. The list had a next-page control in the tester's own UI map, so the scenario was executable — it just needed page 2 first. planTest's precondition block only covers creating DATA, and explicitly skips navigation scenarios; the paragraph below it then prefers the current page over navigating away. Nothing asked where the action under test starts from, so Pilot planned the click and a surrender clause. One paragraph in planTest states the missing principle: a reverse or returning action can only be measured from the state it leads back from, so reach that state first. Replayed the original planning call: 1/8 plans set up the starting state before, 7/8 after. A create scenario replayed as control is unchanged — no setup step injected where none is needed. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 10 ++++++++++ src/ai/pilot.ts | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 706c239..9716699 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## 2026-09-18 + +### Changes + +- [Pilot] A test that checks a reverse action — going back a page, undoing, closing, collapsing, clearing a + filter — is now planned from a starting point where that action has somewhere to go. Pilot used to plan the + click from wherever the page happened to be, so a test of the previous-page control that started on page 1 + clicked an inert arrow and reported a failure the app had not caused. It now plans the steps that reach the + state the action leads back from before the step being measured. + ## 2026-09-17 ### Changes diff --git a/src/ai/pilot.ts b/src/ai/pilot.ts index b719905..8bcae62 100644 --- a/src/ai/pilot.ts +++ b/src/ai/pilot.ts @@ -469,6 +469,10 @@ export class Pilot implements Agent { the elements needed for the scenario. The page summary does not list every element. Prefer interacting with the current page over navigating away. + A scenario that verifies a reverse or returning action can only be measured from the state that + action leads back from. When the page is not in that state, plan the steps that reach it first — + exercising the control from the wrong end proves nothing and is not a defect. + Tester never sees — a recorded recipe reaches it only when you open one. The entries listed are what was recorded on the page you are on now; recipes for the pages this test moves to are listed when it gets there. Open the ones whose titles fit a From 788db7615842b032aa055d8ef7068c56485f187a Mon Sep 17 00:00:00 2001 From: DavertMik Date: Fri, 18 Sep 2026 01:50:34 +0300 Subject: [PATCH 2/2] chore: trigger CI Co-Authored-By: Claude Opus 5 (1M context)