{ "repository": "OpenVibers/OpenVibe.Trade", "stage": "alpha", "code": true, "wave": "W19", "plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026)", "runtime": "node 22, express 4, PostgreSQL 18 (openvibe-sdk/db, async) + Valkey 9", "port": 4860, "domain": "openvibe.trade", "scope": "informational only (ADR-025): no custody, no order execution, no escrow, no listings between users, no personalised advice", "contracts": "openvibe-contracts v0.419.0", "sdk": "openvibe-sdk v0.161.0", "shared": "openvibe-shared v4.237.0", "packages": [ "openvibe-contracts v0.419.0", "openvibe-publishing v1.7.0", "openvibe-shared v4.237.0", "openvibe-sdk v0.161.0" ], "capabilities": [ "trade.instrument.resolve", "trade.instrument.manage", "trade.observation.write", "trade.context.read", "trade.context.propose", "trade.watchlist.read", "trade.watchlist.create", "trade.watchlist.update", "trade.watchlist.delete", "trade.alert.read", "trade.alert.create", "trade.alert.delete" ], "capabilitiesRegistered": true, "serviceManifestRegistered": true, "marketDataFeeds": "none configured: the only seeded trade source in OpenVibe.Sources (SEC EDGAR XBRL filings RSS) is disabled there, and it carries filings, not prices; no observation exists until a source states one", "seed": "none (tests create their own instruments; production holds 0 instruments and 0 observations)", "deployed": true, "deployment": "Deployed with `sudo ovhost deploy trade`: unit openvibe-trade on 127.0.0.1:4860 behind nginx; on 2026-09-23 /api/ready answered 200 with status degraded [freshness], which is honest: no feed is configured; Network OAuth client trade and its grants exist; no Events subscription; the database is empty (0 instruments, 0 observations) until editors add instruments. Public at https://openvibe.trade since 2026-10-09, after an independent pre-launch security review whose fixes shipped first; OpenVibe.Sites is deleted (plan T11) and the domain serves the service itself", "placeholderInSites": false, "features": [ "informational only: a route-inventory test refuses any execution, custody or advice endpoint", "instruments with exact, deterministic resolution (CIK, ticker, name)", "observations with required timestamps; no observation, no number", "per-source freshness with stale badges and transition events", "SEC EDGAR filings from Sources matched to instruments", "private watchlists", "threshold, filing-type and new-document alerts (trade.alert.triggered)", "cited editor context; AI drafts need approval; advice refused", "server-rendered pages useful without JavaScript", "/api/v1 by capability", "SDK outbox events and Search index documents", "per-actor limits (openvibe-sdk/limits)" ], "updated": "2026-11-13" }