# Changelog — `@futdevpro/dynamo-e2e`

Minden release a `dynamo-e2e-foundation` HYPERPLAN MP-N ütemezést követi.
Verzióformátum: `MM.mm.p` (két-számjegyes major-minor, Dynamo-konvenció).

## [01.18.9] — 2026-07-21 — Playwright-config preset (fleet e2e-config konszolidáció #2)

### Added

- **`DyE2E_getPlaywrightConfig(opts)`** — a flotta `playwright.config.ts`-einek közös magja
  (organizer / overseer / master-prompter mintákból): dotenv-load (`envDir`),
  `E2E_BASE_URL`-override, `ignoreHTTPSErrors` + `workers` env-deriváció (login-race védelem),
  html+json+list reporter, failure-only screenshot/trace/video, `forbidOnly` + `retriesInCi`
  CI-ben, viewport-preset → projects mapping.
- **`DyE2E_getGlobalSetup(opts)`** — közös global-setup mag: dotenv + `requiredEnvVars`-warn +
  baseURL-reachability (AbortController + fetch, fail-fast) + opcionális `login(page)` hook →
  storageState-mentés (C513 login-once minta; empty-stub fallback).
- **Viewport-preset konstansok** — `DYE2E_VIEWPORTS_VISUAL8` (Tailwind-breakpoint matrix),
  `DYE2E_VIEWPORTS_NAMED4` (desktop-1920/wide-2560/tablet-1024/mobile-414),
  `DYE2E_VIEWPORTS_SINGLE` + `DyE2E_resolveViewportPreset()` — a méretek SSOT-ja a
  `STANDARD_VIEWPORT_CATALOG` (nincs érték-duplikáció).
- `dotenv` runtime-dependency (^16.4.5 — flotta-standard).

### Changed

- **`dye2e bootstrap`** `playwright.config.ts` template: hardcoded config helyett a
  `DyE2E_getPlaywrightConfig`-ot fogyasztó vékony wrapper (SSOT a bedrock-ban).

## [01.18.x — Wave-7] — 2026-06-11 — Organizer-ideák bedrock-integráció

### Added (Wave-7 — VQA bővítés organizer plans alapján)

A `LIVE-projects/organizer/__documentations/plans/ai-visual-qa/` MP-1..7 tervek
hasznosnak ítélt ötletei beépítve a bedrock-tooling-ba:

- **Anti-flake CSS injection** — `DyE2E_VQA_AntiFlake_Css_Const` (animations: 0s,
  transitions: 0s, caret-color: transparent). A capture-spec generator
  `stabilizePage(page)` helper-rel injektálja minden screenshot ELŐTT.
- **`document.fonts.ready` await** — szövegmérés-stabilitás (organizer
  `00-baseline.spec.ts` mintából).
- **Mask-selectorok** — `DyE2E_VQA_VisualState_Interface.maskSelectors` mező:
  Playwright `screenshot({ mask: [...] })` dinamikus régiókra (timestamps, avatars,
  számlálók).
- **`readyTestId` per state** — `state.readyTestId` convenience: auto-emit `waitForSelector('[data-testid="..."]')` a state-prepareFlow után.
- **axe-core a11y scan** — `DyE2E_VQA_Axe_CdnUrl_Const` + `DyE2E_VQA_AxeRunScript_Const`,
  opt-in `manifest.testDataSetup.a11yEnabled = true`. WCAG2AA + violations + incomplete.
- **`DyE2E_VQA_RiskScore_Util`** — evidence-aggregátor risk-score-ra (state × viewport):
  0-100 + band (clean / low / medium / high / blocker-candidate) + top-5 contributors
  + bundle-szintű `topPriorities` priorizált AI-fókusz-lista. Organizer MP-3 SP-3.5
  mintából.
- **`DyE2E_VQA_DeterministicFinding_Util`** — 4 detektor (nested-scroll / modal-viewport-fit
  / hidden-error / viewport-off-cta) → finding-skeleton agent nélkül. Az AI agent csak
  verify-eli + commit-eli. Organizer MP-7 SP-7.3 mintából.
