openvibers/openvibe.live Commits

Contract: drop vibe_coding_events and vibe_coding_sessions (copied to OpenVibe.Chat and verified; nothing reads them since Live#351) (#354)

OP OpenVibers committed 19 days ago · e9b25a2862 · 2 files, +18 −2

Changes

ddiff --git a/migrations/0018_drop_vibe_coding.sql b/migrations/0018_drop_vibe_coding.sql
nnew file mode 100644
iindex 00000000..195fb3fb
---- /dev/null
++++ b/migrations/0018_drop_vibe_coding.sql
@@@ -0,0 +1,11 @@
++-- phase: contract
++-- after: 0002
++-- Vibe coding feeds are OpenVibe.Chat's since 2026-10-24 (Chat#144, its server/feeds/; the owner: "migrate that whole
++-- entire feature so it's built into the openvibe.chat system"). Chat's scripts/import-live-feeds.js copied Live's feed
++-- on 2026-10-25 (slot 1: its newest 5,000 of 42,620 events, scrubbed, verified id for id) and the raw export is kept in
++-- /var/backups/openvibe/live-vibe-coding-2026-10-25.jsonl. Live#351 deleted everything that read these tables (its
++-- publisher socket and routes answer 410), so the N-1 release names neither (test/vibe-coding-moved.test.js).
++-- The slots' old settings stay inside managed_streams.broadcast_settings, read by nothing; they go with the next
++-- rewrite of that column.
++DROP TABLE IF EXISTS vibe_coding_events;
++DROP TABLE IF EXISTS vibe_coding_sessions;
ddiff --git a/test/vibe-coding-moved.test.js b/test/vibe-coding-moved.test.js
iindex c44514fa..16078020 100644
---- a/test/vibe-coding-moved.test.js
++++ b/test/vibe-coding-moved.test.js
@@@ -2,8 +2,8 @@
// Vibe coding feeds are OpenVibe.Chat's since 2026-10-24 (its server/feeds/, openvibe.chat/feeds; the owner: "migrate
// that whole entire feature so it's built into the openvibe.chat system"). Nothing under server/ or scripts/ reads or
--// writes Live's vibe_coding_sessions or vibe_coding_events (Chat's scripts/import-live-feeds.js copies them; a contract
--// migration drops them once the copy is verified), the publisher socket and the old routes answer 410 naming Chat, and
++// writes Live's vibe_coding_sessions or vibe_coding_events (Chat's scripts/import-live-feeds.js copied them, verified, on
++// 2026-10-25; migrations/0018_drop_vibe_coding.sql drops them), the publisher socket and the old routes answer 410 naming Chat, and
// the channel chat shows Chat's own card instead of Live's widget.
const assert = require('assert');
@@@ -46,4 +46,9 @@ assert.ok(!/_vibeWidgetState|refreshVibeWidgetFeed|\/vibe-coding\/channel\//.tes
assert.match(chat, /\$\{FEED_ORIGIN\}\/api\/chat\/feeds\?slot=/);
assert.match(chat, /\$\{FEED_ORIGIN\}\/embed\/feed\//);
assert.match(chat, /e\.origin !== FEED_ORIGIN/, 'the card\'s height comes only from Chat\'s frame');
++// The contract migration drops them, after the N-1 window (it names 0002, so the migrator holds it for 7 days).
++const drop = fs.readFileSync(path.join(ROOT, 'migrations', '0018_drop_vibe_coding.sql'), 'utf8');
++assert.match(drop, /^-- phase: contract$/m);
++assert.match(drop, /^-- after: 0002$/m);
++assert.deepStrictEqual([...drop.matchAll(/^DROP TABLE IF EXISTS (\w+);$/gm)].map((m) => m[1]).sort(), ['vibe_coding_events', 'vibe_coding_sessions']);
console.log('vibe coding: Chat\'s; nothing reads Live\'s old tables, the old socket and routes answer 410, the channel shows Chat\'s card');