Agent and modules generated by the plugin
One agent per Playwright test(...).
| **Module name** | **Type** | **Description** | **`extra_data`** |
| `Global status` | `generic_proc` | Overall test result: 1 if `passed`, 0 otherwise | `wux:global_status: |
| `Global time` | `generic_data` | Total test duration, in seconds | `wux:global_time: |
| `Phase | `generic_proc` | Result of each `test.step`: 1 if it had no error, 0 otherwise | `wux:phase_status: |
| `Phase | `generic_data` | Duration of each `test.step`, in seconds | `wux:phase_time: |
| `Last error screenshot` | `generic_data_string` | Screenshot on failure, as a `data:image/png;base64,...` value (renders as an image in the console) | `wux:error_screenshot: |
| `Global error` | `generic_data_string` | Only when `_errorHistoryModule_` is on. `OK` when the test passes, or the test's error text when it fails — a synchronous module, so Pandora keeps a real historic value series (not just the status module's description, which gets overwritten every run) | `wux:global_error: |
| `Phase | `generic_data_string` | Only when `_errorHistoryModule_` is on. `OK` or the phase's error text, same history rationale as `Global error` | `wux:phase_error: |
| `metric name` | `generic_data` / `generic_data_string` | From a `pandora.metric` annotation (`name=value`, split on the first `=`); numeric values become `generic_data`, everything else `generic_data_string` | `pw:metric: |
| `Full report` | `async_string` | Only when `_fullReport_` is on. Verbose text report derived from the JSON reporter (status, steps, stdout/stderr, annotations, attachments) | `pw:full_report` |
The wux:* modules render in the console's WUX transactional view. pw:* modules are regular agent modules (metrics and the full report).