DEV Community

ORZN
ORZN

Posted on

I built a tiny local tool that won't say "done" unless it can prove it. FEEL free to give me suggestions

This is small and early, but I wanted to put it out there.

I got tired of AI that's all bark and no bite — confident, fluent, and it
tells you "Done!" whether or not anything actually happened. So I built the
opposite, in the narrowest way I could.

ORZN is a local task-runner. It does a handful of things on your own machine:
finds, reads, summarizes, moves and renames your files, launches apps, opens
sites. Nothing fancy.

The one idea I actually cared about: it records every action, and it won't
mark a task "done" unless there's evidence it happened. If it can't prove it,
it says "blocked" instead. And it stops for your approval before it changes
any file.

It's not a general "do anything" agent and it doesn't do much yet. Free, MIT,
local, no account — nothing leaves your machine unless you point it at a URL.

Repo: https://github.com/snit292012/orzn

Genuinely want blunt feedback, including "this is too small to matter."

Top comments (3)

Collapse
 
fromzerotoship profile image
FromZeroToShip

"It tells you Done whether or not anything actually happened" is the exact frustration that made me rebuild one of my own tools — so this instinct is right. One push on it, from having been burned a level deeper:

gating "done" on evidence is the move, but watch what counts as the evidence. If the proof is the tool's own action log ("I moved the file"), that's still the tool grading its own homework — it recorded that it acted, not that the world changed. I had a health check that reported "database: ok" by reading a status its own endpoint had written about itself; it passed happily until I made the watcher run the query directly instead of trusting the report. For a file mover, the honest version is re-statting the destination after the move — confirm the file is actually there, from outside the code that claims to have put it there.

Narrow scope and an explicit "blocked" instead of a fake "done" is already more honest than most things that ship. The upgrade is just making the proof something the tool didn't write itself.

Collapse
 
snithik_s_ba819307d6c8074 profile image
ORZN • Edited

thank you. You were dead right: it was recording the move manifest, which is still the tool vouching for itself. Just pushed a fix **— it now re-stats the destination from outside the mover after every move, confirms the file's actually there and the source is actually gone, and reports any move it can't independently verify as a failure instead of a success. The evidence line literally says "re-checked from disk" now.

Your "database: ok reading its own status" example is exactly the trap I'd fallen into. And funnily enough, "the judge stays outside the thing it judges" is the principle the whole tool is supposed to be built on — you caught the one place I'd let the doer grade its own homework. Genuinely grateful. Made it better.

Collapse
 
fromzerotoship profile image
FromZeroToShip

That's the exact right shape — "dest is there AND source is gone, anything I can't independently verify is a failure" is the version most people skip, because the tempting fix is to re-stat only the destination and call a present file a success. Reporting the unverifiable as failure instead of success is the whole game.

One thing I'd do next, from having just done it to my own gates this week: put a match under the new check. Deliberately break a move — make the destination unwritable, or delete the file the instant the move completes — and confirm "re-checked from disk" actually reports failure for that reason. Right now you know it passes; you haven't yet watched it fail. A verifier you've never seen go red is just a nicer-looking version of the same self-vouch: the doer stopped grading its own homework, but the new judge hasn't been shown it can convict. That was the last gap I found in mine — I'd fixed the trust, then never confirmed the fix could fail.

Great turnaround, and thanks for closing the loop in public. This is the part of the feed that actually works.