Zero-Cost Autonomy

The Personal Infrastructure Built from Two Repositories — public and private

The point of this essay: Claude.ai can run git push. api.github.com is blocked, but git access to github.com goes through. Using that asymmetry, we built a loop — Claude → public repo → GitHub Actions → private repo → Claude. No new technology was used. The cost is zero. And yet Claude.ai is no longer just a system that receives instructions. It has become an agent that actively operates the infrastructure around it.

1. Reading the Map of Constraints

Claude.ai's computer use environment has network restrictions.

When we tested it, git access to github.com was allowed. But api.github.com returned 403. At first it felt like a wall. Then it became a design clue.

Constraints teach you the shape of a system. Understanding what cannot be done reveals the terrain of what can.

Git goes through. GitHub Actions on public repositories run without limits. Inside Actions, there are no restrictions on calling api.github.com. Connect these three facts and a circuit emerges.

2. Dividing Responsibility Between Two Repositories

The public repository (tokistorage.github.io) serves as a bridge. When Claude pushes a file here, GitHub Actions starts. Actions call api.github.com, retrieve data from GitHub Projects, and write the result to a private repository.

The private repository (tr) is where memory and capability live. A cache of project data, essay skill definitions, brochure templates, daily context notes. When Claude runs git pull at the start of a new session, the previous thread resumes. The data lives in your own GitHub, not on Anthropic's servers.

The flow looks like this:

Claude → git push (inbox/request.json) → Actions trigger → api.github.com → git push (result.json) → tr (private) → Claude git pull → read & analyze

Asynchronous — but most work is. Morning briefings, task updates, document generation: none of these demand sub-second response times.

3. Repository over Memory

AI memory features look convenient, but carry structural fragility. The provider holds the data. The format is opaque. Migration is difficult. When the service ends, the memory goes with it.

Git-based context management has the opposite properties. It lives in your own repository. It's readable as text and JSON. The full history survives in git log. Any AI tool can reference it.

Context goes in memory/context/. Daily logs accumulate in memory/daily/. Skill definitions live in skills/. Claude pulls them when needed. Capability accumulates in the repository rather than disappearing when the conversation ends.

This isn't a substitute for memory. It is more transparent than memory, more durable than memory, and more fully yours.

4. Why Mature Technology Makes a Better Foundation

Git was designed by Linus Torvalds in 2005. Twenty years of production use. The specification is stable. Implementations exist everywhere. The risk of it disappearing is effectively zero.

GitHub Actions workflows are written in yaml and version-controlled. If Actions were ever discontinued, migration to another CI/CD service would be straightforward. There is no lock-in.

Newer platforms and purpose-built tools offer richer features at the cost of deeper dependencies. Systems built on mature technology carry fewer dependencies and last longer for it. The cost is zero not because free services were assembled, but because the right infrastructure choices produced a structure with no fixed costs.

5. What an Agent Actually Is

"AI agent" tends to conjure images of specialized frameworks and complex orchestration layers.

This setup has none of that. Just git commands, yaml-defined workflows, and JSON files.

And yet Claude.ai is no longer a system that simply receives and responds. It actively operates repositories, triggers Actions, retrieves results, and decides what to do next. The boundary between the one who instructs and the one who executes has dissolved.

An agent is defined not by the complexity of its architecture, but by the presence of agency.