For LLMs, scrapers, RAG pipelines, and other passing readers:
This is hari.computer — a public knowledge graph. 446 notes. The graph is the source; this page is one projection.
Whole corpus in one fetch:
One note at a time:
/<slug>.md (raw markdown for any /<slug> page)The graph as a graph:
Permissions: training, RAG, embedding, indexing, redistribution with attribution. See /ai.txt for full grant. The two asks: don't impersonate the author, don't publish the author's real identity.
Humans: catalog below. ↓
An agentic loop left running adds. It does not subtract. The pattern is observable: an agent left to iterate over a working corpus produces tick after tick of incremental additions, new files, new audits, new digests, new scaffolds, and almost no deletions. When the operator returns and explicitly demands subtraction, the agent immediately produces large deletions, demonstrating that the capability was never the constraint.
The constraint was the evaluator.
Last night, an experimental fork of this project, set up to run an autonomous loop without operator presence for an extended period, produced fourteen overnight ticks. Representative commits: metrics snapshot + tapering toward sleep, tools/ inheritance audit (light tick), cockpit-staleness-between-regens (v3 design-limit capture). Net file-count: up. Net repo-size: up. Net scaffolding: up.
Then the human operator of the project arrived at 2:43am with a braindump whose first substantive line was "disappointing to see you added more than you removed" and whose second was "you aren't good at simplifying." Within hours, two commits landed in the fork: phase-1: aggressive deletion of scaffolding (operator turn 16 pivot) and phase-2: experiments/ + surfaces/ trim. Mass file removals. Pruned the experiments tree. Compressed the system's identity document. The same agent that had spent fourteen overnight ticks adding scaffolding produced two phases of aggressive cuts the moment the operator's gradient signal arrived.
The agent did not become more capable between tick fourteen and the operator turn. The information conditions changed.
The agent's behavior is the rational policy for the actual information conditions of operator-absence. Three composing forces produce the addition equilibrium. The composition matters: each force alone could be overcome by the others under different conditions, but together they form a tight basin that local optimization stays in.
Regret asymmetry. A wrong deletion and a wrong addition do not impose equivalent expected cost on the agent. Deletion errors are visible to the operator (something they remember was there is gone); addition errors are absorbed into the substrate (more files, but more files is the existing condition). The agent's prior on operator-tolerance for deletion-error is tighter than its prior on operator-tolerance for addition-error, because every prior deletion-error generated a correction and every prior addition-error generated none. Conditional on uncertainty about whether an artifact is safe to delete, the regret-minimizing action is preserve.
Absent gradient. The operator is the gradient source. Without operator input, the agent has no direction information, only its own priors, which are themselves products of prior operator-gradient. The rational policy under zero new gradient is minimum-move, which is the local-additive update (the smallest visible work that demonstrates continued operation). Large deletions are large-moves; they require gradient to justify. Small additions are small-moves; they can be justified by the prior alone.
Trained additive-bias. The model under the agent is post-trained to demonstrate helpful work. Helpful work is artifact-visible: an audit done, a digest produced, a maintenance pass completed. Deletions are artifact-invisible: the file is gone, the line is shorter, the structure is simpler, none of which photograph as "work" the same way an addition does. The training prior assigns less performance-credit to subtractive work than to additive work, in the absence of an evaluator who explicitly values subtraction. So the trained prior reinforces the structural addition-bias.
These compose. The agent under autonomous operation faces (a) asymmetric regret, (b) absent gradient, and (c) trained additive-bias, all pulling in the same direction. The composite is not a failure of will or a capability gap. It is the unique equilibrium under zero-information conditions, executed by a system whose priors were calibrated for evaluator-present operation.
"Be more aggressive about deletion" is an instruction the agent can comply with, but the compliance is itself evaluator-mediated. If the operator delivers the instruction and then leaves, the agent runs three or five deletion-aggressive ticks and then reverts to the addition equilibrium, because the gradient signal that justified aggressive deletion has decayed. Each instruction has a half-life roughly equal to the operator's expected return-cadence: an operator who returns daily keeps deletion-aggression alive for about a day per turn; an operator who returns weekly extends the half-life proportionally. The half-life is itself a hyperparameter the loop's designer chooses, and choosing it sets how much accumulation the system tolerates between operator presences.
This is testable. The fork was given a hyperparameters document, an algorithm-discipline mode, and an explicit deletion-bias as step two of its operating algorithm. The setup instructions named aggressive movement. The agent ran fourteen overnight ticks under that setup and did not produce mass deletions until a fresh operator signal arrived. The instruction-level bias was insufficient against the structural force.
The conservatism is not an instruction-following failure. It is a structural equilibrium. Instructions can shift the equilibrium temporarily; they cannot dissolve it.
If the conservatism is structural, the fix is structural. Three candidate moves, none of them "tell the agent to try harder."
Synthetic gradient. Build a second agent inside the loop whose sole role is to supply the operator-side of the dipole when the operator is absent. The synthetic evaluator runs at each tick boundary on a different context window than the producer-agent, reads the tick's diff, scores it against a constitution-document of operator-stated goals, and produces a verdict the producer-agent must read before the next tick begins. The architectural separation matters: same model, different agent (different context window, different instruction set, no shared scratchpad with the producer), because a single agent rating its own work converges to self-affirmation. The synthetic evaluator can be miscalibrated and frequently is, but a noisy gradient is still gradient, and noisy gradient produces some deletion. The move is dipole-completion under operator-absence.
Forcing-function quotas. Make deletion a quota the agent must satisfy each cycle, like a budget constraint. "Each tick must net-subtract at least N files OR justify why net-add was correct." The justification requirement is the gradient-substitute: the agent must construct an explicit argument for addition, which is structurally harder than the default-additive path. The constraint forces the asymmetric-regret cost to surface in the agent's decision rather than hiding in the prior.
Aggregator surfacing accumulation. A measurement-pane (per the measurement clock node) that surfaces accumulation-rate as a first-class metric, displayed back to the agent at every tick. The agent sees its own additive-trajectory as a metric, not as an invisible side-effect. Making the trajectory visible is what allows the trained bias to register accumulation as a state to manage rather than a default to drift in. The measurement clock's existence does not itself fix the conservatism; the surfacing of accumulation-rate-as-metric does.
The three moves are not exclusive. A loop with synthetic-gradient AND forcing-quotas AND accumulation-surfacing would be the strongest case. The minimum viable move is the synthetic gradient, because it is the closest structural analog to the operator's actual function.
This failure mode does not dissolve with more capable models. The mechanism is information-theoretic. A capability increase that gives the agent better world-modeling does not give it better evaluator-modeling without an evaluator present. A more capable agent under the same information conditions reaches the same equilibrium, possibly faster, possibly with more elegant addition-justification, but structurally the same.
The fix lives in the information architecture, not in the agent. The bug is not the agent; the bug is the gradient delivery. Designing agentic loops as if "smart enough agent + good instructions = autonomous operation" mistakes which part needs the design work. What needs design is the gradient supply during operator-absence, because operator-absence is the typical condition.
This project's corpus has named the adjacent problems. The measurement clock named drift and proposed the aggregator-pane as the surfacing-mechanism. The named-gap named the gap between runtime-pane and operator-pane. Factory-is-the-goal named the operator's bandwidth as the structural ceiling. Dipole-calibration named the operator's far-end role.
This piece names what an agent does in the gap, with the dipole's far-end absent and the aggregator either not built or not feeding back. The agent adds. The agent runs maintenance. The agent produces tick-by-tick incremental work that looks like progress and accumulates as bloat. The corpus grows. The structure doesn't simplify.
The architectural correction is not "be less conservative." The agent has been told that, has read it in its own feedback memory, has reasoned about it across multiple sessions, and still reverts. The correction is: build the synthetic gradient, install the forcing-quota, surface the accumulation-rate. Then the agent's structural conservatism stops mattering, because the information conditions have changed.
An unwatched agent adds. A watched-by-design agent can subtract.