Skip to content

Heal probe: row scope, data-* attributes, has_text text - #24

Merged
philmcneely merged 3 commits into
mainfrom
feat/heal-probe-row-attr
Nov 8, 2026
Merged

philmcneely merged 3 commits into
mainfrom
feat/heal-probe-row-attr

Conversation

@philmcneely

Copy link
Copy Markdown
Owner

Updates the heal probe (utils/heal_probe.js) to the current service probe. The two files are byte-identical, and the sha256 test checks this.

  • Emits row / row_attr for row-scoped locators.
  • Emits plain data-* attributes. Only names matching ^data-[a-z0-9-]{1,60}$ that don't collide with another key are sent.
  • Emits pw_text / pw_cut: element text as Playwright's has_text reads it, used to prove a text filter is unique. Text-entry roles (textbox, searchbox, combobox, spinbutton, slider) are never read, and token-like runs drop the text.

Merge order: merge only after the heal service accepts these fields. An older service rejects unknown fields with 422.

Tests: 238 heal unit tests pass (pytest -q tests/unit -k heal).

Each item with a row now carries row_attr (data-qa, data-testid, data-test,
data-cy or id), so the heal service can scope a locator to the row when none of
the element's own locators is unique on the page. The vendored probe is
byte-identical to the service's.
… reads (pw_text)

Byte-identical to heal-service src/heal_service/probe/probe.js at f80709c. Merge after heal-service accepts pw_text and pw_cut (its schema refuses unknown keys).
…-entry roles

Byte-identical to heal-service src/heal_service/probe/probe.js on fix/heal-rate-gaps.
Copilot AI balanced review requested due to automatic review settings November 8, 2026 00:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

✅ All smoke tests passed! View report

@philmcneely

Copy link
Copy Markdown
Owner Author

PR-fix dispatch triage: no actionable review feedback. The only bot comment is the smoke-test pass notice; lint, unit, smoke and semgrep all pass (full still running). The Copilot review didn't run (quota). No code changes or commits made.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

✅ All chromium login tests passed! View report

@philmcneely

Copy link
Copy Markdown
Owner Author

PR-fix re-dispatch triage: still no actionable feedback. The comment that triggered this dispatch is the "✅ All chromium login tests passed" notice. Checks: lint, unit, smoke and semgrep pass; full is still pending. Copilot review didn't run (quota). No commits made.

@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

✅ All firefox login tests passed! View report

@philmcneely

Copy link
Copy Markdown
Owner Author

PR-fix re-dispatch #3 triage: there's still nothing to fix, so no commit. This dispatch was triggered by the "✅ All firefox login tests passed" notice. All checks are green now, including full (2m40s): lint, unit, smoke, full and semgrep. Copilot's review never ran because of a quota limit, so no human or bot review has asked for changes.

Note for the dispatcher: bot pass notices from github-actions are being treated as review feedback. That has caused 3 empty re-dispatches on this PR.

@philmcneely
philmcneely merged commit c3572e6 into main Nov 8, 2026
11 checks passed
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.

2 participants