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

Closed
2 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

    Proposed work class: none

    Size: Small
    Complexity: Low
    Uncertainty: Known
    Flags: none
    Blocked by: none

    Understood: this tracks a first-consumer pass of the visual-parity and feature-map skills from #7009 on a host with a working chromium build, with the result recorded on the issue.

    The comments say the pass already ran on native Windows with Chrome. They also say /testing:refresh-feature-map and /testing:map-features were retired in favour of /app-control:map, and that follow-up defects were filed as #10105 (closed) and #10145 (open). That looks like it meets both "Done when" lines. If so, a maintainer can likely close this issue. Nothing is missing from the issue itself. No duplicates found.

    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.

  9. kyle-sexton commented on Oct 27, 2026

    @kyle-sexton
    MemberAuthor

    Decision recorded. The owner answered in the Refinement and Issue Triage sessions (2026-10-25), deciding the open items below on the facts:

    go with whatever the facts/data/metrics + /discovery:research says and ensure we're aligned with SOLID, DRY/SSOT principles

    I should only ever be in the loop ONLY when necessary (intent/vision changed, something came up during implementation that impacts trajectory/alignment, OR a high security risk) - I've covered this all before

    Closed as done.

    1. Which app is the first consumer?
      Decided: Answered by the owner. Backlog to Zero ledger row Q112 (.work/backlog-to-zero/interview-checklist.md:151): "A: medley identity-server on melo-desk-001 via /fleet:reach, E2E launcher, draft PR until medley review-lane draft billing is checked (same quote)".
    2. Did the pass run end to end on a host with a working browser?
      Decided: Yes. The result comment (test(testing): re-run the first-consumer pass for the visual-parity and feature-map skills on a host with a chromium build #7195 (comment)) records the pass on native Windows with playwright-cli 0.1.22 and Chrome: /testing:check-visual-parity reached verdict=pass, /testing:map-features ran, and /app-control:map create produced medley draft PR https://github.com/melodic-software/medley/pull/2222.
    3. What about /testing:refresh-feature-map?
      Decided: It no longer exists. PR feat(testing)!: retire map-features and refresh-feature-map for /app-control:map #10033 (2640984, "retire map-features and refresh-feature-map for /app-control:map") removed both feature-map skills; plugins/testing/skills/ on origin/main holds neither, and /app-control:map replaced them and ran in this pass. Basis: git ls-tree origin/main plugins/testing/skills/.
    4. Are the defects recorded?
      Decided: Yes. fix(testing): say how check-visual-parity runs a suite and what a run with no verdict means #10105 (closed) and fix(app-control): require a Ready command that fails when the instance is unfit #10145 (open) were filed as slices, and the two findings not filed are stated with their reasons in the same comment.

    Acceptance criteria: none left; both "Done when" lines are met by the evidence above. #10145 stays open on its own.

  10. removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 27, 2026
  11. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 27, 2026
  12. melodic-automation-lanes commented on Oct 27, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane yet: sub-issue #10145 is open.

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

    priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions