Skip to content

Stop suggesting redundant Playwright CLI mode - #58041

Merged
pelikhan merged 7 commits into
mainfrom
copilot/review-pi-agentic-engine
Sep 2, 2026
Merged

Stop suggesting redundant Playwright CLI mode#58041
pelikhan merged 7 commits into
mainfrom
copilot/review-pi-agentic-engine

Conversation

Copilot AI commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Pi already supports the built-in CLI-only Playwright integration, but migration guidance suggested adding the redundant mode: cli setting.

  • Migration guidance

    • Direct users to remove mode: mcp rather than replace it.
    • Preserve guidance for explicitly configured custom MCP servers.
  • Pi coverage

    • Verify Pi recognizes Playwright as CLI-backed when mode is omitted.
  • Documentation

    • Remove redundant mode: cli examples.
    • Clarify Pi’s Playwright support and CLI-only behavior.
tools:
  playwright:

Copilot AI and others added 2 commits September 2, 2026 21:49
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan September 2, 2026 21:59
@pelikhan
pelikhan marked this pull request as ready for review September 2, 2026 22:00
Copilot AI balanced review requested due to automatic review settings September 2, 2026 22:00
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

Test Quality Sentinel skipped because pre-fetch PR data was unavailable: unable to fetch test file diff

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

⚠️ Security scanning failed for Ponytail Reviewer. Review the logs for details.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • ab.chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"

See Network Configuration for more information.

Generated by Ponytail Reviewer for #58041

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft.

No ADR enforcement needed: PR does not have the implementation label and has <=100 new lines of code in business logic directories (found 19).

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Skills-Based Review 🧠

Applied /tdd — this is a small, well-scoped fix that removes redundant mode: cli guidance now that Playwright is CLI-only, and updates docs/error messages/tests consistently.

📋 Notes
  • ✅ New test TestPiEngineAcceptsPlaywrightWithImplicitCLIMode directly covers the changed behavior (Pi + omitted mode + CLI proxy), following red-green-refactor spirit.
  • ✅ Error message and doc updates are consistent across playwright_validation.go, docs/reference/playwright.md, and docs/engines/pi.md — no lingering mode: cli references left behind in the diff.
  • No actionable issues found; nothing to block on.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · sonnet50 · 16 AIC · ⌖ 17.1 AIC · ⊞ 10.3K
Comment /matt to run again

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Remaining contradictory guidance and insufficient Pi integration coverage prevent the stated migration update from being complete.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Updates Playwright guidance to treat CLI as the sole built-in mode and removes redundant mode: cli examples.

Changes:

  • Revises migration validation and documentation.
  • Adds Pi implicit-CLI coverage.
  • Updates workflow guidance and release notes.
File summaries
File Description
pkg/workflow/playwright_validation.go Updates migration errors.
pkg/workflow/playwright_validation_test.go Tests guidance and Pi behavior.
docs/src/content/docs/reference/playwright.md Removes redundant mode examples.
docs/src/content/docs/engines/pi.md Documents Pi Playwright support.
.github/skills/agentic-workflows/SKILL.md Adds compatibility guidance routing.
.github/aw/syntax-tools-imports.md Simplifies Playwright configuration.
.changeset/patch-playwright-cli-only-guidance.md Records the patch change.
Review details
  • Files reviewed: 7/7 changed files
  • Comments generated: 3
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +121 to +122
Remove `mode: mcp`. The built-in integration is CLI-only, so no replacement
`mode` field is needed. The compiler now reports `mode: mcp` as an error.
Comment on lines +106 to +117
func TestPiEngineAcceptsPlaywrightWithImplicitCLIMode(t *testing.T) {
compiler := NewCompiler()
tools := map[string]any{
"github": map[string]any{"mode": "gh-proxy"},
"cli-proxy": true,
"playwright": map[string]any{},
}

require.NoError(t, compiler.validatePiEngineRequirements(NewTools(tools), NewPiEngine()))
require.NoError(t, compiler.validatePlaywrightMode(&WorkflowData{Tools: tools}))
assert.True(t, isPlaywrightCLIMode(tools))
}
- `.github/aw/charts-trending.md`
- `.github/aw/charts.md`
- `.github/aw/cli-commands.md`
- `.github/aw/compat.md`

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This PR is mostly lean; the only simplification I’d still make is collapsing the one-off Pi-specific Playwright test into the existing validation coverage. net: -1 lines possible.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • ab.chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"

See Network Configuration for more information.

Generated by ✂️ Ponytail Reviewer for #58041 · codex · mai10 · 5.01 AIC · ⌖ 8.09 AIC · ⊞ 14K
Comment /ponytail to run again

assert.Contains(t, err.Error(), "mcp-servers")
}

func TestPiEngineAcceptsPlaywrightWithImplicitCLIMode(t *testing.T) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

pkg/workflow/playwright_validation_test.go:106: yagni: one-off Pi-engine test for implicit CLI mode. Fold it into the existing TestValidatePiEngineRequirements/TestValidatePlaywrightMode cases to keep coverage local and avoid extra test surface.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Comment Memory

reviewed_at: 2026-09-02T22:04:31Z
review_event: COMMENT
top_themes:
  - validator guidance now contradicts still-supported explicit cli mode
files_reviewed:
  - .changeset/patch-playwright-cli-only-guidance.md
  - .github/aw/syntax-tools-imports.md
  - .github/skills/agentic-workflows/SKILL.md
  - docs/src/content/docs/engines/pi.md
  - docs/src/content/docs/reference/playwright.md
  - pkg/workflow/playwright_validation.go
  - pkg/workflow/playwright_validation_test.go
comment_count: 1

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 25.4 AIC · ⌖ 7.39 AIC · ⊞ 23.5K ·
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review verdict

The docs cleanup is moving in the right direction, but the validator text now overstates the contract and contradicts behavior the compiler still accepts.

Blocking theme

The built-in Playwright integration is clearly CLI-only now, but this PR changes user-facing validation guidance from "mode: cli or omit mode" to "remove mode" without making the parser/validator reject explicit mode: cli everywhere. That leaves users with two incompatible stories depending on which file or error path they hit.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 25.4 AIC · ⌖ 7.39 AIC · ⊞ 23.5K
Comment /review to run again

mode,
"mode must be a literal value; expressions are not allowed",
"Set mode to cli, or omit mode because CLI is the default",
"Remove mode because the built-in Playwright integration is CLI-only",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This guidance is now stricter than the implementation: validatePlaywrightMode still accepts explicit mode: cli, and the repo still contains examples/tests that rely on that accepted form, so telling users to always remove mode is misleading and will create contradictory migration advice.

💡 Align the message with the actual compatibility contract

Right now only mode: mcp and expression-valued mode are rejected. Explicit mode: cli remains valid, which means the validator should either:

  1. keep documenting both accepted forms (mode: cli or omitted), or
  2. start rejecting mode: cli everywhere and update the rest of the tree in the same change.

A message like "Omit mode because CLI is the default, though explicit mode: cli is still accepted for compatibility" would avoid sending users into a dead-end contradiction.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Clean, focused change. Removes redundant mode: cli guidance consistently across docs, compiler validation messages, and the migration path, with a new test (TestPiEngineAcceptsPlaywrightWithImplicitCLIMode) covering the implicit-CLI-mode case. No correctness or security issues found in the changed lines.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • proxy.golang.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "proxy.golang.org"

See Network Configuration for more information.

🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · copilot · sonnet50 · 20.8 AIC · ⌖ 13.2 AIC · ⊞ 8.3K

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please address the current blocking review feedback, refresh the branch if needed, and run the pr-finisher skill before handing back to maintainers.

  • Blocking review: copilot-pull-request-reviewer — the validator guidance now says users must remove mode, but the compiler still accepts explicit mode: cli; please make the docs/validation story consistent.
  • Blocking review: github-actions — consider folding the one-off Pi Playwright test into existing validation coverage if that keeps the suite lean without losing the regression.
  • Branch refresh was not requested from this pass.
  • No action-required CJS/CGO/CWI workflow approvals were pending for this head SHA.

Please summarize what changed and what remains for maintainers once the follow-up is pushed.

Generated by PR Sous Chef

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 35.2 AIC · ⌖ 8.82 AIC · ⊞ 8.7K ·
Comment /souschef to run again

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please reconcile the remaining review feedback on this Playwright guidance PR before handing back to maintainers.

  • The validator/docs contract is still inconsistent: current implementation still accepts explicit mode: cli, so update the user-facing guidance to say omitted mode is preferred while explicit mode: cli remains accepted for compatibility, or tighten validation everywhere in the same change.
  • There are still repo references recommending redundant mode: cli (review specifically called out .github/workflows/shared/docs-server-lifecycle.md and pkg/workflow/playwright_cli.go); update those lingering examples if they still apply to the current head.
  • The extra .github/aw/compat.md routing addition looks unrelated to this PR scope unless it is required and documented; remove or justify it in the change.
  • Reviewers also asked to keep Pi coverage lean: either fold the one-off Pi test into existing validation coverage or otherwise ensure the final tests prove the intended compiler behavior without unnecessary surface area.
  • Branch refresh was not requested from this pass.

Please run the pr-finisher skill and post a short maintainer-facing summary once the current head fully matches the intended compatibility story.

Generated by PR Sous Chef

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 40.4 AIC · ⌖ 8.88 AIC · ⊞ 9.2K ·
Comment /souschef to run again

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

Copilot AI commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please reconcile the remaining review feedback on this Playwright guidance PR before handing back to maintainers.

  • The validator/docs contract is still inconsistent: current implementation ...

Updated the compatibility story to match the implementation: omit mode for the built-in CLI-only Playwright integration, while keeping explicit mode: cli accepted for compatibility. I also removed the unrelated router entry and kept the Pi regression check focused on the lock-file behavior the reviewers asked for.

@pelikhan

pelikhan commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

@copilot fix https://github.com/github/gh-aw/actions/runs/33692525967/job/100454610615?pr=58041

Fixed the failing sync check by restoring the missing compat.md entry in the embedded fallback AW file list so it matches .github/aw/. The focused pkg/cli checks pass.

@pelikhan
pelikhan merged commit 37750b6 into main Sep 2, 2026
34 checks passed
@pelikhan
pelikhan deleted the copilot/review-pi-agentic-engine branch September 2, 2026 23:31
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.88.2

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.

4 participants