FIG 0.2
Immutable snapshots
Every agent starts from a frozen software state. Master is a pointer. The work is the snapshot.
Purpose-built for coding agents. Designed for concurrent, transactional state.
New Protocol 1.0
Render a deterministic total before
invoice_state
is committed, instead of rounding after integration.
agent:codex submitted Change chg_8291 from workspace wrk_01928 · 2min ago
ci:jenkins-prod published Evidence unit-tests 341 tests passed · 2min ago
validator:security published Evidence security-scan · 1min ago
integrator:master compared-and-swapped refs/heads/master abc123 → def456 · just now
Policy satisfied. Three required Evidence records passed.
CAS succeeded. New snapshot snp_01JAC.
FIG 0.2
Every agent starts from a frozen software state. Master is a pointer. The work is the snapshot.
FIG 0.3
Many machines, one authoritative line. Overlap is reported. Nothing is locked. Conflicts are normal.
FIG 0.4
Compare-and-swap on the ref. Evidence required. Provenance retained. No silent merge.
Seven primitives. No dashboards, pull requests, or review threads. The transition is the product.
1.0 Modelchg_8294
chg_8293
chg_8291
chg_8288
chg_8276
chg_8271
chg_8210
chg_8204
Coding agents, CI, validators, and integrators carry identity, delegation, and scoped capabilities. No Guest / Developer / Maintainer roles.
2.0 Principalsrepo:payment-service:readgrantedworkspace.creategrantedchange.creategrantedevidence.writeci onlyref:refs/heads/master:updatedeniedintegration.executeintegratordelegates TASK-8291
produces Change chg_8291
attaches Evidence on commit def456
atomically updates the authoritative ref
CI fetches an exact immutable commit. Evidence is typed, capability-controlled, and required by policy before integration.
3.0 EvidenceIntegration is compare-and-swap. A stale base is a 409, not a merge conflict to be papered over. Agents rebase, re-validate, and retry.
4.0 IntegrateAgent A
chg_100
base abc123
refs/heads/master
awaiting integration…
Agent B
chg_101
base abc123
Agents already have a filesystem and Git. The CLI does not wrap clone, commit, or rebase. It manages the remote concepts Git does not understand.
5.0 CLI$ converge snapshot resolve payment-service master --json { "snapshot": "snp_123", "commit": "abc123" } $ converge workspace create payment-service --base snp_123 --task TASK-8291 { "workspace": "wrk_01928", "ref": "refs/workspaces/wrk_01928" } $ git push origin HEAD:refs/workspaces/wrk_01928 $ converge change submit payment-service --workspace wrk_01928 --commit def456 --intent "Fix invoice rounding" $ converge integrate payment-service chg_8291 --target master --expected abc123 { "integration": "int_19382", "previous": "abc123", "current": "def456", "snapshot": "snp_01JAC" }
Resolve an immutable snapshot. Work locally with Git. Submit a Change. Attach Evidence. Integrate with compare-and-swap.
Pin work to a Snapshot ID, never a moving branch name.
One agent, one task, one frozen base. Working sets are advisory.
Clone, checkout the commit, commit locally. Converge does not wrap this.
Base + result + intent + principal. The unit of evolution.
CI and validators write proof against the exact result commit.
Atomic CAS. On conflict, rebase onto the new snapshot and retry.
One binary. System Git. SQLite. OpenSSH. No Kubernetes, no custom Git server, no AI inside the core.