From 9bace6932e8ebc4825dcf267add02f02508c9460 Mon Sep 17 00:00:00 2001 From: dirtydishes Date: Tue, 5 May 2026 02:58:08 -0400 Subject: [PATCH] Document event calendar env config --- .beads/issues.jsonl | 1 + .env.example | 8 ++++++++ README.md | 4 ++++ deployment/docker/.env.example | 4 ++++ deployment/npm/.env.example | 4 ++++ 5 files changed, 21 insertions(+) diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 74fca47..465b525 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -10,3 +10,4 @@ {"_type":"issue","id":"islandflow-zs0","title":"Migrate terminal UI to smart-money profiles","description":"Migrate apps/web terminal rendering to consume SmartMoneyEvent directly: primary profile, probability ladder, reason codes, and suppression/abstention state, while preserving legacy alert/classifier displays during the bridge.","status":"closed","priority":2,"issue_type":"task","owner":"dishes@dpdrm.com","created_at":"2026-05-04T21:35:23Z","created_by":"dirtydishes","updated_at":"2026-05-05T05:39:58Z","closed_at":"2026-05-05T05:39:58Z","close_reason":"Completed terminal smart-money profile migration","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-igk","title":"Add plan mode","description":"Implement a user-facing plan mode in the application so users can switch into planning before taking action. Scope to be clarified from existing app patterns.","status":"closed","priority":2,"issue_type":"feature","owner":"dishes@dpdrm.com","created_at":"2026-05-04T04:22:37Z","created_by":"dirtydishes","updated_at":"2026-05-04T04:26:18Z","started_at":"2026-05-04T04:22:40Z","closed_at":"2026-05-04T04:26:18Z","close_reason":"Implemented as a global pi extension toggled with Shift+P","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-biq","title":"Finish raw live options delivery and filter/backpressure observability","description":"The smart-money signal path and Tape filters are in place, but the next firehose pass should finish server-side selective raw live delivery for options subscriptions and add explicit filtered-out/backpressure observability for API/web counters. This was discovered while landing islandflow-e4r.\n","status":"in_progress","priority":2,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-04-28T20:28:58Z","created_by":"dirtydishes","updated_at":"2026-04-29T03:54:12Z","started_at":"2026-04-29T03:54:12Z","dependencies":[{"issue_id":"islandflow-biq","depends_on_id":"islandflow-e4r","type":"discovered-from","created_at":"2026-04-28T16:28:58Z","created_by":"dirtydishes","metadata":"{}"}],"dependency_count":0,"dependent_count":0,"comment_count":0} +{"_type":"issue","id":"islandflow-575","title":"Document smart-money event calendar env","description":"Document smart-money event-calendar environment configuration in env examples and README.\n","status":"closed","priority":3,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-05T06:57:14Z","created_by":"dirtydishes","updated_at":"2026-05-05T06:57:57Z","started_at":"2026-05-05T06:57:17Z","closed_at":"2026-05-05T06:57:57Z","close_reason":"Documented event-calendar env variables","dependency_count":0,"dependent_count":0,"comment_count":0} diff --git a/.env.example b/.env.example index 8a9ead7..4ee3924 100644 --- a/.env.example +++ b/.env.example @@ -79,6 +79,14 @@ CLASSIFIER_0DTE_MAX_ATM_PCT=0.01 CLASSIFIER_0DTE_MIN_PREMIUM=20000 CLASSIFIER_0DTE_MIN_SIZE=400 +# Smart money refdata +# Optional JSON event-calendar file used by compute for event-driven profile enrichment. +# Example row: +# [{"symbol":"AAPL","event_date":"2025-01-31T21:00:00Z","event_kind":"earnings","announced_ts":"2024-12-20T21:00:00Z"}] +SMART_MONEY_EVENT_CALENDAR_PATH= +# Refdata service also accepts REFDATA_EVENT_CALENDAR_PATH; if unset it falls back to SMART_MONEY_EVENT_CALENDAR_PATH. +REFDATA_EVENT_CALENDAR_PATH= + # Replay service REPLAY_ENABLED=false REPLAY_STREAMS=options,nbbo,equities,equity-quotes diff --git a/README.md b/README.md index b5720fa..3372006 100644 --- a/README.md +++ b/README.md @@ -239,6 +239,10 @@ Default `smart-money` policy rejects lower-information prints and keeps high-con | `CLASSIFIER_0DTE_MAX_ATM_PCT` | `0.01` | Max distance-from-ATM to qualify as near-ATM 0DTE event. | | `CLASSIFIER_0DTE_MIN_PREMIUM` | `20000` | Minimum premium for 0DTE classifier events. | | `CLASSIFIER_0DTE_MIN_SIZE` | `400` | Minimum size for 0DTE classifier events. | +| `SMART_MONEY_EVENT_CALENDAR_PATH` | empty | Optional JSON event-calendar file used by compute to enrich event-driven smart-money profile features. | +| `REFDATA_EVENT_CALENDAR_PATH` | empty | Optional JSON event-calendar file for refdata service startup validation; falls back to `SMART_MONEY_EVENT_CALENDAR_PATH` when unset. | + +Event-calendar rows may use `symbol`, `underlying`, or `underlying_id`; `event_date`, `event_time`, or `event_ts`; and `announced_ts`, `available_ts`, `as_of_ts`, or `created_ts`. Compute only uses events already available at the packet timestamp, so missing or unavailable rows leave event-alignment features as neutral `null` values. ### Candle service configuration diff --git a/deployment/docker/.env.example b/deployment/docker/.env.example index e8359f8..2dd4b0e 100644 --- a/deployment/docker/.env.example +++ b/deployment/docker/.env.example @@ -96,6 +96,10 @@ CLASSIFIER_0DTE_MAX_ATM_PCT=0.01 CLASSIFIER_0DTE_MIN_PREMIUM=20000 CLASSIFIER_0DTE_MIN_SIZE=400 +# Smart money refdata +SMART_MONEY_EVENT_CALENDAR_PATH= +REFDATA_EVENT_CALENDAR_PATH= + # Candles CANDLE_INTERVALS_MS=60000,300000 CANDLE_MAX_LATE_MS=0 diff --git a/deployment/npm/.env.example b/deployment/npm/.env.example index 7377d75..d123359 100644 --- a/deployment/npm/.env.example +++ b/deployment/npm/.env.example @@ -2,3 +2,7 @@ TZ=Etc/UTC NPM_ADMIN_BIND_IP=100.87.130.79 NPM_EDGE_NETWORK=nextcloud_edge NPM_SHARED_NETWORK=npm-shared + +# Smart money refdata +SMART_MONEY_EVENT_CALENDAR_PATH= +REFDATA_EVENT_CALENDAR_PATH=