Commits
-
Trade: a daily market-wide AI brief (#210)OpenVibers · 7 days ago
88f23c7 -
The sitemaps' instrument list is built once for concurrent readers, 8 at a time, and reused for 10 minutes in production (#206)OpenVibers · 7 days ago
80d673e -
Document TRADEPGLITEDIR in the environment example (#7)OpenVibers · 3 Oct 2026
7b9360a -
T9 READY NOW doc/config fix (#6)OpenVibers · 3 Oct 2026
6ec69d1 -
Trade tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable page appearing, changing or going away pings the engines (its path and the sitemap); drafts, private and noindex pages never; unset, nothing is mounted or sent. A home-page performance budget runs in CI where there was none. Tests green (verified).OpenVibers · 29 Sept 2026
6b255e5 -
The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its lockfile entries, and docs, docstrings and STATUS lines about SQLite or its rollback window. Reviewed independently before shipping. npm test 13/13 test files passed.OpenVibers · 29 Sept 2026
5e1dcb4 -
Trade moves to PostgreSQL and Valkey (ADR-035, roadmap WS-X2, repository-pass group G1), async from end to end.OpenVibers · 28 Sept 2026
e140fcb -
Per-actor rate limits on Trade's /api/v1 and its watchlist, alert and editor forms (roadmap WS-R task 4, openvibe-sdk v0.12.0 limits). server/http/actor-limits.js makes one limiter per app and counts requests once req.viewer is resolved and a route's capability guard (for a form, the session and form token) passed, before any work. A person counts as user:usr_…, whether they use their own token or cookie, a first-party service names them in X-OV-Subject, or an app acts for them through on_behalf_of. A service or app acting as itself, such as a feed or OpenVibe.AI, counts by its principal; anyone else by address. Past a limit a route answers 429 problem+json rate_limited with Retry-After, logs one line and counts trade_rate_limited_total{limit,window}.OpenVibers · 28 Sept 2026
4658447 -
Staff powers from the contracts staff map (WS-D, ADR-022; Contracts 0.38.0): editors are staff.editorial.manage (admin, as before) or TRADE_EDITORS (the product's own role), not a role comparison. test/staff-map.test.js fails on raw role checksOpenVibers · 24 Sept 2026
d825075 -
README (purpose, owns, does not own, depends on, acceptance, launch rule, threat review), STATUS alpha W19, .env.example, deploy (systemd unit, nginx vhost on 4860), CI on Node 22.22.1 (contracts check continue-on-error until release), capability and service manifest proposals, the marketplace open question (ADR-025)OpenVibers · 23 Sept 2026
2a9f446