Words to stocks
How a typed phrase becomes a basket: the one question the resolver asks, the universe it may answer from, the dictionary it falls back on, and three worked examples.
The question
The resolver asks a language model exactly one thing: which publicly traded or Robinhood-tokenized companies economically make this thing possible. The answer is two to six basket lines with a ticker, a weight and a reason under five words ("GPU", "packaging", "the drip"), plus a display name, an emoji, an object kind, physics, one dry sentence of blurb and a sprite recipe. The system prompt tells it to be concrete and a little funny: a burger is McDonald's, Coca-Cola and Deere, not "the food sector".
The model is whatever SCRIBBLEHOOD_MODEL names, through the Vercel AI Gateway, defaulting to openai/gpt-5-mini. It gets a 12 second budget, no retries, and minimal reasoning effort, because the task is a lookup, not a proof.
The universe
The model may only use tickers from a fixed list of 149 names, which is pasted into the prompt as "TICKER (Name)" pairs. Anything else it says is dropped, and if fewer than two known tickers survive, the answer is treated as a failure. The list is the set of names with Stock Tokens on Robinhood Chain plus a few index funds and private companies (SPACEX, OPENAI, ANTHROPIC) that trade on a reference price rather than a live tape.
| Sector | Count | Tickers |
|---|---|---|
| Semiconductors | 17 | NVDA, TSM, AMD, INTC, AVGO, MU, ASML, ARM, QCOM, SMCI, SKHYNIX, SMH, MRVL, TXN, AMAT, SNDK, IONQ |
| Software and internet | 23 | AAPL, MSFT, GOOGL, META, AMZN, NFLX, ORCL, PLTR, CRM, ADBE, UBER, SNOW, CRWD, SHOP, ABNB, DASH, NOW, INTU, ANET, CRWV, BABA, OPENAI, ANTHROPIC |
| Consumer | 19 | NKE, SBUX, MCD, KO, PEP, COST, WMT, DIS, LULU, RBLX, EA, TTWO, CMG, HD, PG, MAR, RCL, DAL, GME |
| Auto and mobility | 6 | TSLA, RIVN, F, GM, TM, LCID |
| Space | 6 | SPACEX, RKLB, LUNR, ASTS, BA, RDW |
| Energy | 14 | XOM, CVX, USO, OXY, NEE, FSLR, ENPH, CEG, VST, OKLO, SMR, UNG, BE, FLNC |
| Metals | 9 | GLD, SLV, NEM, FCX, MP, ALB, NUE, COPX, USAR |
| Defense | 8 | LMT, RTX, LHX, NOC, GD, KTOS, RCAT, AVAV |
| Biotech and health | 10 | LLY, NVO, PFE, MRNA, CRSP, RXRX, ISRG, UNH, JNJ, TMO |
| Finance | 12 | HOOD, COIN, JPM, V, MA, SOFI, GS, BRK.B, PYPL, AXP, CRCL, FUTU |
| Media | 7 | SPOT, RDDT, SNAP, DUOL, PINS, WBD, LYV |
| Industrial | 9 | CAT, DE, VRT, ETN, GE, HON, UPS, UNP, GEV |
| Crypto | 4 | MSTR, IBIT, ETHA, MARA |
| Index funds | 5 | SPY, QQQ, IWM, SGOV, EWY |
The dictionary fallback
When the model is offline, over budget, or answers nonsense, a dictionary resolves the prompt the boring way. It has 150 concepts ("gaming pc", "rocket", "ai girlfriend", "oil rig"...), each with a hand-written basket, physics and a sprite recipe. Matching is by longest phrase, so "ai girlfriend" wins over "ai". A prompt that matches nothing gets the mystery basket: SPY 40, QQQ 30, NVDA 15, GLD 15, and a blurb admitting nobody knows what it is.
The dictionary also runs when the model succeeds, as the sprite fallback: whatever the model got wrong in its recipe is filled from the dictionary's idea of the thing. Summons record which path answered in resolvedBy, either llm or dictionary.
Modifiers
Adjectives change the basket, the physics and the sprite. The model is told the same rules in words; the dictionary applies them as a table. A modifier that adds lines takes a fixed share of the whole basket and scales everything else down to make room.
| Words | Adds to the basket | Glow | Other effects |
|---|---|---|---|
| golden, gold, gilded, 24k | GLD 20% | gold | a coin part, or a crown on anything with a head; gold palette |
| silver, chrome, platinum | SLV 20% | silver palette | |
| nuclear, atomic, radioactive, fission | CEG 10%, OKLO 8%, SMR 7% | nuclear | a bolt, green palette |
| solar, sun-powered, sunny | FSLR 12%, ENPH 8% | gold | a panel |
| electric, battery-powered, ev, lightning | TSLA 15%, ALB 5% | electric | a bolt |
| oil-powered, oil, diesel, gasoline, burning, flaming | USO 10%, XOM 10% | fire | smoke |
| ai, smart, intelligent, sentient, thinking | NVDA 15%, MSFT 5% | an antenna | |
| giant, huge, massive, mega, big, colossal | size x1.8, mass x2 | ||
| tiny, small, mini, little, micro, pocket | size x0.6, mass x0.5 | ||
| flying, winged, hovering, floating, airborne | flies, speed 0.6, wings | ||
| fast, speedy, turbo, racing, supersonic, rocket-powered | speed 1, a flame | ||
| slow, lazy, sleepy, heavy | speed 0.1, mass x1.5 | ||
| military, armored, armed, combat, tactical, war | LMT 10%, RTX 10% | a shield | |
| space, orbital, interstellar, cosmic, martian, lunar | SPACEX 12%, RKLB 8% | an antenna and a star | |
| frozen, icy, ice, arctic, cold | ice | bounce 0.1, a star, ice palette | |
| bouncy, rubber, inflatable | bounce 0.95 | ||
| haunted, cursed, evil, dark | SNAP 5% | nuclear | smoke |
| crypto, bitcoin, onchain, tokenized | IBIT 12%, COIN 8% | a coin | |
| luxury, expensive, premium, fancy, designer | LULU 8%, AXP 7% | gold | a gem |
| cheap, budget, discount, knockoff | WMT 10%, COST 5% | ||
| american, usa, patriotic | SPY 15% | a star | |
| paper, cardboard, origami | mass 0.3, bounce 0.2 | ||
| steel, iron, metal, titanium | NUE 12% | mass x1.8, steel palette | |
| quantum | IONQ 15% | ice | a star |
| robotic, robo, automated, autonomous | TSLA 8%, ISRG 7% | an antenna | |
| cute, kawaii, adorable, baby, chibi | eyes and a smile | ||
| spiky, spiked, thorny | spikes | ||
| cyber, cyberpunk, neon | NVDA 8%, CRWD 7% | electric | a bolt and a screen, neon palette |
Company names and tickers are detected too. Naming a company makes it the primary line at 35 percent or more (15 percent for any further names), and the model is told the same rule. Short tickers that are also words (CAT, NOW, SNAP, F, V...) only count when typed in upper case. A company on its own, with no concept around it, gets 60 percent plus three sector peers.
Caching by prompt
A prompt is trimmed, its whitespace collapsed, and lowercased for hashing. The first ten hex characters of the SHA-1 become the summon id, which is also the key in the store (summon:{id}) and the id in share links. "Golden robot" and "golden robot" are the same golden robot for everyone, forever, or until someone clears the store. Crafts hash the joined prompt ("rocket + robot") with a craft: prefix instead.
Worked examples
These are the dictionary's answers, computed from the dictionary at build time, so the numbers below are exactly what the fallback returns today. The model path gives its own opinion, which is usually close and occasionally better.
- NVDAGPU40%
- AMDCPU20%
- MUmemory15%
- MSFTWindows15%
- TSMfoundry10%
- NVDAGPU design36%
- GLDgold20%
- TSMfoundry16%
- AMDrival GPU12%
- MUmemory8%
- SKHYNIXHBM8%
- OPENAIthe voice27%
- NVDAinference22%
- METAcompanions13%
- ANTHROPICthe manners13%
- MSFTAzure13%
- CEGnuclear power12%
- gaming pc matches the concept directly. No modifiers, so the concept basket is normalized as is, the drivers are the top three lines, and the sprite is a box with a screen, a panel and a bolt. This one also has a detailed image on disk, so the sandbox draws that instead of composing.
- golden gpu matches the "gpu" concept, then the golden modifier takes 20 percent for GLD, scales the rest to 80, sets a gold glow, a gold palette and adds a coin. Six lines survive because six is the cap.
- nuclear powered ai girlfriend matches "ai girlfriend" (longer than "ai", which is then no longer in the text to trigger the ai modifier). Nuclear adds three lines totalling 25 percent; after the six-line cap only the largest of them, CEG, survives, and the weights renormalize over what is left. The glow is nuclear and the sprite is a pink blob with eyes, a smile, hearts and a bolt.