The tree was a debranded snapshot of upstream taken around 2026-02-20, and upstream has moved about five months since. This replaces it with upstream master, mechanically re-derived: bin/debrand does the rename, and the pipeline and squashed migrations are restored from the shipped tree. Not a merge. The previous import replaced the tree wholesale in a single commit, so there is no shared content history to merge against. Reproducing the rename on the new tree is what actually converges. What survives: .hanzo/workflows, the Dockerfiles and bin/docker* entrypoints, compose files, LLM.md, and insights/migrations. The squashed initial migration is load-bearing — the live database records it by name, so upstream's ~918 individual migrations cannot come back. Nine products are dropped as unreferenced. Twenty-one more that we do not run are kept anyway because the core app still imports them; unpicking those is a refactor and does not belong in a rebase. This base does not build yet, and the reasons are not in the rename: upstream now wants Python 3.13.13 against our 3.12.12 and Django 5.2 against our 4.2, and the dependency manifests still name upstream packages that we republish under our own names. Those are decisions, not renames.
1.7 KiB
name, description, allowed-tools
| name | description | allowed-tools |
|---|---|---|
| playwright-test | Write a playwright test, make sure it runs, and is not flaky. | Bash, Read, Edit, Write, Glob, Grep, Agent, mcp__playwright__* |
Read @playwright/README.md for best practices, gotchas, and how to run tests.
Rules
- Follow the best practices in the README strictly
- After UI interactions, always assert on UI changes, do not assert on network requests resolving
- Keep looping until all tests pass. Do not give up or ask the user for help. You must resolve every failure yourself.
Instructions
You are to plan an end to end playwright test for a feature.
Step 1: Plan the test(s) to be done.
Use the Playwright MCP tools (e.g., mcp__playwright__browser_navigate, mcp__playwright__browser_click, mcp__playwright__browser_screenshot) to interact with the browser and plan your tests.
After your exploration, present the plan to me for confirmation or any changes.
Step 2: Implement the test plan
- Write the tests, making sure to use common patterns used in neighbouring files.
- Run the tests with
BASE_URL='http://localhost:8010' pnpm --filter=@hanzo/playwright exec playwright test <file name> --retries 0 --workers 3 - Debug any failures. Look at screen shots, if needed launch the playwright mcp skills to interact with the browser. Go back to step 1 after attempting a fix.
Step 3: Ensure no flaky tests
After all tests pass in the file, run with --repeat-each 10 added to the command. This will surface any flaky tests.
If any test fails across the 10 runs, treat it as a real failure: go back to Step 2, debug, fix, and re-run Step 3. Do not proceed to Step 4 until every run of every test passes.
Step 4: Report
Once all tests pass, output a single line: Testing Complete