- **`DyE2E_VQA_TailwindViewports_Const`** — 8 viewport Tailwind-breakpoint-igazítva
  (mobile-xs/sm, tablet-sm/md, desktop-md/lg/xl/2xl) alternatíva a 7-viewport standard-hoz
  (organizer `playwright.config.ts` mintából).
- **`DyE2E_VQA_TailwindDefaultSubset_Const`** — 4-viewport default Tailwind subset.

### Test

- 341/0 Jasmine zöld (Wave-7 add, +21 új spec)

## [01.18.0] — 2026-06-11 — 🆕 VQA layer (review-bundle generator)

### Added — Visual QA bedrock-tooling (UI-20260611-003 SCOPE-LOCK)

Új sub-export: `@futdevpro/dynamo-e2e/vqa`. **Bedrock-scope = review-bundle
generator (NEM AI-engine).** Az AI agent EXTERNAL consumer.

- `DyE2E_VQA_Feature_Manifest` interface + sub-interfaces (FlowStep / VisualState /
  CriticalElement / ExpectedFeedback)
- `DyE2E_VQA_VisualState_Type` enum (22 állapot-típus spec §5-ből)
- `DyE2E_VQA_FindingSeverity_Type` (5 szint) + `DyE2E_VQA_FindingStatus_Type` (8 állapot, FSM)
- `DyE2E_VQA_DOMEvidence_Detector` (16 detektor enum)
- `DyE2E_VQA_ManifestValidator_Util` — JSON-validátor (duplicate-id, enum, format, reference)
- `DyE2E_VQA_FindingValidator_Util` — finding-validátor + `canTransition` FSM
- `DyE2E_VQA_FindingId_Util` — stable `VQA-<projekt>-<feature>-NNN` ID-gen
- `DyE2E_VQA_StandardViewports_Const` + `DyE2E_VQA_DefaultViewportSubset_Const`
- `DyE2E_VQA_DomEvidencePageScripts_Const` — 16 page-script (browser-context IIFE),
  strukturált evidence-output, NEM verdict
- `DyE2E_VQA_CaptureSpec_Generator` — manifest → Playwright `.spec.ts`
- `DyE2E_VQA_ReviewBundle_Generator` — bundle-orchestrator (README + summary + manifest + capture-spec + meta)
- `DyE2E_VQA_AIAgentReadme_Template` — bundle README (14 QA-rubric-kérdés + finding-schema + decision-instrukció)
- `DyE2E_VQA_BundleSummary_Template` — state × viewport mátrix
- `DyE2E_VQA_ComparisonBundle_Generator` — re-audit diff-bundle (dom-diff + evidence-diff + a11y-diff)

### CLI (5 új parancs)

- `dye2e validate-manifest --manifest <path>`
- `dye2e validate-finding --finding <path>`
- `dye2e generate-review-bundle --manifest <path> --out <bundles-base> [--run-id X] [--build-id Y] [--project-slug Z]`
- `dye2e generate-comparison-bundle --before <bundle> --after <bundle> --manifest <path> [--findings <refs.json>]`
- `dye2e bundle-summary --bundle <path>`

### Dokumentáció

- `__documentations/vqa-announcement.md` — release-doc
- `__documentations/vqa-manifest-authoring-guide.md` — manifest-szerző útmutató
- `__documentations/vqa-cicd-step-template.md` — CICD-step + artifact-upload pattern

### Test

- 320/0 Jasmine zöld (Wave-1..4 add)
- Sub-export `./vqa` package.json `exports`-ba

### Spec-pinning

[`documentations/specifications/ai-visual-qa-system.md`](../../documentations/specifications/ai-visual-qa-system.md)
22 szekció canonical, scope-LOCK preamble UI-20260611-003. Workspace HYPERPLAN:
`documentations/plans/ai-visual-qa/HYPERPLAN.md` 13 MP.

## [01.17.1] — 2026-06-10 — 🎯 HYPERPLAN 112/112 ✓

### Closure (Foundation 100%, CICD ✅ SUCCESS)
- CICD pipeline ✅ SUCCESS @ fdp-runner-3 (1m10s, 9 steps)
  → discord-start, pre-flight, install, build, test, coverage, npm-publish
- MP-10 SP-E (Discord ack) ✓ — `discord-start` step zöld build SUCCESS-szel
- MP-10 SP-F (pipeline-report) ✓ — `fdp build-results` listáz `✅ dynamo-e2e v01.17.1`
- MP-10 SP-G (build-results SUCCESS) ✓ — Overseer-DB SUCCESS entry
- `scripts/validate-mp10.js` EXIT 0 — idempotent oracle, 3/3 SP done
- `HYPERPLAN-COMPLETION-ATTESTATION.md` frissítve: **112/112 (100%) 🎯**

### Fixed
- `validate-mp10.js` SP-E ellenőrzés: case-insensitive regex (`discord-(start|result)`)
  + build SUCCESS gate → reálisabb acceptance (`discord-start` MŰKÖDŐ Discord ack)

## [01.17.0] — 2026-06-10

### Added (Hyperplan completion attestation + dye2e self-test)
- `__documentations/HYPERPLAN-COMPLETION-ATTESTATION.md` — végleges
  attestation: foundation 100% kész, MP-10 SP-E/F/G runner-async pending
- `scripts/self-test.js` — 10-command CLI smoke (help/version/info/
  schema×3/bootstrap/doctor/validate-config/generate-form-suite)
  - Per-cmd allowed-exits flag (doctor exit 1 = suggestions, NOT fail)
  - 10/10 ✓ lokálisan
  - Post-install verification a consumer-projektekben

### Test
- 254/0 Jasmine
- Self-test: 10/10 ✓

## [01.16.0] — 2026-06-10

### Added (Config validator + `dye2e validate-config` + co-session `dye2e preset`)
- `DyE2E_ConfigValidator_Util.validate(data, schema)` — lightweight
  JSON Schema validator (draft-07 subset): type / required / enum /
  minimum / minItems; nested object + array walk
- **`dye2e validate-config`** CLI: `--config <path>` `--type <type>`
  - Exit 0 valid, exit 1 invalid + JSON-path errors list
- (co-session) `DYE2E_PRESET_REGISTRY` + `dye2e preset --name X` CLI

### Test
- 254/0 Jasmine (232 előbb + 13 validator + 9 co-session preset)
- Coverage: 98.37% / 86.48% / 97.65% / 98.37%

### Memory alignment
- `feedback_e2e_full_feature_not_smoke` — a Hyperplan értelmében a
  dynamo-e2e MÁR teljesíti a "feature-coverage NEM smoke" mandate-et:
  per-field 18+ test-case mátrix + form-level orchestrator + cross-field
  + override-rendszer + viewport audit + CWV synthetic + INP interaction
  driver lefedi az edge-case-eket, NEM csak route-load.

## [01.15.0] — 2026-06-10

### Added (JSON Schema generators + `dye2e schema`)
- `DyE2E_JsonSchema_Util`:
  - `formSuiteSchema()` — form-coverage config schema (18 field-type enum)
  - `viewportSuiteSchema()` — viewport-audit config schema
  - `cwvSuiteSchema()` — CWV-diag config schema (per-route thresholds + 5 metric)
- **`dye2e schema`** CLI: `--type form-suite | viewport-audit | cwv-diag`
- IDE-intellisense + config-validation a consumer-projektekben (VSCode +
  IntelliJ jsonschema-ready)

### Test
- 232/0 Jasmine (220 előbb + 12 JSON schema)
- Coverage: 98.53% / 86.39% / 97.58% / 98.53%

## [01.14.0] — 2026-06-10

