Skip to content

fix(rdp): revalidate focused selects from context - #299

Merged
abrichr merged 1 commit into
mainfrom
fix/select-option-focused-revalidation
Jul 28, 2026
Merged

fix(rdp): revalidate focused selects from context#299
abrichr merged 1 commit into
mainfrom
fix/select-option-focused-revalidation

Conversation

@abrichr

@abrichr abrichr commented Jul 28, 2026

Copy link
Copy Markdown
Member

What changed

  • During the second, post-focus phase of opaque-remote SELECT_OPTION, require the retained template or independent relational landmarks.
  • Do not use the control's current OCR value in that phase because an open option menu can render the same value in both the field and the popup.
  • Keep the default resolver ladder unchanged for every other action and phase.

Root cause

The exact-main OpenEMR xrdp/FreeRDP campaign completed nine countable trials. All three healthy trials halted at the first Title selection because focusing the native select exposed two OCR candidates for Unassigned. All six visual-drift and wrong-session fault trials halted safely, the independent REST+SQL oracle confirmed no unintended write, and model calls were zero. The runtime was correctly conservative, but it used evidence that becomes intentionally non-unique after focus.

The post-focus phase already has independent retained landmarks and a fresh remote actuation frame. This change uses those stable signals. If the template and landmarks cannot prove the field, execution still halts.

Validation

  • 164 passed, 15 skipped: RDP backend, resolver, and replayer suites.
  • Strict mypy passes for runtime/replayer.py and runtime/resolver.py.
  • Ruff, format, and diff checks pass.
  • A focused regression proves that the duplicated value is not consulted after focus, a retained field-label landmark re-resolves the field, and exact selected-value verification still passes.

No production-readiness claim or sandbox activation is included in this PR. The exact-main 3+3+3 campaign will be rerun after merge.

@abrichr
abrichr force-pushed the fix/select-option-focused-revalidation branch from c95eafd to 2c81e5c Compare July 28, 2026 04:16
@abrichr
abrichr force-pushed the fix/select-option-focused-revalidation branch from 2c81e5c to 964af3c Compare July 28, 2026 06:25
@abrichr
abrichr merged commit 3481b42 into main Jul 28, 2026
17 checks passed
@abrichr
abrichr deleted the fix/select-option-focused-revalidation branch July 28, 2026 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant