← The Papers

Working paper · The Fort That Holds

Fort Sentinel

An instrument for reading people, using the crypto market as the readout. Published while the experiment is still running — pre-registered predictions with their falsifiers, seven findings that already died, and a live ledger anyone can check.

Work in progress This is a working paper and it will change. Nothing in it is a settled result. It is a live record of an instrument being built and tested in the open, updated as we work — including when it turns out to be wrong. It already carries one correction to itself, made the same day it was written.

FORT SENTINEL — WHAT WE BUILT, WHAT WE FOUND, AND WHAT WE PREDICT

⚠ THIS IS A WORKING PAPER. WORK IN PROGRESS.

It is published while the experiment is still running, on purpose. Nothing here is a settled result. It is a live record of an instrument being built and tested in the open, and it will be updated as we work — including when it turns out to be wrong. It already carries one correction to itself, in §3.1, made the same day it was written.

Read it as a lab notebook, not a conclusion. Every number is provisional. Several findings in it have already died; those are kept in §4 rather than deleted, because a record that only remembers its wins is not a record. If you are looking for a strategy to copy, this is not that, and §5 explains why the honest answer is currently "we don't know yet, and here is exactly how we'll find out."


First published: 2026-07-26 Status: WORKING PAPER — updated continuously Written at: Jimmy's instruction — "I want a paper on what we're doing here today… I want to write it up before we pull and load. if when we're right wrong then we can figure it out." Mode: Pre-registration. This document is timestamped BEFORE the outcomes it describes. Its purpose is to be checked later, including against itself. Confidence discipline: Every claim carries its sample size. Anything with an n under 20 is a direction, not a fact, and is labelled as such. Live sources: sentinel/ in fort-central-config — the collectors, the router, and both ledgers, all readable.


0. WHAT THIS IS, IN ONE PARAGRAPH

We are not building a trading system. We are building an instrument for reading people, using the crypto market as the readout — because it is the largest continuously-recorded measure of collective human state that exists, and because money on the line means the record cannot lie for free. A small live stake ($52) exists solely as the falsifier: a read that can never be cashed out, even a little, is indistinguishable from a good story. Jimmy: "the proof that it works is making money. not something that needs to be a lot. just enough to say yes this is a real signal."


1. THE QUESTION

Jimmy's People-Driven Market Sentiment framework claims that human behaviour leads price, and the meaning lives in how signals mesh rather than in any one of them.

Two refinements arrived during the day and both changed the build:

The second correction was given four times before it landed. Every time, it was converted back into keywords. That failure is itself a finding — see §7.


2. THE INSTRUMENT AS BUILT

layer what it measures source state
Mood crowd sentiment Fear & Greed, daily 2018+ live
Curiosity wants to understand Wikipedia ×4 live
Intent about to act — exchange, wallet Wikipedia ×4 live
Fear how this goes wrong Wikipedia ×4 live
Press volume / tone what media says GDELT, mirrored live
Market breadth / dominance / DOGE ratio how money spreads Coinbase ×12 live
Actors who was covered, who appeared beside whom, who went quiet GDELT GKG starts accumulating tonight
Policy uncertainty political noise EPU daily index identified, not yet wired

Everything is free, keyless, and account-less by deliberate choice: a signal a vendor can revoke is a poor foundation.

The routing layer. Each day is routed through Jimmy's Emotional Router (MER V2.0.0) — nine SongCraft families, one dominant plus support, never blended — then through HumorCraft to select the partner spine, then back through the Router as a rejection gate. This is the full ER → HumorCraft → ER route from HUMOR_CRAFTER.md, applied to markets.


3. WHAT SURVIVED

3.1 The emotion is not the signal; its authenticity is

The single most important finding of the day.

FearTender  CONFIRMED  −5.7%  (n=12)   |  REJECTED  +3.1%  (n=9)
PeaceHolder CONFIRMED  −9.9%  (n=5)    |  REJECTED  +5.7%  (n=6)

Same family, same dial reading, opposite outcome depending on whether the humor register was actually present. The variable carrying information is not which feeling but real or performed.

Which means the Router is not a classifier. It is a falseness detector — as its own first line says: "I detect and audit emotional alignment… and refuse emotionally false drafting." It was read three times and used as a bin-sorter anyway.

Corollary: it sharpens fear and does nothing for greed, because nobody performs winning. Distress gets performed constantly. That asymmetry is evidence the instrument does what it claims.

CORRECTION, added the same day — this claim has a boundary. §3.6 establishes that for actors, performance is the tradeable event rather than the noise. Both are true because the subjects differ, and the distinction is load-bearing:

subject performed means
the crowd's emotion no signal — performed fear predicts nothing, real fear predicts more selling
an actor's claim a signal, specifically a reversion signal — price moves on it, then unwinds when nothing materialises

Filtering performance is right when reading the crowd and exactly wrong when reading the people who move it. Anywhere below that says "performed = noise" without qualification should be read as scoped to the crowd.

3.2 The market speaks, and its grief is theatre

Run through the full route, 2,712 days:

family partner spine survives pass 3
RedWitness (anger) GallowsGrace 93%
ExcitementSpark JestfulJoy 68%
JoyKeeper SlapstickSpark 58%
FearTender AnxietyAlchemist 49%
RevolutionCraft SatireSword 49%
PeaceHolder DeadpanDrafter 45%
DeepCurrent (grief) GallowsGrace 18%

Its anger is almost always sincere. Its grief is almost always performance. Four times in five that it reads as bereaved, the gallows register real grief requires is simply not in the room. Recorded as a clinical rule in MARKET_VOICE_SPINE.md §9: anger is admissible evidence; grief requires corroboration by behaviour before it can be believed.

3.3 Intent arrives first — and out of silence

Across 62 runways, the signal most often coming up out of quiet first is intent (23), ahead of curiosity (15), fear (8), mood (6), tone (5), press (5). People open the wallet page before the conversation happens.

But the sharper result is what precedes intent. In the 30 days before a clean intent arrival, everything measured is depressed, not neutral:

curiosity 0.154   fear 0.189   price 0.327   press 0.365   mood 0.502

Curiosity at the 15th percentile means people go to buy without having read anything first. That kills the interest → research → action model. The trigger is not informational, and therefore cannot be seen by a dataset made entirely of reading and reporting. It is either material (money arriving, or money feeling unsafe) or social-private (a group chat, a colleague). This is the strongest argument for the actor and capacity layers.

3.4 The unit beats the classifier

The FTX window read as "ExcitementSpark — people arriving before the move" while the exchange was on fire. Unfixable by tuning the taxonomy; it evaporated when the unit changed from a day to a runway (quiet → spike). The arrival order then read press → mood → tone → price → attention LAST — the story broke, the press exploded, the public caught up at the end. A day cannot show an order.

3.5 The political layer is real and was invisible

Tariff news volume ran ~2× baseline for a week, then spiked 3.79× on 2026-07-24. Fear & Greed fell 33 → 31 → 28 → 27 → 26 across exactly those days, and ETH topped at $1,934 on the 22nd — the same day policy uncertainty hit its monthly low (EPU 149, 76th percentile). EPU then hit the 100th percentile (746) on the 24th and the market rolled over.

EPU currently sits at the 97th percentile of 15,182 days. That is the regime everything else is happening inside.

None of this is visible to a pipeline whose news query is (ethereum OR cryptocurrency).

3.6 The fake premise — the performance IS the tradeable event

Arrived late in the day and is probably the most consequential thing in this paper. Jimmy, on a head of state travelling to Washington having pre-announced evidence:

"in other words, this is the market swing going up. all of this is going to be a fake premise… none of it's real in the sense that it would happen. it's only happening because of loud mouths. This is the kind of signal that I'm saying we need to be watching regularly."

