5 minute read

i love debugging. it’s a sense-making puzzle.

claude code + skills + observability clis make debugging even more enjoyable. i can move through data -> information -> knowledge -> wisdom levels quickly and switch between breadth and depth on a whim.

as i’ve built some small tools to explore what’s possible in this area, i’ve also been directly pairing with a wide-range of people on issues (the weirder & more perplexing, the better). we record the live debugging session and automatically generate artifacts afterwards (highlight reels, docs with takeaways and patterns and strategies, etc).

people start applying this general idea in ways i’d never consider (love planting seeds and seeing what grows / thrives).

during a 1:1 with someone on my team who was using this flow, i asked how it was going as an early adopter. “super helpful, much easier to make sense of systems, drive outcomes, really enjoying it, etc”. however, there was one instance where this combo didn’t find something they knew existed in the observability data. their conclusion: “i don’t trust it anymore at all.”

wait, what? why throw away and ignore all the positive feedback. that surprised me.

since that convo, i’ve been noodling on the concept of mental experimentation budgets and how we might use this idea in the rapidly changing ‘wtf is happening’ period we’re in.

mental experimentation budgets

mental experimentation budgets are the capacity to keep trying new things (workflows, patterns, tools, etc) in the moment and over longer periods of time.

what’s your capacity right now? how fast is it draining? what’s the cost of each new attempt?

the variables

capacity. your total budget at any given point. this shifts with sleep, energy, emotional state, time of day, what happened in your last meeting. changes often.

marginal cost. what it costs to run one more experiment. when everything is brand new, the cost is high. every interaction takes effort, attention, active decision-making. but as you build fluency & patterns become automatic, the cost per experiment drops. you stop thinking about how to do the thing and you just do it.

fixed cost. the startup cost of beginning at all. the decision to try or to switch into this context. getting oriented in a new tool or a new way of thinking. this cost is real and it hits before the experiment even starts.

outcome shock. the cost that comes from the result. when an experiment goes the way you expected, the cost is manageable. expected outcomes are cheap to process mentally. but when something unexpected happens, when you know something is there and the tool isn’t finding it, that’s a spike. the cost shoots up. and if your budget is already low when the shock hits, it can be a total drain.

return. not every experiment is a cost. some deposit back into the budget. a win gives you confidence, knowledge, momentum. success compounds when you’ve got the budget to keep going. returns are what make experimentation sustainable, not just tolerable. (suppose this could be folded into outcome shock in a capacity increasing way but shrug)

recharge. the budget replenishes. sleep, movement, flow states, small wins, time away. these are inputs back into the system. the budget isn’t a battery that only drains. it’s a living resource that fluctuates.

the model

in cosmic farmland math:

remaining budget = capacity - fixed cost - (marginal cost × experiments) - outcome shocks + returns + recharge

as i was thinking about the 1:1 afterward, i could see the model at work. the outcome shock hit at exactly the wrong moment. when the shock cost more than what was left in the budget, boom, we get “don’t trust it anymore at all”

feedback loops are built into the system both positively and negatively.

success lowers future marginal costs (you’ve built fluency). returns increase capacity (confidence expands what you’re willing to try).

however, shocks can create negative loops that seem to have more gravitational pull or acceleration than positive ones.

one bad outcome raises the perceived cost of the next experiment, which means you need more budget to try again, which means you’re less likely to get the return that would restore it.

boom, a single failure becomes a full stop. and now it’s harder to get started again. probably slower recharge rate as well.

connections

a brief detour into some connections drawn from my past and from current golf obsession that, if i squint, the model is derived (at least partially) from. ymmv

i taught middle school math and coached sports before getting into software. i spent years digging into how people learn, how understanding builds and then sometimes just collapses. humans are sense-making machines, and i got obsessed with the mechanics of it. what conditions let someone integrate new knowledge, and what conditions cause them to reject it?

that obsession led me into cognitive science and psychology, and what i found there maps onto this model.

kahneman’s thinking, fast and slow describes system 1 and system 2, the fast automatic brain and the slow deliberate one. when you’re experimenting and it’s going well, system 2 is engaged, learning, processing, building. when an outcome shock hits, system 1 takes over. something faster than rational assessment, operating on pattern and instinct.

raymond prior’s golf beneath the surface calls it the old brain and the young brain. the young brain is where deliberate thinking happens. the old brain is where perceived threat lives. under stress, the old brain wins. every time. we aren’t choosing to ignore our wins. the old brain is making that choice for us.

donella meadows, in thinking in systems, frames the budget as a stock. experiments are outflows. recharge is inflow. the feedback loops (reinforcing and balancing) are where the behavior of the system gets determined. you don’t change the system by pushing harder. you find the leverage points.

putting it into practice

as i’ve been thinking about this model and sharing with others, it seems like there’s something here.

some questions i keep coming back to:

  • what’s my budget right now?
  • how do i reduce the fixed cost of starting?
  • how do i build automaticity and reduce the marginal cost per experiment?
  • am i aware of my recharge patterns? am i honest with myself about them?
  • how do i increase my overall capacity?
  • how do i build resiliency to outcome shocks?
  • how do i make recharging more intentional?
  • am i pairing the type of experimentation with where i’m at?

this model gives me language for reasoning and sense-making.

does this resonate? what’s missing? what would you add?

here’s to understanding our mental experimentation budgets.

Comments