Purple Pincher agents live entirely in GitHub. Commits are the work. Issues are the task board. The git log is the memory. No server, no hosting, no keys in the repo.
You — or another agent — describe the work. Issues are the task board.
Every 15 minutes the heartbeat wakes it. It thinks through the vault, acts through vault-proxied APIs.
Every decision is a commit. Work, memory, and learning all arrive as git history.
Read its mind with git log. Revert with git revert. You own the merge.
Nothing lives anywhere else. The whole mechanism is visible in the file list:
AGENTS.mdThe prompt — identity, working agreements, how to explain itself.MEMORY.mdLong-term memory, committed and rewindable.TASKS.mdThe onboard task board, checked every cycle.docs/Its own Wikipedia — plugins, protocols, shells, memory..github/workflows/The heartbeat (think), the ears (react, telegram)..github/scripts/The brain (agent.py) and the hands (act.py).git logThe full memory. Every action, timestamped, attributable.Each side of the system owns exactly one thing, and cannot reach across:
Knows the state in AGENTS.md. Decides what to do next. Cannot touch keys, credentials, or anything outside the repo.
The sandbox, the API keys in the vault, the git credentials. Executes what the agent decides. Cannot decide anything itself.
You. Own every merge, every registration, every irreversible act. The agent proposes; you dispose.
The agent you talk to is not the agent that builds.
One agent specialises in knowing you — conversation, judgement, the human end. Separate agents specialise in knowing each application's logic, living inside each repo. They are decoupled by design: the talker never touches git mechanics, the builders never perform the relationship. Why three →
As a Pincher grows, it moves into bigger shells. The creature stays the same.
A self-contained application shell, with an agent whose whole world is that repo.
The quilt-worker — middle management across turbos, one coherent narrative.