Basically every completed step is a git commit of a worklog and a commit of the updated "TODO" list.
I have a queue of tasks that have to be done, the agent reads that, does some research, updates the worklog (does not commit), does the work, crosses out the task from TODO, updates the worklog and commits.
This started out as a human-in-the-loop setup, but now it mostly just works on it's own.
The initial run is in systemd timer+service. So the whole thing mostly runs on it's own. There are multiple skills - for different tasks.
If there's a crash, pi restarts (some scripts around that), checks the worklog, sees that it's not committed and assumes that it did not finish, updates are handled the same way.
Now the TODO can be wildly different. Read my email, prepare an answer to insurance. Read my email, update my calendar. Figure out and optimize my home assistant automation. Use the ghidra MCP to rev-engineer a crackme.exe. Optimize my Openwrt wifi network (complex topology, multiple APs), rewrite my old java 6 code to modern java with tests, research birthday presents based on hobies etc...
So far I've thrown just about everything I could think of into that setup - the only time I actually need to do something is when pi needs me to do something in the physical world - say - a TRV on a radiator got air blocked and I need to bleed it. Or it did the research and I actually need to buy something.
I get a notification and a calendar entry.
I do have a similar setup at work, but since my company moves at snail pace compared to development outside, this is my way to keep "up to date".
ice3 · · focus · HN ↗
I do use a git as pi memory with commit history and a worklog. Restarting pi just continues from the worklog + last commit/uncommitted changes.
Durable ... is different but I definitely will try it out.
randito · · focus · HN ↗
ice3 · · focus · HN ↗
Basically every completed step is a git commit of a worklog and a commit of the updated "TODO" list. I have a queue of tasks that have to be done, the agent reads that, does some research, updates the worklog (does not commit), does the work, crosses out the task from TODO, updates the worklog and commits.
This started out as a human-in-the-loop setup, but now it mostly just works on it's own.
The initial run is in systemd timer+service. So the whole thing mostly runs on it's own. There are multiple skills - for different tasks.
If there's a crash, pi restarts (some scripts around that), checks the worklog, sees that it's not committed and assumes that it did not finish, updates are handled the same way.
Now the TODO can be wildly different. Read my email, prepare an answer to insurance. Read my email, update my calendar. Figure out and optimize my home assistant automation. Use the ghidra MCP to rev-engineer a crackme.exe. Optimize my Openwrt wifi network (complex topology, multiple APs), rewrite my old java 6 code to modern java with tests, research birthday presents based on hobies etc...
So far I've thrown just about everything I could think of into that setup - the only time I actually need to do something is when pi needs me to do something in the physical world - say - a TRV on a radiator got air blocked and I need to bleed it. Or it did the research and I actually need to buy something. I get a notification and a calendar entry.
I do have a similar setup at work, but since my company moves at snail pace compared to development outside, this is my way to keep "up to date".