Require Selenium for browser-owned Components regressions - #68787
Closed
PureWeen wants to merge 7 commits into
Closed
Require Selenium for browser-owned Components regressions#68787PureWeen wants to merge 7 commits into
PureWeen wants to merge 7 commits into
Conversation
Document the permanent regression boundary, align the interactive validation skill handoff, and add focused Vally coverage for browser and lower-boundary test selection. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates Components contributor guidance and the validate-blazor-feature skill/eval to require permanent C# Selenium coverage for browser-owned regressions (layout/geometry/observers/scrolling), and to explicitly record a 5-field “permanent regression boundary” decision before handing work off from interactive Playwright validation to permanent tests.
Changes:
- Adds a five-field “Permanent regression test boundary” decision to
src/Components/AGENTS.md, and requires Selenium E2E coverage for browser-owned behavior while disallowing Jest/.test.tsas production regression proof for the same scenario. - Extends the
validate-blazor-featureskill content to capture the same boundary/handoff guidance without turning it into a permanent test authoring workflow. - Adds new Vally eval stimuli to enforce these expectations in skill evaluation.
Show a summary per file
| File | Description |
|---|---|
| src/Components/AGENTS.md | Adds the permanent regression boundary decision and clarifies Selenium vs Jest expectations for browser-owned behavior. |
| eng/skill-evals/validate-blazor-feature/eval.vally.yaml | Adds new eval cases that grade for selecting Selenium and rejecting Jest-only proof for browser-owned scenarios. |
| .github/skills/validate-blazor-feature/SKILL.md | Updates the skill narrative to record the handoff/boundary decision after interactive validation and before permanent coverage. |
Review details
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 3/3 changed files
- Comments generated: 2
- Review effort level: Lite
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
ilonatommy
approved these changes
Aug 27, 2026
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: e2b46a36-410e-48dc-8ce7-cf07dab0bc96
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: e2b46a36-410e-48dc-8ce7-cf07dab0bc96
wtgodbe
approved these changes
Sep 3, 2026
Member
Author
|
Superseded by #69064, which carries the same change from a trusted same-repository branch so the model-bearing skill evaluation can run. |
This was referenced Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This implements Ilona's maintainer feedback on #68748 and adds a focused deterministic browser-to-Selenium workflow:
src/Components/test/E2ETest.TaskCompletionSourceonly when deterministic managed or intermediate ordering must be controlled; it does not stabilize races with an arbitrary fixed sleep.Browser.True/Browser.Equal(WebDriverWait) is sufficient when the final observable can be awaited directly; an explicit gate is not ceremonial. Existing bounded polling helpers may delay between checks, so this is not a syntactic ban on everyThread.Sleep.output-not-matchesgraders and moves semantic denials/permissions to prompt-judge rubrics. Remaining static graders check only broad surface signals; five-field decisions are judged for substantive case-specific values rather than placeholder labels.This PR changes contributor guidance, the existing interactive validation skill, and its eval lane only; it does not change production or test implementation code.
Validation
.github/skills/validate-blazor-featurepasses strict skill lint.eng/skill-evals/run.ps1 Validate -Eval eng/skill-evals/validate-blazor-feature/eval.vally.yamlpasses repository layout checks, Vally 0.13 strict lint/schema validation, and the model-free experiment dry-run.eng/skill-evals/run.ps1 Lint -Eval eng/skill-evals/validate-blazor-feature/eval.vally.yamlpasses the pinned Vally 0.13 strict lint.git diff --checkpasses.Skill-creator comparison
The pre-change skill was snapshotted outside the repository and compared with the revised workflow across four paired Claude Sonnet 5 cases: deterministic browser handoff, nondeterministic producer investigation, arbitrary sleep rejection, and manager-contract versus browser-reachability selection.
Bounded model-bearing Vally evidence and limitations
A focused baseline-versus-skilled run used Claude Opus 4.6 for three trials each across four workflow cases (12 trajectories per variant):
TaskCompletionSource, which is the intended policy. The model did not invoke the skill for those three straightforward sleep prompts, but the behavior was correct; the other nine skilled trials invokedvalidate-blazor-feature.