openvibers/openvibe.tips STATUS.json
STATUS.json
| 1 | { |
| 2 | "repository": "OpenVibers/OpenVibe.Tips", |
| 3 | "stage": "alpha", |
| 4 | "code": true, |
| 5 | "wave": "W9", |
| 6 | "plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026)", |
| 7 | "adr": "ADR-012", |
| 8 | "authoritative": false, |
| 9 | "deployed": true, |
| 10 | "deployment": "Launched 2026-10-17 at https://openvibe.tips (openvibe-contracts 0.200.0 made Tips live; vhost deploy/nginx/openvibe.tips.conf installed): deployed with `sudo ovhost deploy tips`, /opt/openvibe.tips, unit openvibe-tips, 127.0.0.1:4610 behind nginx. Principal tips; Events subscriptions billing.transaction.* and billing.receipt.* -> /internal/events; TIPS_CHAT_ADAPTER=chat (chat lines and alerts through OpenVibe.Chat). OpenVibe.Live subscribes to tips.interaction.ready for its channel goal and tip history. TIPS_POWERCHAT_LINK_TEMPLATE turns Billing's pcorder: ref into PowerChat's canonical tip link on the site account (since 2026-10-17).", |
| 11 | "database": "PostgreSQL 18 through PgBouncer (transaction mode) as the system of record, Valkey 9 for shared state (per-actor limits, overlay fan-out, overlay stream slots), ADR-035: database ov_tips from OpenVibe.Host's data role, schema in migrations/ (0001_initial expand, 0002_drop_legacy_import contract), async on openvibe-sdk/db v0.28.0, money paths serializable with row locks, PostgreSQL outbox and inbox.", |
| 12 | "contracts": "openvibe-contracts v0.419.0", |
| 13 | "sdk": "openvibe-sdk v0.161.0", |
| 14 | "shared": "openvibe-shared v4.235.0", |
| 15 | "notes": "Runtime, API, SSR pages, overlays, the Billing settlement consumer and the events outbox are built, tested and deployed, together with /metrics (loopback only), truthful /api/ready (Billing and Events checks), supporter privacy (anonymous, hidden amount, private message), goal and supporter-page settings, export and erasure (tips.interaction.erased), moderation (word filter, hide/show, invited moderators, tips.interaction.moderated) and per-actor limits. Capabilities (18 tips.*) and payload schemas are in openvibe-contracts. Billing is the money ledger since the cutover (2026-10-17). A written internal threat review (docs/threat-review.md) with its fixes and test/security.test.js. Paid sounds (creators upload up to 12, supporters pay to play one on the overlay) since 2026-10-17. Not done: an independent security review.", |
| 16 | "features": [ |
| 17 | "tips, paid messages, TTS and media requests settled by OpenVibe.Billing (never Tips' own money)", |
| 18 | "paid sounds: creators upload up to 12 sounds, supporters pay to play one on the overlay, chat names it", |
| 19 | "goals counted from settled payments only", |
| 20 | "overlays with revocable scoped tokens and replay without recharging", |
| 21 | "EXTERNAL PowerChat tips from billing.receipt.external", |
| 22 | "supporter privacy, export and erasure", |
| 23 | "moderation: word filter, hide and show, invited moderators", |
| 24 | "OpenVibe.Chat delivery adapter (typed ingress)", |
| 25 | "server-rendered creator pages useful without JavaScript", |
| 26 | "/api/v1 by capability", |
| 27 | "per-actor limits (openvibe-sdk/limits)", |
| 28 | "PostgreSQL + Valkey data tier (ADR-035): serializable money paths, leased background work, shared limits and overlay fan-out", |
| 29 | "SDK outbox and inbox on PostgreSQL", |
| 30 | "Billing client on openvibe-sdk/commerce (shared with VIP): same capabilities, idempotency keys and retry rule" |
| 31 | ], |
| 32 | "updated": "2026-11-13" |
| 33 | } |
| 34 |