§1 — Santé
état du collecteur · source = endpoint /health
| Métrique | Valeur | Source | C'est quoi |
|---|---|---|---|
| État | ok | /health · status | État global du collecteur : ok si tout tourne, degraded si data fresh ou fenêtre active manquent. |
| Uptime | 6d 14h | /health · uptime_s | Temps écoulé depuis le démarrage du process collecteur. |
| Fenêtres actives | 1 | /health · n_active_windows | Combien de fenêtres BTC Up/Down Limitless sont en cours de capture maintenant (1 en steady state). |
| Fenêtre courante détectée | oui | /health · has_active_window | Le collecteur a-t-il identifié une fenêtre Limitless ouverte ? Non = pas de marché live (anomalie hors transition). |
| Âge dernier event | 0.8s | /health · last_event_age_s | Fraîcheur du dernier event WS reçu (book/bba/oracle). Doit rester < 5 s sur un marché liquide. |
| Dernière fenêtre consolidée | 1784062200 (2026-07-14 20:50:00 UTC) | /health · last_consolidated_window_ts | Timestamp UTC de la dernière fenêtre 5min flushée sur disque. |
| Total consolidées | 10,684 | /health · n_consolidated | Compteur cumulatif de fenêtres consolidées depuis le boot. |
| Ring oracle | 1500 | /health · oracle_ring_len | Taille du ring buffer des ticks Chainlink Data Streams gardés en mémoire (sert au close/strike de la fenêtre). |
§2 — Fenêtre courante
méta du marché Limitless en cours · source = endpoint /api/window/current
Identifiants & timing
slug · condition_id · start/end_ts · strike · countdown| Métrique | Valeur | Source | C'est quoi |
|---|---|---|---|
| window_ts | 1784062500 (2026-07-14 20:55:00 UTC) | /api/window/current · window_ts | Bucket UTC 5min canonique ((unix_ts // 300) * 300), dérivé de startAt. Clé de jointure avec le PM-Window (arbitrage cross-venue). |
| slug | btc-up-or-down-5-min-1784062500 | /api/window/current · meta.slug | Slug Limitless du marché (btc-up-or-down-5-min-{ms}). N'est PAS le window_ts. |
| title | BTC Up or Down - 5 Min | /api/window/current · meta.title | Énoncé humain du marché Limitless tel qu'affiché. |
| start_ts → end_ts | 2026-07-14 20:55:00 UTC → 2026-07-14 21:00:00 UTC | /api/window/current · meta.start_ts / end_ts | Bornes UTC de la fenêtre 5min. |
| Elapsed / Countdown | +78s / 222s | dérivé · now − start_ts / end_ts − now | Temps écoulé depuis le début et temps restant jusqu'à la résolution. |
| strike (openPrice) | — | /api/window/current · meta.strike | Prix Chainlink officiel capturé à startAt (metadata.openPrice). Up gagne si le close > strike. |
| condition_id | 0x652e5d…0520948b | /api/window/current · meta.condition_id | Identifiant on-chain du marché Limitless (Base). |
| Fenêtres actives (liste) | 1784062500 | /api/window/current · active_windows | Liste des window_ts en cours de capture (≥1 pendant transitions de fenêtre). |
Marché — YES = Up / NO = Down
un seul book réel (YES) · Down dérivé par miroir (1−price) · mids courants · compteurs d'events| Métrique | Valeur | Source | C'est quoi |
|---|---|---|---|
| yes_token_id (Up) | 61424788…01961612 | /api/window/current · meta.yes_token_id | Token de la position YES (= Up). winningIndex 0 → Up. |
| no_token_id (Down) | 89595914…55621038 | /api/window/current · meta.no_token_id | Token de la position NO (= Down). winningIndex 1 → Down. |
| up_mid | 0.5100 | /api/window/current · current_mid.up | Mid-price courant de l'outcome Up (YES réel, entre 0 et 1 = proba implicite). |
| down_mid | 0.4900 | /api/window/current · current_mid.down | Mid-price courant de l'outcome Down (= 1 − up_mid, miroir). |
| n_events book | 88 | /api/window/current · counts.book | Nombre de snapshots orderbookUpdate (YES) capturés sur cette fenêtre (dedup sur version). |
| n_events bba | 88 | /api/window/current · counts.bba | Nombre de best_bid_ask dérivés du book sur cette fenêtre. |
| n events trades | n/a | — (canal auth-only) | Limitless n'expose pas de flux trades public → colonnes trades NULL/0 (différence légitime vs PM-Window). |
| oracle ring | 1,500 | /api/window/current · counts.oracle_ring | Ticks Chainlink Data Streams (spot live) gardés en mémoire pour close/strike. |
§3 — Carnet courant
top-of-book Up (YES réel) & Down (miroir) · source = endpoint /api/book/current
Top-of-book Up & Down
window_ts = 1784062500 · le Down est le miroir du YES (bid↔ask inversés, prix 1−p)| Outcome | best_bid | best_ask | mid | spread | n_bid | n_ask | C'est quoi |
|---|---|---|---|---|---|---|---|
| UP (YES) | 0.0500 | 0.9700 | 0.5100 | 0.9200 | 2 | 2 | Top-of-book RÉEL de l'outcome Up (book YES Limitless). Mid = (best_bid + best_ask) / 2. |
| DOWN (miroir) | 0.0300 | 0.9500 | 0.4900 | 0.9200 | 2 | 2 | Dérivé par miroir du YES : bid_down = 1 − ask_up, ask_down = 1 − bid_up. Pas un carnet NO réel. |
§4 — Latence par source
emit_ts → recv_ts (ms) · agrégats p50/p99/max + dedup · source = endpoint /api/latency
Latence émission → réception
par feed Socket.IO (book/bba/oracle/resolved) · n_dedup = copies redondantes éliminéesℹ️ Latence pas encore instrumentée sur les sources Limitless (v1). L'agrégateur existe (mêmes p50/p99/max/dedup par feed que le PM-Window) ; il se peuplera dès que limitless_ws_market appellera record_message_latency. /api/latency renvoie {} en attendant.
§5 — Écriture & flux JSONL
writers append-only · source = endpoint /api/writers
JSONL par flux
n_lines = lignes écrites depuis le boot · n_errors doit rester à 0 (sinon = perte disque) · pas detrade.jsonl (canal absent)
| Fichier | n_lines | n_errors | Source | C'est quoi |
|---|---|---|---|---|
book.jsonl |
677,950 | 0 | /api/writers · book | Snapshots orderbookUpdate (YES) capturés sur la fenêtre courante (dedup sur version). |
bba.jsonl |
677,950 | 0 | /api/writers · bba | Best bid/ask dérivé du book YES (Limitless n'a pas d'event BBA natif). |
oracle.jsonl |
623,867 | 0 | /api/writers · oracle | Ticks oraclePriceData — spot Chainlink Data Streams BTC/USD live (~2/s). |
resolved.jsonl |
1,905 | 0 | /api/writers · resolved | Events marketResolved filtrés BTC 5min (un par fenêtre résolue). |
health.jsonl |
19,044 | 0 | /api/writers · health | Snapshots /health du collecteur écrits périodiquement (audit). |
latency.jsonl |
0 | 0 | /api/writers · latency | Snapshots /api/latency écrits périodiquement (audit fraîcheur). |
OBT markets.parquet
best-effort lecture pyarrow lazy · schéma v6 91 cols IDENTIQUE au PM-Window (concat direct) · /root/collectors/limitless-window/data/markets.parquet
| Métrique | Valeur | Source | C'est quoi |
|---|---|---|---|
| Fichier présent | oui | os.stat | Le fichier OBT consolidé est-il visible sur disque ? |
| Dernière modification | 2026-07-14 20:55:14 UTC (il y a 1m 3s) | os.stat · st_mtime | Horodatage du dernier flush par le collecteur (~1 toutes les 5min en steady state). |
| n_rows | 10,684 | pyarrow · metadata.num_rows | Nombre total de lignes dans l'OBT v6 91 cols (1 ligne par fenêtre consolidée). |
| Taille fichier | 2.4 MB | os.stat · st_size | Empreinte disque du parquet consolidé. |