{"service":"games","entries":[{"service":"games","sha":"c31851363e1439d4f49a04d5676a7dba80ac3776","short":"c318513","subject":"Prometheus text metrics (Track O): GET /metrics (loopback only) answers the snapshot as games_* gauges in Prometheus text when the scraper asks (Accept text/plain or OpenMetrics, or ?format=prometheus); JSON stays the default","author":"OpenVibers","committed_at":"2026-09-24T05:59:25Z","deployed_at":"2026-09-24T06:53:09.336Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/c31851363e1439d4f49a04d5676a7dba80ac3776","post_id":null},{"service":"games","sha":"f4f3f40a24ac4b0f1b1adaa13d25b767ace0bdd1","short":"f4f3f40","subject":"dist-types for observability/release (tsc --build)","author":"OpenVibers","committed_at":"2026-09-24T05:04:53Z","deployed_at":"2026-09-24T06:53:09.336Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/f4f3f40a24ac4b0f1b1adaa13d25b767ace0bdd1","post_id":null},{"service":"games","sha":"35a06a07cd0742e269ec3377dfde398f759e5697","short":"35a06a0","subject":"Release manifest and private metrics (Track R D43, Track O): GET /release.json answers the deployed commit (RELEASE_SHA, else read from .git without a child process), openvibe-sdk/contracts versions and components in the shape every…","author":"OpenVibers","committed_at":"2026-09-24T05:04:42Z","deployed_at":"2026-09-24T06:53:09.336Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/35a06a07cd0742e269ec3377dfde398f759e5697","post_id":null},{"service":"games","sha":"4e5bc50590375e514de14b9a0fa384a601f69b2a","short":"4e5bc50","subject":"openvibe-contracts v0.34.3 (was v0.8.0) and openvibe-sdk v0.6.0 (was v0.2.2); CI runs openvibe-contracts-check for the server","author":"OpenVibers","committed_at":"2026-09-24T02:57:03Z","deployed_at":"2026-09-24T06:53:09.336Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/4e5bc50590375e514de14b9a0fa384a601f69b2a","post_id":null},{"service":"games","sha":"7c4d6bfdceaeec0cee730c24bab8b4bfcf92d85e","short":"7c4d6bf","subject":"SECURITY.md: how to report a vulnerability (contact@openvibe.network, 7-day reply, scope, supported versions)","author":"OpenVibers","committed_at":"2026-09-24T02:27:36Z","deployed_at":"2026-09-24T06:53:09.336Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/7c4d6bfdceaeec0cee730c24bab8b4bfcf92d85e","post_id":null},{"service":"games","sha":"84ee13eba06ca917e6dd8b06aca0d35bd57ed873","short":"84ee13e","subject":"Unknown paths answer 404 instead of the landing page: a path that was neither a route nor a file of the client build used to get the portal (openvibe.games) or the game (play.openvibe.games) with a 200, a soft 404 that search engines index…","author":"OpenVibers","committed_at":"2026-09-23T20:48:18Z","deployed_at":"2026-09-23T20:48:18.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/84ee13eba06ca917e6dd8b06aca0d35bd57ed873","post_id":null},{"service":"games","sha":"7863fc6a71890b264c29ddd6bfa7e4c162da4883","short":"7863fc6","subject":"CI: run the shared security workflow (gitleaks secret scan + dependency audit, Track Q)","author":"OpenVibers","committed_at":"2026-09-23T19:33:56Z","deployed_at":"2026-09-23T19:33:56.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/7863fc6a71890b264c29ddd6bfa7e4c162da4883","post_id":null},{"service":"games","sha":"474df5033215ca9264df58ac0afe78b878b19542","short":"474df50","subject":"Live legacy import (Wave 12 migration gate): every HoboQuest and canvas table in Live has a recorded decision, and scripts/importLiveLegacy.ts reconciles each one (read = imported + held + excluded). Per-player HoboQuest rows (players…","author":"OpenVibers","committed_at":"2026-09-23T18:46:44Z","deployed_at":"2026-09-23T18:46:44.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/474df5033215ca9264df58ac0afe78b878b19542","post_id":null},{"service":"games","sha":"8aef490d3236c9ef12f6aa60bb1c01eaac4c4250","short":"8aef490","subject":"Docs: STATUS.json and README match production (2026-09-23)","author":"OpenVibers","committed_at":"2026-09-23T18:33:45Z","deployed_at":"2026-09-23T18:33:45.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/8aef490d3236c9ef12f6aa60bb1c01eaac4c4250","post_id":null},{"service":"games","sha":"f11e21c80cdacb3e6b77610e5f66c5c585d1361e","short":"f11e21c","subject":"GET /api/ready: 200 only while world.db answers and the simulation ticks","author":"OpenVibers","committed_at":"2026-09-23T17:23:32Z","deployed_at":"2026-09-23T17:23:32.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/f11e21c80cdacb3e6b77610e5f66c5c585d1361e","post_id":null},{"service":"games","sha":"fcf2611d0a1709d74cc44e90af7bd59814e02732","short":"fcf2611","subject":"CI: typecheck, lint and the vitest suite on Node 22 with a frozen pnpm lockfile (Track Q — Games was the last service without CI)","author":"OpenVibers","committed_at":"2026-09-23T17:01:46Z","deployed_at":"2026-09-23T17:01:46.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/fcf2611d0a1709d74cc44e90af7bd59814e02732","post_id":null},{"service":"games","sha":"eea0a1000d13dc15af4a576d791bffe1de0e7efc","short":"eea0a10","subject":"nginx: client address headers only from $remote_addr (realip). X-Forwarded-For was appended to and CF-Connecting-IP passed through from the client, so a request reaching the origin without Cloudflare (DNS-only host or the bare IP) chose…","author":"OpenVibers","committed_at":"2026-09-23T16:14:17Z","deployed_at":"2026-09-23T16:14:17.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/eea0a1000d13dc15af4a576d791bffe1de0e7efc","post_id":null},{"service":"games","sha":"208f41b40b0bbc87c32442d1a31cb732476751c6","short":"208f41b","subject":"Docs: ADR-0006 (canonical subjects, platform boundary), README platform integration (env, grants, mods API), architecture and roadmap notes, platform env in the unit file","author":"OpenVibers","committed_at":"2026-09-23T02:10:15Z","deployed_at":"2026-09-23T02:10:15.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/208f41b40b0bbc87c32442d1a31cb732476751c6","post_id":null},{"service":"games","sha":"87cf770bc5c64df14dead96e7363c1043061b6af","short":"87cf770","subject":"Games on the platform (Wave 12): players keyed by canonical Network subjects with legacy ovn: adoption and a batch migration; guest tokens can no longer name an account key; the games client-credentials principal for every service call…","author":"OpenVibers","committed_at":"2026-09-23T02:10:12Z","deployed_at":"2026-09-23T02:10:12.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/87cf770bc5c64df14dead96e7363c1043061b6af","post_id":null},{"service":"games","sha":"9d5997edaf1bd702bfba443f1eb7adb9c97e70e3","short":"9d5997e","subject":"Persistence schema 12: identity legacy map, mod registry (installs, grants, placements, audit), Media mirror queue, players.subject_id, and store.transaction() so a flush and its outbox events commit together","author":"OpenVibers","committed_at":"2026-09-23T02:09:08Z","deployed_at":"2026-09-23T02:09:08.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/9d5997edaf1bd702bfba443f1eb7adb9c97e70e3","post_id":null},{"service":"games","sha":"571028796639c00d5deecca038634ef1c52d3480","short":"5710287","subject":"Home intro: guest versus signed-in","author":"OpenVibers","committed_at":"2026-09-18T11:02:57Z","deployed_at":"2026-09-18T11:02:57.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/571028796639c00d5deecca038634ef1c52d3480","post_id":null},{"service":"games","sha":"9be6a8e495e292e60c2c0d4a32f02c561228f958","short":"9be6a8e","subject":"POST /auth/fedcm on both hosts swaps a FedCM assertion for a session (jwt-bearer grant, nonce pre-check); silent login skips the Network when the ovg_sso cookie already resolves","author":"OpenVibers","committed_at":"2026-09-18T04:28:30Z","deployed_at":"2026-09-18T04:28:30.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/9be6a8e495e292e60c2c0d4a32f02c561228f958","post_id":null},{"service":"games","sha":"d04fcf4e9db07c093aed6d647b13199d3944ec40","short":"d04fcf4","subject":"SSO: silent sign-in, next-hop chains, ov_sso_hint, /auth/logout and /auth/me","author":"OpenVibers","committed_at":"2026-09-18T03:10:11Z","deployed_at":"2026-09-18T03:10:11.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/d04fcf4e9db07c093aed6d647b13199d3944ec40","post_id":null},{"service":"games","sha":"db5d52d8d4eb7c935d49727566999caa359efaac","short":"db5d52d","subject":"Shared network chrome on every page, SEO, open-voice verbiage","author":"OpenVibers","committed_at":"2026-09-18T03:10:11Z","deployed_at":"2026-09-18T03:10:11.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/db5d52d8d4eb7c935d49727566999caa359efaac","post_id":null},{"service":"games","sha":"a1bedab95fa757633bddb9d831e2552b0e61ba90","short":"a1bedab","subject":"Run service as ubuntu (matches host layout)","author":"OpenVibers","committed_at":"2026-08-17T19:58:29Z","deployed_at":"2026-08-17T19:58:29.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Games/commit/a1bedab95fa757633bddb9d831e2552b0e61ba90","post_id":null}],"next":"MjAyNi0wOC0xN1QxOTo1ODoyOS4wMDBafDQxMQ","latest_post":{"id":"pst_01M39313D833G8QVPQ9FGEEF5E","title":"Patch notes: 120 changes across 18 sites","url":"https://openvibe.blog/@openvibe/patch-notes-120-changes-across-18-sites","published_at":1790232792495,"entries":120},"posts":[{"id":"pst_01M39313D833G8QVPQ9FGEEF5E","title":"Patch notes: 120 changes across 18 sites","url":"https://openvibe.blog/@openvibe/patch-notes-120-changes-across-18-sites","published_at":1790232792495,"entries":120}]}