playkit/docs/IDEAS.md
ilia 6e3763f44f
All checks were successful
CI / skip-ci-check (push) Successful in 6s
CI / release (push) Has been skipped
CI / build-and-test (push) Successful in 42s
CI / secret-scan (push) Successful in 2s
Network helpers, docs hygiene, Outline sync notes
2026-07-14 19:50:42 -05:00

54 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ideas backlog (from similar OSS tools)
Notes from comparing `@levkin/playkit` to public kits (2026-07). Tracking items
also live in `ROADMAP.md` — this page expands *why* / *how*, not just the checkbox.
## Already shipping (borrowed shape)
- **Network interception + error monitor** — see `docs/NETWORK.md`. Sourced from
[`playwright-utils`](https://github.com/seontechnologies/playwright-utils)
(spy/stub + background 4xx/5xx “Sentry for tests”), trimmed to Levkin needs.
## Documented next (not implemented yet)
### Test burn-in (flake detection)
`playwright-utils` “burn-in” re-runs a spec N times (local or CI) before merge.
That is the *mechanism* behind playkits “flake quarantine” roadmap item —
implement burn-in first (CLI flag or `PLAYKIT_BURN_IN=N`), then quarantine can
consume “failed once in N” signals into Grafana / Annotations.
### Scheduled synthetic monitoring
[`playwright-exporter`](https://github.com/maravexa/playwright-exporter) runs
Playwright suites on a cron and exposes pass/fail + duration as Prometheus
metrics. Overlaps with “deploy-smoke CLI”. Prefer evaluating that tool (or a
thin wrapper) on a schedule against punimtag DEV **before** writing a bespoke
`playkit smoke` binary.
### Functional-core / fixture-shell audit
`playwright-utils` ships each utility as a plain function *and* a fixture.
Playkit already does this for `createPlaykitRuntime`; `ApiClient` /
`MailpitClient` are class-first. Audit later: keep classes, add thin function
wrappers only where consumers repeatedly wrap them themselves.
### Remote-write vs Pushgateway
[`playwright-prometheus-remote-write-reporter`](https://github.com/vitalics/playwright-prometheus-remote-write-reporter)
avoids a Pushgateway by writing straight into Prometheus. **Moot for now**
homelab Pushgateway is wired in ansible `deploy/observability` (pending apply).
Keep as a simplification option if Pushgateway ops cost ever hurts.
### Enterprise polish already on the roadmap
Contract testing (OpenAPI), axe-core a11y, and visual regression match what
`kitium-ai/playwright-helpers` treats as table stakes — already listed under
v0.5+ in `ROADMAP.md`; no extra checklist needed.
## Adoption pause
**Do not wire other app repos onto playkit yet.** Shake out punimtag + kit CI
for a few days (metrics path, release job, network helpers) before migrating
`screening` / `slack-sieve` / `portfolio`. Revisit after that soak.