|
1 | 1 | # CHANGELOG |
2 | 2 |
|
3 | 3 |
|
| 4 | +## v0.84.0 (2026-03-31) |
| 5 | + |
| 6 | +### Features |
| 7 | + |
| 8 | +- State narrowing and transition verification for grounding cascade |
| 9 | + ([#257](https://github.com/OpenAdaptAI/openadapt-evals/pull/257), |
| 10 | + [`e22b404`](https://github.com/OpenAdaptAI/openadapt-evals/commit/e22b404cd6ebd618a06c5a9748315d2a6ecd910e)) |
| 11 | + |
| 12 | +Phase 4 of the grounding cascade — detect "wrong screen" before grounding and verify state changes |
| 13 | + after clicking. |
| 14 | + |
| 15 | +Added to grounding.py: - check_state_preconditions(): verifies window title, nearby text, and |
| 16 | + surrounding labels match expectations before grounding a click. Skips gracefully when no OCR |
| 17 | + function is provided (Phase 5). - verify_transition(): checks disappearance_text, appearance_text, |
| 18 | + and window_title_change against post-click screenshot via OCR. Modal detection deferred (logged, |
| 19 | + not enforced). - _text_present(): case-insensitive substring matching helper. |
| 20 | + |
| 21 | +Integrated into DemoExecutor.run(): - Pre-click: calls check_state_preconditions for |
| 22 | + click/double_click steps with a grounding_target. Observational only (warns, proceeds). - |
| 23 | + Post-click: calls verify_transition after action dispatch. Observational only (warns, proceeds). |
| 24 | + |
| 25 | +Tests (26 new): - 11 tests for check_state_preconditions (no-OCR, no-expectations, window title |
| 26 | + match/mismatch, nearby text, surrounding labels, case insensitivity, combined checks) - 11 tests |
| 27 | + for verify_transition (no-expectations, no-OCR, appearance/disappearance, window title change, |
| 28 | + modal skip, combined scenarios) - 4 tests for GroundingTarget round-trip serialization |
| 29 | + |
| 30 | +Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
| 31 | + |
| 32 | + |
4 | 33 | ## v0.83.0 (2026-03-31) |
5 | 34 |
|
6 | 35 | ### Features |
|
0 commit comments