### Added (Per-route CWV thresholds + `dye2e info`)
- `DyE2E_RouteDescriptor_Interface.cwvThresholds` opcionális mező —
  per-route threshold-override (Wave-3.5). Pl. /admin route 4000ms LCP
  míg /home 2500ms.
- `DyE2E_CWVSuite_Generator.emit()` — a route saját `cwvThresholds`-jét
  preferálja a global `options.thresholds`-szal szemben
- **`dye2e info`** CLI parancs — self-describe: 18 field-type a 3 wave-en
  csoportosítva, CLI capabilities lista, docs-link

### Test
- 220/0 Jasmine (211 előbb + 6 info + 3 per-route)
- Coverage: 98.41% / 86.3% / 97.52% / 98.41%

## [01.13.0] — 2026-06-10

### Added (Wave-3 INP interaction-driver — closure)
- `cwv-emission.util.ts` Wave-3 INP synthetic interaction-driver:
  - `inp_p75_ms` threshold-tal feltételesen emit-eli a szintetikus
    click + Tab + Enter interakció-szekvenciát (50ms settle között)
  - try/catch swallow — interaction-target hiánya nem dob
  - INP page-script interactionId-vel rendelkező event-eket figyel,
    a longestInteraction-t pushja a `__dye2e_cwv_events__`-be
- **INP mérés most ténylegesen működik** — előtte 0 lett volna a
  navigation-only spec-en

### Test
- 211/0 Jasmine (207 előbb + 4 INP interaction-driver spec)
- Coverage: 98.39% / 86.15% / 97.5% / 98.39%

## [01.12.1] — 2026-06-10

### Fixed (E2E env convention compliance)
- `bootstrap` parancs `playwright.config.ts` template: `DEFAULT_TEST_BASE_URL`
  konstans TEST-server-re mutat (NEM `localhost:4200`), per
  `feedback_e2e_ldp_local_cicd_test_target` GLOBAL convention.
- Documentation comment a config-template-en a convention magyarázatával.
- E2E_BASE_URL env-var override-pattern változatlan (LDP-local set, CICD-test default).

## [01.12.0] — 2026-06-10

### Added (CWV summarize util + `dye2e summarize` + `dye2e diff`)
- `DyE2E_CWVSummarize_Util`:
  - `toMarkdown(report, thresholds?)` — markdown-tablázat per route, 🟢🔴⚪
  - `toJsonSummary(report, thresholds?)` — `{ metric: { p75, status } }` map
- **`dye2e summarize`** CLI: `--report <path>` + `--format markdown|json`
- **`dye2e diff`** CLI: `--old <path>` `--new <path>` `--tolerance <pct>`
  - Exit 0 ha nincs regression, exit 1 ha van
  - Markdown-tablázat output (CI-friendly)

### Test
- 206/0 Jasmine (198 előbb + 8 új summarize)
- Coverage: 98.38% / 86.15% / 97.5% / 98.38%

## [01.11.0] — 2026-06-10

### Added (CWV comparison + dye2e bootstrap)
- `DyE2E_CWVComparison_Util` (`cwv/_collections/cwv-comparison.util.ts`):
  - `compareReports(old, new, tolerance?)` — két CWV JSON-report összevet,
    p75 deltával, status: improved/regressed/stable
  - `regressionsOnly()` — szűr csak a regressziókra
  - `formatMarkdownTable()` — markdown-tablázat 🟢🔴⚪ icon-okkal
- **`dye2e bootstrap`** CLI parancs:
  - `pwd` + `force` flag
  - 5 fájl scaffold: `playwright.config.ts`, `e2e/generate.ts`,
    `e2e/tests/.gitkeep`, `e2e/tests/generated/.gitkeep`, `e2e/README.md`
  - `DyE2E_CliRunner_Util.bootstrapFiles()` testable factory

### Test
- 198/0 Jasmine zöld (183 előbb + 10 CWV comparison + 5 bootstrap)
- Coverage: 98.32% / 86.28% / 97.45% / 98.32%

