Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .claude/memory/MEMORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Keep this file under 200 lines — anything longer is content bloat, not memory.
- [learnings/recheck-open-prs-at-pr-open](learnings/2026-05-26-recheck-open-prs-at-pr-open.md) — session-start grep is insufficient; re-grep `list_pull_requests` right before `create_pull_request` to catch parallel-session races (PR #18 vs #20 ENG-25)
- [learnings/closed-pr-receives-review-after-close](learnings/2026-05-26-closed-pr-receives-review-after-close.md) — Closed PR can still get a REQUEST_CHANGES review seconds after dup-close; don't reopen, surface to sibling PR + Linear (PR #18 vs #20 ENG-25 race)
- [learnings/review-feedback-fanout](learnings/2026-05-26-review-feedback-fanout.md) — multiple REQUEST_CHANGES comments fire multiple manager sessions; fetch + check head-branch commits newer than the reviewer comment before doing work (PR #20)
- [learnings/pw-capture-script-needs-executable-path](learnings/2026-05-26-pw-capture-script-needs-executable-path.md) — Ad-hoc `node`-driven Playwright capture scripts must pass `executablePath` directly; `tests/global-setup.ts` only self-heals when launched via the test runner

## Decisions
- [decisions/mcp-for-small-writes-checkout-for-big](decisions/2026-05-26-mcp-for-small-writes-checkout-for-big.md) — Single-file writes go through GitHub MCP; multi-file or test-needing changes use the mounted checkout + `git push`
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ad-hoc Playwright capture scripts must pass `executablePath`

`tests/global-setup.ts` self-heals the cached browser path (outer `chromium-{wanted}` symlink and inner `chrome-headless-shell-linux64/chrome-headless-shell` layout) **only** when Playwright is launched via the test runner — it's wired as `globalSetup` in `playwright.config.ts`. One-shot capture scripts run via `node /workspace/repo/.pr-capture.cjs` (the step 4(j) flow in the manager prompt) bypass `globalSetup` entirely, so the launch fails with "Executable doesn't exist" even on a sandbox with a working cached browser. Fix: launch with `executablePath: '/opt/pw-browsers/chromium-1194/chrome-linux/chrome'` (the full chrome binary). Sidesteps the headless-shell layout question altogether.