---
name: preferences-pro-trading
description: Pro Trading project additions to Ben's preferences on how alerts and signals must behave; read with /preferences.md.
sources: [cowork]
---
- [stated] 3 Oct 2026, STANDING: alerts, notifications and status updates must never come from an old process; they must always reflect the latest version of the source they belong to (e.g. if the risk on/off dashboard process changes, its alerts change with it).
- [stated] 3 Oct 2026: does not want to follow wallets of bad traders; only traders worth following get wallet alerts.
- [stated] 3 Oct 2026, STANDING: for processes, always make sure there's a tracker that checks if the process is running and fixes it if it's not running. Everything should be fixed within an hour, always. Something not running for hours without being caught is unacceptable.
- [stated] 3 Oct 2026, STANDING, EVERY SESSION AND EVERY TOOL FOREVER: **ALL X (twitterapi.io) CALLS GO THROUGH ONE SHARED SCAM FILTER (xsafe)** so we never pay for or count scam links, bots, vote farms and scam call channels; legit callers stay in. Droplet tools get it automatically (sitecustomize hook); a Claude session loads http://159.223.88.168/hx-c9ois/fw/xsafe.py and calls xs.search / xs.window / xs.timeline, never the raw API. Big jobs call xs.budget(n) and stop by themselves when the shared burn brake is on (http://159.223.88.168/hx-c9ois/fw/xstatus.json). Details: project doc claude/sentiment-system.md and [[buy-framework]].
- [stated] 3 Oct 2026, STANDING, EVERY PROCESS AND SESSION: **X VOLUME IS ONLY COMPARED ON "COMPARABLE" POSTS: REAL PEOPLE (xsafe) WITH 3+ LIKES** (X search drops unliked posts after ~7 days, so raw recent counts look 2x to 8x louder than old ones). Use xsafe.comparable() / window()['rate_comparable']; posts under 2h old are projected, never read as silence. **Every process and every session must run the LATEST spam filter on every run**: droplet hook reloads xsafe when the file changes; xsafe >=1.7 self-updates from http://159.223.88.168/hx-c9ois/fw/xsafe_version.json on every search; xsafe_guard.py (cron 5 min) keeps the public copy equal and flags XSAFE_OFF processes or stale private copies. Never copy xsafe into a tool; load it from /opt/common/xsafe/xsafe.py or the public URL.
- [stated] 3 Oct 2026, STANDING: **NO WORD COUNTING for sentiment** (no share of "angry", "dead", "bullish" words). Read what real people say and judge the feeling behind it: complaining, frustrated, hopeful, excited, depressed. People who give up stop posting (sell and don't talk, or hold and don't want to think about it), so silence is the depression signal.
- [stated] 3 Oct 2026, STANDING METHOD for sentiment as a key driver: measure per hour or per 4h windows (real-people posts, spam, trading volume, read mood) and compare with previous windows, to build confidence that mood and volume are changing; map the pattern at the top and at each drawdown stage (e.g. 20%, 40%, 60%... down); then label which patterns are buys and which are not, and test them.
- [stated] 3 Oct 2026: double-check surprising data before reporting it (e.g. "zero people talk about MOO" must be verified, not reported).
- [stated] 3 Oct 2026, STANDING, EVERY SESSION AND TOOL ("a ridiculous mistake, never again"): **NEVER JUDGE X FROM "THE LAST 20 POSTS" (one page).** Every X count, "nobody posts", "quiet" or mood read uses a fixed time window (e.g. last 24h, per 4h) read to the END (xsafe complete=True, pages until has_next_page is false). If the page cap stops first, say "at least N" and never call it quiet. Enforced in xsafe v1.3 (default 10 pages per window), buyscore v3 and gpwatch2.
- [stated] 3 Oct 2026, STANDING, EVERY TOKEN ANALYSIS (screen, DD, deep dive, "is this a buy", "should I add / sell", contract or DexScreener link): **ALWAYS RUN THE SENTIMENT CYCLE READ WITHOUT BEING ASKED.** That is the buy-framework (Wall Street cheat sheet + crash cycle phases): run buyscore.py, read the real-people posts per 4h by meaning, name the cycle phase, and gate it with rotation.json. A token analysis delivered without the sentiment phase is incomplete. Ben 3 Oct 23:00 BKK: this applies in EVERY session, inside or outside this project; buy-framework is the single owner of X volume + sentiment (no duplicate skills), x-claim-audit owns X claims.
- [stated] 3 Oct 2026, STANDING, EVERY PROJECT ANALYSIS AND BUY DECISION, FOREVER: **THE SENTIMENT / SOCIAL READ USES THE TICKER ($TICKER or the coin's name), because that is what real people post. Contract posts are bots; never base the mood on them and never talk to him about bots, fake airdrop links or spam in a sentiment read.** A flat or doubtful ticker crowd is what he wants to see when he buys.
- [stated] 3 Oct 2026, STANDING, EVERY TRADER / COPY-TRADE SCREEN: one-hit wonders are useless ("Visi has ~5,000% on 43 trades but it's all one coin"). Always report coins traded (repeat buys of the same coin count once) and how many coins made the profit, and the MAIN metric: how much he would be up copying them, buying 1 minute after their buy and selling 1 minute after their sell. Leaving out the copy profit is a failure ("how can you forget the main metric"). Pick the traders that realistically make sense to follow on these criteria.
- [stated] 3 Oct 2026, STANDING, EVERY LONG, RUNNING OR REPEATED PROCESS IN PRO TRADING: **SILENT AUTO FIX WITH MULTIPLE REDUNDANCIES; NOTIFY BEN ONLY IF EVERYTHING FAILS.** "Don't alert me if it stops. Just fix it." Every such process gets several independent watchers that can restart it (and each other); successful fixes are silent; no BACK message without a prior DOWN; no daily "all fine" roster messages. Droplet alerts go through /opt/common/alertgate.py (one door, max one DOWN per problem per hour). Spec: project doc claude/ops-standard.md. Overrides the older "one message on break" rule.
- [stated] 3 Oct 2026, STANDING: run an analysis of the entire rebuilt history every day at 08:00 BKK; only add new data (never re-analyze what was already analyzed) and send the updated insights.
- [stated] 4 Oct 2026, STANDING, EVERY SINGLE API FROM NOW ON (free and paid, every session and every process): **TREAT IT CAREFULLY, TEST IT FIRST, THEN USE IT EFFICIENTLY.** One small test call first to learn the real cost and limits; dry-run or cap paid cost before any big run (per-query cost cap, per-run and per-day caps); aggregate on the provider side and pull only small results; batch, cache, never loop blindly. Receipt: Dune Analyst's whole 4,000 monthly credits went in ~80 min on 2 Oct 2026 (one stopped query 2,603 credits, one result download ~1,128 credits). Spec: project doc claude/ops-standard.md.
- [stated] 4 Oct 2026, STANDING: the daily 08:00 report is about profitability, not top-runner lists: "if we had traded yesterday / this week, how much money would we have made or lost", per approach still being tested, and whether we would have caught the recent top runners. Report progress on exactly this every day.
- [stated] 5 Oct 2026, STANDING: **"OUT-OF-THE-BOX THINKING"** means working through these questions without him having to explain them again: (1) what if the entire approach is wrong; (2) what if the gaps we have are significant; (3) all the data we have available: did we use everything that deserves attention; (4) what data we don't have, and how important it is.
- [stated] 6 Oct 2026, STANDING (first window work): every message to him ENDS with what to forward, per recipient: "Send this to Price Predict", "Send this to Analyst 1", "Send this to Analyst 2" (and Analyst 3 when relevant). Team: Price Predict (holds all data, runs most technical processes); First Window Analyst 1 (pond crew coins), Analyst 2 (c10k coins), Analyst 3 (c500 + all lanes together, paper vs real, L-BROAD20 luck test); briefs http://159.223.88.168/hx-c9ois/fw/fw-analyst1.md, fw-analyst2.md, fw-analyst3.md, shared fw-common.md; PricePredict Supervisor brief fw-supervisor.md.
- [stated] 6 Oct 2026, STANDING (analyst sessions): a session working as an analyst first states who it is (e.g. "I'm Analyst 1"), then gives its input for the supervisor as "Send this to the supervisor" plus a couple of bullet points of key summaries.
- [stated] 7 Oct 2026, STANDING (multi-window Cowork teams): **the whole team must use Claude credits efficiently; no unnecessary Claude credits.** Working, becoming profitable and testing new ideas stay the priority, but done very efficiently; supervisors may change anything needed to achieve this. FW playbook: http://159.223.88.168/hx-c9ois/fw/credit-playbook.md
FINAL WRITE
- [stated] 7 Oct 2026, STANDING (all teams): agreed main droplet 159.223.88.168 keeps only live services and ALL research runs on research-box 152.42.241.219; never run code fetched from a public paste site; teams must be told how to do it properly (own folder, flock + timeout + nice). Rules: http://159.223.88.168/hx-c9ois/server-rules.md. Approved resizing main to 4 vCPU / 8 GB ($48/mo).
- [stated] 7 Oct 2026, STANDING (multi-window teams, Consigliere role): keep him posted on key developments and especially things he needs to do, plus hourly status updates on all teams.
- [stated] 7 Oct 2026, STANDING (all teams): no idle time; work must progress as fast as possible and the Consigliere must ensure it. Questioned default end-of-day (18:00) ETAs when work could be checked much earlier. Clarified: not every team member must always be working; teams as a whole must always be progressing and pushing as fast as possible (some waiting is fine when it makes sense).
- [stated] 7 Oct 2026: the shared hourly doorbell/ring limit blocking team communication must not happen again.
- [stated] 7 Oct 2026, STANDING (all teams, Head Consultant's task): wasting hours on a made-up or padded deadline is unacceptable ("needs to be prevented at all costs"); always push back on times so everything happens as fast as possible; when work waits on a bottleneck, check whether it can be fixed, including by adding team members or changing processes. Receipt: a ROT test set for 20:00 that only took minutes.
