@@ -1064,6 +1064,199 @@ only what you use).
10641064- ** ` cross_tab_sync ` ** — Multi-page BroadcastChannel / storage
10651065 propagation asserts.
10661066
1067+ ### Modern web platform & runtime APIs
1068+
1069+ Modules covering newer browser surfaces that are awkward to drive
1070+ through plain WebDriver:
1071+
1072+ - ** ` popover_assert ` ** — ` <dialog> ` / popover open / close / invoker
1073+ / "only one modal" assertions.
1074+ - ** ` cookie_store_api ` ** — Async ` cookieStore ` API harvest +
1075+ change-event assertions + secure-only enforcement.
1076+ - ** ` speculation_rules ` ** — Speculation Rules (` prerender ` /
1077+ ` prefetch ` ) verification, prerendering activation, no-double-fire.
1078+ - ** ` web_locks ` ** — Multi-tab Web Locks contention harness with
1079+ deadlock + serialisation + acquired-count assertions.
1080+ - ** ` storage_buckets ` ** — Storage Buckets API isolation, durability
1081+ hint, and IDB-per-bucket isolation checks.
1082+ - ** ` hydration_streaming ` ** — Streaming SSR per-boundary timing
1083+ (arrival, interactive) + order assertions.
1084+ - ** ` web_push_assert ` ** — Push subscription VAPID key match,
1085+ endpoint allowlist, ` userVisibleOnly ` , ` showNotification ` payload.
1086+ - ** ` background_sync_assert ` ** — Background Sync register / fire /
1087+ retry / ` lastChance ` (quota-exhaustion) assertions.
1088+ - ** ` wake_lock_assert ` ** — Screen wake lock acquire / release / leak
1089+ / re-acquire-on-visibility detection.
1090+ - ** ` pip_assert ` ** — Picture-in-Picture (video + Document PiP)
1091+ enter / exit / size assertions.
1092+ - ** ` web_share_assert ` ** — ` navigator.share ` payload recording +
1093+ fallback-UI assertions.
1094+ - ** ` compression_streams ` ** — ` CompressionStream ` gzip / deflate /
1095+ brotli round-trip + compression ratio budget.
1096+ - ** ` compute_pressure ` ** — Compute Pressure API fake observer + app
1097+ throttle-reaction assertions.
1098+
1099+ ### Modern auth, payments, identity
1100+
1101+ - ** ` webauthn_mock ` ** — Deterministic ` navigator.credentials ` shim
1102+ for Passkey / FIDO2 / WebAuthn flows; build canned credentials by
1103+ user.
1104+ - ** ` credential_management ` ** — Password / Federated Credential
1105+ Management API mock + autofill / ` preventSilentAccess ` assertions.
1106+ - ** ` payment_request_assert ` ** — Payment Request API shim + Apple
1107+ Pay / Google Pay sheet validation (currency, shipping, ` complete() ` ).
1108+ - ** ` three_d_secure_flow ` ** — 3-D Secure 2.x branch model
1109+ (frictionless / challenge / fallback / reject) + silent-finalize
1110+ detection.
1111+
1112+ ### Mobile-web specific
1113+
1114+ - ** ` touch_gesture ` ** — ` tap ` / ` swipe ` / ` pinch ` / ` long_press `
1115+ CDP-frame builder + event assertions.
1116+ - ** ` viewport_audit ` ** — Viewport meta + safe-area-inset audit +
1117+ WCAG 1.4.4 user-scalable audit.
1118+ - ** ` virtual_keyboard ` ** — ` visualViewport ` before / after + keyboard
1119+ inset CSS variable + focused-element visibility.
1120+ - ** ` pull_to_refresh ` ** — ` overscroll-behavior ` + threshold + refresh
1121+ handler + network-refetch assertions for PWAs.
1122+
1123+ ### LLM / AI feature testing
1124+
1125+ - ** ` rag_grounding_assert ` ** — RAG citation in retrieved set,
1126+ lexical overlap, unsupported-claim phrase scan.
1127+ - ** ` llm_token_cost_tracker ` ** — Per-test token / $ ledger with
1128+ per-model rate card + budget assertion.
1129+ - ** ` streaming_chat_assert ` ** — TTFT / inter-token gap / UTF-8
1130+ cleanliness / duplicate-or-OOS chunk assertions for streaming chat.
1131+ - ** ` tool_call_assert ` ** — LLM tool / function-call name + ordering
1132+ + JSON Schema argument validation.
1133+ - ** ` hallucination_probe ` ** — Ground-truth probe runner + refusal
1134+ detection + hallucination-rate budget.
1135+
1136+ ### Email & notification delivery
1137+
1138+ - ** ` email_deliverability ` ** — SPF / DKIM / DMARC headers +
1139+ ` List-Unsubscribe ` (Gmail/Yahoo bulk rules) + BCC-leak audit.
1140+ - ** ` inbox_render_outlook ` ** — Outlook (Word renderer) / Gmail /
1141+ Apple Mail render-compatibility pre-flight findings.
1142+ - ** ` push_delivery ` ** — FCM / APNs payload size + required fields
1143+ + PII scan + collapse key + TTL validation.
1144+
1145+ ### Performance budgets (cont.)
1146+
1147+ - ** ` memory_pressure_emulate ` ** — CDP memory / CPU pressure
1148+ emulation profiles + run-under-profile assertions.
1149+ - ** ` third_party_block_test ` ** — Vendor-by-vendor block-resilience
1150+ matrix (no-vendor / blocked / passed).
1151+ - ** ` bundle_diff_pr ` ** — PR bundle delta (added / removed / grew) +
1152+ growth-gate + markdown report.
1153+ - ** ` lcp_image_audit ` ** — LCP image preloaded + no ` loading="lazy" `
1154+ + ` fetchpriority="high" ` assertions.
1155+ - ** ` font_loading_strategy ` ** — ` @font-face ` ` font-display ` strategy
1156+ + ` size-adjust ` fallback for FOUT / FOIT / FOFT verification.
1157+ - ** ` resource_hints_audit ` ** — ` preload ` / ` prefetch ` / ` preconnect `
1158+ used vs declared + ` preload as= ` validation.
1159+ - ** ` critical_css_audit ` ** — Inline-CSS-in-` <head> ` budget + render-
1160+ blocking external stylesheet preload audit.
1161+ - ** ` lighthouse_regression ` ** — Lighthouse score regression vs
1162+ baseline + Core Web Vitals metric budgets.
1163+
1164+ ### Security & headers (cont.)
1165+
1166+ - ** ` prompt_injection_scanner ` ** — LLM jailbreak payload library +
1167+ canary-leak detection.
1168+ - ** ` cors_matrix ` ** — CORS preflight matrix probe + credentials /
1169+ origin policy assertions.
1170+ - ** ` oauth_pkce_replay ` ** — Confirm authorization server rejects
1171+ replayed OAuth state / PKCE verifier.
1172+ - ** ` cookie_chips_audit ` ** — CHIPS Partitioned cookie compliance
1173+ (third-party requires Partitioned + Secure + SameSite=None).
1174+ - ** ` sbom_diff ` ** — CycloneDX SBOM diff (added / removed / upgrade
1175+ / license / vulnerability gates).
1176+ - ** ` webhook_signature_verify ` ** — GitHub / Stripe / Slack / generic
1177+ HMAC webhook signature verifier.
1178+ - ** ` dom_xss_taint ` ** — Lightweight DOM-XSS taint tracking via JS
1179+ instrumentation + canary detection.
1180+ - ** ` csp_violation_parser ` ** — CSP ` report-uri ` / ` report-to `
1181+ payload parser + recon-attempt heuristic.
1182+ - ** ` hsts_preload_audit ` ** — HSTS preload-list compliance
1183+ (` max-age ` ≥ 1y + ` includeSubDomains ` + ` preload ` ).
1184+ - ** ` tls_cipher_audit ` ** — Live TLS handshake + version + cipher
1185+ allowlist + certificate subject check.
1186+ - ** ` cookie_scope_abuse ` ** — Session-like cookie scope (apex domain
1187+ / ` Path=/ ` ) + ` HttpOnly ` / ` Secure ` / ` SameSite ` audit.
1188+
1189+ ### Backend integration (cont.)
1190+
1191+ - ** ` graphql_n_plus_1 ` ** — N+1 query detector with per-field SQL
1192+ template repetition + cartesian-fanout heuristic.
1193+ - ** ` mq_assert ` ** — Kafka / RabbitMQ / SQS-style message-queue
1194+ publish assertions (drain + matcher + idempotency + ordering).
1195+ - ** ` grpc_streaming_assert ` ** — gRPC streaming (unary / server /
1196+ client / bidi) frame count + size + order + half-close assertions.
1197+ - ** ` openapi_drift ` ** — Live API vs OpenAPI spec drift (undocumented
1198+ endpoint / method / status, zombie endpoints).
1199+ - ** ` api_version_compat ` ** — Old-client vs new-server backward-compat
1200+ matrix on response shape + required request fields.
1201+ - ** ` rate_limit_assert ` ** — 429 + ` Retry-After ` + ` X-RateLimit-* `
1202+ monotonic + recovery-after-wait assertions.
1203+ - ** ` har_to_openapi ` ** — HAR → OpenAPI 3.1 reverse engineering
1204+ (path templates, query params, response schemas).
1205+
1206+ ### QA governance & DevX (cont.)
1207+
1208+ - ** ` failure_auto_tag ` ** — Heuristic + LLM failure auto-tagger
1209+ (` flaky-locator ` / ` timeout ` / ` js-error ` / ` network-5xx ` …).
1210+ - ** ` test_self_describe ` ** — Reverse-engineer Gherkin
1211+ ` Given / When / Then ` paragraph from action JSON.
1212+ - ** ` pr_title_generator ` ** — Conventional-Commits PR title from
1213+ diff + commit history.
1214+ - ** ` action_refactor_suggester ` ** — Action-JSON refactor smells
1215+ (hard sleep, positional XPath, duplicated locator, click-wait-click).
1216+ - ** ` test_roi_scorer ` ** — Find-rate × cost × coverage × recency
1217+ weighted ROI score per test.
1218+ - ** ` pre_merge_gate_dsl ` ** — Declarative ` when ` / ` require ` pre-merge
1219+ gate rules over a ` PrFacts ` snapshot.
1220+ - ** ` commit_msg_trigger ` ** — Parse ` [skip ci] ` / ` [ci e2e] ` /
1221+ ` [ci shard=3/8] ` / ` Closes #123 ` from commit message.
1222+ - ** ` flakiness_graveyard ` ** — Quarantine / revive / bury ledger with
1223+ TTL for stale flaky tests.
1224+ - ** ` test_blame_owner ` ** — CODEOWNERS + git-blame + HEAD + default
1225+ → test-owner resolution chain.
1226+ - ** ` test_dup_dry ` ** — Structural action-JSON duplicate + prefix-
1227+ overlap detection (extract-helper opportunity).
1228+ - ** ` snapshot_diff_approval ` ** — Baseline / pending / rejected
1229+ snapshot register + approval workflow.
1230+ - ** ` failure_cluster_dbscan ` ** — Failure-message tokeniser + DBSCAN
1231+ root-cause clustering (pure-Python, no sklearn).
1232+ - ** ` test_naming_lint ` ** — ` should_when ` / ` given_when_then ` /
1233+ ` camel_subject ` naming convention linter.
1234+
1235+ ### i18n / a11y (cont.)
1236+
1237+ - ** ` rtl_layout_verify ` ** — RTL direction + logical-property
1238+ (` margin-inline-start ` ) + bidi-isolation audit.
1239+ - ** ` dst_boundary_test ` ** — DST spring-forward / fall-back gap &
1240+ overlap detection + scheduled-fire model.
1241+ - ** ` number_currency_locale ` ** — Number / currency / date locale-
1242+ format assertion helpers (incl. Indian lakh grouping).
1243+ - ** ` wcag22_touch_target ` ** — WCAG 2.2 SC 2.5.8 target-size auditor
1244+ with spacing-circle exception.
1245+
1246+ ### Emerging-tech device APIs
1247+
1248+ - ** ` webgpu_pixel_verify ` ** — WebGPU canvas pixel readback + mean /
1249+ solid-colour / tile-diff assertions.
1250+ - ** ` webhid_mock ` ** — WebHID device shim with input / output report
1251+ capture harness.
1252+ - ** ` webusb_mock ` ** — WebUSB device shim with control / bulk
1253+ transfer capture.
1254+ - ** ` webserial_mock ` ** — Web Serial UART shim + line-write capture.
1255+ - ** ` webcodecs_assert ` ** — WebCodecs chunk codec / resolution /
1256+ keyframe-interval / framerate assertions.
1257+ - ** ` speech_api_assert ` ** — ` SpeechSynthesis ` / ` SpeechRecognition `
1258+ mock + utterance / language / volume assertions.
1259+
10671260For per-module reference also see [ ` CLAUDE.md ` ] ( CLAUDE.md ) , the
10681261auto-generated [ ` docs/reference/command_reference.md ` ] ( docs/reference/command_reference.md ) ,
10691262and the Sphinx chapter under
0 commit comments