openvibers/openvibe.report CHANGELOG.md
CHANGELOG.md
Changelog
What changed in OpenVibe.Report, newest first. Each site also publishes its patch notes at /updates on
openvibe.network.
Unreleased
- The AI section (2026-11-08): OpenVibe.Bench's pages moved here.
/aiis the overview: every published benchmark with its leader, runs and last run, every task kind with quality, price and speed, and a fold for the jobs still waiting./ai/<benchmark>has verified rankings, score against cost in SVG and the latest runs;/ai/<kind>keeps the Elo/Pareto/cost boards and adds the verified runs on the kind's benchmarks./ai/models/<model>has runs over time, best and worst tasks, cost and recent runs;/ai/compareputs two or three models side by side;/ai/methodsays how a score is made and how runs are judged./ai/feed.xmlandGET /api/v1/ai/resultspublish new runs. Every number is Bench's, read through its public API with its 60-second cache and last-good copy; Bench's old HTML pages 301 here.
0.1.0 — 2026-10-28
The service skeleton: a stateless front for the network's open numbers, The Rundown and every stream's after-show
report.
- Two read clients (
server/data/network.js,server/data/live.js): OpenVibe.Network's open stats and
OpenVibe.Live's Rundown and recap APIs, with injectable fetch, 8 s timeouts, an in-memory cache (1000 entries,
oldest out; 2 to 10 minutes per answer) and one short log line on failure. A failure is null, never a throw.
Slugs, stream ids and usernames are validated before a source request; a bad parameter is a 404 without one. - Pages (
server/http/pages.js,server/views/index.js):/,/stats,/rundown,/rundown/t/:slug,
/rundown/e/:streamId,/rundown/s/:username,/after-show/:streamIdand/c/:username. The views are plain
placeholders with every dynamic value escaped; the main session designs the real pages. A missing source answer
is the 404 view. - JSON API (
server/http/api.js):/api/v1/stats,/api/v1/rundown,/api/v1/rundown/topics,
/api/v1/rundown/t/:slug,/api/v1/after-show/:streamIdand/api/v1/c/:usernameanswer the source's document
as it came, CORS-open and public for two minutes; 120 requests a minute per address; problem+json 404s. - Plumbing: helmet with the same CSP as OpenVibe.Help,
/api/health,/api/ready(Network and Live are
optional, so a dead source is degraded and still 200),/release.json,/release-metrics,/metricson
loopback,/shared/*,/cssand/js(immutable only with the matching?v=),robots.txt,sitemap.xml
(the home,/stats,/rundownand every topic),llms.txt, and the SDK's graceful stop. - Deploy:
deploy/systemd/openvibe-report.serviceon 127.0.0.1:5080 and
deploy/nginx/openvibe.report.conf(www → apex, Let's Encrypt certs, GET-only/api/), plusSTATUS.json,
.env.exampleand the shared CI workflow. - Tests (
test/): the clients' cache, expiry, failure and parameter rules; every page and its 404s; the API
shapes, CORS, cache and rate limit; robots/sitemap/llms; health, readiness and the static cache.