Development journal / Entry 04

Dev Log, July 25, 2026

Reality check

Finding the balance is tough.

Kimi K3 can realistically operate by itself for 95% of what I need, but it is so expensive to run that it just isn't viable. Letting DeepSeek V4 Pro run amok has the opposite problem. The impressive things it can do make it way too easy to start blindly trusting it without even noticing.

I am forever asking myself, “Is this even worth the token cost to throw Kimi K3 at?” Then I stop scrutinising DSV4 as closely as I should and it starts doing some really silly things.

Perfect example. I finished implementing the basics needed to use MCP instead of prompt-injected tool calls. The point is that there should never be a mismatch between the tools the engine makes available and the tools the LLM thinks are available.

Then I spent a few prompts fine-tuning the combat test.

Only to realise afterwards that DSV4 had written the test using the old prompt-injected tool pattern because it thought that was more likely to work.

Cool. Great.

You do have to appreciate that there is no way I could have built Ariadne this quickly without coding agents. I already knew that when I started working on my main Godot roguelike with Gemini for the first time, completely forked because I was terrified of letting it touch the real project.

If I'm honest, someone could probably trade my systems and computer science knowledge for a bucketload of money to spend on frontier model usage and get pretty similar results. Especially since I'm still learning as I go.

But you also need to be realistic about the fact that you just cannot trust these things.

It is so easy to.

I pulled the bandaid off

On July 22 I pulled the bandaid off and got a ChatGPT Pro subscription to see how Sol handles this stuff.

DSV4 had completely misinterpreted how Ariadne's ruleset-agnostic system should work. The app's current implementation of “turns” had ended up locked to D&D 5e logic. Fixing it meant rebuilding the whole thing from the ground up, which would have taken many hours I do not have.

So I got Sol to orchestrate the rebuild while I was at work.

The results so far have been insane. I am still getting it to keep me in the loop, but everything it does and says just makes much more obvious sense. DSV4 often disappears into technobabble that sounds impressive until you actually stop and check what it means.

The rebuild is still in progress, but the primitives concept now goes beyond which actions a ruleset supports. It also defines when those actions happen and how control moves between the LLM and the deterministic engine.

A ruleset can theoretically tell the agent to hand control to the engine for one turn or an entire combat. It can define when the LLM regains control, when it should narrate an engine result, and when it should immediately hand control back.

This is how the system was supposed to work from the start. Locking “turns” to D&D combat logic was just another pitfall of using DSV4 Pro for complex software engineering without enough human review.

ComfyUI stuff

I have also been playing around with ComfyUI.

I have not expanded into many different models yet. Mostly Krea 2 for text-to-image and LTX for image-to-video with audio. I am definitely integrating image generation into Ariadne somehow, but I still do not know what the clean version of that looks like.

Maybe there is a subsystem that asks the LLM, “Is this moment important enough to generate an image for?” every turn. It could hook into a local ComfyUI instance or an online provider pretty easily.

The harder question is where those images belong in the UI and how rulesets should interact with the feature. I could make image generation ruleset-defined, but then some rulesets would have no image integration at all.

I don't know. I'll think about it more.

The Yes Folder

While playing with ComfyUI, I also slopped out a small app in about two days.

I already had a script that generates hundreds of varied prompts around one theme and queues three or four images from each. The annoying part was going through the output and keeping only the images I actually wanted.

So I made an app that works exactly how I want an image sorter to work for this one specific task.

It is called The Yes Folder.

You look at one image at a time. Save the good ones. Skip the others. Keyboard controls make it fast, and the down arrow undoes the last decision. I did not initially ask for most of the keyboard controls, but they appeared during development and ended up making the app feel purpose-built for sorting large ComfyUI batches.

Accidental quality. Or “emergent” quality, if you are feeling fancy.

The app also confirmed how capable coding agents are becoming at making small, focused things with barely any direct implementation input from me. I had a specific problem, described the tool I wanted, and ended up with a working Windows app a couple of days later.

There are probably already similar apps out there, but screw it. Someone else might get some use out of this one, so I put it up.

The Yes Folder is open source and available now. Just understand that it does not have the same personal attention I am giving Ariadne DM. The UI is waaayyy over the top for what the app does, but I do not want to spend more time and tokens adjusting it. If you want to change it, the source is there.

The only additional functionality I want to add later is video support.

But that can wait. Having this running concurrently has eaten into my usage enough already.

I need to get back to Ariadne.