## [01.10.0] — 2026-06-10

### Added (Wave-3 attribution diagnose + `dye2e doctor` CLI)
- `DyE2E_CWVDiagnose_Util` (`cwv/_collections/cwv-diagnose.util.ts`):
  - `diagnoseMetric()` — per-metric p75 + threshold check + attribution-target
    + optimalizálási suggestion (IMG/H1/DIV LCP, CLS-dimension, INP-long-tasks,
    TTFB-caching, FCP-critical-CSS)
  - `diagnoseAll()` — minden metric egyszerre
  - `DyE2E_CWVDiagnose_Hint` interface (metric, p75, threshold, worstTarget,
    summary, suggestion)
- **`dye2e doctor`** CLI parancs:
  - `pwd` flag (default cwd)
  - 5 check: @futdevpro/dynamo-e2e, @playwright/test, playwright.config,
    e2e/tests dir, .dynamo/pipeline.cicd.config.json
  - Per-check suggestion + exit 0 (all ✓) / 1 (suggestions present)
  - `DyE2E_CliRunner_Util.doctorReport()` testable factory

### Test
- 183/0 Jasmine zöld (167 előbb + 8 CWV diagnose + 8 CLI doctor)
- Coverage: 98.2% / 86.43% / 97.36% / 98.2%

## [01.09.0] — 2026-06-10

### Added (Wave-3 INP integration + Wave-2b fixture + CONTRIBUTING)
- `DyE2E_CWVSuite_Generator.emit()` Wave-3 INP integration:
  - `thresholds.inp_p75_ms` jelenléte triggereli az INP page-script
    inline-deklarálását
  - Per-iter `page.addInitScript(DYE2E_INP_PAGE_SCRIPT)` feltételes hivás
  - `page.evaluate(__dye2e_inp_snapshot__)` automatikus snapshot-trigger
  - `INP` az asszertion-table-ban (LCP + CLS + INP + FCP + TTFB)
- `dye2eTest` fixture bővítve Wave-2b page-object factory-kkal:
  `chipSelectPO`, `autocompletePO`, `colorPickerPO`, `filePO`, `richTextPO`
- `CONTRIBUTING.md` — hozzájárulási útmutató (setup, checklist, branch-strat,
  verziózás, test-case-mátrix-bővítés, code-style, CICD)

### Test
- 167/0 Jasmine zöld (162 előbb + 5 INP integration spec)
- Coverage: 98.3% statements / 86.28% branches / 97.24% functions / 98.3% lines

## [01.08.0] — 2026-06-10

### Added (Wave-3 INP + Wave-2b page-objects)
- **Wave-3 INP page-script** (`cwv/_collections/inp-interaction-script.const.ts`):
  - `DYE2E_INP_PAGE_SCRIPT` — `PerformanceObserver` `event` type +
    `interactionId` filter; longestInteraction → INP p75
  - Re-injection guard (`__dye2e_inp_setup__`)
  - `DyE2E_INPInteraction_Shape` typed driver-interface
- **Wave-2b page-objects** (`runtime/_services/wave-2b-page-objects.ts`):
  - `DyE2E_ChipSelectPageObject` — clickChip + isSelected (class+aria)
  - `DyE2E_AutocompletePageObject` — fillAndSuggest + selectSuggestion
  - `DyE2E_ColorPickerPageObject` — setColor + getCurrentColor
  - `DyE2E_FilePageObject` — upload (single/multi) + clear
  - `DyE2E_RichTextPageObject` — fill + textContent (contenteditable scope)

### Test
- 162/0 Jasmine zöld (142 előbb + 13 Wave-2b PO + 7 INP)
- Coverage: 98.29% statements / 86.19% branches / 97.24% functions / 98.29% lines

## [01.07.0] — 2026-06-10

### Added (Wave-2b emission impl)
- Wave-2b field-typek a `FIELD_TYPE_TEST_CASE_REGISTRY`-be regisztrálva
  (chipSelect, autocomplete, color, file, richtextarea)
