Architecture · 02 of 19 · Two planes

Durable changes are commits. Ephemeral runs are claims.

Committing every session to git would be slow, noisy, rate-limited and unreviewable. So ephemeral, bounded, disposable things are created as claims, and everything that outlives a run stays a reviewed commit.

Durable changes are commits. Ephemeral runs are claims. Architecture with two planes: a durable plane where agent definitions, repos and ArgoCD change only by reviewed git commits, and an ephemeral plane where an AgentRun claim is rendered by a Crossplane function into a sandbox namespace that disappears at its deadline, with durable ceilings narrowing every claim and the ephemeral plane reaching the durable one only through a pull request. DURABLE PLANE · GIT · REVIEWEDEPHEMERAL PLANE · CLAIMS · TTLPULLRENDERSCREATESNARROWSPR ONLYAgent definitions and policyceilings, tools, network · reviewed commitApp, gitops and tenants reposPRs · xr-requests · platform/envsArgoCD pullsper cluster · lower and upperAgentRun claimnamespaced XR · dev clusters only · TTLCrossplane compositionfunction-agentrun · a pure functionRun namespacesandbox · budget · gone at expiresAtThe ephemeral plane can only narrow what the durable plane grants. It reaches the durable plane only as a PR.LEGENDEphemeral sandboxComponentFlowProposal only

Principle, revised

Every durable mutation is a git commit. An ephemeral one is a declarative claim to an already-privileged control plane (Crossplane), never a direct write. That is still delegate-to-the-audited-system, and still dev-only.

The ephemerality test

  • It has a hard deadline that needs no Clearance to enforce.
  • It holds no durable state, and reaches the durable plane only as a PR.
  • One narrowly scoped identity creates it, in one reserved namespace.
  • It can only narrow what git grants.
  • It can be rebuilt from git plus the task spec. Fail any one and it goes through git.

What this costs

Clearance now holds one Kubernetes permission: create, get, patch and delete AgentRun in autopilot-runs, on dev clusters. That is a real departure from zero write credentials, so it is one kind in one namespace, and the composition, not the caller, decides what gets created.

Hangar · Autopilot