Cloudflare Artifacts
The actual remote Git server: repositories, objects, commits, branches, tags and canonical refs.
git clone · fetch · pushCloudflare Artifacts owns the repository. Trestle owns Switchyard's durable collaboration state. The control plane connects them without making either pretend to be the other.
The actual remote Git server: repositories, objects, commits, branches, tags and canonical refs.
git clone · fetch · pushWork, Attempts, Pull Requests, review, workflows, Integration Queue, permissions, provenance and the browser experience.
Durable records for Switchyard state: idempotency, optimistic concurrency, workflow steps, findings, queue state, policy and audit.
records · If-Match · events| Operation | Responsible layer |
|---|---|
| Clone / fetch / push | Git, talking to the Artifacts remote. |
| Store commits, trees, branches and tags | Cloudflare Artifacts. |
| Create Work / Attempts / findings / workflow runs | Switchyard, durably recorded in Trestle. |
| Reject a stale non-force push | Git/Artifacts; Switchyard interprets the rejection and reconciles. |
| Decide whether canonical may move | Switchyard Integration Queue after checks, review and policy. |
| Move canonical | Switchyard performs a real Git ref mutation against Artifacts. |
If a branch exists, its SHA comes from Git/Artifacts—not from a Trestle row. If an Attempt is waiting for review, that collaboration state comes from Trestle—not from a magic Git ref. Keeping those responsibilities explicit means ordinary Git remains interoperable while the agent-native workflow can be much richer than Git metadata alone.
A direct git push changes Artifacts first. Switchyard learns about that movement through the Cloudflare event fast path and its reconciliation safety net. Both feed the same idempotent ingest, so external Git activity becomes visible coordination state without turning Switchyard into the repository authority.