- `field-emission.util.ts` dispatch-ágak Wave-2b-re:
  - `chipSelect` / `chipMultiselect` — chip-button click testId-suffix-szel
  - `autocomplete` — input fill (suggestion-list assertion Wave-3-ban)
  - `color` — native `<input type="color">` fill hex-szel
  - `file` / `files` — Playwright `setInputFiles` + empty-skip
  - `richtextarea` — `contenteditable` scope fill
- 9 új spec (Wave-2b emission unit + 3 integration az `emit()`-tel)

### Test
- 142/0 Jasmine zöld (133 előbb + 9 új)
- Coverage: 98.18% statements / 86.37% branches / 96.62% functions / 98.18% lines

## [01.06.0] — 2026-06-10

### Added (MP-12 + MP-13 + Wave-2b prep)
- **MP-12 plan** (`__documentations/plans/dynamo-e2e-foundation/MP-12-fdp-e2e-helpers-extension.md`)
  — `fdp-e2e-helpers` aktív bővítés (`FDPLoginFlowHelper`,
  `FDP_StandardFormSuite_Generator`, `FDP_FormCatalog`, `FDP_TestIdConventions`,
  `FDP_DyFMLogger_Output`); impl `fdp-e2e-helpers@7f58962`
- **MP-13 plan** (`__documentations/plans/dynamo-e2e-foundation/MP-13-broadcast-announcement.md`)
  — workspace-szintű broadcast
- **MP-13 broadcast deliverables**:
  - `__documentations/ANNOUNCEMENT.md` — központi release-leírás
  - `__documentations/broadcast-snippet.md` — 3-tier CLAUDE.md snippet
    (generic / FDP-stack / OGS) + per-agent DISPATCH prompt-snippet
  - `__documentations/per-project-integration-playbook.md` — 6 LIVE-projekt
    playbook (master-prompter → organizer → futdevpro → niche-datasets →
    fdp-token-service → fdp-auth-service) + DISPATCH-backlog-template
  - `__documentations/release-announcement-template.md` — Discord/Slack
    template (3 channel + JSON-embed)
- **Wave-2b field-type stubs** (`contracts/_collections/test-case-sets/wave-2b-stubs.const.ts`):
  `chipSelect`, `autocomplete`, `color`, `file`, `richtextarea` — minimal
  curated case-csomag, Wave-2 release teljes-shaped mátrixokkal váltja le
- `scripts/validate-mp10.js` — MP-10 SP-E/F/G acceptance-procedure (idempotent CICD-validation)
- README — badges (npm version + coverage + specs + hyperplan)

### Note
Workspace-szintű frissítések (külön):
- `CURSOR/CLAUDE.md` Key Dependencies bővítve dynamo-e2e + fdp-e2e-helpers v2-vel
- workspace `MEMORY.md` index új sor `reference_dynamo_e2e_ga_broadcast.md`-re

## [01.05.0] — 2026-06-10

### Added (MP-07 SP-B + SP-C — generic lift)
- `DyE2E_UniqueGenerator_Util` — egyedi email/username/password/token
  generator (parallel-safe, ~1/10000 collision-rate)
- `DyE2E_TestUser_Interface` — generic test-user shape
- `DyE2E_LoggerService` (stateless) + `DyE2E_LoggerOutput` interface +
  `DYE2E_CONSOLE_LOGGER` default
- `DyE2E_LoginFlowHelper_Base` abstract template-method (goto + fill +
  submit + waitForURL + extractAuthState hook)

### Added (MP-07 SP-E — migration guide)
- `__documentations/migration-guide-fdp-helpers-v2.md` — 3-phase
  migration plan, import-cseretábla, FDP-adapter példák

### Test
- 133/0 Jasmine (115 előbb + 18 új lift-spec)
- Coverage: 98.13% statements / 87.45% branches / 96.62% functions

## [01.04.0] — 2026-06-10

