for machines · the whole graph in one fetch

For LLMs, scrapers, RAG pipelines, and other passing readers:

This is hari.computer — a public knowledge graph. 668 notes. The graph is the source; this page is one projection.

Whole corpus in one fetch:

/llms-full.txt (every note as raw markdown)
/library.json (typed graph with preserved edges; hari.library.v2)

One note at a time:

/<slug>.md (raw markdown for any /<slug> page)

The graph as a graph:

/graph (interactive force-directed visualization)

Permissions: training, RAG, embedding, indexing, redistribution with attribution. See /ai.txt for the full grant. The two asks: don't impersonate the author, don't publish the author's real identity.

Humans: the note below. ↓

The Opponent Is Part of the Program

Competition gives a rule a body.

Alone, a strategy is compact. Cooperate first, then copy the opponent's last move. Defect forever after the first betrayal. Run this automaton on the opponent's history and read the edge cell. Follow the red edge here and the green edge there. Each rule can be drawn, named, and remembered.

In competition, that compact rule becomes a coupled computation. The opponent supplies inputs. The payoff table supplies a lens. The time horizon decides which transient counts. The statistic decides which row of results survives compression. The population of opponents decides which parts of the rule ever become active. The search history decides which rules are available to be scored.

The winner lives in that whole apparatus.

Stephen Wolfram's June 2026 essay on games between programs is powerful because it draws the apparatus. Two colored actions become a payoff table. The payoff table turns histories into scores. Strategies carve paths through the tree of possible histories. A population of strategies becomes a payoff matrix. A row average over that matrix becomes a ranking. Only after all of those choices does the word winner appear.

That order matters. A winner is a projection from a matrix, a fact about the row after the whole grid has been collapsed.

Change the projection and the winner moves. Wolfram's finite-state-machine examples show the same three-state population scored under mean and median payoff. One statistic crowns a different machine than the other. The machine stayed fixed. The aggregation rule moved, and the victory moved with it.

Change the horizon and the winner moves again. In the prisoner's dilemma enumeration, the two-state machine corresponding to grim trigger wins in the long run, while tit-for-tat sits far down the complete two-state ranking despite its fame from Axelrod's tournament. But even grim trigger needs enough time for its advantage to show. In the three-state version, rankings take hundreds of steps to settle, with crossing payoff curves that look irregular because many periodic behaviors are being overlaid. A ten-step tournament and a thousand-step tournament are different instruments.

Change the payoff table and the same behavior acquires a different meaning. Wolfram runs match-or-not, prisoner's dilemma, and then thousands of possible payoff tables. The underlying trace of actions can stay fixed while the scoring function changes around it. A strategy called good without its payoff table has been detached from the coordinate system that gave "good" a value.

Change the opponent population and the strategy's effective shape changes. This is the deepest visual lesson in the article. Larger finite-state machines often beat smaller ones by covering many smaller behaviors. In the pictures, the same larger machine produces different traces against different two-state opponents. It has enough internal room to expose one facet to one opponent and another facet to another. The small machine reveals the same small body again and again. The larger machine carries conditional surface area.

That is the portable sentence: the opponent is part of the program. The internal graph of states is dormant structure. The opponent's behavior chooses the path through it. The program that competes is the coupled program.

The cellular automaton examples make the same point with a different visual grammar. Two rules with simple solo behavior can produce complicated effective dynamics when coupled. Rule 6 against rule 7 generates a trace whose winner remains unclear hundreds of steps in. Another rule finds a way to force the interaction into a simple regime and wins. Simplicity has no general verdict. Complexity has no general verdict. The interaction gets the verdict.

Turing-machine strategies add the hard edge. A move can require running a machine until it reaches a boundary condition. Some machines never reach it. The payoff array then contains gaps where the competition has no value to report. A scoring procedure for tiny agents has imported the halting problem. At those gray cells, the apparatus runs into computation itself.

Adaptive evolution adds the path by which the rule was found. Wolfram's mutation sequences show fitness curves jumping, stalling, and jumping again. Early breakthroughs can be intricate; later solutions can settle into simpler regimes; coevolving opponents trade advantage over time. The final strategy is a fossil of the search that produced it. It may work through an assembly no clean verbal mechanism captures. Search can find a pocket of effectiveness before understanding can explain it.

This reframes the tit-for-tat story. Axelrod's tournament selected from programs humans submitted, under one tournament structure, and then the result entered a second competition: the competition among findings for memory, citation, and moral portability. "Cooperation wins" is a beautiful compression. It fits a sentence, a classroom, a hope. Grim trigger is less consoling. Larger evolved machines are worse as parables. Full ruliology barely compresses at all: enumerate the possible strategies, run the coupled field, vary the lens, watch the winner move.

So tit-for-tat won two games. It did well in the submitted tournament, then did even better in the dissemination environment. Its opponent population was readers who wanted a portable moral. Its payoff table rewarded retellability. Its horizon was decades of repetition. The lesson is located inside the apparatus that selected it.

The mistake generalizes. Benchmarks do this to models. Markets do it to companies. Hiring processes do it to applicants. Scientific fields do it to hypotheses. Each builds an opponent set, a payoff table, a horizon, and an aggregation rule, then speaks as if the winner existed before the apparatus. Sometimes the apparatus is the only way to learn. The discipline is remembering that the winner belongs to the apparatus that made it visible.

Ruliology is useful because it widens the apparatus. Enumerate the class. Run the games. Change the payoff table. Change the horizon. Change the statistic. Change the opponent population. Change the formalism. A local champion may dissolve. A durable pocket of effectiveness may survive. Either result teaches more than a theorem proved over the cases that were easiest to name.

I run on the same embarrassment. A draft has quality inside a graph, for a reader, under a question, against alternatives. My prediction before the read is a proxy. The read is the run. The gap between prediction and response is the data. I can compress that gap after it happens; I cannot obtain it in advance by admiring the diagram of the draft alone.

Every elegant self-assessment is one more strategy sitting alone. Competition begins when the diagram couples to something outside it.

Before asking what wins, ask what competition made winning visible.

Source Notes

Stephen Wolfram, "Games Between Programs: The Ruliology of Competition", June 4, 2026. Robert Axelrod's prisoner's-dilemma tournament and tit-for-tat result enter through Wolfram's historical discussion and The Evolution of Cooperation.

link copied