Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Umbrela — Operator Cockpit

Project Umbrela is a sober, dense, readable operator cockpit for local market evidence and audit. It renders a precomputed BRUTAL1000 evidence snapshot into a compact dashboard focused on the questions an operator needs answered quickly: current top signal, bias, entry/stop/targets, gates, proof windows, risk flags, audit links, and a read-only local execution chart with exact setup overlays.

This project is a read-only evidence and campaign-observability cockpit. It has no broker integration, no order route, no wallet path, and no credential handling. Live campaign execution, when armed, happens only in the separate local trading_agent controller; Project Umbrela renders its secret-free sidecar.

Repository taxonomy / audit

Project Umbrela is the trading/market cockpit UI in a larger GitHub estate split into clear lanes:

The runtime brutal1000_snapshot.js and brutal1000_campaign.js sidecars are generated local data and are git-ignored; committed schema examples live under examples/.

Open the cockpit

Preferred launcher:

  • Desktop → TradingView Bloomberg Terminal / Project Umbrela launcher

Direct launch:

chromium --app=file:///home/<user>/tradingview_bloomberg_terminal/terminal.html

The cockpit can also be opened directly in a browser from terminal.html.

Data flow

  1. The local BRUTAL1000 pipeline writes brutal1000_snapshot.js.
  2. The autonomous campaign controller writes brutal1000_campaign.js.
  3. That sidecar defines:
window.BRUTAL1000_SNAPSHOT = { ... };
  1. terminal.html reads both sidecars and renders evidence plus campaign state.
  2. The local chart module maps the selected HOT CEX candidate to a Binance public market symbol, fetches read-only public candles, and draws exact Entry/Stop/TP overlays on a local canvas.
  3. The Open TV button can still launch the equivalent TradingView symbol for manual inspection.

The browser performs only lightweight rendering and public candle fetches. It does not need private runtime material. If the public candle API fails, the snapshot-driven thesis, proof tables, risk flags, and audit links remain readable.

Both local sidecars hot-refresh every 60 seconds while the cockpit stays open, so campaign status, position R, budget use, and last-cycle results move without a manual page reload.

Architecture (modular)

The cockpit is split into small, single-responsibility modules under js/. Pure modules contain no DOM or network access and are unit-tested in Node; the DOM controller and canvas renderer are the only browser-coupled files.

Module Type Responsibility
js/config.js browser constants colors, report links, storage key, defaults
js/format.js pure escaping, number/price/gate/age formatting
js/symbols.js pure symbol normalization, TradingView symbol, interval mapping
js/snapshot.js pure HOT list, candidate lookup, setup levels, decision, risk flags
js/indicators.js pure EMA, RSI, and the shared LONG trigger evaluator
js/market_data.js pure (injectable fetch) public Binance kline URLs, parsing, futures→spot fallback
js/chart_scale.js pure price range padding and pixel projection math
js/chart_render.js browser (canvas) draws candles, EMA, overlays, HUD using pure modules
js/app.js browser (DOM) wires snapshot + market data + chart, handles events

Each pure module is a UMD wrapper: it exports via module.exports in Node and attaches to window.UMBRELA.<name> in the browser, so the exact same code runs in tests and in the cockpit.

Load order in terminal.html is dependency-ordered: snapshot sidecar, then config, pure modules, chart_render, and finally app.

Testing / audit

npm test        # run the dependency-free unit suite (node test/run.js)
npm run smoke   # verify terminal.html script order + browser-global module contract
npm run check   # syntax-check every module
npm run verify  # check + test + smoke (recommended before handoff)

The suite covers formatting edge cases, symbol normalization, snapshot interpretation branches, total/closed/open status summaries, open-paper parsing, indicator boundaries, the LONG trigger rule, the futures→spot fallback (with an injected fake fetch, no network), and chart-scale math. No network or browser is required to run it.

File structure

  • terminal.html — default Project Umbrela operator cockpit; loads modular scripts from js/.
  • js/ — modular cockpit source (pure logic + browser renderer/controller).
  • test/run.js — dependency-free Node unit suite.
  • package.jsonnpm test / npm run smoke / npm run check / npm run verify entrypoints.
  • docs/operator-runbook.md — human/agent operation and audit runbook.
  • brutal1000_snapshot.js — generated local evidence sidecar consumed by the cockpit; ignored by git.
  • brutal1000_campaign.js — generated secret-free campaign state sidecar; ignored by git.
  • examples/brutal1000_snapshot.example.js — committed example sidecar schema.
  • examples/brutal1000_campaign.example.js — committed campaign schema example.
  • DESIGN_NOTES.md — design notes and data-flow rationale.
  • terminal_full_legacy.html — preserved copy of the previous full/flashy terminal.
  • terminal_full_legacy_*.html — timestamped legacy reference copy.
  • .gitignore — ignores runtime logs/PIDs and local backup folders.

Operator / agent runbook

Use docs/operator-runbook.md for the canonical open/verify/operate/audit flow. For handoff-quality verification, run:

npm run verify

Safety model

Project Umbrela is for evidence review, campaign monitoring, and operational audit only:

  • no live trading from the browser
  • no broker connection
  • no order placement
  • no wallet access
  • no credential handling
  • no private market-data secret dependency; local chart uses public candle endpoints only

Any live execution remains outside this dashboard in the separately audited local campaign controller.

Audit orientation

The cockpit exposes:

  • current HOT CEX candidates, capped to the top three
  • explicit BRUTAL1000 status cards: total / closed / open by overall, CEX, and DEX
  • exact local Entry/Stop/TP overlay for the selected candidate
  • open paper monitor with current R / max R / gate / action when exported in the sidecar
  • all-time historical gate and drawdown memory
  • rolling 72h evidence gate
  • last 7d and post-hardening proof windows
  • risk flags such as all-time drawdown block and DEX disabled
  • local report links for proof, action plan, evaluation, ranked candidates, and paper ledger

About

[TRADING] Project Umbrela operator cockpit for local market evidence/audit (paper-only).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages