{"analysis_health":{"reason":"data_stack analytics are delegated to the Mac Mini for execution-only edge runtimes","status":"warn"},"analysis_reason":"controller analytics are delegated to the Mac Mini for execution-only edge runtimes","app":"Money Tree CME Edge","code_version":"7dbbe6a9c0eeac3525eb58759d060697d3341b01","data_stack":{"components":{"event_bus":{"component":"event_bus","enabled":true,"generated_at":"2026-07-04T04:13:04.026747Z","lag":{"lag_state":"ready","num_pending":0,"source":"rust_web_hot_path_default","status":"ready"},"service":"nats","source":"rust_web_runtime_config","status":"ready"},"event_outbox":{"component":"event_outbox","enabled":true,"generated_at":"2026-07-04T04:13:04.026740Z","pending_count":null,"pending_count_is_exact":false,"pending_count_source":"not_collected_on_hot_path","projection_age_seconds":null,"projection_found":true,"projection_updated_at":"2026-07-04T04:13:03.944331Z","published_count":null,"reason":"event_outbox relay is caught up","service":"moneytree-event-outbox-relay","source":"runtime_status_projection","status":"ready"}},"reason":"Rust edge data stack is serving execution-plane health; durable analytics are controller-owned.","status":"ready"},"decision_engine":{"playbook_enablement":{"playbooks":{"intraday_gap":{"enabled":true,"env_key":"MONEYTREE_DECISION_ENABLE_GAP_CONTINUATION","env_override_present":false},"liquid_leader_continuation":{"enabled":true,"env_key":"MONEYTREE_DECISION_ENABLE_LIQUID_LEADER_CONTINUATION","env_override_present":false},"momentum_swing":{"enabled":true,"env_key":"MONEYTREE_DECISION_ENABLE_MOMENTUM_SWING","env_override_present":false},"news_spike_fade_reentry":{"commanded_mode":"observe","enabled":true,"env_key":"MONEYTREE_DECISION_US_NEWS_SPIKE_FADE_REENTRY_ENABLED","env_override_present":false,"mode_env_key":"MONEYTREE_US_NEWS_SPIKE_FADE_REENTRY_MODE","mode_env_override_present":false},"opening_gap_fade_to_vwap":{"commanded_mode":"observe","enabled":true,"env_key":"MONEYTREE_DECISION_OPENING_GAP_FADE_ENABLED","env_override_present":false,"mode_env_key":"MONEYTREE_OPENING_GAP_FADE_MODE","mode_env_override_present":false},"us_gap_reversal_short":{"commanded_mode":"observe","enabled":false,"env_key":"MONEYTREE_DECISION_US_GAP_REVERSAL_SHORT_ENABLED","env_override_present":false,"mode_env_key":"MONEYTREE_US_GAP_REVERSAL_SHORT_MODE","mode_env_override_present":false},"vwap_reversion_reclaim":{"commanded_mode":"observe","enabled":true,"env_key":"MONEYTREE_DECISION_US_VWAP_REVERSION_RECLAIM_ENABLED","env_override_present":false,"mode_env_key":"MONEYTREE_US_VWAP_REVERSION_RECLAIM_MODE","mode_env_override_present":false}},"schema_version":"moneytree.decision_playbook_enablement.v1","source":"moneytree_decision_core::DecisionSettings::from_env"}},"edge_storage_mode":"execution_only_edge","environment":"edge","generated_at":"2026-07-04T04:13:04.023702Z","implementation":"rust","maintenance":{"active":false,"component":"edge_maintenance","detail":"No edge maintenance window is active.","metadata":{"runtime_role":"writer","schema_version":"moneytree.edge_maintenance.runtime.v1","source":"marker_absent","source_path":"/data/runtime/edge-maintenance.json"},"status":"inactive","updated_at":"2026-07-04T04:13:04.025443Z"},"market":"CME","notifications":{"email":{"component":"email","detail":"Sent 1 trade alert(s) for MYM","metadata":{},"source":"runtime_status","status":"ok","updated_at":"2026-05-20T00:35:53.760437Z"}},"probe":true,"role":"writer","runtime":[{"component":"strategy_plan","detail":"Strategy plan is valid.","metadata":{"blocked_candidate_count":32,"candidate_count":32,"entry_freeze_count":1,"entry_freeze_reason":"market_closed","fallback":true,"fallback_reason":"market_closed","fallback_source":"moneytree-controller","input_readiness_reasons":["market_closed"],"input_readiness_status":"ready","market_key":"CME","new_entries_enabled":false,"next_expiry":"2026-07-05T04:12:40.059135693+00:00","operator_entry_status":{"debug":{"entry_freeze_reason":"market_closed","fallback_reason":"market_closed","new_entries_enabled":false,"plan_kind":"fallback_exit_only","validation_reason":"Strategy plan is valid.","validation_status":"ok"},"entry_detail":"The market is closed, so new entries are paused. Exits remain enabled.","entry_headline":"Entries paused: market closed","entry_mode":"entries_paused","entry_reason_code":"market_closed","exit_detail":"StrategyPlan state does not block existing position exits.","exit_headline":"Exits enabled","exit_mode":"enabled"},"plan_age_seconds":23,"plan_id":"cme-7c28a305-8edf-432e-bf92-cc5263a4d3a2","plan_kind":"fallback_exit_only","reference_book_coverage_pct":100.0,"reference_book_fingerprint":"cme-reference-not-required","reference_book_reference_date":"2026-07-04","reference_book_status":"not_required","reference_book_trade_session_date":"2026-07-04","runtime_role":"writer","service":"web","source":"strategy_plan_file","source_path":"/data/strategy_plans/current.json","top_block_reasons":{"market_closed":32},"tradable_count":0,"validation_reason":"Strategy plan is valid.","validation_status":"ok"},"status":"ok","updated_at":"2026-07-04T04:13:04.025271Z"},{"component":"web","detail":"Rust web runtime is serving edge health and dashboard APIs.","metadata":{"event_name":"component.status.observed","implementation":"rust","service":"web"},"status":"ok","updated_at":"2026-07-04T04:13:04.023702Z"},{"component":"postgres","detail":"Edge Postgres reachable.","metadata":{"event_name":"component.status.observed","implementation":"rust","service":"postgres"},"status":"ok","updated_at":"2026-07-04T04:13:04.023702Z"},{"active":false,"component":"edge_maintenance","detail":"No edge maintenance window is active.","metadata":{"runtime_role":"writer","schema_version":"moneytree.edge_maintenance.runtime.v1","source":"marker_absent","source_path":"/data/runtime/edge-maintenance.json"},"status":"inactive","updated_at":"2026-07-04T04:13:04.025443Z"},{"component":"email","detail":"Sent 1 trade alert(s) for MYM","metadata":{},"source":"runtime_status","status":"ok","updated_at":"2026-05-20T00:35:53.760437Z"},{"component":"cme_gateway_config","detail":"CME contract resolution is 2d old (resolved 2026-07-02; budget 7d): 35 roots pinned via Databento continuous .v.0 -> raw contract; expiration known for 35/35, none expired or within 48h of expiry.","metadata":{"basis":"resolution date from the controller-built CME gateway config (continuous .v.0 -> raw contract, pinned until the next config build); per-contract expiration from Databento instrument definitions when the config carries it (configs built before the expiration annotation lack it).","config_path":"/data/market_gateway/cme_futures.json","contracts_total":35,"event_name":"component.status.observed","expiration_known_count":35,"expired_contracts":[],"expiring_contracts":[],"implementation":"rust","resolution_age_days":2,"resolution_date":"2026-07-02","resolution_max_age_days":7,"service":"market_gateway"},"status":"ok","updated_at":"2026-07-04T04:13:04.028799Z"}],"runtime_role":"writer","service":"web","status":"ok","status_reason":"All runtime components report ok","storage":{"edge_storage_mode":"execution_only_edge","filesystem_free_bytes":59377537024,"filesystem_free_human":"55.3GiB","filesystem_path":"/data","filesystem_total_bytes":100077776896,"filesystem_total_human":"93.2GiB","filesystem_used_bytes":40700239872,"filesystem_used_human":"37.9GiB","filesystem_used_pct":40.7,"free_critical_threshold_bytes":10737418240,"free_warning_threshold_bytes":21474836480,"retention_used_bytes":null,"retention_used_source":"not_collected_on_rust_hot_path","status":"ok","status_reason":"Execution-only edge storage has filesystem headroom; durable evidence is controller-owned.","used_pct_critical_threshold":90.0,"used_pct_warning_threshold":80.0,"used_warning_target_met":true},"trading_health":{"last_outage":{"basis":"poll-resolution window from recorded trading-health transitions","duration_seconds":258,"ended_at":"2026-06-25T21:40:50.064261Z","reason":"Writer services are paused for edge hot-store maintenance; public web remains online.","reason_code":"edge_maintenance_active","started_at":"2026-06-25T21:36:32.055054Z","status":"maintenance"},"liveness":{"budgets":{"decision_max_age_seconds":120,"tape_lookback_seconds":180,"thin_tape_max_trade_count_10s":2,"trade_max_age_seconds":120},"decisions":{"decision_count":9760,"latest_decision_age_seconds":71,"latest_decision_at":"2026-07-04T04:11:53.000000Z"},"evaluated_at":"2026-07-04T04:13:04.029099Z","is_open":false,"lane_key":"cme_futures","market":"CME","phase":"closed","reason":"Market phase is closed; open-session liveness budgets are not enforced.","reason_code":"market_not_open","schema_version":"moneytree.trading_liveness.v1","session_key":"2026-07-04","status":"ok","trade_tape":{"latest_snapshot_age_seconds":0,"latest_snapshot_at":"2026-07-04T04:13:03.356931Z","latest_trade_age_seconds":70,"latest_trade_at":"2026-07-04T04:11:53.825561Z","max_trade_count_10s":1,"snapshot_row_count":75,"snapshot_symbol_count":2}},"reason":"All execution-plane runtime components report ok","recent_transitions":[{"at":"2026-06-16T21:26:46.998325Z","from_status":"ok","reason":"Writer services are paused for edge hot-store maintenance; public web remains online.","reason_code":"edge_maintenance_active","to_status":"maintenance"},{"at":"2026-06-16T21:50:06.828504Z","from_status":"maintenance","reason":"All runtime components report ok","reason_code":"market_not_open","to_status":"ok"},{"at":"2026-06-24T10:17:25.099756Z","from_status":"ok","reason":"Edge disk usage is critical (>=90%) — Postgres crash risk; retention/cleanup needed","reason_code":"edge_disk_critical","to_status":"degraded"},{"at":"2026-06-24T12:18:32.593613Z","from_status":"degraded","reason":"All runtime components report ok","reason_code":"trading_liveness_ok","to_status":"ok"},{"at":"2026-06-24T21:15:15.891752Z","from_status":"ok","reason":"Writer services are paused for edge hot-store maintenance; public web remains online.","reason_code":"edge_maintenance_active","to_status":"maintenance"},{"at":"2026-06-24T21:48:36.622430Z","from_status":"maintenance","reason":"All runtime components report ok","reason_code":"market_not_open","to_status":"ok"},{"at":"2026-06-25T21:36:32.055054Z","from_status":"ok","reason":"Writer services are paused for edge hot-store maintenance; public web remains online.","reason_code":"edge_maintenance_active","to_status":"maintenance"},{"at":"2026-06-25T21:40:50.064261Z","from_status":"maintenance","reason":"All runtime components report ok","reason_code":"market_not_open","to_status":"ok"}],"status":"ok","status_since":"2026-06-25T21:40:50.064261Z","transitions_basis":"Transitions are recorded when consecutive /health evaluations disagree on trading-health status, so window boundaries are poll-resolution (the dashboard polls every 30s), not feed-tick-resolution. Bounded ring of the last 48 transitions persisted in runtime_status(trading_health_transitions); a full edge-database outage cannot be recorded while the database is down."},"trading_reason":"All runtime components report ok","us_discovery":null,"variant":"cme"}