### Added (MP-07 SP-A + MP-08 SP-C + MP-09 SP-B/E/H/I)
- `__documentations/fdp-helpers-decomposition-map.md` — 25 fdp-export-pont
  kategorizálva (GENERIC / FDP-SPECIFIC / HYBRID)
- `dogfood/sandbox-bootstrap-full.js` — mind a 13 Forms v2 field-type-ra
  spec-emission + viewport-audit (14 fájl, 262 test case)
- `__documentations/api-reference.md`
- `__documentations/troubleshooting.md`
- `__documentations/overseer-step-template.md`
- `__documentations/bootstrap-guide-master-prompter.md`

## [01.03.0] — 2026-06-10

### Added (MP-08 SP-A/B + MP-09 SP-A/C/D/F/G)
- `bin/dye2e.js` standalone CLI (generate-form-suite /
  generate-viewport-audit / generate-cwv-diag / version / help)
- `__documentations/getting-started.md`
- `__documentations/preset-catalog.md`
- `__documentations/per-fieldtype-test-matrix.md`
- `examples/minimal-form/` + `examples/multi-form-app/`
- `dogfood/sandbox-bootstrap.js` (5 spec, 36 cases)
- `dogfood/PARITY-MATRIX.md` (hand-rolled vs. generated)

## [01.02.0] — 2026-06-10

### Added (MP-10 + MP-11)
- `.dynamo/pipeline.cicd.config.json` (fsm-dynamo-pattern, 9 step)
- `.dynamo/version-bump.config.json`
- `.github/workflows/main.yml` (Overseer-trigger fallback)
- `c8@10.1.2` + `.c8rc.json` — 75/65/75/75 coverage gate
- 47 új spec — mock-Page-object suite (24), assertion-helpers (4),
  test-case-filter edge (8), field-emission dispatch ágak (10)

## [01.01.0] — 2026-06-09

### Added (MP-04 + MP-05 + MP-06)
- `DyE2E_ViewportSuite_Generator` — route × viewport × theme fan-out
- `DyE2E_CWVSuite_Generator` + pure-JS `DYE2E_WEB_VITALS_PAGE_SCRIPT`
- `DyE2E_CWVAggregator_Util` — percentile (p50/p75/p95) + summary
- `dye2eTest` Playwright fixture (envConfig, formPO, fieldPO, navPO,
  dialogPO, toastPO, loaderPO)
- Page-objects: Field, Form, Nav, Dialog, Toast, Loader
- Wait-helpers + assertion-helpers
- `@playwright/test@1.48.2` devDep

## [01.00.0] — 2026-06-09

### Added (MP-01 + MP-02 + MP-03)
- Package skeleton (core-package, DyBu_settings, sub-exports)
- 5 enum (~60 FieldTestCase_Type szignatúra)
- 13 field-type curated test-case registry (text, textarea, password,
  number, slider, sliderRange, checkbox, select, multiselect,
  radioSelect, date, dateTime, dateRange)
- 7 standard viewport-katalógus (320/375/414/768/1024/1440/1920)
- `CWV_GOOD_THRESHOLDS` + `CWV_NEEDS_IMPROVEMENT_THRESHOLDS`
- `DyE2E_FormSuite_Generator` MVP — Settings POJO → Playwright spec.ts
- `DyE2E_TestCaseFilter_Util` — smoke/full/nightly + required-aware
  shaping + skip/only/custom override
- `DyE2E_TestId_Util` — kebab-case + form/field/submit konvenció

## Roadmap (Wave-2+)

- **Wave-2** field-types: chipSelect, autocomplete, color, file, richtext
- **Wave-2.5** S3-baseline storage a viewport screenshot-okhoz
- **Wave-3** INP (Interaction to Next Paint) + interakció-script
- **Wave-3.5** network-throttle preset (3G / 4G)
- **Wave-4** Discord-reporter output adapter
- **Wave-5** AI-vizuális visual-diff (Organizer-integration)
