Skip to content

Commit c59d30f

Browse files
committed
Add long-duration extension validation with screenshot evidence
1 parent 0a14196 commit c59d30f

5 files changed

Lines changed: 393 additions & 0 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ test-results/
33
playwright-report/
44
coverage/
55
*.log
6+
artifacts/

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,17 @@ For complete project history, architecture decisions, execution timeline, built/
4343
- `npm run test:all`
4444
- Run unpacked-extension smoke test in Chromium:
4545
- `npm run test:smoke:extension`
46+
- Run long-duration multi-window validation with artifact capture:
47+
- `npm run test:validate:long`
48+
- Optional headed mode:
49+
- PowerShell: `$env:VALIDATION_HEADED='1'; npm run test:validate:long`
50+
- Optional duration override:
51+
- PowerShell: `$env:VALIDATION_DURATION_MINUTES='10'; npm run test:validate:long`
4652

4753
Includes:
4854
- Unit tests for session engine transitions and IndexedDB retention/query boundaries.
4955
- Playwright dashboard tests for timeline filters, focus/open behavior, and settings action.
56+
- Timestamped screenshots and accessibility snapshots for long-run validation evidence.
5057

5158
## Notes
5259

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
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>/`.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"test:e2e:headed": "playwright test --headed",
1010
"test:e2e:ui": "playwright test --ui",
1111
"test:smoke:extension": "node scripts/extension-smoke-test.mjs",
12+
"test:validate:long": "node scripts/long-duration-extension-validation.mjs",
1213
"test:all": "npm run test:unit && npm run test:e2e"
1314
},
1415
"keywords": [],

0 commit comments

Comments
 (0)