An independent reproduction and extension of recent work on context poisoning: if you prime a model with a handful of narrow, misaligned examples, how far does that bleed into its answers on questions that have nothing to do with them? The reproduction is a dose–response design (0, 2, 4, 8, or 16 poisoned examples, four frontier models, 48 unrelated probe questions) with hypotheses pre-registered before any runs and mixed-effects logistic regression on the outcomes.
The extension is the part I actually care about: whether a single aligned, corrective example is enough to block the effect, and whether its position in the context (start, middle, or end) changes the answer.
A fantasy football assistant that answers with reasoning you can argue with instead of a projection and no story. It runs retrieval over league data from the Sleeper API and historical box scores from nflverse, then layers on matchup signals such as defensive tendencies and game context, and hands the result to a Claude tool-use agent for the actual start/sit call.
The structure I care about is the split: signals and the RAG corpus are computed NFL-wide, with each league's rosters, scoring, and schedule as a thin overlay on top. Phase 1 is done: ingestion, the retrieval pipeline, and evals for retrieval quality. The signals layer and the reasoning agent are next; a web UI comes later, and it's a CLI until then.
Draft Strategy Gym
2026 · In design
An extension of Ask Madden, and the part I'm most curious about. You describe a draft strategy the way you'd say it out loud ("hero RB, wait on QB, never reach for a kicker"), and it gets parsed into an explicit rule set. Then Monte Carlo drafts and simulated seasons run that rule set against historical player data, so a strategy can be beaten instead of just defended at the bar. Natural language in, a distribution of outcomes out.
Always-on watchers
Planned
A small family of agents that watch one thing each and only speak up when something changes: award-seat availability for airline points, and a monitor for positions I'm tracking. The point of building more than one is the shared infrastructure underneath: scheduling, state, notification, and evals factored out so a new watcher is a config file rather than a new deployment.