What you say
What came back, and the surprise in it
The agent read the oldprograms/nightly before replacing it — and read the file
that program had actually produced that morning. The briefing said the day came
to 163.50 across three expenses. The ledger it was written from has four
rows:
What that decision looks like in the program
What that decision looks like in the program
The maths lives in Its own docstring puts it plainly:
brief.py, beside main.py in the program’s own directory,
and it has a test file next to it:Everything numeric happens here, in plain code, where a wrong sum is a bug the tests catch — not a sentence a model once wrote.A program directory may hold anything.
main.py is the only file the platform
opens; files beside it are imported by plain name. See
Programs.This is the judgement worth borrowing: a model is for the part that needs
judgement. Summarising a week of email needs one. Adding up four numbers does
not, and a model that does it anyway will be right most mornings — which is worse
than being wrong every morning, because you stop checking.
Publishing and starting it
Publishing is a push, and the tree it pushes into holds programs, tools, evals and root documents — nothing else. This push was refused once for a root.gitignore, so the ignore rules moved inside the program’s own directory, where
programs may be any shape they like.

The refusal, the fix, and the version the push created
Showing that it works
The proof is not that a process is listed. It is that the file changes when the world does. The agent appended a row to the ledger, waited for a tick, and read the briefing back:Checking on it later
Ask. Your agent is on the same machine as the job, so “is the briefing program still running, and what did it write today?” is a question it answers by looking — the process list,/tmp/spend-briefing.log, and the file itself. To
stop it, say so.
There is no jobs screen in the app. This is not an omission being apologised
for: the loop, the schedule and the log are files in your harness, so the thing
that knows about them is the agent that wrote them.
Next
A bot that answers from outside
The same shape with a different trigger: a message from Telegram instead of the clock.
Programs
What a program is, what
handle(msg) decides, and how a program calls the agents it declares.
