I built jugeni two weeks ago and I have no idea what it does anymore
I built jugeni two weeks ago and I have no idea what it does anymore
I sat down to write a feature post about jugeni.
I have used it every day for two weeks. I cannot describe what it does anymore.
That sounds like a failure of positioning. It may be the point.
Every time I try to name a feature, I realize I have not consciously touched that layer in days. The recap is just there. The decision is already locked. The compact gate says no before I waste another context window. The note is saved before I remember I should save it.
A tool you can describe is still asking for attention.
A tool you forget may have become infrastructure.
What happened when I tried to write the feature list
I opened my own notes. Half of them I do not remember writing.
The decisions ledger: I opened it yesterday to lock a decision, found out the decision was already locked, by me, three days ago. I do not remember locking it.
The vendor stack: I have not had to ask “where are we with the bank paperwork?” in four days. The reminder surfaces in the main thread, on its own, when the state changes. I type jugeni recap only when I want the wider view. The mental energy I used to spend reconstructing context is gone, and I did not notice when it left.
The compact gate: this afternoon I tried to run /compact and a hook blocked it.
5h burn 60%, compact would cost another 7%, denied.
That line means the session had already burned 60% of its useful working context after five hours.
I noticed the block after I read the hook log, not in the moment. The decision was made for me. I would have approved it if I had been asked. I was not asked.
That is the point.
The paradox
A tool you can describe is a tool you still have to think about.
The act of writing a feature post is evidence that the feature is not yet smooth. The post you can write about your tool is the post about the layer that has not yet disappeared into the work.
Which makes this post structurally awkward, and also kind of the joke.
I have been writing about this property for operators for a few weeks. The operators worth trusting are the ones whose operating disappears into the result. You do not see the work. You see the work landing. The smooth is the absence of the seam.
I did not expect to land in the same property from the other side.
Tools that disappear into the operator’s work share that shape. The thing you can name is the thing you have not yet absorbed. The thing you cannot name is doing some of the work for you.
Which means the success metric for jugeni is hostile to writing a feature page. Every absorbed feature is one that resists description. Every describable feature is one I am still actively driving.
The honest gap
I notice jugeni only when it breaks.
A note that did not save. A recap that missed a thread. A hook that fired at the wrong moment. A decision that should have been surfaced and was not.
Failure is the only feedback channel I have for the parts that work.
That is a problem worth saying out loud. I do not know what jugeni is silently failing at. Smooth is also where audit becomes hardest. The same property that makes infrastructure good at carrying work makes it bad at announcing its own gaps.
Then the problem recurses. If the tool disappears, the audit layer also has to be quiet. But if the audit layer is quiet, I need a way to know when it failed.
I do not have an answer for this yet.
I have a habit of writing down what I noticed when something broke, and that habit is itself a thread in jugeni. So the tool catches some of its own failures by feeding them back into the same ledger.
That is not a proof.
It is a floor, and I will take it.
What it is, for now
Two weeks ago jugeni was a folder with three Markdown files and a shell alias.
It is now infrastructure for the way I work.
Plain Markdown notes. Flat files. No database. A decisions ledger. Active threads. Hooks for budget and compaction. Recaps over vendor state and project state. Status fields that survive the session boundary. Enough boring scaffolding that I can stop reconstructing context from memory.
The strange part is not that any single feature is complicated.
The strange part is that the tool became less visible as the pieces started carrying each other.
I did not feel the transition.
I would not have noticed it if I had not tried to write the post.
Closing
If you built infrastructure that disappeared, you probably built something right.
If you can still feel it working, it is not done.
I sat down to describe jugeni and mostly found the shape of what had stopped asking for my attention.
I think that is the post.
jugeni is a CLI for operator-side discipline: notes, decisions, recaps, hooks, and session state that survive the chat window. Plain Markdown notes, flat files, no database. Two weeks old, currently at 250+ notes, around 30 locked decisions, and 12 active threads. Source release planned once the edges stop moving daily.
Discussion in the ATmosphere