The pattern:

  1. A high-authority actor makes a loud claim
  2. The market reprices on the claim, not on anything that has happened
  3. Nothing materialises — the premise was theatre
  4. The repricing unwinds, because nothing was holding it up

Truth does not determine the move. Truth determines whether the move reverts. That is what makes this a round trip rather than a direction, and it is why "was it true" is the wrong question to ask at step 1 and the only question that matters by step 4.

The detector this implies does not exist anywhere yet:

announcement spike  →  check for MATERIALISATION at a fixed lag  →  no follow-through = reversion

Both halves are in GDELT. The claim spikes on day zero; substantive coverage either follows a week or two later or the story simply goes quiet. Silence is the confirmation. It needs the actor layer (who said it — collection begins 2026-07-27) and a materialisation check (does not exist).

It also dissolves a puzzle §3.5 left open. Two 100th-percentile policy-uncertainty spikes this month produced opposite market outcomes — June 28 marked a bottom, July 24 marked a fall. Under this mechanism those are not contradictory readings; they are the same pattern observed at different points in its own cycle.


4. WHAT DIED

Recorded because a discipline that only remembers its wins is not a discipline.

  1. Wikipedia attention spike — artifact of overlapping 30-day windows. 46 "spike days" were ~16 events counted repeatedly. Caught by Jimmy, from his phone.
  2. Contrarian Fear & Greed — "be greedy when others are fearful" loses everywhere.
  3. The 4-regime divergence model — worse than the simple rule.
  4. The 54-cell combined scan — p ≈ 0.277. The method was wrong: pairwise not combined, buckets destroying magnitude, levels with no velocity, and a scan width that manufactured its own significance penalty.
  5. All four pre-registered Router hypotheses — failed, consistently, in the opposite direction. Cause was my own bug: price change was baked into the family scoring, so the families re-encoded momentum. The pre-registration is what exposed it.
  6. The variance band as a threshold shift — Jimmy's idea, tested honestly, and it washed the signal out. Their published cutoffs beat the variance-adjusted ones on both sides (fear −13.26% vs −10.01%; greed +13.86% vs +0.36% against baseline). The HOLD label survived; moving the boundary did not.
  7. "The Voice sharpens fear" — held at first (−10.8% believed vs −3.1% doubted) then failed its decomposition test: split the index into momentum and residual and the effect appears in neither. Downgraded from banked to provisional.

5. THE PREDICTION — pre-registered, checkable

The rule as it stands. Fire only when BOTH hold: Fear & Greed in a 20% tail (≤24 / ≥70), and the Voice CONFIRMS the routed family. Three states: ACT, HOLD (within ±3 of the line — measured, the index's own median daily change), QUIET. Horizon 30 days. Every call is written to sentinel/data/calls.jsonl and committed to git before any outcome exists.

What is predicted: confirmed-fear days underperform; confirmed-greed days outperform; HOLD days carry no signal.

What would falsify it: a live ledger of fired calls that does not beat, at minimum, doing nothing — judged on the record as logged, not on a re-run.

A known structural flaw, stated in advance. The exit and entry conditions are wildly asymmetric. Extreme fear occurred on 14 of the last 31 days; extreme greed has not occurred in months. The rule gets you out often and back in almost never — a one-way door. Replayed over the last month it sold at $1,569 on June 30, the exact low, and sat in dollars through a 20% rally: −0.4% against +19.2% for doing nothing. That is the rule working as designed and losing. It is not bad luck, it is a design defect, and it must be fixed before size ever increases.

5.1 The human ledger — opened the same day

A second ledger now runs alongside the machine's: sentinel/data/human_calls.jsonl. Jimmy's calls, logged with the same discipline — timestamped in git before the outcome exists, and written as sequences rather than directions so they can actually be wrong.

Two live entries, both pre-registered:

logged claim scored
13:08 UTC, ETH $1,881.80 dip below, then close back above, both within 7 days 2026-08-02
13:16 UTC, ETH $1,882.68 the fake-premise round trip: swing up on the announcement, then fade 2026-08-05

Each carries its mechanism logged separately from its outcome, because a call can be right for the wrong reason and only one of those is a repeatable skill.

And the two ledgers disagreed on day one. The machine's call for 2026-07-26 is no fire — F&G 26 sits in the HOLD zone and the Voice rejected the routed family. The human sees a move coming; the instrument sees nothing. That disagreement is the sharpest experiment available, because we already know the likely reason: the instrument cannot see the layer he is reading. Its news query is (ethereum OR cryptocurrency), so defence, geopolitics and actor announcements are outside it by construction — the same blind spot that hid the tariff ramp.

If the human ledger beats the machine ledger, that gap is the explanation and it names exactly what to build. If it does not, that is worth knowing too.

The honest posture: n runs 10–16 on every cell that matters. The historical average says confirmed fear runs −11.9% over 30 days. This month it ran +19%. Both are true. That is precisely why the live ledger exists rather than another backtest — a backtest can be re-run until it agrees with you; a call logged before its outcome cannot be.


6. KNOWN DEFECTS, NAMED SO THEY CANNOT HIDE


7. THE METHOD LESSON, WHICH MAY OUTLAST THE FINDINGS

Every substantive advance today came from a reframe, not from code:

correction what it killed
"take all the signals and COMBINE them" one-at-a-time testing
"we aren't predicting, we're analyzing the signals around the market" the p-value chase — wrong instrument entirely
"the families are fine, leave them alone" rewriting the taxonomy to fit a broken test
"WHEN the signals happen — how does the signal buildup" the day as the unit of analysis
"the market is the speaker" the claim that the character filter doesn't port
"it's the PEOPLE around the market" (×4) measuring topics instead of actors

The code was never the bottleneck. It only started working when the question got right — and the question got right when someone who was not doing the building kept saying the same sentence until it landed.

The corollary, recorded against myself: the failure mode was not ignorance, it was conversion. Each correction was absorbed, agreed with, and then quietly translated back into the thing I already knew how to build. That is worth watching for more than any individual bug.


8. WHAT HAPPENS NEXT

  1. Actor collection accumulates (nightly, 03:20 UTC). Co-occurrence — who appeared beside whom — is the phone call, and needs history before an anomaly is legible.
  2. The actor scan converges, ranking candidates by whether their coverage precedes mood moves. Loud vs decisive.
  3. The materialisation detector gets built — the second half of §3.6, and the piece that turns the fake-premise pattern from an observation into something tradeable.
  4. The news query gets widened beyond (ethereum OR cryptocurrency). Every blind spot found today lived outside it.
  5. The re-entry asymmetry gets fixed before any size increases.
  6. Both ledgers accrue. Slowly, honestly, immune to every way today's findings were fooled.

Fort Sentinel | sentinel/ in fort-central-config | companion to SENTINEL.md (the instrument) and MARKET_VOICE_SPINE.md (the speaker) | this paper is the record against which both get judged.


APPENDIX — WHY THIS IS PUBLISHED BEFORE IT IS FINISHED

Because a paper written after the outcome is a different document from one written before it, and only one of them can be checked.

Everything in §5 is pre-registered: the rule, the horizon, the falsifier, and a structural flaw stated in advance that has already cost the strategy nineteen points in a replay. Everything in §4 died. Section 3.1 corrects itself. That is not tidy, and tidiness would be the tell.

The Fort's own standard, from a different domain entirely: never rule a boundary case on a margin smaller than the measurement's own variance. Applied to a working paper, that means publishing the uncertainty at full size rather than waiting until it can be presented as confidence.

Updates land here as they happen. If the ledger says the instrument is wrong, that will be written into this document rather than quietly around it.