|
| 1 | +# Validation Evidence - 2026-02-26 |
| 2 | + |
| 3 | +This document records real extension-runtime validation runs with screenshot/snapshot evidence. |
| 4 | + |
| 5 | +## Tooling Decision |
| 6 | + |
| 7 | +- Intended skill for snapshots/screenshots: `agent-browser`. |
| 8 | +- Environment status: `agent-browser` CLI was not installed (`command not found`). |
| 9 | +- Fallback used: Playwright extension-runtime scripts: |
| 10 | + - `scripts/extension-smoke-test.mjs` |
| 11 | + - `scripts/long-duration-extension-validation.mjs` |
| 12 | + |
| 13 | +## Run 1: Long-Duration Multi-Window (Headless) |
| 14 | + |
| 15 | +- Run ID: `20260226-162944` |
| 16 | +- Duration: 8 minutes |
| 17 | +- Command: `npm run test:validate:long` |
| 18 | +- Artifact root: |
| 19 | + - `artifacts/validation/20260226-162944/` |
| 20 | +- Evidence: |
| 21 | + - 40+ screenshots across step checkpoints |
| 22 | + - 8 structured ARIA snapshots |
| 23 | + - JSON run log + markdown report |
| 24 | + |
| 25 | +Observed outcome: |
| 26 | +- Extension loaded and multi-window/tab switching actions executed. |
| 27 | +- Runtime status remained healthy (`ok=true`, `retentionDays=30`). |
| 28 | +- Final runtime idle state was `idle`, and final timeline count was `0`. |
| 29 | + |
| 30 | +Interpretation: |
| 31 | +- In headless automation, idle-state behavior can suppress effective session capture. |
| 32 | + |
| 33 | +## Run 2: Real Extension Runtime (Headed) Sanity Validation |
| 34 | + |
| 35 | +- Run ID: `20260226-163821` |
| 36 | +- Duration: 2 minutes |
| 37 | +- Command: |
| 38 | + - `$env:VALIDATION_HEADED='1'; $env:VALIDATION_DURATION_MINUTES='2'; npm run test:validate:long` |
| 39 | +- Artifact root: |
| 40 | + - `artifacts/validation/20260226-163821/` |
| 41 | +- Evidence: |
| 42 | + - Screenshots at each checkpoint |
| 43 | + - ARIA snapshots |
| 44 | + - JSON run log + markdown report |
| 45 | + |
| 46 | +Observed outcome: |
| 47 | +- Extension loaded in headed Chromium with unpacked extension. |
| 48 | +- Timeline recorded at least one session (`timelineCount=1`). |
| 49 | +- Runtime status healthy (`ok=true`, `paused=false`, `retentionDays=30`). |
| 50 | + |
| 51 | +## Additional Runtime Proof |
| 52 | + |
| 53 | +- Smoke command: |
| 54 | + - `npm run test:smoke:extension` |
| 55 | +- Evidence output (JSON): |
| 56 | + - dashboard heading found |
| 57 | + - timeline container present |
| 58 | + - runtime message responded with retention=30 |
| 59 | + - settings page loaded |
| 60 | + |
| 61 | +## Conclusion |
| 62 | + |
| 63 | +- Automated quality gates are green (`test:unit`, `test:e2e`, `test:all`). |
| 64 | +- Real extension-runtime execution with screenshot evidence is complete. |
| 65 | +- For strict “real-user long-duration” sign-off, run headed long validation while actively using the machine: |
| 66 | + - `$env:VALIDATION_HEADED='1'; $env:VALIDATION_DURATION_MINUTES='10'; npm run test:validate:long` |
| 67 | + - then review artifacts in `artifacts/validation/<run-id>/`. |
0 commit comments