Overview
This is a tracking issue for the v0.3 repo restructure described in ROADMAP.md.
The current flat layout (app/, dashboard/, config/, src/, storage/) needs to be reorganised into a clean split that separates the shared engine from the two deployment surfaces (local app and web demo).
Target Directory Layout
pulseengine/
core/ ← shared engine (analysis, config, storage, backtest)
local/ ← full-featured Streamlit dashboard
web/ ← restricted demo build
Docs/
tests/
Why This Matters
Everything in v0.4 (PyInstaller EXE, launcher, tray icon) and v0.5 (FinBERT, offline mode, export) depends on local/ existing as a distinct surface. The web demo must stay lightweight and stateless — it cannot share modules that perform file I/O or run local model inference. This split enforces that boundary at the file system level.
Sub-Issues
This work is tracked across three focused sub-issues:
Acceptance Criteria
References
- ROADMAP.md v0.3 — Foundation Split + Arbitrary Tickers
- Architecture note: "The
core/ directory is the shared foundation. Changes there affect both the local app and the web demo."
Overview
This is a tracking issue for the v0.3 repo restructure described in ROADMAP.md.
The current flat layout (
app/,dashboard/,config/,src/,storage/) needs to be reorganised into a clean split that separates the shared engine from the two deployment surfaces (local app and web demo).Target Directory Layout
Why This Matters
Everything in v0.4 (PyInstaller EXE, launcher, tray icon) and v0.5 (FinBERT, offline mode, export) depends on
local/existing as a distinct surface. The web demo must stay lightweight and stateless — it cannot share modules that perform file I/O or run local model inference. This split enforces that boundary at the file system level.Sub-Issues
This work is tracked across three focused sub-issues:
core/local/surface with full Streamlit dashboardweb/surface with restricted demo buildAcceptance Criteria
pulseengine/core/containsapp.py(engine),config.py,storage.py,backtest.pypulseengine/local/contains the full-feature Streamlit dashboardpulseengine/web/contains the restricted demo (no file I/O, no local model inference, no persistent state)README.mdquick-start instructions updated to reflect new entry pointscore/,local/, andweb/References
core/directory is the shared foundation. Changes there affect both the local app and the web demo."