openvibers/openvibe.host Commits

Browser check runs 2026-09-26 after the follow-up deploys: 21/23 sites, then 23/23 after the Live home shell stopped loading ov-mark twice and Tools moved to openvibe-shared 1.16.1

OP OpenVibers committed 26 Sept 2026 · dd0dd12eaf · 1 file, +266 −0


Changes

ddiff --git a/docs/browser-check.md b/docs/browser-check.md
iindex fc61b2e..4d94be0 100644
---- a/docs/browser-check.md
++++ b/docs/browser-check.md
@@@ -407,3 +407,269 @@ Known errors, counted and not failed (`--strict-errors` fails them):
- error during navigation: network: Failed to load resource: the server responded with a status of 503 ()
</details>
++
++### Run 2026-09-26T05:46:52.481Z (local; Chrome/150.0.7843.0)
++
++21/23 sites pass. Widths 390, 768, 1280; axe axe-core 4.13.0, WCAG 2.1 A/AA; navigation 5 laps. Cells: ✓ all pass, **n✗** routes failing, n! warnings, - not run.
++
++| Site | Routes | Status | Errors | Overflow | Scripts | No-JS | Canonical | JSON-LD | axe | Nav | axe serious/critical (moderate) | Growth lap 2→last | Idle 5 s: CPU · requests · infinite animations |
++|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
++| ai.openvibe.network | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | +1 KB · 0 nodes · 0 lst | 0.2% · 2 req · 3 anim |
++| billing.openvibe.network | 1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | ✓ | ✓ | 0/0 (0) | -1 KB · 0 nodes · 0 lst | 0% · 0 req |
++| openvibe.blog | 4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | -2 KB · 0 nodes · 0 lst | 0.1% · 2 req |
++| openvibe.chat | 4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | ✓ | ✓ | 0/0 (0) | +4 KB · 0 nodes · 0 lst | 0.1% · 2 req |
++| openvibe.codes | 7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | ✓ | ✓ | 0/0 (0) | -3 KB · 0 nodes · -2 lst | 0.1% · 2 req |
++| openvibe.community | 6 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | -1 KB · 0 nodes · 0 lst | 0.1% · 2 req |
++| openvibe.coupons | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | -1 KB · 0 nodes · 0 lst | 0.2% · 2 req · 3 anim |
++| openvibe.deals | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | +2 KB · 0 nodes · 0 lst | 0.2% · 2 req · 3 anim |
++| openvibe.games | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | -3 KB · 0 nodes · -2 lst | 12.7% · 2 req · 1 anim |
++| openvibe.host | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | +2 KB · 0 nodes · 0 lst | 0.2% · 2 req · 3 anim |
++| openvibe.live | 8 | ✓ | ✓ | ✓ | **8✗** | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | +22 KB · +34 nodes · +4 lst | 20.2% · 15 req · 33 anim |
++| openvibe.media | 3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | ✓ | ✓ | 0/0 (0) | +2 KB · 0 nodes · 0 lst | 0.1% · 2 req |
++| openvibe.network | 4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | +3 KB · 0 nodes · +2 lst | 28% · 2 req · 19 anim |
++| openvibe.news | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | +2 KB · 0 nodes · 0 lst | 0.2% · 2 req · 3 anim |
++| openre.stream | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | -2 KB · 0 nodes · 0 lst | 0.1% · 2 req · 3 anim |
++| openvibe.reviews | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | +1 KB · 0 nodes · 0 lst | 0.2% · 2 req · 3 anim |
++| search.openvibe.network | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | ✓ | ✓ | 0/0 (0) | +3 KB · 0 nodes · 0 lst | 0.1% · 2 req |
++| sources.openvibe.network | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | ✓ | ✓ | 0/0 (0) | 0 KB · 0 nodes · 0 lst | 0% · 0 req |
++| openvibe.tips | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | 0 KB · 0 nodes · 0 lst | 0.2% · 2 req · 3 anim |
++| openvibe.tools | 8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | **1✗** | ✓ | 1/0 (0) | +1 KB · 0 nodes · 0 lst | 26.5% · 2 req · 8 anim |
++| openvibe.trade | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | 0 KB · 0 nodes · 0 lst | 0.2% · 2 req · 3 anim |
++| openvibe.vip | 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | -1 KB · 0 nodes · 0 lst | 0.2% · 2 req · 3 anim |
++| openvibe.wiki | 4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | +3 KB · 0 nodes · 0 lst | 0.1% · 2 req |
++
++Known errors, counted and not failed (`--strict-errors` fails them):
++- Cloudflare Web Analytics beacon, injected at the edge, blocked by the site CSP: 17× on openvibe.media, sources.openvibe.network
++
++<details><summary>Details: routes and findings per site</summary>
++
++**https://ai.openvibe.network**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap +1 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.2% (script 3 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://ai.openvibe.network/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://billing.openvibe.network**: pass (1 route(s), Chrome/150.0.7843.0)
++- `/policy`: pass
++- navigation `/policy` ↔ `/policy` ×5 (load): pass; growth lap 2→5: heap -1 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0% (script 0 ms, style 0 ms, layout 0 ms), 0 request(s), 0 KB
++
++**https://openvibe.blog**: pass (4 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/updates`: pass
++- `/@openvibe/patch-notes-staged-tables-move-to-chat-one-table-at-a-time`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/updates` ×5 (link): pass; growth lap 2→5: heap -2 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts -1, sockets 0
++ - idle 5s after settle: CPU 0.1% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 4 KB (`https://openvibe.blog/shared/release-watch.js`, `https://openvibe.blog/release.json`)
++
++**https://openvibe.chat**: pass (4 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/rooms`: pass
++- `/updates`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/rooms` ×5 (link): pass; growth lap 2→5: heap +4 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts -1, sockets 0
++ - idle 5s after settle: CPU 0.1% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 4 KB (`https://openvibe.chat/shared/release-watch.js`, `https://openvibe.chat/release.json`)
++
++**https://openvibe.codes**: pass (7 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/tools/webhooks`: pass
++- `/manifests/validate`: pass
++- `/docs`: pass
++- `/oauth`: pass
++- `/policy`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/tools/webhooks` ×5 (link): pass; growth lap 2→5: heap -3 KB, nodes 0, listeners -2, documents 0, intervals 0, timeouts -1, sockets 0
++ - idle 5s after settle: CPU 0.1% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 4 KB (`https://openvibe.codes/shared/release-watch.js`, `https://openvibe.codes/release.json`)
++
++**https://openvibe.community**: pass (6 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/pastes`: pass
++- `/pulse`: pass
++- `/p/rogue-frame-5292`: pass
++- `/s`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/pastes` ×5 (link): pass; growth lap 2→5: heap -1 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts -1, sockets 0
++ - idle 5s after settle: CPU 0.1% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 4 KB (`https://openvibe.community/shared/release-watch.js`, `https://openvibe.community/release.json`)
++
++**https://openvibe.coupons**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap -1 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.2% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.coupons/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://openvibe.deals**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap +2 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.2% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.deals/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://openvibe.games**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap -3 KB, nodes 0, listeners -2, documents 0, intervals 0, timeouts -1, sockets 0
++ - idle 5s after settle: CPU 12.7% (script 7 ms, style 43 ms, layout 0 ms), 2 request(s), 0.3 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.games/release.json`); 1 running animation(s), 1 infinite: `pulse on a.play-cta`
++
++**https://openvibe.host**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap +2 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.2% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.host/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://openvibe.live**: FAIL (8 route(s), Chrome/150.0.7843.0)
++- `/`: scripts fail
++ - scripts requested twice at 390px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 768px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 1280px: https://openvibe.live/shared/ov-mark.js ×2
++- `/content`: scripts fail
++ - scripts requested twice at 390px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 768px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 1280px: https://openvibe.live/shared/ov-mark.js ×2
++- `/chat`: scripts fail
++ - scripts requested twice at 390px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 768px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 1280px: https://openvibe.live/shared/ov-mark.js ×2
++- `/search?q=minecraft`: scripts fail
++ - scripts requested twice at 390px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 768px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 1280px: https://openvibe.live/shared/ov-mark.js ×2
++- `/vod/5627`: scripts fail
++ - scripts requested twice at 390px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 768px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 1280px: https://openvibe.live/shared/ov-mark.js ×2
++- `/clip/369`: scripts fail
++ - scripts requested twice at 390px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 768px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 1280px: https://openvibe.live/shared/ov-mark.js ×2
++- `/@JapaneseOldGuy`: scripts fail
++ - scripts requested twice at 390px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 768px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 1280px: https://openvibe.live/shared/ov-mark.js ×2
++- `/__ovcheck-404`: scripts fail
++ - scripts requested twice at 390px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 768px: https://openvibe.live/shared/ov-mark.js ×2
++ - scripts requested twice at 1280px: https://openvibe.live/shared/ov-mark.js ×2
++- navigation `/` ↔ `/content` ×5 (in-page+link): pass; growth lap 2→5: heap +22 KB, nodes +34, listeners +4, documents 0, intervals 0, timeouts -1, sockets 0
++ - idle 5s after settle: CPU 20.2% (script 44 ms, style 166 ms, layout 18 ms), 15 request(s), 158.8 KB; 36 running animation(s), 33 infinite: `opacity on div.hero-float-inner`, `transform on div.hero-float-inner`, `heroBgKenBurns on div.hero-bg-layer`, `heroFloat3d on a.hero-float`
++
++**https://openvibe.media**: pass (3 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/updates`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/updates` ×5 (link): pass; growth lap 2→5: heap +2 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.1% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 4.2 KB (`https://openvibe.media/shared/release-watch.js`, `https://openvibe.media/release.json`)
++
++**https://openvibe.network**: pass (4 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/updates`: pass
++- `/login`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/updates` ×5 (link): pass; growth lap 2→5: heap +3 KB, nodes 0, listeners +2, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 28% (script 2 ms, style 114 ms, layout 156 ms), 2 request(s), 4.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.network/release.json`); 19 running animation(s), 19 infinite: `orb-drift on div.orb`, `ovmFloat on svg`, `ovmGlow on circle`, `ovmComet on circle`
++
++**https://openvibe.news**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap +2 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.2% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.news/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://openre.stream**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap -2 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.1% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openre.stream/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://openvibe.reviews**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap +1 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.2% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.reviews/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://search.openvibe.network**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass (application/problem+json: only the status is checked)
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap +3 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts -2, sockets 0
++ - idle 5s after settle: CPU 0.1% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 4.2 KB (`https://search.openvibe.network/shared/release-watch.js`, `https://search.openvibe.network/release.json`)
++
++**https://sources.openvibe.network**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass (application/problem+json: only the status is checked)
++- navigation `/` ↔ `/` ×5 (load): pass; growth lap 2→5: heap 0 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0% (script 0 ms, style 0 ms, layout 0 ms), 0 request(s), 0 KB
++
++**https://openvibe.tips**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap 0 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.2% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.tips/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://openvibe.tools**: FAIL (8 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/developers`: pass
++- `/updates`: axe fail
++ - axe serious: color-contrast (1 node) Elements must meet minimum color contrast ratio thresholds: `.ov-shipped-chip:nth-child(1)`
++- `/tool/yaml`: pass
++- `/all-tools`: pass
++- `/network-tools`: pass
++- `/developer-tools`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/developers` ×5 (link): pass; growth lap 2→5: heap +1 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 26.5% (script 2 ms, style 57 ms, layout 81 ms), 2 request(s), 4.2 KB (`https://openvibe.tools/shared/release-watch.js`, `https://openvibe.tools/release.json`); 8 running animation(s), 8 infinite: `ovmFloat on svg`, `ovmGlow on circle`, `ovmComet on circle`, `ovmDot on circle`
++
++**https://openvibe.trade**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap 0 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.2% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.trade/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://openvibe.vip**: pass (2 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/` ×5 (link): pass; growth lap 2→5: heap -1 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.2% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 0.2 KB (`https://openvibe.network/shared/release-watch.js`, `https://openvibe.vip/release.json`); 3 running animation(s), 3 infinite: `drift on i`
++
++**https://openvibe.wiki**: pass (4 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/updates`: pass
++- `/s/openvibe`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/updates` ×5 (link): pass; growth lap 2→5: heap +3 KB, nodes 0, listeners 0, documents 0, intervals 0, timeouts 0, sockets 0
++ - idle 5s after settle: CPU 0.1% (script 2 ms, style 0 ms, layout 0 ms), 2 request(s), 4 KB (`https://openvibe.wiki/shared/release-watch.js`, `https://openvibe.wiki/release.json`)
++
++</details>
++
++### Run 2026-09-26T06:06:44.728Z (local; Chrome/150.0.7843.0)
++
++2/2 sites pass. Widths 390, 768, 1280; axe axe-core 4.13.0, WCAG 2.1 A/AA; navigation 5 laps. Cells: ✓ all pass, **n✗** routes failing, n! warnings, - not run.
++
++| Site | Routes | Status | Errors | Overflow | Scripts | No-JS | Canonical | JSON-LD | axe | Nav | axe serious/critical (moderate) | Growth lap 2→last | Idle 5 s: CPU · requests · infinite animations |
++|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
++| openvibe.live | 8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | -18 KB · -5 nodes · -1 lst | 22.7% · 15 req · 33 anim |
++| openvibe.tools | 8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0/0 (0) | 0 KB · 0 nodes · -2 lst | 0.1% · 2 req |
++
++<details><summary>Details: routes and findings per site</summary>
++
++**https://openvibe.live**: pass (8 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/content`: pass
++- `/chat`: pass
++- `/search?q=minecraft`: pass
++- `/vod/5627`: pass
++- `/clip/369`: pass
++- `/@JapaneseOldGuy`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/content` ×5 (in-page+link): pass; growth lap 2→5: heap -18 KB, nodes -5, listeners -1, documents 0, intervals 0, timeouts +1, sockets 0
++ - idle 5s after settle: CPU 22.7% (script 76 ms, style 186 ms, layout 22 ms), 15 request(s), 158.8 KB; 36 running animation(s), 33 infinite: `opacity on div.hero-float-inner`, `transform on div.hero-float-inner`, `heroBgKenBurns on div.hero-bg-layer`, `heroFloat3d on a.hero-float`
++
++**https://openvibe.tools**: pass (8 route(s), Chrome/150.0.7843.0)
++- `/`: pass
++- `/developers`: pass
++- `/updates`: pass
++- `/tool/yaml`: pass
++- `/all-tools`: pass
++- `/network-tools`: pass
++- `/developer-tools`: pass
++- `/__ovcheck-404`: pass
++- navigation `/` ↔ `/developers` ×5 (link): pass; growth lap 2→5: heap 0 KB, nodes 0, listeners -2, documents 0, intervals 0, timeouts -1, sockets 0
++ - idle 5s after settle: CPU 0.1% (script 3 ms, style 0 ms, layout 0 ms), 2 request(s), 4.2 KB (`https://openvibe.tools/shared/release-watch.js`, `https://openvibe.tools/release.json`)
++
++</details>