CodeAFKeeps working when you close it

Keeps working when you close it

Closing the window ends the view, not the work.

The window is a view. Closing it ends the view, not the work.
  • close the tab mid-task
  • quit the terminal app
  • a reminder with no window open

Try it in CodeAF

Where

In any project.

Type
/task solo run the test suite, then write a one-line summary to RESULT.txt

Then press Enter, and close the terminal while the task is still running.

You see

Run codeaf in the same folder again. You are back in the same conversation, and the task has landed: ◆ … · done · 1 file · branch kept.

Two small pieces, and neither is a service

Your conversation lives in the folder's engine, a process with no terminal of its own, and your window is a view onto it. Close the window and replies keep arriving, tasks keep running, and questions wait for you. When a conversation has nothing left to do, the engine keeps it for half an hour and then exits by itself. codeaf engine --status --workspace "$PWD" shows what it holds, and --stop ends it.

Standing orders need nothing open at all. The first reminder, schedule or watch you set up installs one timer under your login: a systemd user timer on Linux, a launchd agent on macOS. Every 5 minutes it runs codeaf tick, which does whatever is due and exits, usually within a second. While a window or an engine is open, that process runs the same pass instead. The chat says so once: checks every 5 minutes, window or not · background checks under /settings.

Where it stops

Nothing runs while the machine sleeps; the Linux timer catches up once when it wakes. Nothing runs when you are logged out. On Windows there is no timer, so orders are checked only while a window is open. What fires with nothing open waits in the conversation that asked.

Things to build

  • An end-of-day handoff: start a long /task before you leave, close the terminal but not the lid, and read its landing line when you open the folder again.
  • A reminder that outlives the tab: "Remind me at 5 to push the release branch", then close every window; the timer delivers it, and the line is waiting in that conversation.
  • A dev box that never sleeps: run the conversation there with codeaf chat --host devbox, close the lid, and its tasks carry on over there. Remote machines
  • A morning report with nothing open: a nightly routine set once, run by the timer, read on home. Run a nightly test routine

Go further

Running unattended: Standing work runs only under what you already allowed, shares one daily allowance, and earns trust one clean run at a time.

Coming soon: describe the org you want and CodeAF builds it: teams, managers, budgets, standing orders.