Artifacts gives a controller durable Git workspaces, independent forks, repo-scoped credentials, snapshot reads, and change events. Compose them as: provision a task repo, let the agent commit and push, process the resulting commit, then revoke access or clean up.
Cloudflare Artifacts as a black box
Artifacts stores named Git repositories and exposes their versions, lifecycle, credentials, and change notifications. Your application supplies the agent runtime and the policy for accepting its work.
| Primitive | What an application can do | Detail |
|---|---|---|
| Namespace and repository | Group workspaces; retain a workspace across agent runs | Containers |
| Git object and reference | Identify an exact snapshot or follow a moving branch | Version model |
| Create, import, fork | Start empty, initialize from a public remote, or allocate an independent workspace | Provisioning |
| Repository Git token | Grant read/write access with expiry and revocation | Credential scope |
| Direct content read | Inspect history, objects, or one file without cloning | Interfaces |
| Change event | Start downstream processing when versions or repository state change | Events |
| Optional ArtifactFS client | Give filesystem tools a mounted Git working directory | Filesystem view |
A proposed agent-task composition
- A controller holds management credentials and creates or forks a task repository.
- Once the repository is ready, the controller records its starting commit and issues a short-lived write Git token for that repository.
- The agent clones or mounts the repository, edits files, creates commits, and pushes.
- A push event starts validation or other downstream work against the event's commit hash.
- The controller records the accepted output commit, revokes credentials, and applies its retention or deletion policy.
This is a composition of documented primitives, not an automatically managed task lifecycle. A branch shares repository credentials and lifecycle; an independent fork allows separate access and cleanup. The documented fork API has no arbitrary source-commit selector, so exact baseline selection must be handled by the client.
The present capacity bounds are 1 GB per repo and 32 MB per file/blob. They constrain the size of each workspace even when repository count is unlimited.