{
    "ok":  true,
    "product":  "Strategy Arena Lab",
    "channel":  "beta",
    "current_version":  "0.1.0-beta",
    "minimum_version":  "0.1.0-beta",
    "recommended_version":  "0.1.0-beta",
    "release_build":  "20260703-sma-ma-price-native-signal",
    "build_id":  "20260703-sma-ma-price-native-signal",
    "update_required":  false,
    "download_url":  "https://strategyarena.io/download",
    "changelog_url":  "https://strategyarena.io/desktop-demo",
    "docs_url":  "https://strategyarena.io/tradingview-pine-script-to-cuda",
    "release_notes":  [
                          "Native ADX Trend Strength signal CUDA added: Strategy Arena generated EMA regime plus ADX(length,smoothing) trend-strength filters now compute EMA and ADX signal vectors on GPU through cuda_adx_trend_strength_native_signal_sweep_v1 before shared metrics, making another Strategy Arena-owned Operator family native instead of staged.",
                          "Native Volume Liquidity signal CUDA added: Strategy Arena generated EMA regime plus volume \u003e SMA(volume,n) filters now compute EMA and volume-SMA signal vectors on GPU through cuda_volume_liquidity_native_signal_sweep_v1 before shared metrics, so the Lab keeps the real ArenaScript strategy instead of simplifying it to EMA only.",
                          "Native ALMA Cross signal CUDA added: Strategy Arena generated ALMA fast/slow regimes and pure Pine ta.alma crossover/crossunder gates now compute Arnaud Legoux moving-average signals on GPU through cuda_alma_cross_native_signal_sweep_v1, while ALMA composites with extra filters stay staged until fused kernels land.",
                          "Native HMA Cross signal CUDA added: Strategy Arena generated HMA fast/slow regimes and pure Pine ta.hma crossover/crossunder gates now compute Hull moving-average signals on GPU through cuda_hma_cross_native_signal_sweep_v1, while HMA composites with extra filters stay staged until fused kernels land.",
                          "Native Donchian signal CUDA added: pure previous-channel breakout/breakdown gates now compute range signals on GPU through cuda_donchian_native_signal_sweep_v1, while Donchian strategies with EMA/regime filters stay staged until fused kernels land.",
                          "Native ATR signal CUDA added: pure previous-close ATR breakout/breakdown gates now compute volatility signals on GPU through cuda_atr_native_signal_sweep_v1, while ATR strategies with EMA/regime filters stay staged until fused kernels land.",
                          "Native VWMA Cross signal CUDA added: pure ta.vwma(close, fast) / ta.vwma(close, slow) crossover and crossunder gates now route through cuda_vwma_cross_native_signal_sweep_v1, while composite VWMA/HMA/regime strategies stay staged until fused kernels land.",
                          "Parabolic SAR close-vs-stop gates now have a native CUDA signal path: pure PSAR(start, increment, max) gates compute their stop-and-reverse signal vector on GPU through cuda_parabolic_sar_native_signal_sweep_v1, while PSAR strategies with EMA filters stay staged until fused kernels land.",
                          "VWAP close-vs-volume-weighted-price gates now have a native CUDA signal path: pure VWAP() gates compute their volume-weighted price signal vector on GPU through cuda_vwap_native_signal_sweep_v1, while VWAP trend strategies with EMA filters stay staged until fused kernels land.",
                          "Linear Regression close-vs-line gates now have a native CUDA signal path: pure LINREG(length, offset) gates compute their regression signal vector on GPU through cuda_linear_regression_native_signal_sweep_v1, while trend strategies with EMA filters stay staged until fused kernels land.",
                          "SuperTrend close-vs-envelope gates now have a native CUDA signal path: pure SUPERTREND_LOWER/SUPERTREND_UPPER gates compute their ATR envelope signal vector on GPU through cuda_supertrend_native_signal_sweep_v1, while regime strategies with EMA filters stay staged until fused kernels land.",
                          "Keltner close-vs-channel gates now have a native CUDA signal path: pure KC_LOWER/KC_UPPER gates compute their EMA+ATR envelope signal vector on GPU through cuda_keltner_native_signal_sweep_v1, while channel strategies with EMA regime filters stay staged until fused kernels land.",
                          "Bollinger close-vs-band gates now have a native CUDA signal path: pure BB_LOWER/BB_UPPER gates compute their signal vector on GPU through cuda_bollinger_native_signal_sweep_v1, while band strategies with EMA regime filters stay staged until fused kernels land.",
                          "CCI threshold gates now have a native CUDA signal path: pure CCI(length) gates compute Commodity Channel Index signals on GPU through cuda_cci_native_signal_sweep_v1, while CCI/MFI/Williams/Stochastic/ROC strategies with EMA regime filters stay staged until fused kernels land.",
                          "MFI threshold gates now have a native CUDA signal path: pure MFI(length) gates compute volume-weighted money-flow signals on GPU through cuda_mfi_money_flow_native_signal_sweep_v1, while MFI/Williams/Stochastic/ROC strategies with EMA regime filters stay staged until fused kernels land.",
                          "Williams %R threshold gates now have a native CUDA signal path: pure WPR(length) gates compute oscillator signals on GPU through cuda_williams_r_native_signal_sweep_v1, while Williams/Stochastic/ROC strategies with EMA regime filters stay staged until fused kernels land.",
                          "Desktop Pine compatibility fallback now classifies WMA cross imports as a native CUDA WMA signal path, matching the Rust engine report even before the native Tauri command returns.",
                          "Pine compatibility diagnostics now label WMA crossover/crossunder imports as native CUDA WMA signal paths, while keeping RSI confirmations explicit in the ArenaScript plan and Lab Report matrix.",
                          "CUDA routing now preserves imported RSI confirmation filters on SMA, EMA and WMA cross/trend strategies, so Strategy Arena Lab computes the same filtered ArenaScript plan on GPU instead of benchmarking a simplified moving-average signal.",
                          "Strategy Arena Lab now generates and imports a native ADX trend-strength family, mapping ta.dmi(length, smoothing) ADX gates into ArenaScript CPU/CUDA research as another Strategy Arena-owned trend filter.",
                          "Strategy Arena Lab now generates and imports a native Williams %R mean-reversion family, mapping ta.wpr threshold gates into ArenaScript CPU/CUDA research as another Strategy Arena-owned pullback strategy.",
                          "Strategy Arena Lab now generates and imports ROC momentum, routes pure ta.roc threshold gates through a native CUDA signal path, and keeps EMA-filtered ROC strategies on staged full-plan evaluation.",
                          "Strategy Arena Lab now generates and imports a native CCI mean-reversion family, mapping ta.cci threshold gates into ArenaScript CPU/CUDA research as another Strategy Arena-owned strategy source.",
                          "Pine compatibility diagnostics now explicitly reject TradingView runtime and broker-state features such as request.financial, strategy.order/risk, barstate/timeframe helpers, tables, drawings and alerts, keeping Strategy Arena Lab positioned as its own ArenaScript generation and backtest engine.",
                          "Donchian channelLength now participates in local parameter sweeps, so Strategy Arena generated Donchian Breakout plans optimize the real range window instead of only backtesting the default.",
                          "Pine import now accepts inline Donchian breakout gates such as close \u003e ta.highest(high, length)[1] and close \u003c ta.lowest(low, length)[1], including strategy.entry when= expressions, while still compiling into Strategy Arena ArenaScript.",
                          "Strategy Arena Lab now generates a native Donchian Breakout family, exports a long/short Pine bridge with ta.highest(high, length)[1] and ta.lowest(low, length)[1], re-imports it into ArenaScript, then backtests the range breakout locally.",
                          "Strategy Arena Lab now generates a native ATR Breakout family, exports it to Pine for chart review, re-imports it into ArenaScript, then backtests the ATR volatility gate locally.",
                          "Pine import now accepts ta.atr(length) volatility breakout gates such as close \u003e close[1] + ATR * multiplier and close \u003c close[1] - ATR * multiplier, turning common breakout scripts into ArenaScript CPU backtests and staged CUDA Lab Reports.",
                          "Pine import now accepts ta.bb(close, length, multiplier) upper/lower band gates, compiling common Bollinger mean-reversion and breakout scripts into ArenaScript CPU backtests and staged CUDA Lab Reports.",
                          "Pine import now accepts volume \u003e SMA(volume, n) and volume \u003c SMA(volume, n) liquidity gates, compiling common volume-confirmed Pine strategies into ArenaScript CPU backtests and native EMA+volume CUDA Lab Reports.",
                          "Pine import now accepts close \u003e EMA/SMA and close \u003c EMA/SMA price filters, compiling common price-vs-average scripts into ArenaScript CPU backtests instead of rejecting them as TradingView-only patterns.",
                          "Desktop anonymous launch tracking now connects the public download funnel to the first app boot before account pairing, preserving desktop_funnel_id through pairing, Lab Report sync, pricing and checkout.",
                          "Strategy Arena generated MACD + RSI Pullback sweeps now advertise the dedicated cuda_macd_rsi_pullback_native_signal_sweep_v1 profile, making Operator Lab Reports clearer when native ArenaScript strategies use composed MACD and RSI kernels.",
                          "Pine import now preserves the actual RSI comparator in strategy.entry when=ta.crossover/ta.crossunder combinations, so both RSI \u003c threshold mean-reversion filters and RSI \u003e threshold momentum filters roundtrip into ArenaScript correctly.",
                          "Pine import now accepts strategy.entry when=ta.crossover/ta.crossunder with inline SMA or EMA operands plus RSI confirmation filters, turning more real Pine ideas into Strategy Arena ArenaScript research plans.",
                          "Strategy Arena Lab now generates a native MACD + RSI Pullback family, preserves the combo through Pine export/import, then backtests and sweeps it locally before chart review.",
                          "Pine import now accepts inline ta.sma(close, fast) and ta.ema(close, fast) operands inside strategy.entry when=ta.crossover/ta.crossunder calls, so more real scripts compile directly into ArenaScript plans.",
                          "Desktop funnel tracking now carries a stable desktop_funnel_id from app launch through pairing, Lab Report sync, pricing clicks and checkout attribution.",
                          "CUDA benchmark now exposes heavier 50k and 100k Operator replay profiles, tagging GPU Arena submissions with pine_cuda_operator_replay_v2 when the local workload reaches Operator scale.",
                          "Lab Report upgrade prompts now react to the current proof, showing Free proof ready, Builder report history value, Operator scaling value, and pricing links tagged with build and report mode.",
                          "Pine compatibility in the desktop fallback path is now aligned with the Rust engine matrix, including strategy.entry when=, crossunder, generic input(...), close-only source aliases and explicit non-close source rejection.",
                          "Strategy Arena Lab now generates a native Dual EMA Regime family with both long and short entries, exports both sides to Pine, and roundtrips back into ArenaScript CPU/CUDA research.",
                          "Pine import now accepts direct strategy.entry(..., when=ta.crossover(...)) and strategy.entry(..., when=ta.crossunder(...)) calls, including nested Pine call arguments, while still compiling into Strategy Arena\u0027s own ArenaScript plan.",
                          "Parameter sweeps now compute a robust quality score per variant and keep best_by_score alongside best_by_pnl, helping Operator choose strategies that are not just peak-PnL curve fits.",
                          "The native ArenaScript generator now creates 29 backtestable Strategy Arena families, including SMA+RSI breakout, MACD+RSI pullback, ATR breakout, Donchian breakout, WMA Cross, HMA Cross, ALMA Cross, VWMA Cross, Stochastic mean reversion, CCI mean reversion, ROC momentum, Williams %R mean reversion, ADX trend strength, MFI mean reversion, RSI mean reversion and short EMA+RSI candidates with CPU sweep parameters.",
                          "Lab Reports now preserve Strategy Arena generation provenance and a desktop conversion trail from generation to CPU/CUDA, JSON export, sync, pricing and TradingView clicks.",
                          "Strategy Arena Lab now includes a native ArenaScript strategy generator: the desktop can create deterministic SMA/EMA/RSI/MACD/Stochastic/CCI/ROC/WilliamsR/ADX/Bollinger/ATR/Donchian research plans locally, export a Pine-compatible bridge, then run CPU/CUDA and Lab Reports.",
                          "Pine import now accepts parenthesized EMA/RSI conditions such as (fastEma \u003e slowEma) and (rsiValue \u003c rsiThreshold), improving compatibility with real strategy snippets while still compiling into ArenaScript.",
                          "Pine import now accepts legacy numeric input(...) declarations such as input(8, \"fast\", minval=5, maxval=13), converting them into ArenaScript sweep parameters alongside input.int and input.float.",
                          "Pine import now accepts named input.source aliases such as src = input.source(defval=close, title=\"Source\"), keeping Strategy Arena\u0027s close-only bridge compatible with more TradingView-style scripts.",
                          "Pine import now resolves parameterized timeout exits such as timeoutBars = input.int(40, ...) followed by bar_index - entryBar \u003e= timeoutBars, so local sweeps can tune exit duration inside ArenaScript.",
                          "Pine import now accepts strategy.exit multipliers based directly on strategy.position_avg_price, including spaced arguments such as limit = strategy.position_avg_price * 1.04 and stop = strategy.position_avg_price * 0.98.",
                          "Pine import now accepts direct if signal expressions such as if ta.crossover(fastSma, slowSma) and if fastEma \u003e slowEma and rsiValue \u003c rsiThreshold, so real TradingView-style scripts no longer need a separate longSignal assignment before becoming ArenaScript research plans.",
                          "Pine import now accepts named input arguments such as input.int(defval=8, title=\"Fast\", minval=5, maxval=50), improving compatibility with real TradingView-style scripts while still compiling into Strategy Arena\u0027s own ArenaScript plan.",
                          "CUDA sweep reports now expose native signal-family backend labels for EMA, RSI, EMA+RSI, MACD+RSI and MACD workloads, making Lab Reports clearer about which GPU path was exercised.",
                          "Backtest Desk can now sync the current Lab Report to the private My Lab Reports web library from the desktop app, using the paired Strategy Arena account token.",
                          "Strategy Arena Lab now exposes the Rust engine compatibility report in the Backtest Desk and Lab Report JSON, so supported, partial and rejected Pine features are explained by the engine instead of static copy.",
                          "ArenaScript sweeps can now tune exit controls such as takeProfitPct, stopLossPct and timeoutBars, moving the desktop toward full Strategy Arena strategy generation rather than a TradingView extension.",
                          "The public Windows beta is now positioned as Strategy Arena Lab, the local research cockpit for Pine Script, ArenaScript, CPU/CUDA benchmarks and Lab Reports.",
                          "Backtest Desk now guards CPU/CUDA, batch, sweep and benchmark actions against double-clicks while a local job is running.",
                          "Backtest Desk now applies explicit native job timeouts so a stalled CUDA/Tauri bridge returns a clear status instead of leaving the app looking blocked.",
                          "CUDA benchmark mode now replays the deterministic Pine parameter grid up to the requested workload size, so GPU Arena scores can be measured on real 1k/10k+ desktop workloads even when the script has a small native grid.",
                          "GPU Arena submissions now include the Pine strategy name, benchmark sizes, replay marker and bars processed for clearer public leaderboard provenance.",
                          "TradingView desktop funnel links are now wired from the native app with source-level attribution for Pine import, report export and CUDA benchmark actions.",
                          "Backtest Desk now includes a Pine compatibility matrix so beta testers know which Pine subset is supported, partial or rejected before running local CUDA checks.",
                          "GPU Arena submission is now visible in the Backtest benchmark strip, with clear states before, during and after score upload.",
                          "Desktop reports now include an Open folder action so beta testers can jump straight to saved Pine/CUDA JSON artifacts from the app.",
                          "Desktop account and release checks now classify network, Cloudflare, auth and revoked-session failures and include the last network state in diagnostics exports.",
                          "ArenaScript CUDA now routes MACD \u003e SIGNAL Pine strategies through a native long MACD signal kernel instead of the CPU fallback path.",
                          "Native Windows GPU name detection now prefers the real discrete GPU and keeps browser-masked names out of desktop diagnostics.",
                          "GPU source and adapter list are visible in the app and attached to opt-in GPU Arena submissions.",
                          "GPU Arena rank refresh in the desktop app now displays exact hardware, canonical name, source and adapters when available.",
                          "MACD Pine sample is now available in the desktop app and included in the SMA/EMA/RSI/MACD multi-strategy batch.",
                          "GPU Arena stores native GPU source metadata for auditable local leaderboard entries.",
                          "Desktop pairing code input now normalizes pasted codes with spaces, lowercase letters or missing separators.",
                          "Compatible SMA multi-strategy CUDA batches now use cuda_sma_multi_strategy_batch_v1 in one native GPU launch, with staged fallback for mixed imports.",
                          "Desktop session scopes now follow the account license, so public beta accounts stay read-only for compute submission.",
                          "Pine Script CUDA Backtester SEO route and sitemap entries are live."
                      ],
    "published_at":  "2026-07-02",
    "signature_status":  "unsigned",
    "signature_required_for_broad_distribution":  false,
    "unsigned_distribution_accepted":  true,
    "distribution_policy":  "unsigned_public_beta_accepted",
    "signature_note":  "This public beta is unsigned by product decision. Verify SHA256 before running; Windows SmartScreen may warn until a future signed build earns reputation.",
    "signing_gate":  {
                         "schema":  "strategyarena.desktop_signing_gate.v1",
                         "status":  "unsigned",
                         "broad_distribution_blocked":  false,
                         "unsigned_distribution_accepted":  true,
                         "smartscreen_risk":  "authenticode_deferred_unsigned_public_beta_accepted",
                         "required_before_directory_submission":  [
                                                                      "Unsigned beta warning remains visible on /download",
                                                                      "EXE and MSI SHA256 hashes are published and match local artifacts",
                                                                      "directory verification gate passes with unsigned_distribution_accepted=true",
                                                                      "directory verification gate passes"
                                                                  ],
                         "readiness_commands":  [
                                                    "npm run signature:preflight",
                                                    "npm run signature:ready",
                                                    "npm run signature:plan",
                                                    "powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/verify-windows-signature.ps1 -RequireSigned",
                                                    "npm run release:verify",
                                                    "npm run directory:verify"
                                                ],
                         "supported_certificate_inputs":  [
                                                              "SA_DESKTOP_SIGN_CERT_PATH",
                                                              "SA_DESKTOP_SIGN_CERT_SUBJECT"
                                                          ]
                     },
    "installers":  {
                       "exe":  {
                                   "url":  "https://strategyarena.io/static/downloads/strategy-arena-desktop-0.1.0-beta-x64-setup.exe?v=83cff9575c609253",
                                   "sha256":  "83cff9575c609253130652a0f0a2f72749f7c36556888e4fdb7c50c483314e7d",
                                   "size_bytes":  4325415
                               },
                       "msi":  {
                                   "url":  "https://strategyarena.io/static/downloads/strategy-arena-desktop-0.1.0-beta-x64.msi?v=075b54fdb0985a53",
                                   "sha256":  "075b54fdb0985a538d58c3253d2ca356d0d86a20e91e73d84ec8e7a3eec05897",
                                   "size_bytes":  6057984
                               }
                   },
    "server":  {
                   "status":  "static",
                   "message":  "Desktop release manifest static fallback online."
               }
}