aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-22 15:48:48 -0500
committerCraig Jennings <c@cjennings.net>2026-05-22 15:48:48 -0500
commit9812ad99256658e509cee53e04cab4806f9162f9 (patch)
tree1ad5fe28361321c19d74c7caf2fd836d13eef83d
parent8c291b81cd7fb10479a55fb47e9a9cebcfc1b9b8 (diff)
downloadrulesets-9812ad99256658e509cee53e04cab4806f9162f9.tar.gz
rulesets-9812ad99256658e509cee53e04cab4806f9162f9.zip
chore(todo): close playwright networkidle + emoji audit items
-rw-r--r--todo.org19
1 files changed, 6 insertions, 13 deletions
diff --git a/todo.org b/todo.org
index 8f6e0b5..4457927 100644
--- a/todo.org
+++ b/todo.org
@@ -741,9 +741,9 @@ Source notes used in this pass:
Each item below is a one-line summary of a sub-TODO further down. Tick the box when the matching sub-TODO is moved to =DONE=. Items are grouped by area so they can be batched (e.g., "do all Playwright items in one session").
**** Browser testing
-- [ ] [#A] =playwright-js=: locator/assertion-first guidance (replace raw CSS, =networkidle=)
+- [X] [#A] =playwright-js=: locator/assertion-first guidance (replace raw CSS, =networkidle=)
- [X] [#B] =playwright-js= + =playwright-py=: reconcile headless/visible defaults
-- [ ] [#B] =playwright-js= + =playwright-py=: remove emoji console markers from examples
+- [X] [#B] =playwright-js= + =playwright-py=: remove emoji console markers from examples
**** Frontend / UI
- [X] [#B] =frontend-design=: WCAG 2.2 alignment, accessibility non-optional
@@ -831,24 +831,17 @@ Each item below is a one-line summary of a sub-TODO further down. Tick the box w
- [X] [#A] =hooks/git-commit-confirm.py= + =gh-pr-create-confirm.py=: inspect message/body files referenced by =-F= / =--body-file=
- [X] [#B] =hooks/destructive-bash-confirm.py=: shell-aware command parsing (not regex)
-*** TODO [#A] =playwright-js=: replace raw CSS/page actions and =networkidle= defaults with locator/assertion-first guidance
+*** 2026-05-22 Fri @ 15:47:10 -0500 Made playwright guidance locator/assertion-first, dropped networkidle-as-readiness
-Current examples lean on =page.click=, =page.fill=, =waitForSelector=, and
-=waitForLoadState('networkidle')=. Official Playwright guidance prefers
-locators based on user-visible attributes, web assertions for readiness, and
-calls =networkidle= discouraged for testing. Keep reconnaissance, but revise it
-to wait for a visible app-specific landmark instead of treating network quiet
-as readiness.
+Rewrote the readiness guidance in both =playwright-js/SKILL.md= and =playwright-py/SKILL.md=: reconnaissance now waits for a visible app landmark via a web assertion or locator (=expect(...).toBeVisible()= / =get_by_role(...).wait_for()=), not =networkidle= (which Playwright discourages). Updated the login/form examples to =getByLabel=/=getByRole= + web assertions, the API_REFERENCE.md waiting section, and =lib/helpers.js= defaults (=waitForPageReady= now defaults to =load= and prefers a caller-supplied landmark; =authenticate= races the success indicator over a =load= navigation). node --check passes.
*** 2026-05-22 Fri @ 14:23:02 -0500 Added headed/headless decision tables to both playwright skills
Added matching purpose-based decision tables to =playwright-js/SKILL.md= (was "always visible") and =playwright-py/SKILL.md= Best Practices (was "always headless"). Each names its own default and points at the other skill, so the difference is deliberate, not a habit-flip: headed for interactive debugging, headless for CI/pytest. Also softened the absolutist "Always launch... headless" comment in the py example.
-*** TODO [#A] =playwright-js= and =playwright-py=: remove emoji console markers from examples
+*** 2026-05-22 Fri @ 15:47:10 -0500 Removed emoji console markers from the playwright skills
-The broader rules discourage emojis in shared engineering output. The
-Playwright examples print camera/check/cross emoji. Replace with plain ASCII
-status prefixes.
+Replaced every emoji status marker with a plain ASCII prefix across =playwright-js/= (run.js, lib/helpers.js, SKILL.md) and =playwright-py/= (SKILL.md, examples/*.py): 📦/⚡/📄/📥/🎭/🚀/📋/✅/❌/🔍/📸/✓/✗ → =[setup]=/=[run]=/=[ok]=/=[error]=/=[fail]= etc. Post-change emoji grep is clean (excluding node_modules); node --check and py_compile pass.
*** 2026-05-22 Fri @ 14:35:16 -0500 Made accessibility a non-optional WCAG 2.2 gate in frontend-design