openvibers/openvibe.network Commits
Baseline: Media's paste tables are frozen legacy since the 2026-09-22 cutover
Changes
@@@ -21,7 +21,7 @@ Deliverable 1: runtimes, ports, units, env files and repository state.| Repo | HEAD | origin/main | Source files | LOC | Test files | CI | Routes | Tables | WS servers | Timers/jobs | TODO(contract) ||---|---|---|---|---|---|---|---|---|---|---|---|| OpenVibe.Live | e266060 | e266060 | 167 | 69978 | 58 | yes | 537 | 125 | 8 | 48 | 15 |--| OpenVibe.Network | 1b79576 | 1b79576 | 81 | 21029 | 20 | yes | 197 | 39 | 0 | 11 | 0 |++| OpenVibe.Network | 1bc6a52 | 1bc6a52 | 81 | 21029 | 20 | yes | 197 | 39 | 0 | 11 | 0 || OpenVibe.Media | ddfefcf | ddfefcf | 28 | 8752 | 6 | yes | 67 | 15 | 0 | 9 | 0 || OpenVibe.Tools | 0346edc | 0346edc | 117 | 20018 | 2 | no | 99 | 4 | 0 | 12 | 0 || OpenVibe.Community | d7c6e60 | d7c6e60 | 21 | 3950 | 14 | yes | 47 | 13 | 0 | 1 | 0 |@@@ -276,9 +276,9 @@ Deliverable 2: every table declared in code or present in production, with curre| content_visits | server/views/service.js:43 | media.db | OpenVibe.Media | keep | W4 (object model) || files | server/db/schema.sql:164 | media.db | OpenVibe.Media | keep | W4 (object model) || media_settings | server/db/schema.sql:178 | media.db | OpenVibe.Media | keep | W4 (object model) |--| paste_comments | server/db/schema.sql:146 | media.db | OpenVibe.Community | extract | W5 |--| paste_likes | server/db/schema.sql:138 | media.db | OpenVibe.Community | extract | W5 |--| pastes | server/db/schema.sql:105 | media.db | OpenVibe.Community | extract | W5 |++| paste_comments | server/db/schema.sql:146 | media.db | OpenVibe.Community | frozen-legacy | W5 (done 2026-09-22) |++| paste_likes | server/db/schema.sql:138 | media.db | OpenVibe.Community | frozen-legacy | W5 (done 2026-09-22) |++| pastes | server/db/schema.sql:105 | media.db | OpenVibe.Community | frozen-legacy | W5 (done 2026-09-22) || vods | server/db/schema.sql:22 | media.db | OpenVibe.Media | keep | W4 (object model) |## OpenVibe.Tools (4)@@@ -10,7 +10,7 @@ Deliverable 6. Current owner = the repo that creates the table; target owner = r|---|---|---|---|---|---|| OpenVibe.Live | 186 | 26 | 94 | 43 | 23 || OpenVibe.Network | 39 | 36 | 3 | 0 | 0 |--| OpenVibe.Media | 15 | 12 | 3 | 0 | 0 |++| OpenVibe.Media | 15 | 12 | 0 | 3 | 0 || OpenVibe.Tools | 4 | 4 | 0 | 0 | 0 || OpenVibe.Community | 13 | 13 | 0 | 0 | 0 || OpenVibe.Games | 5 | 5 | 0 | 0 | 0 |@@@ -30,7 +30,7 @@ Deliverable 6. Current owner = the repo that creates the table; target owner = r| OpenVibe.Chat | OpenVibe.Live | channel_moderation_settings, channel_moderators, channel_sounds, channel_sounds_new, chat_ai_summaries, chat_messages, chat_messages_new, chat_timeline_events, dm_blocks, dm_conversations, dm_messages, dm_participants, emotes, emotes_new, hidden_relay_users, media_request_settings, media_requests, moderation_actions, pending_ip_messages, relay_users, stream_first_chats, tts_voice_overrides, user_tags | W6 || OpenVibe.Codes | OpenVibe.Live | vibe_coding_events, vibe_coding_sessions | W20 || OpenVibe.Community | OpenVibe.Live | comments, paste_comments, paste_likes, pastes | W5 |--| OpenVibe.Community | OpenVibe.Media | paste_comments, paste_likes, pastes | W5 |++| OpenVibe.Community | OpenVibe.Media | paste_comments, paste_likes, pastes | W5 (done 2026-09-22) || OpenVibe.Events | OpenVibe.Network | stream_live_announcements | W3 || OpenVibe.Games | OpenVibe.Live | canvas_actions, canvas_bans, canvas_region_locks, canvas_settings, canvas_snapshots, canvas_tiles, canvas_user_overrides, game_achievements, game_bank, game_battle_stats, game_daily_quest_claims, game_daily_quest_progress, game_dungeon_runs, game_effects, game_farm_plots, game_fish_collection, game_inventory, game_leaderboard, game_players, game_recipes, game_structures, game_world_state | W12 || OpenVibe.Games (import source) | OpenVibe.Live | active_effects, ai_conversations, ai_memory, analytics_snapshots, bank_items, battle_stats, changelog_entries, chat_log, custom_rewards, daily_claims, divorce_history, dungeon_stats, event_log, farm_plots, file_checksums, fish_profile, gusher_profile, inventory, jo_profile, love_affinity, love_profile, love_proposals, mine_profile, mod_persuasion, music_profile, roast_dossier, roast_log, unlocked_recipes, user_voice_selection, user_voices, woodcut_profile | W12 |@@@ -6,6 +6,7 @@ Deliverable 7. Snapshot of openvibe-oregon taken 2026-09-22 23:36 UTC compared w| Severity | Area | Subject | Detail ||---|---|---|---|++| medium | deploy | network | deployed 1b79576 is 1 commit(s) behind origin/main 1bc6a52 || low | database | /opt/openvibe.live/data/backups/live-pre-643a2e6.db | 264.7 MB backup inside the service data dir || low | database | /opt/openvibe.live/data/hobo.db | 0 B, zero tables (dead file) || low | database | /opt/openvibe.live/data/openvibe.db | 0 B, zero tables (dead file) |@@@ -26,7 +26,7 @@ Deliverable 8. Family-level status from roadmap 3.2. Evidence paths are checked| D42 | Shared component architecture | partial | partial | W2, Track R | Network/packages/openvibe-shared | 5 repos vendor openvibe-shared (129 files); 4 divergent: Community/ov-icons.js, Live/user-card.js, Media/ov-icons.js, Tools/ov-icons.js || D43 | Safe active-client updates | absent | missing | Track R | Live/server/chat/deploy-notice.js; Live/server/web/assets.js | - || D44 | Crawlable component rendering | built | already-present-and-verified | Track R (preserve) | Community/server/seo.js; Sites/build.js | - |--| D45 | Release compatibility and recovery | absent | missing | Track R, W22 | - | 1 service(s) not running origin/main |++| D45 | Release compatibility and recovery | absent | missing | Track R, W22 | - | 2 service(s) not running origin/main || D46 | Update observability and acceptance | absent | missing | Track R, Track O | - | 4 of 7 scanned repos have .github/workflows |Totals: 3 built, 11 partial, 8 absent across 22 families; 22 verified.@@@ -18,7 +18,7 @@ Deliverable 9. **Not yet reviewed by the production-host owner** (Wave 0 exit cr| H10 | Commit identity | medium | open | Every contributor | all | Per-repo git config user.email = [email protected]; review history before push. | main history violates the rule in: Live (238 commits with assistant trailers); Network (14 commits with assistant trailers); Media (30 commits with assistant trailers); Tools (9 commits with assistant trailers) || H11 | analytics_events grows without pruning | medium | open | Network maintainers (canonical openvibe-shared/analytics.js) | Track O / ADR-021 - before any schema wave touching Live or Network | Add a retention job that deletes raw rows older than the rollup window, then VACUUM in a maintenance window. | live/data/analytics.db 1.75 GB; network/data/network.db 766.5 MB; tools/apps/audio/data/analytics.db 59.9 MB || H12 | No Cloudflare cache-purge step after deploys | low | open | Platform operator | W21 / Track I | Add a purge-scoped token and a purge step, or short max-age + stale-while-revalidate on non-hashed assets. | - |--| H13 | Production drifts from main | medium | open | Platform operator | W0 (checklist) / W21 (release manifests) | Deploy or record why each lagging service is held back. | games: deployed 43c11f0 has the same file tree as origin/main 5710287 but a different SHA (pre-rewrite history); reset the checkout so later pulls fast-forward |++| H13 | Production drifts from main | medium | open | Platform operator | W0 (checklist) / W21 (release manifests) | Deploy or record why each lagging service is held back. | network: deployed 1b79576 is 1 commit(s) behind origin/main 1bc6a52; games: deployed 43c11f0 has the same file tree as origin/main 5710287 but a different SHA (pre-rewrite history); reset the checkout so later pulls fast-forward || H14 | Dead and backup database files on the production host | low | open | Live maintainers | W0 | Confirm no code opens them, then delete the empty files and move the backup to /opt/backups with a retention date. | live/data/backups/live-pre-643a2e6.db, live/data/hobo.db, live/data/openvibe.db |## Constraints@@@ -2,7 +2,7 @@The audit baseline from the OpenVibe development roadmap (Wave 0; section 12 items 1-3): what exists across the estate, who owns each piece of data today and who should, what production looks like next to the repos, and which hazards constrain later waves. Every file here except `data/*.json` is generated.--Source commits: Live `e266060`, Network `1b79576`, Media `ddfefcf`, Tools `0346edc`, Community `d7c6e60`, Games `5710287`, Sites `185014f`. Production snapshot: openvibe-oregon, 2026-09-22.++Source commits: Live `e266060`, Network `1bc6a52`, Media `ddfefcf`, Tools `0346edc`, Community `d7c6e60`, Games `5710287`, Sites `185014f`. Production snapshot: openvibe-oregon, 2026-09-22.## Deliverables@@@ -14,7 +14,7 @@ Source commits: Live `e266060`, Network `1b79576`, Media `ddfefcf`, Tools `0346e| 4 | [05-realtime-and-jobs.md](05-realtime-and-jobs.md) | WebSocket servers and paths, non-HTTP protocols, background jobs || 5 | [06-secrets.md](06-secrets.md) | auth mechanisms and secret names (no values) || 6 | [07-ownership.md](07-ownership.md) | current vs target data ownership |--| 7 | [08-discrepancies.md](08-discrepancies.md) | 114 production-vs-repo items |++| 7 | [08-discrepancies.md](08-discrepancies.md) | 115 production-vs-repo items || 8 | [09-d-status.md](09-d-status.md) | D01-D46 family status from evidence || 9 | [10-hazards.md](10-hazards.md) | 14 hazards with owners, mitigations and waves || - | [inventory.json](inventory.json) | everything above, machine-readable |@@@ -1,7 +1,7 @@{"generatedFrom": {"OpenVibe.Live": "e26606082958f8cf6bb7c4587c225ca09335b5fe",-- "OpenVibe.Network": "1b79576cb024714e56ae2ccc7728080d3d3e0118",++ "OpenVibe.Network": "1bc6a52174fc25a8f6f76d6ab72c08c05f3a3122","OpenVibe.Media": "ddfefcf47740715f24fe7aa7dea648b4699162fc","OpenVibe.Tools": "0346edc57fb9f588abcdea171a22a5ca33f772d2","OpenVibe.Community": "d7c6e608d8e27e6ddbfc78a15fa7590036b1dded",@@@ -5468,10 +5468,10 @@"service": "network","present": true,"git": {-- "head": "1b79576cb024714e56ae2ccc7728080d3d3e0118",++ "head": "1bc6a52174fc25a8f6f76d6ab72c08c05f3a3122","branch": "main",-- "originMain": "1b79576cb024714e56ae2ccc7728080d3d3e0118",-- "committedAt": "2026-09-22T16:11:37-07:00"++ "originMain": "1bc6a52174fc25a8f6f76d6ab72c08c05f3a3122",++ "committedAt": "2026-09-22T16:36:13-07:00"},"sourceFiles": 81,"loc": 21029,@@@ -14764,9 +14764,9 @@"inCode": true,"inProd": true,"target": "OpenVibe.Community",-- "disposition": "extract",-- "wave": "W5",-- "note": "Media keeps bytes (screenshots/raw); semantics move to Community."++ "disposition": "frozen-legacy",++ "wave": "W5 (done 2026-09-22)",++ "note": "Community is the paste authority since 2026-09-22; Media answers 410 to paste writes (PASTES_FROZEN_APPS=live) and 301s /p/:slug to Community. Screenshot bytes stay here."},{"repo": "OpenVibe.Media",@@@ -14780,9 +14780,9 @@"inCode": true,"inProd": true,"target": "OpenVibe.Community",-- "disposition": "extract",-- "wave": "W5",-- "note": "Media keeps bytes (screenshots/raw); semantics move to Community."++ "disposition": "frozen-legacy",++ "wave": "W5 (done 2026-09-22)",++ "note": "Community is the paste authority since 2026-09-22; Media answers 410 to paste writes (PASTES_FROZEN_APPS=live) and 301s /p/:slug to Community. Screenshot bytes stay here."},{"repo": "OpenVibe.Media",@@@ -14796,9 +14796,9 @@"inCode": true,"inProd": true,"target": "OpenVibe.Community",-- "disposition": "extract",-- "wave": "W5",-- "note": "Media keeps bytes (screenshots/raw); semantics move to Community."++ "disposition": "frozen-legacy",++ "wave": "W5 (done 2026-09-22)",++ "note": "Community is the paste authority since 2026-09-22; Media answers 410 to paste writes (PASTES_FROZEN_APPS=live) and 301s /p/:slug to Community. Screenshot bytes stay here."},{"repo": "OpenVibe.Media",@@@ -19370,6 +19370,12 @@}],"discrepancies": [++ {++ "severity": "medium",++ "area": "deploy",++ "subject": "network",++ "detail": "deployed 1b79576 is 1 commit(s) behind origin/main 1bc6a52"++ },{"severity": "low","area": "database",@@@ -20065,7 +20071,7 @@"vendored.copies": "5 repos vendor openvibe-shared (129 files)","vendored.divergent": "4 divergent: Community/ov-icons.js, Live/user-card.js, Media/ov-icons.js, Tools/ov-icons.js","ci.repos": "4 of 7 scanned repos have .github/workflows",-- "deploy.drift": "1 service(s) not running origin/main",++ "deploy.drift": "2 service(s) not running origin/main","tests.OpenVibe.Live": "58 test files","tables.OpenVibe.Live": "125 tables","tables.OpenVibe.Live.target:OpenVibe.Games (import source)": "31 Live tables target OpenVibe.Games (import source)",@@@ -20600,7 +20606,7 @@"metrics": [{"key": "deploy.drift",-- "value": "1 service(s) not running origin/main"++ "value": "2 service(s) not running origin/main"}],"verified": true@@@ -20786,7 +20792,7 @@"mitigation": "Deploy or record why each lagging service is held back.","status": "open","check": "deploy-drift",-- "checkResult": "games: deployed 43c11f0 has the same file tree as origin/main 5710287 but a different SHA (pre-rewrite history); reset the checkout so later pulls fast-forward"++ "checkResult": "network: deployed 1b79576 is 1 commit(s) behind origin/main 1bc6a52; games: deployed 43c11f0 has the same file tree as origin/main 5710287 but a different SHA (pre-rewrite history); reset the checkout so later pulls fast-forward"},{"id": "H14",
@@ -21,7 +21,7 @@ Deliverable 1: runtimes, ports, units, env files and repository state.
@@ -21,7 +21,7 @@ Deliverable 1: runtimes, ports, units, env files and repository state.
| Repo | HEAD | origin/main | Source files | LOC | Test files | CI | Routes | Tables | WS servers | Timers/jobs | TODO(contract) |
| Repo | HEAD | origin/main | Source files | LOC | Test files | CI | Routes | Tables | WS servers | Timers/jobs | TODO(contract) |
|---|---|---|---|---|---|---|---|---|---|---|---|
|---|---|---|---|---|---|---|---|---|---|---|---|
| OpenVibe.Live | e266060 | e266060 | 167 | 69978 | 58 | yes | 537 | 125 | 8 | 48 | 15 |
| OpenVibe.Live | e266060 | e266060 | 167 | 69978 | 58 | yes | 537 | 125 | 8 | 48 | 15 |
-| OpenVibe.Network | 1b79576 | 1b79576 | 81 | 21029 | 20 | yes | 197 | 39 | 0 | 11 | 0 |
+| OpenVibe.Network | 1bc6a52 | 1bc6a52 | 81 | 21029 | 20 | yes | 197 | 39 | 0 | 11 | 0 |
| OpenVibe.Media | ddfefcf | ddfefcf | 28 | 8752 | 6 | yes | 67 | 15 | 0 | 9 | 0 |
| OpenVibe.Media | ddfefcf | ddfefcf | 28 | 8752 | 6 | yes | 67 | 15 | 0 | 9 | 0 |
| OpenVibe.Tools | 0346edc | 0346edc | 117 | 20018 | 2 | no | 99 | 4 | 0 | 12 | 0 |
| OpenVibe.Tools | 0346edc | 0346edc | 117 | 20018 | 2 | no | 99 | 4 | 0 | 12 | 0 |
| OpenVibe.Community | d7c6e60 | d7c6e60 | 21 | 3950 | 14 | yes | 47 | 13 | 0 | 1 | 0 |
| OpenVibe.Community | d7c6e60 | d7c6e60 | 21 | 3950 | 14 | yes | 47 | 13 | 0 | 1 | 0 |
@@ -276,9 +276,9 @@ Deliverable 2: every table declared in code or present in production, with curre
@@ -276,9 +276,9 @@ Deliverable 2: every table declared in code or present in production, with curre
| content_visits | server/views/service.js:43 | media.db | OpenVibe.Media | keep | W4 (object model) |
| content_visits | server/views/service.js:43 | media.db | OpenVibe.Media | keep | W4 (object model) |
| files | server/db/schema.sql:164 | media.db | OpenVibe.Media | keep | W4 (object model) |
| files | server/db/schema.sql:164 | media.db | OpenVibe.Media | keep | W4 (object model) |
| media_settings | server/db/schema.sql:178 | media.db | OpenVibe.Media | keep | W4 (object model) |
| media_settings | server/db/schema.sql:178 | media.db | OpenVibe.Media | keep | W4 (object model) |
-| paste_comments | server/db/schema.sql:146 | media.db | OpenVibe.Community | extract | W5 |
-| paste_likes | server/db/schema.sql:138 | media.db | OpenVibe.Community | extract | W5 |
-| pastes | server/db/schema.sql:105 | media.db | OpenVibe.Community | extract | W5 |
+| paste_comments | server/db/schema.sql:146 | media.db | OpenVibe.Community | frozen-legacy | W5 (done 2026-09-22) |
+| paste_likes | server/db/schema.sql:138 | media.db | OpenVibe.Community | frozen-legacy | W5 (done 2026-09-22) |
+| pastes | server/db/schema.sql:105 | media.db | OpenVibe.Community | frozen-legacy | W5 (done 2026-09-22) |
| vods | server/db/schema.sql:22 | media.db | OpenVibe.Media | keep | W4 (object model) |
| vods | server/db/schema.sql:22 | media.db | OpenVibe.Media | keep | W4 (object model) |
## OpenVibe.Tools (4)
## OpenVibe.Tools (4)
@@ -10,7 +10,7 @@ Deliverable 6. Current owner = the repo that creates the table; target owner = r
@@ -10,7 +10,7 @@ Deliverable 6. Current owner = the repo that creates the table; target owner = r
|---|---|---|---|---|---|
|---|---|---|---|---|---|
| OpenVibe.Live | 186 | 26 | 94 | 43 | 23 |
| OpenVibe.Live | 186 | 26 | 94 | 43 | 23 |
| OpenVibe.Network | 39 | 36 | 3 | 0 | 0 |
| OpenVibe.Network | 39 | 36 | 3 | 0 | 0 |
-| OpenVibe.Media | 15 | 12 | 3 | 0 | 0 |
+| OpenVibe.Media | 15 | 12 | 0 | 3 | 0 |
| OpenVibe.Tools | 4 | 4 | 0 | 0 | 0 |
| OpenVibe.Tools | 4 | 4 | 0 | 0 | 0 |
| OpenVibe.Community | 13 | 13 | 0 | 0 | 0 |
| OpenVibe.Community | 13 | 13 | 0 | 0 | 0 |
| OpenVibe.Games | 5 | 5 | 0 | 0 | 0 |
| OpenVibe.Games | 5 | 5 | 0 | 0 | 0 |
@@ -30,7 +30,7 @@ Deliverable 6. Current owner = the repo that creates the table; target owner = r
@@ -30,7 +30,7 @@ Deliverable 6. Current owner = the repo that creates the table; target owner = r
| OpenVibe.Chat | OpenVibe.Live | channel_moderation_settings, channel_moderators, channel_sounds, channel_sounds_new, chat_ai_summaries, chat_messages, chat_messages_new, chat_timeline_events, dm_blocks, dm_conversations, dm_messages, dm_participants, emotes, emotes_new, hidden_relay_users, media_request_settings, media_requests, moderation_actions, pending_ip_messages, relay_users, stream_first_chats, tts_voice_overrides, user_tags | W6 |
| OpenVibe.Chat | OpenVibe.Live | channel_moderation_settings, channel_moderators, channel_sounds, channel_sounds_new, chat_ai_summaries, chat_messages, chat_messages_new, chat_timeline_events, dm_blocks, dm_conversations, dm_messages, dm_participants, emotes, emotes_new, hidden_relay_users, media_request_settings, media_requests, moderation_actions, pending_ip_messages, relay_users, stream_first_chats, tts_voice_overrides, user_tags | W6 |
| OpenVibe.Codes | OpenVibe.Live | vibe_coding_events, vibe_coding_sessions | W20 |
| OpenVibe.Codes | OpenVibe.Live | vibe_coding_events, vibe_coding_sessions | W20 |
| OpenVibe.Community | OpenVibe.Live | comments, paste_comments, paste_likes, pastes | W5 |
| OpenVibe.Community | OpenVibe.Live | comments, paste_comments, paste_likes, pastes | W5 |
-| OpenVibe.Community | OpenVibe.Media | paste_comments, paste_likes, pastes | W5 |
+| OpenVibe.Community | OpenVibe.Media | paste_comments, paste_likes, pastes | W5 (done 2026-09-22) |
| OpenVibe.Events | OpenVibe.Network | stream_live_announcements | W3 |
| OpenVibe.Events | OpenVibe.Network | stream_live_announcements | W3 |
| OpenVibe.Games | OpenVibe.Live | canvas_actions, canvas_bans, canvas_region_locks, canvas_settings, canvas_snapshots, canvas_tiles, canvas_user_overrides, game_achievements, game_bank, game_battle_stats, game_daily_quest_claims, game_daily_quest_progress, game_dungeon_runs, game_effects, game_farm_plots, game_fish_collection, game_inventory, game_leaderboard, game_players, game_recipes, game_structures, game_world_state | W12 |
| OpenVibe.Games | OpenVibe.Live | canvas_actions, canvas_bans, canvas_region_locks, canvas_settings, canvas_snapshots, canvas_tiles, canvas_user_overrides, game_achievements, game_bank, game_battle_stats, game_daily_quest_claims, game_daily_quest_progress, game_dungeon_runs, game_effects, game_farm_plots, game_fish_collection, game_inventory, game_leaderboard, game_players, game_recipes, game_structures, game_world_state | W12 |
| OpenVibe.Games (import source) | OpenVibe.Live | active_effects, ai_conversations, ai_memory, analytics_snapshots, bank_items, battle_stats, changelog_entries, chat_log, custom_rewards, daily_claims, divorce_history, dungeon_stats, event_log, farm_plots, file_checksums, fish_profile, gusher_profile, inventory, jo_profile, love_affinity, love_profile, love_proposals, mine_profile, mod_persuasion, music_profile, roast_dossier, roast_log, unlocked_recipes, user_voice_selection, user_voices, woodcut_profile | W12 |
| OpenVibe.Games (import source) | OpenVibe.Live | active_effects, ai_conversations, ai_memory, analytics_snapshots, bank_items, battle_stats, changelog_entries, chat_log, custom_rewards, daily_claims, divorce_history, dungeon_stats, event_log, farm_plots, file_checksums, fish_profile, gusher_profile, inventory, jo_profile, love_affinity, love_profile, love_proposals, mine_profile, mod_persuasion, music_profile, roast_dossier, roast_log, unlocked_recipes, user_voice_selection, user_voices, woodcut_profile | W12 |
@@ -6,6 +6,7 @@ Deliverable 7. Snapshot of openvibe-oregon taken 2026-09-22 23:36 UTC compared w
@@ -6,6 +6,7 @@ Deliverable 7. Snapshot of openvibe-oregon taken 2026-09-22 23:36 UTC compared w
| Severity | Area | Subject | Detail |
| Severity | Area | Subject | Detail |
|---|---|---|---|
|---|---|---|---|
+| medium | deploy | network | deployed 1b79576 is 1 commit(s) behind origin/main 1bc6a52 |
| low | database | /opt/openvibe.live/data/backups/live-pre-643a2e6.db | 264.7 MB backup inside the service data dir |
| low | database | /opt/openvibe.live/data/backups/live-pre-643a2e6.db | 264.7 MB backup inside the service data dir |
| low | database | /opt/openvibe.live/data/hobo.db | 0 B, zero tables (dead file) |
| low | database | /opt/openvibe.live/data/hobo.db | 0 B, zero tables (dead file) |
| low | database | /opt/openvibe.live/data/openvibe.db | 0 B, zero tables (dead file) |
| low | database | /opt/openvibe.live/data/openvibe.db | 0 B, zero tables (dead file) |
@@ -26,7 +26,7 @@ Deliverable 8. Family-level status from roadmap 3.2. Evidence paths are checked
@@ -26,7 +26,7 @@ Deliverable 8. Family-level status from roadmap 3.2. Evidence paths are checked
| D42 | Shared component architecture | partial | partial | W2, Track R | Network/packages/openvibe-shared | 5 repos vendor openvibe-shared (129 files); 4 divergent: Community/ov-icons.js, Live/user-card.js, Media/ov-icons.js, Tools/ov-icons.js |
| D42 | Shared component architecture | partial | partial | W2, Track R | Network/packages/openvibe-shared | 5 repos vendor openvibe-shared (129 files); 4 divergent: Community/ov-icons.js, Live/user-card.js, Media/ov-icons.js, Tools/ov-icons.js |
| D43 | Safe active-client updates | absent | missing | Track R | Live/server/chat/deploy-notice.js; Live/server/web/assets.js | - |
| D43 | Safe active-client updates | absent | missing | Track R | Live/server/chat/deploy-notice.js; Live/server/web/assets.js | - |
| D44 | Crawlable component rendering | built | already-present-and-verified | Track R (preserve) | Community/server/seo.js; Sites/build.js | - |
| D44 | Crawlable component rendering | built | already-present-and-verified | Track R (preserve) | Community/server/seo.js; Sites/build.js | - |
-| D45 | Release compatibility and recovery | absent | missing | Track R, W22 | - | 1 service(s) not running origin/main |
+| D45 | Release compatibility and recovery | absent | missing | Track R, W22 | - | 2 service(s) not running origin/main |
| D46 | Update observability and acceptance | absent | missing | Track R, Track O | - | 4 of 7 scanned repos have .github/workflows |
| D46 | Update observability and acceptance | absent | missing | Track R, Track O | - | 4 of 7 scanned repos have .github/workflows |
Totals: 3 built, 11 partial, 8 absent across 22 families; 22 verified.
Totals: 3 built, 11 partial, 8 absent across 22 families; 22 verified.
@@ -18,7 +18,7 @@ Deliverable 9. **Not yet reviewed by the production-host owner** (Wave 0 exit cr
@@ -18,7 +18,7 @@ Deliverable 9. **Not yet reviewed by the production-host owner** (Wave 0 exit cr
| H10 | Commit identity | medium | open | Every contributor | all | Per-repo git config user.email = [email protected]; review history before push. | main history violates the rule in: Live (238 commits with assistant trailers); Network (14 commits with assistant trailers); Media (30 commits with assistant trailers); Tools (9 commits with assistant trailers) |
| H10 | Commit identity | medium | open | Every contributor | all | Per-repo git config user.email = [email protected]; review history before push. | main history violates the rule in: Live (238 commits with assistant trailers); Network (14 commits with assistant trailers); Media (30 commits with assistant trailers); Tools (9 commits with assistant trailers) |
| H11 | analytics_events grows without pruning | medium | open | Network maintainers (canonical openvibe-shared/analytics.js) | Track O / ADR-021 - before any schema wave touching Live or Network | Add a retention job that deletes raw rows older than the rollup window, then VACUUM in a maintenance window. | live/data/analytics.db 1.75 GB; network/data/network.db 766.5 MB; tools/apps/audio/data/analytics.db 59.9 MB |
| H11 | analytics_events grows without pruning | medium | open | Network maintainers (canonical openvibe-shared/analytics.js) | Track O / ADR-021 - before any schema wave touching Live or Network | Add a retention job that deletes raw rows older than the rollup window, then VACUUM in a maintenance window. | live/data/analytics.db 1.75 GB; network/data/network.db 766.5 MB; tools/apps/audio/data/analytics.db 59.9 MB |
| H12 | No Cloudflare cache-purge step after deploys | low | open | Platform operator | W21 / Track I | Add a purge-scoped token and a purge step, or short max-age + stale-while-revalidate on non-hashed assets. | - |
| H12 | No Cloudflare cache-purge step after deploys | low | open | Platform operator | W21 / Track I | Add a purge-scoped token and a purge step, or short max-age + stale-while-revalidate on non-hashed assets. | - |
-| H13 | Production drifts from main | medium | open | Platform operator | W0 (checklist) / W21 (release manifests) | Deploy or record why each lagging service is held back. | games: deployed 43c11f0 has the same file tree as origin/main 5710287 but a different SHA (pre-rewrite history); reset the checkout so later pulls fast-forward |
+| H13 | Production drifts from main | medium | open | Platform operator | W0 (checklist) / W21 (release manifests) | Deploy or record why each lagging service is held back. | network: deployed 1b79576 is 1 commit(s) behind origin/main 1bc6a52; games: deployed 43c11f0 has the same file tree as origin/main 5710287 but a different SHA (pre-rewrite history); reset the checkout so later pulls fast-forward |
| H14 | Dead and backup database files on the production host | low | open | Live maintainers | W0 | Confirm no code opens them, then delete the empty files and move the backup to /opt/backups with a retention date. | live/data/backups/live-pre-643a2e6.db, live/data/hobo.db, live/data/openvibe.db |
| H14 | Dead and backup database files on the production host | low | open | Live maintainers | W0 | Confirm no code opens them, then delete the empty files and move the backup to /opt/backups with a retention date. | live/data/backups/live-pre-643a2e6.db, live/data/hobo.db, live/data/openvibe.db |
## Constraints
## Constraints
@@ -2,7 +2,7 @@
@@ -2,7 +2,7 @@
The audit baseline from the OpenVibe development roadmap (Wave 0; section 12 items 1-3): what exists across the estate, who owns each piece of data today and who should, what production looks like next to the repos, and which hazards constrain later waves. Every file here except `data/*.json` is generated.
The audit baseline from the OpenVibe development roadmap (Wave 0; section 12 items 1-3): what exists across the estate, who owns each piece of data today and who should, what production looks like next to the repos, and which hazards constrain later waves. Every file here except `data/*.json` is generated.
-Source commits: Live `e266060`, Network `1b79576`, Media `ddfefcf`, Tools `0346edc`, Community `d7c6e60`, Games `5710287`, Sites `185014f`. Production snapshot: openvibe-oregon, 2026-09-22.
+Source commits: Live `e266060`, Network `1bc6a52`, Media `ddfefcf`, Tools `0346edc`, Community `d7c6e60`, Games `5710287`, Sites `185014f`. Production snapshot: openvibe-oregon, 2026-09-22.
## Deliverables
## Deliverables
@@ -14,7 +14,7 @@ Source commits: Live `e266060`, Network `1b79576`, Media `ddfefcf`, Tools `0346e
@@ -14,7 +14,7 @@ Source commits: Live `e266060`, Network `1b79576`, Media `ddfefcf`, Tools `0346e
| 4 | [05-realtime-and-jobs.md](05-realtime-and-jobs.md) | WebSocket servers and paths, non-HTTP protocols, background jobs |
| 4 | [05-realtime-and-jobs.md](05-realtime-and-jobs.md) | WebSocket servers and paths, non-HTTP protocols, background jobs |
| 5 | [06-secrets.md](06-secrets.md) | auth mechanisms and secret names (no values) |
| 5 | [06-secrets.md](06-secrets.md) | auth mechanisms and secret names (no values) |
| 6 | [07-ownership.md](07-ownership.md) | current vs target data ownership |
| 6 | [07-ownership.md](07-ownership.md) | current vs target data ownership |
-| 7 | [08-discrepancies.md](08-discrepancies.md) | 114 production-vs-repo items |
+| 7 | [08-discrepancies.md](08-discrepancies.md) | 115 production-vs-repo items |
| 8 | [09-d-status.md](09-d-status.md) | D01-D46 family status from evidence |
| 8 | [09-d-status.md](09-d-status.md) | D01-D46 family status from evidence |
| 9 | [10-hazards.md](10-hazards.md) | 14 hazards with owners, mitigations and waves |
| 9 | [10-hazards.md](10-hazards.md) | 14 hazards with owners, mitigations and waves |
| - | [inventory.json](inventory.json) | everything above, machine-readable |
| - | [inventory.json](inventory.json) | everything above, machine-readable |
@@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
{
{
"generatedFrom": {
"generatedFrom": {
"OpenVibe.Live": "e26606082958f8cf6bb7c4587c225ca09335b5fe",
"OpenVibe.Live": "e26606082958f8cf6bb7c4587c225ca09335b5fe",
- "OpenVibe.Network": "1b79576cb024714e56ae2ccc7728080d3d3e0118",
+ "OpenVibe.Network": "1bc6a52174fc25a8f6f76d6ab72c08c05f3a3122",
"OpenVibe.Media": "ddfefcf47740715f24fe7aa7dea648b4699162fc",
"OpenVibe.Media": "ddfefcf47740715f24fe7aa7dea648b4699162fc",
"OpenVibe.Tools": "0346edc57fb9f588abcdea171a22a5ca33f772d2",
"OpenVibe.Tools": "0346edc57fb9f588abcdea171a22a5ca33f772d2",
"OpenVibe.Community": "d7c6e608d8e27e6ddbfc78a15fa7590036b1dded",
"OpenVibe.Community": "d7c6e608d8e27e6ddbfc78a15fa7590036b1dded",
@@ -5468,10 +5468,10 @@
@@ -5468,10 +5468,10 @@
"service": "network",
"service": "network",
"present": true,
"present": true,
"git": {
"git": {
- "head": "1b79576cb024714e56ae2ccc7728080d3d3e0118",
+ "head": "1bc6a52174fc25a8f6f76d6ab72c08c05f3a3122",
"branch": "main",
"branch": "main",
- "originMain": "1b79576cb024714e56ae2ccc7728080d3d3e0118",
- "committedAt": "2026-09-22T16:11:37-07:00"
+ "originMain": "1bc6a52174fc25a8f6f76d6ab72c08c05f3a3122",
+ "committedAt": "2026-09-22T16:36:13-07:00"
},
},
"sourceFiles": 81,
"sourceFiles": 81,
"loc": 21029,
"loc": 21029,
@@ -14764,9 +14764,9 @@
@@ -14764,9 +14764,9 @@
"inCode": true,
"inCode": true,
"inProd": true,
"inProd": true,
"target": "OpenVibe.Community",
"target": "OpenVibe.Community",
- "disposition": "extract",
- "wave": "W5",
- "note": "Media keeps bytes (screenshots/raw); semantics move to Community."
+ "disposition": "frozen-legacy",
+ "wave": "W5 (done 2026-09-22)",
+ "note": "Community is the paste authority since 2026-09-22; Media answers 410 to paste writes (PASTES_FROZEN_APPS=live) and 301s /p/:slug to Community. Screenshot bytes stay here."
},
},
{
{
"repo": "OpenVibe.Media",
"repo": "OpenVibe.Media",
@@ -14780,9 +14780,9 @@
@@ -14780,9 +14780,9 @@
"inCode": true,
"inCode": true,
"inProd": true,
"inProd": true,
"target": "OpenVibe.Community",
"target": "OpenVibe.Community",
- "disposition": "extract",
- "wave": "W5",
- "note": "Media keeps bytes (screenshots/raw); semantics move to Community."
+ "disposition": "frozen-legacy",
+ "wave": "W5 (done 2026-09-22)",
+ "note": "Community is the paste authority since 2026-09-22; Media answers 410 to paste writes (PASTES_FROZEN_APPS=live) and 301s /p/:slug to Community. Screenshot bytes stay here."
},
},
{
{
"repo": "OpenVibe.Media",
"repo": "OpenVibe.Media",
@@ -14796,9 +14796,9 @@
@@ -14796,9 +14796,9 @@
"inCode": true,
"inCode": true,
"inProd": true,
"inProd": true,
"target": "OpenVibe.Community",
"target": "OpenVibe.Community",
- "disposition": "extract",
- "wave": "W5",
- "note": "Media keeps bytes (screenshots/raw); semantics move to Community."
+ "disposition": "frozen-legacy",
+ "wave": "W5 (done 2026-09-22)",
+ "note": "Community is the paste authority since 2026-09-22; Media answers 410 to paste writes (PASTES_FROZEN_APPS=live) and 301s /p/:slug to Community. Screenshot bytes stay here."
},
},
{
{
"repo": "OpenVibe.Media",
"repo": "OpenVibe.Media",
@@ -19370,6 +19370,12 @@
@@ -19370,6 +19370,12 @@
}
}
],
],
"discrepancies": [
"discrepancies": [
+ {
+ "severity": "medium",
+ "area": "deploy",
+ "subject": "network",
+ "detail": "deployed 1b79576 is 1 commit(s) behind origin/main 1bc6a52"
+ },
{
{
"severity": "low",
"severity": "low",
"area": "database",
"area": "database",
@@ -20065,7 +20071,7 @@
@@ -20065,7 +20071,7 @@
"vendored.copies": "5 repos vendor openvibe-shared (129 files)",
"vendored.copies": "5 repos vendor openvibe-shared (129 files)",
"vendored.divergent": "4 divergent: Community/ov-icons.js, Live/user-card.js, Media/ov-icons.js, Tools/ov-icons.js",
"vendored.divergent": "4 divergent: Community/ov-icons.js, Live/user-card.js, Media/ov-icons.js, Tools/ov-icons.js",
"ci.repos": "4 of 7 scanned repos have .github/workflows",
"ci.repos": "4 of 7 scanned repos have .github/workflows",
- "deploy.drift": "1 service(s) not running origin/main",
+ "deploy.drift": "2 service(s) not running origin/main",
"tests.OpenVibe.Live": "58 test files",
"tests.OpenVibe.Live": "58 test files",
"tables.OpenVibe.Live": "125 tables",
"tables.OpenVibe.Live": "125 tables",
"tables.OpenVibe.Live.target:OpenVibe.Games (import source)": "31 Live tables target OpenVibe.Games (import source)",
"tables.OpenVibe.Live.target:OpenVibe.Games (import source)": "31 Live tables target OpenVibe.Games (import source)",
@@ -20600,7 +20606,7 @@
@@ -20600,7 +20606,7 @@
"metrics": [
"metrics": [
{
{
"key": "deploy.drift",
"key": "deploy.drift",
- "value": "1 service(s) not running origin/main"
+ "value": "2 service(s) not running origin/main"
}
}
],
],
"verified": true
"verified": true
@@ -20786,7 +20792,7 @@
@@ -20786,7 +20792,7 @@
"mitigation": "Deploy or record why each lagging service is held back.",
"mitigation": "Deploy or record why each lagging service is held back.",
"status": "open",
"status": "open",
"check": "deploy-drift",
"check": "deploy-drift",
- "checkResult": "games: deployed 43c11f0 has the same file tree as origin/main 5710287 but a different SHA (pre-rewrite history); reset the checkout so later pulls fast-forward"
+ "checkResult": "network: deployed 1b79576 is 1 commit(s) behind origin/main 1bc6a52; games: deployed 43c11f0 has the same file tree as origin/main 5710287 but a different SHA (pre-rewrite history); reset the checkout so later pulls fast-forward"
},
},
{
{
"id": "H14",
"id": "H14",