Skip to content

test(testing): re-run the first-consumer pass for the visual-parity and feature-map skills on a host with a chromium build #7195

Open
1 of 2 issues completed

Description

@kyle-sexton

Problem

The visual-parity and feature-map skills added in #7009 (/testing:map-features, /testing:refresh-feature-map, /testing:check-visual-parity; plugins/testing/skills/map-features/SKILL.md, plugins/testing/skills/refresh-feature-map/, plugins/testing/skills/check-visual-parity/SKILL.md) have not had a first-consumer pass. The pass needs a Playwright chromium build (check-visual-parity drives a browser through /playwright:playwright, plugins/testing/skills/check-visual-parity/SKILL.md:40). Playwright publishes no chromium build for ubuntu26.04, so the pass was blocked on the WSL host. The whole-PR verify of #7009 found no issue tracking the re-run.

Fix

Run the first-consumer pass on a host where playwright-cli resolves a chromium build (/playwright:check reports it): map features, refresh the feature map, then run a visual-parity check against a real app. Record what the pass found; file or fix any defect it turns up.

Done when

  • All three skills have run end to end once on a host with a working chromium build.
  • The result (pass, or each defect with its issue) is recorded on this issue.

Refs: #7009
Related: #7137 (browser eval cases in plugin-eval; different gap, same Playwright-on-Linux area)

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 11, 2026
  2. github-actions commented on Oct 11, 2026

    @github-actions
    Contributor

    Thanks for filing this. As I understand it: the visual-parity and feature-map skills from #7009 (/testing:map-features, /testing:refresh-feature-map, /testing:check-visual-parity) still need a first-consumer pass, since it was blocked on a WSL host where Playwright has no chromium build for ubuntu26.04. The ask is to re-run the pass on a host where playwright-cli resolves a chromium build, exercise all three skills end to end against a real app, and record the result (pass, or defects filed) on this issue.

    Scope and done criteria look clear and self-contained, with #7009 and #7137 already cross-referenced. I didn't find any existing open issue duplicating this one.

    Automated triage. A maintainer reviews it.

  3. removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 12, 2026
  4. added theissue type on Oct 12, 2026
  5. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 19, 2026
  6. kyle-sexton commented on Oct 19, 2026

    @kyle-sexton
    MemberAuthor

    This was generated by AI during triage.

    Held: the first-consumer pass needs a host where playwright-cli resolves a chromium build; the WSL host has none for ubuntu26.04.

  7. kyle-sexton commented on Oct 25, 2026

    @kyle-sexton
    MemberAuthor

    This was generated by AI during an unattended host run over /fleet:reach (melo-desk-001, native Windows lane).

    The blocker is gone on the desktop Windows lane. In Git Bash, playwright-cli 0.1.22 resolves at ~/.bun/bin/playwright-cli and opens a browser through the installed Chrome: playwright-cli open about:blank, then snapshot and close, all succeeded. No bundled chromium download was needed.

    The first-consumer pass did not run in this session. It needs a target app chosen. /testing:map-features writes a feature-map skill into that app's repository, and /testing:refresh-feature-map can open a PR there. Both are writes outside this repository that this host run was not scoped to make. Next step: name the app, then run the three skills on this lane through /fleet:reach.

  8. kyle-sexton commented on Oct 26, 2026

    @kyle-sexton
    MemberAuthor

    First-consumer pass result (owner decision Q112, 2026-10-25): melodic-software/medley identity-server, native Windows on the desktop, launched with tests/Identity.E2E.Launcher (Testcontainers SQL Server on port 5099, mail discarded), driven with playwright-cli 0.1.22 and Chrome.

    Cost check before pushing to medley: no GitHub-hosted job runs for a draft pull request or a feature-branch push. The three ubuntu-24.04 jobs skip drafts (pr-require-checks.yml:1311,1353,1432). The review lanes skip drafts (pr-review.yml:72, pr-review-security.yml:66). Every other job and reusable call runs on melodic-ubuntu-24.04-x64, and every push trigger is limited to main. The draft's live run confirmed this: the branch push started 0 runs; the three ubuntu-24.04 jobs and both review lanes were skipped; ci-status refused the draft as designed.

    Results

    Skill Outcome
    /app-control:map create Control skill control-identity-server delivered in draft PR https://github.com/melodic-software/medley/pull/2222: a hub, 4 features, config at the safe floors, and a bash driver CLI. check against current main: 0 findings, after fixing two index-entry-count breaks it found (wrapped entry-point lines). CLI floors: local, environment and flag loosenings each exit 4. Drive proof of sign-in: Ready, then 5 steps as written, including one CLI sign-in attempt; one screenshot; cleanup matched by pid, start time and command-line hash; no orphan; all evidence non-empty
    /testing:check-visual-parity Route 1, the repository suite: it failed twice on medley drift before comparing anything (SDK default 10.0.301 against a 10.0.401 pin; Playwright image 1.62.1 against @playwright/test ^1.64). With the runner's two override variables set, 5 of 5 states matched the Linux baselines. Route 2 (/app-control:drive capture): baseline for "Register, validation errors" plus one compare checkpoint, differing=0 tolerance=0 verdict=pass. Consent: gap, not reachable (below)
    /testing:map-features Run first, before #10033 retired it. Its map went out in the PR's first commit; the second commit replaces it with the control skill

    The finding the research expected, "route 1 fails on win32 because the baselines are Linux-only", did not reproduce: medley's runner moves non-Linux hosts into its Linux container.

    Defects filed as slices

    Not filed:

    • Drive's launch record and pid binding define only a Linux form. On native Windows this run recorded the owner SID, the creation time and a hash of the command line instead. That is the "Platform" bullet of fix(app-control): close the open threads pid-binding and eval follow-ups #9546.
    • Map's pointer-target rule put the pointer in medley's AGENTS.md, while medley's AGENTS.md:5 routes .claude/* paths to .claude/rules/. A placement conflict, with no harm shown yet.

    medley findings (in the PR body, not filed here)

    Over the HTTP launcher the session cookies (SameSite=None without Secure) are dropped, so no sign-in persists and Consent cannot be reached. The auth rate limit also covers /Error and /Consent. An unknown client lands on a 404. The suite runner's SDK and image defaults have drifted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: mediumReal value, no hard deadline; normal backlog flow.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions