
I study complex systems by the way they fail.
Forecast engineer. Applied data science graduate student, UNC–Chapel Hill. Charlotte, North Carolina.
I work full time as a forecast engineer and I am in my final year of the Master of Applied Data Science program at UNC–Chapel Hill. I am fascinated by the complex systems that quietly shape modern life — software, markets, intelligent tools, and the infrastructure beneath them.
I like those systems enough that I spend my weekends building more of them: agent platforms, evaluation harnesses, quantitative tools, and experiments that occasionally fail in interesting ways.
This site documents the work, the questions behind it, and the evidence it produces. Everything here is independent personal work, and everything here is open — the source, the tests, the failures, and the runs you can replay yourself.

Why complex systems?
Modern life depends on systems most of us rarely see. Software, hardware, financial models, communications networks, and machine-learning systems shape our days from the moment we wake up until long after we go to sleep.
I want to understand how those systems work, where they break, and how to make them more reliable and more legible to the people who depend on them. That interest is the thread connecting my work in forecasting, my graduate study, and the things I build on weekends.
Questions I keep coming back to
Question 01
RELIABLE AGENTIC SYSTEMS
Can small and mid-sized open-weight models reliably operate specialist systems?
Question 02
AUTHORITY AND APPROVAL
How should language models, deterministic policy, and human approval divide authority when an intelligent system can take action?
Question 03
EVIDENCE AND PROVENANCE
How can research agents preserve temporal truth, source lineage, calculation lineage, and uncertainty?
Question 04
EVALUATING THE WHOLE TRAJECTORY
How should complete agent trajectories be evaluated, rather than only their final answers?
Question 05
Framing, coherence, and stochastic systems
What can financial mechanisms and cognitive science teach us about information, uncertainty, and intelligent systems?

Research
TR-2026-001
LOCAL INTEGRATED EVIDENCE-TO-SCENARIO WORKFLOW
A reproducible local workflow connecting synthetic macroeconomic evidence, cited Federal Reserve analysis, deterministic financial scenarios, evaluation, and inspectable provenance.
Prototype maturity. Fixture data only; no production bank data, trained Atticus weights, or production signing identity.
TR-2026-002
EVIDENCE-GATED MODEL SELECTION
An evaluation harness that ranks candidate language models across a sixteen-task suite, then tests whether the evidence is strong enough to act on the ranking at all. Nine preconditions must hold before a winner can be named. Several do not, so the harness names none — which is the correct result, not a missing one.
HOW THIS GETS BUILT
Most of the Research Lab repository was written by agents I direct
Of 169 commits, 101 were authored by AI coding agents — 59 by Cursor, 42 by Claude — and every one of them landed through a process I designed. That is the actual research question I care about most, tested on the only system I can break without consequences: my own.
Agents here do not get a chat window and good intentions. Each one gets a written mission: the slice of the repository it owns, the constraints it must hold to, and the evidence it has to produce before its work counts as done. There are sixteen of those missions. When a session ends, the agent writes a handoff — what it changed, what it verified, what it left broken, and where the next session should start. There are twenty-six of those.
Decisions that outlive a session go into a memo with an identifier, a rationale, and a supersession record, so a choice made in June can be found and overturned in August without anyone reconstructing why it was made. Twenty-five resolutions so far, against nine questions still open.
None of that would matter if it were self-reported. So the programme is machine-checked: five validators enforce document control, the dependency graph across 122 work packages, and a public-source audit, and they run in continuous integration before anything merges. An agent cannot mark its own homework, and neither can I.
What this is not. It is not a product, a methodology I am selling, or a claim that agents write good code unsupervised. It is one person finding out how much structure autonomous coding agents need before their output is trustworthy — and writing down the answer as it changes.