Your AI Editor Doesn't Know What You're Doing

Your AI Editor Doesn’t Know What You’re Doing

Your editor knows your codebase. It doesn’t know what you’re doing.

This is a structural limitation of how AI tooling is currently built, and the distinction matters more than it seems. Knowing a codebase means having a model of state — the functions, the types, the call graph, what exists and how it connects. Knowing what a programmer is doing means having a model of process — the intent behind the current sequence of edits, the problem being solved, the direction of movement. State is a snapshot. Process is a vector.

Current tools are good at the snapshot. They index your codebase, retrieve relevant context, and generate suggestions calibrated to what’s there. The Cursor-style approach has gotten remarkably far on this. But it consistently fails at a specific class of problem: situations where the right suggestion depends not on what the code looks like right now, but on what the programmer has been trying to do for the last twenty minutes.

The obvious fix is to send edit history as context. If the model sees the last hundred edits, it can infer intent. The problem is cost. Edit history is verbose, the context window fills fast, and most of what’s in that history is noise — intermediate states, backtracking, exploratory deletions. Sending raw history to a remote model on every keystroke isn’t a product, it’s a billing catastrophe.


The architecture I want to propose inverts the problem.

Instead of sending more context up, you add a layer of compression locally. A small model runs inside the editor — lightweight enough to respond in real time, trained specifically to track edit sequences and produce structured summaries. Not natural language summaries. Embeddings. The local model watches every edit, maintains a running representation of programmer intent as a vector, and sends that vector upstream when the remote model needs it.

The remote model receives not a history of raw edits but a compressed semantic trace of what the programmer has been doing. It uses this to generate suggestions that are calibrated to process, not just state.

This is already an improvement. But the interesting part is what happens when you make the communication bidirectional.

The remote model doesn’t just receive from the local model — it can dispatch to it. Before generating a suggestion, the remote model can send an investigation instruction: check whether this function is called anywhere else, find all implementations of this interface, trace how this variable is threaded through the codebase. The local model executes the investigation against the indexed codebase and returns the result. The remote model incorporates this into the suggestion.

Two cases where this matters concretely. First: the remote model is about to suggest a refactoring. Before suggesting it, it dispatches — verify this change won’t break callers it can’t see from the current file. Second: it recognizes a pattern in the edit trace that commonly leads to a specific class of bug. It dispatches — check whether the conditions for that bug are present here. The suggestion, if it comes, arrives with actual grounding.

The criterion for dispatch isn’t general uncertainty — it’s consequential uncertainty. The remote model investigates when the suggestion has implications it can’t evaluate from the context it already has. This is partially mapped, not solved. There are more cases than the two above, and the boundary conditions between “investigate” and “suggest directly” aren’t fully defined. I’m naming this as open.


The embedding layer is also open, and in a deeper way.

The premise is that the local model compresses edit sequences into vectors that the remote model can interpret. But these are different models, potentially different architectures, certainly trained on different data. Their embedding spaces aren’t compatible by default. A vector that means “the programmer is decomposing a monolith” in the local model’s geometry doesn’t mean the same thing in the remote model’s geometry.

The solution is probably a trained alignment layer between the two spaces — essentially, fine-tuning both models jointly on the specific task of intent communication. This requires data that doesn’t quite exist yet: annotated edit sequences with ground-truth intent labels, enough of them to produce a local model worth running. This isn’t an insurmountable problem. It’s an expensive one.

What does exist is the architecture. The shape of what would need to be built. And the observation that the bottleneck in AI-assisted programming isn’t intelligence — the remote models are already remarkable — it’s the channel. What gets sent, when, how it’s compressed, who decides what to investigate. That’s the unsolved layer.


It’s worth being concrete about what this unlocks, because it’s a different category of tool than what exists today.

A model that tracks process — not just state — can tell you there’s a better way to solve the problem you’re currently solving. It can notice you’re heading toward a race condition before you’ve written the code that introduces it. It can recognize that a library exists which would eliminate the pattern you’ve been manually implementing for the last forty minutes. It can see that the abstraction you’re building in this file is going to collide with a decision made in another file three sessions ago.

None of this is next-line prediction. It’s next-hour guidance. The difference between a tool that completes your sentences and one that understands what you’re trying to say.

The editor sees your code. It should be able to see you working.

if you feel the world is collapsing, read this

I may not have a perfect solution, but is what I have. I’m trying. Do the same

We are amidst the collapse of our current civilization. Either if you went down of the rabbit role of researching and understanding the significance of current events and how they can end up collapsing the way our current society is structured (maybe even went as deep as watching professor Jiangs grim predictions of how it will all unfold) or maybe you’re just perceptive/sensitive and feel in your bones that we are close to the end; you understand that we are entering a very turbulent phase of human history.

This may make you feel somewhat desperate. Not full blown panic attack, but a certain deep anxiety that you can’t take too seriously because its just a hunch, but something you can’t fully ignore.

This creeping anxiety, specially if you delved into spiritual practices in the past to better understand the subjective experience, may make you go after spiritual answers. Simulation theory, the perspective that your consciousness creates and transforms reality, or to find someway to spiritually detach from this reality. But all of that feels like escaping instead of confronting, and the solutions marketed and deep ancient truths boil down to positive thinking.

But how to confront this when, thinking about it logically, there’s no real solution. Changing course would need everyone to start being conscious of where we are and how we got here and how to get out, and that would need them to come to therms with beliefs they have that aren’t enough anymore to explain reality.

Ignoring the fact that I don’t even know if most people have the cognitive capacity to understanding all this because cognitive abilities are not uniformly distributed within the human race; and assuming that everyone has the capacity, truth of the matter, most people didn’t have the privilege to have an upbringing that stimulates critical thinking nor the time to develop that critical thinking.

Being discouraged, desperate and thinking of giving up are not personal failures, are just very good options once you understand how we are utterly hopeless.

And before I event start talking what I think are the solutions, we do not even feel safe to create communities to talk about this because it all feels like personal responsibility. And that feeling comes from the system making us feel that every problem and suffering the system throws at us and makes us suffers is our responsibility for not dealing with it, even when the problem is completely unreasonable and not our faults, but all the same we feel guilt. So lets break from that.

If this resonates with you, join the telegram group I created: ending and no solution in mind (yet)

I am by no means saying that doing nothing is the correct solution, and if it sound like that it’s because I didn’t articulate my thoughts enough. That being said, truth is that something things can be extracted from spiritual knowledge that don’t boil down to have faith in the universe conspire in your favor: that you are not your mind, you are the system that observers you mind, not even that, you are the system that observes the observation and chooses when to engage with the observations of the mind, even deeper, you are the system that know that it is simply the universe looking at itself from a particular perspective. And that’s the only thing you can call yours and be proud of having built it: your understanding of yourself and reality. If you can do even more, you’ll help others improve theirs. Ideally we could construct communities where we, those that understand this, help each other in this journey.

But with all of that you realize: reality will change. Many things may worsen. Some will die or suffer. Maybe you. Maybe someone you love. Suffering may increase. But your goal has not changed: survive for as long as you can, absorb and process information as much as you can and grow. Write about it. Eventually we will build technologies where we can find the writings of others doing the same thing.

None of this resolves the issue. But makes us able to still sane while dealing with it.

The closes thing a modern thinker can have to a philosophical system is a method of not going insane while absorbing information - me, now

Keep going, do what you think is wright, there’s no right or wrong solutions. Do that for as long as you can. And when you can’t anymore, I won’t judge your for anything you choose to do. That’s the best love and compassion I can give to you. Only you know what is too much for you

the favelization of the human mind

without proper planning or resources, we house more ideas each day

In previous generations, thinkers, those who reflect about the nature of reality and themselves, could develop their way of thinking into a coherent and structured system. Their worlds were static enough that they had the time to build an effective lens to understand it as it was. With the increasing rate of change of modern society, this has become not only increasingly more difficult, but ineffective.

We, modern thinkers, come in contact very early in our lives with a plethora of ways and systems of thinking, be it by active study or by passive absorption of their “ghosts” in the collective consciousness. These ways of thinking come in various forms: some spiritual, some philosophical, some practical; each with their own set of beliefs, each with their own limitation.

The problem is that we are constantly bombarded with so much information that whenever we try to adopt a particular way of analyzing reality, it quickly shows itself to us more than the lens can observe.

All models are wrong, but some are useful. — George Box

Over time, we become so attuned to this process, that whenever we try to structure a solid way of understanding reality, before even beginning, we already found its limitations. This makes our minds become less of a temple or palace that you plan, build and maintain; and more of a favela: forced to keep growing and changing to house way more inhabitants than it ever should.

favelization mind map A place of constant change and creation. A place that each day has more inhabitants than the less. A violent place where inhabitants constantly die. A place where the lack of resources make many struggle. A place of adaptation.

This is our minds.

incomplete

as it will ever be

Moved by desire, I tried to save. But to do that, I’d need to know what I crave.

For it is not that of what is good that I am after. It’s knowing of suffering that I need to master.

I wish my pain was the only that I felt. I wish my grudges were the only I held.

Maybe surrender is the victory attainable. But for sure to keep fighting is not sustainable. At least not alone, but in my ranks there are none. But there’s so little I can do and so much to be done.

I wish to keep on fighting, but am without weapons to wield. But to attain them I would need to lose fights that I will not yield.

the selves and their roles

be careful with using them

→ different levels of self exist to deal with different levels of “trauma”

events exist in a spectrum between learning and trauma. the more the information absorbed contradicts the beliefs of the thinker, the more the belief challenged by the information supports other beliefs, and the less consent the thinker gave (or believes to have given) to the happening of the event; the more traumatic the event is.

layers of self exist in a spectrum between the particular and the universal. with the particular being the self that has a name, an age, friends,family and an ego; and the more universal being just the universe observing itself from a particular perspective.

higher levels of self exist to digest and metabolize events into learning. but the higher the level of the self the less connected it is to sensory and emotional information. although higher levels of self have a much greater capacity to self reflect and change, they are completely useless for actually experiencing daily life.

one can also use higher levels of self to escape reality and its responsibilities.