Learn. Check.Deploy.
One app. Everyone is a member — including Stephen. Your feed is your own trades plus the club bots your tier is entitled to see. The database refuses the rest; the app does not have to be trusted for that.
Why a number is allowed to be believed. Controls, power, holdout, ex_top3.
Watch a bot work. Its state, its trades, its evidence — in plain English.
Draft, version, backtest, paper, canary. Never a rebuild, only a transition.
- LearnThe syllabus: how a result earns the right to be believed.Basewebpwa
- ATMPlain-English state of the bot, its trades, its instruments and its next move.BasewebpwaOverviewFeedPositionsChartOptionsStrategy LabAlpha Lab
- CommsChannels. Some of them your tier has to earn.Basewebpwa
- AssistantModel-driven, with your own memory. Works memory-less when Cortex is down.Basewebpwa
Four words at club level. Everything trading-shaped is a sub-surface of ATM, because Feed, Chart and Positions are three views of the same bot rather than three products — and a member should not have to guess which top-level word hides the chart.
- The module framework, the shell and this visual language.
- Every number on the ATM surfaces — real captures exported from
~/Code/Trader, each carrying its source path, query and capture time. A 560-contract BTC options chain with published Greeks, real SOLUSDT bars, the command-centre tables and the research ledger. - Those captures are snapshots, not feeds. No database, no venue and no stream is connected to this app.
- The
clubschema migration — applied twice and RLS-probed in a throwaway Postgres container. - No hosted club Postgres project exists. Supabase Auth is structured, never executed.
- No Cortex key exists for this app. The onboarding call is built and stubbed at the transport.
- No deploy. Nothing has been pushed anywhere.
anonymous
Signed out, or invited but not provisioned. There is no signup page — membership is created by the onboarding CLI.