Closed alpha

Hey-LiSA is not publicly released yet. These docs are a working skeleton and may include TBD sections.

Changelog

This changelog tracks visible product progress. Version labels use 0.X.Y: 0 means pre-1.0, X is the main topic line, and Y is an iteration inside that line.

Entries group shipped product capabilities by work area.

0.3.1 — May 2026 — Product docs and Lab review surface

Public website work for product docs, HQ, and the Hey-LiSA Lab review surface.

Added

  • Added /lab/ and /fr/lab/ as static review routes for Hey-LiSA Lab cards: Strategy Lab, Run Layer, Strategy Exchange, and $LISA Token.
  • Added trailing-slash route config for the Lab pages so the static adapter emits build/lab/index.html and build/fr/lab/index.html.
  • Added HQ article skeletons for the daily BTC DCA comparison series.
  • Added the roadmap template and changelog docs pages.

Verification

  • Website changes in this group were verified through npm run check, npm run build, and static route checks during implementation.

0.3.0 — May 2026 — Bilingual static website routes

Language routing and static output work for English and French pages.

Added

  • Added /fr/ website routing with French homepage, docs, HQ, and contact routes.
  • Added canonical English paths with French equivalents for docs, HQ, contact, and homepage routes.
  • Added canonical and alternate language metadata.
  • Added language-aware docs and HQ rendering paths.
  • Added a French docs content tree.

Changed

  • Set English as the canonical content path and French as /fr/.
  • Added separate English and French HQ content paths.
  • Moved the language switcher from navbar to footer, then reduced visible labels to flag-only controls with accessible labels.
  • Updated contact routing so /contact/ remains canonical English and /fr/contact/ is generated for French.

Fixed

  • Added trailing-slash route config for HQ and contact pages where needed so static nginx can serve /hq/, /contact/, and /fr/contact/ from index.html files.
  • Updated website X links to https://x.com/0xLalice in shared config.

Verification

  • Static builds confirmed generated files for English and French docs, HQ, contact, and root routes.

0.2.2 — May 2026 — Curated Strategy Lab catalog

Catalog cleanup for the Strategy Lab example set and precompute surface.

Changed

  • Reduced the Strategy Lab example catalog to representative strategies instead of parameter-sweep variants.
  • Added normalized comparison metadata so comparable strategies share the same simulated 50 USDC/day contribution profile.
  • Split catalog entries into comparable strategies and special experiments, with caveats attached to strategies that need context.
  • Removed redundant drawdown, Fear and Greed, and duplicate Sunny Po variants from the main example catalog.
  • Kept strategy examples that cover baseline DCA, cash-aware drawdown buying, CBBI, Fear and Greed, Pi Cycle, 2-Year MA, moving-average rules, stateful counters, monthly value averaging, and the Sunny Po simple drawdown regime.
  • Simplified app/hey_lisa/strategy_lab/precompute.py after removing catalog entries that no longer needed special-case comparison handling.
  • Added stored card traces for compact strategy-card sparklines without loading full result payloads.

Fixed

  • Updated app tests that assert catalog contents and validation behavior after strategy removal.
  • Updated Strategy Lab README counts and catalog expectations.

Verification

  • Relevant evidence comes from app/tests/test_app.py, app/tests/test_strategy_backtest.py, and app/tests/test_strategy_validation.py changes in the catalog curation commit.

0.2.1 — May 2026 — Strategy Lab SPA and graph renderer

Frontend and engine changes for strategy detail pages, graph rendering, nested actions, and saved strategy APIs.

Added

  • Added @xyflow/svelte to app/frontend/package.json and package-lock.json for graph rendering.
  • Added custom graph node components at app/frontend/src/components/strategy-graph/IfGraphNode.svelte and ActionGraphNode.svelte.
  • Added StrategyLabApp.svelte as the main app shell for strategy browser/detail views.
  • Added example strategies sunny_po_simple_ath_drawdown_dca.json and sunny_po_ath_drawdown_regime_dca.json.
  • Added Strategy Lab CRUD routes in app/hey_lisa/app.py: saved strategies, single strategy lookup/update/delete, and backtest run listing.
  • Added set action support and graph normalization for nested IF/action trees in app/hey_lisa/strategy_lab/generic.py, schema.py, and validate.py.
  • Added a strategy detail review surface with raw JSON, strategy chart, equity comparison, trade inspector, and decision graph.
  • Added graph action statistics from backtest action events, including full, partial, and zero-fill rates per action identity.

Changed

  • Replaced manual SVG graph routing with Svelte Flow nodes and edges in StrategyGraph.svelte.
  • Rendered IF/action logic with then/else labels, nested branch paths, and sequential action nodes.
  • Kept multiple actions[] entries as separate sequential action nodes in the graph instead of visually merging them.
  • Updated PeriodSelector.svelte, StrategiesPage.svelte, StrategyCard.svelte, and StrategyDetailPage.svelte for the revised strategy detail workflow.
  • Updated backtest result types in app/frontend/src/lib/types.ts to carry expanded strategy and graph data.

Fixed

  • Fixed nested IF/ELSE graph rendering so nested then/else paths remain connected and readable.
  • Extended validation tests for nested branches, action sequences, set actions, and unsupported fields.
  • Extended backtest tests for state handling, action order, and graph-compatible normalized strategies.

Verification

  • Evidence comes from app/tests/test_app.py, app/tests/test_strategy_backtest.py, and app/tests/test_strategy_validation.py.

0.2.0 — May 2026 — External series, comparison periods, and indicator strategies

Strategy Lab support for external daily series, additional indicator functions, and period comparisons.

Added

  • Added external series storage and loading in app/hey_lisa/market_data/external_series.py.
  • Added CBBI strategy support with series('cbbi') and examples such as cbbi_basic_confidence_dca.json.
  • Added Fear and Greed strategy variants that read series('fear_greed').
  • Added Pi Cycle and 2-Year MA expression functions in app/hey_lisa/strategy_lab/builtins.py.
  • Added strategy examples for Pi Cycle, 2-Year MA, Fear and Greed, drawdown buffers, and value-style accumulation.
  • Added period comparison UI in app/frontend/src/components/PeriodSelector.svelte.
  • Added external-series import commands for Fear & Greed and CBBI local artifacts.
  • Added unavailable-result handling when a selected period requires external series data that is missing or incomplete.
  • Added chart output for external oscillator panes and state-derived indicators.

Changed

  • Updated app/docs/strategy-language.md to document external series reads, CBBI, Pi Cycle, 2-Year MA, and indicator declarations.
  • Updated app/hey_lisa/strategy_lab/precompute.py to precompute strategy-period combinations with external-series coverage checks.
  • Stored external-series coverage and dependency signatures with precomputed results.
  • Updated Strategy Lab cards and charts to show period labels, marker colors, and comparison-oriented metrics.

Fixed

  • Added validation errors for undeclared external series and missing indicator declarations.
  • Added tests in app/tests/test_external_series.py, test_cli.py, test_strategy_backtest.py, and test_strategy_validation.py.

Verification

  • The commit includes tests for external-series import paths, CLI behavior, strategy validation, and backtest execution.

0.1.1 — May 2026 — Strategy browser and backtest analytics

Core Strategy Lab UI and analytics work before the graph-library migration.

Added

  • Added strategy browser cards, strategy detail pages, trade inspection, market panels, and chart components under app/frontend/src/components.
  • Added result analytics for orders, cash deployment, portfolio value, equity curves, and trade rows in app/hey_lisa/strategy_lab/backtest.py and related modules.
  • Added strategy language examples for moving-average, drawdown, monthly, weekly, and stateful strategies.
  • Added backtest result payloads for action events, cashflows, variable events, range metadata, warnings, and assumptions.
  • Added comparison outputs for strategy equity, Daily DCA baseline, held cash, lump-sum-at-start, and buy-and-hold.
  • Added explicit execution semantics for candle-close and next-candle-open fills, including signal candle, execution candle, fees, slippage, requested spend, and filled spend.
  • Added preset BTC history periods for stress and regime comparison.

Changed

  • Set the active Strategy Lab runtime to BTC daily candles.
  • Consolidated Strategy Lab builtins and expression handling so price(), ma(...), highest_close(...), time(...), and get(...) use the same validation/backtest path.
  • Updated the local FastAPI app to serve the SPA and strategy APIs from localhost.

Fixed

  • Fixed cashflow accounting and PnL treatment so simulated contributions are tracked separately from buy execution.
  • Added partial, cash-limited, budget-limited, and zero-requested fill status handling for simulated buy actions.
  • Clarified portfolio summary behavior for available quote cash, spent amount, and BTC value.

Verification

  • Evidence comes from app tests for backfill, bootstrap, config, DB, Kraken, strategy validation, and backtest behavior.

0.1.0 — May 2026 — Initial Strategy Lab

Foundation for the public website and the local Strategy Lab app.

Added

  • Added a static public website with homepage, docs, HQ, and contact pages.
  • Added a local FastAPI service, SQLite storage, CLI entry points, and static frontend build serving.
  • Added Kraken daily candle backfill/bootstrap modules under app/hey_lisa/market_data.
  • Added the first Strategy Lab JSON language, validator, generic backtester, preset periods, precompute storage, and example strategies.
  • Added strict Strategy Lab validation for allowed fields, forbidden live-trading inputs, supported market/timeframe, portfolio, execution, rules, and constraints.
  • Added local Strategy Lab routes and APIs for strategy research workflows.

Changed

  • Set the active app safety boundary to localhost, public market data, SQLite, and read-only backtests.
  • Set the local app API posture to read-only Strategy Lab workflows with public docs and OpenAPI disabled.
  • Seeded BTC daily data from a local Kraken archive first, then used best-effort REST top-up with app-state reporting.

Verification

  • Added the first pytest coverage for app creation, CLI commands, configuration, DB setup, Kraken/backfill behavior, strategy validation, and strategy backtests.