Skip to content

Commit b6069cb

Browse files
scotwellsclaude
andcommitted
docs: add upstream compatibility section to Agent Sandboxes proposal
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 2d837c1 commit b6069cb

File tree

1 file changed

+40
-7
lines changed

1 file changed

+40
-7
lines changed

docs/compute/development/enhancements/agent-sandboxes.md

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -231,13 +231,46 @@ That invisible reliability is the actual product.
231231
- Do we expose customer-published templates in v1, or hold them for v2?
232232
- How do we surface template versioning and deprecation to consumers
233233
who may have thousands of live claims at any moment?
234-
- **Upstream API alignment.** Datum's user-facing API deliberately mirrors
235-
the [kubernetes-sigs agent-sandbox][upstream] vocabulary where semantics
236-
align, and Datum will ship an optional compatibility layer that accepts
237-
upstream resources and translates them to Datum-native ones. We are not
238-
adopting the upstream schema as our v1 contract while it remains pre-1.0,
239-
and we will revisit that decision when upstream cuts a stable release or
240-
introduces a non-Pod-shaped runtime abstraction.
234+
- Whether the upstream compatibility layer (see below) ships in phase 1
235+
or follows the MVP.
236+
237+
## Upstream compatibility
238+
239+
The Kubernetes community is standardizing this shape of compute through the
240+
[kubernetes-sigs agent-sandbox][upstream] project. We want Datum to be a
241+
visible, credible participant in that ecosystem — both because it accelerates
242+
adoption (any tool, SDK, or framework built against the upstream API works
243+
on Datum on day one) and because it signals that Datum competes on runtime
244+
quality, not on owning the schema.
245+
246+
Our approach has three parts:
247+
248+
- **Mirror the vocabulary.** Datum's native API uses the same resource
249+
names, field names, status phases, and lifecycle verbs as upstream
250+
wherever the semantics line up. A developer who has read the upstream
251+
docs already knows most of Datum's API on first contact.
252+
- **Ship a compatibility layer.** A thin, optional component that accepts
253+
upstream `agents.x-k8s.io` resources and translates them into Datum-native
254+
ones. Customers who want portability between Datum, GKE, and self-hosted
255+
clusters can write a single set of manifests and run them anywhere.
256+
- **Contribute upstream.** Bring the patterns Datum's runtime unlocks
257+
(snapshot-based warm pools, sub-second allocation, non-Pod-shaped
258+
isolation backends) back to the SIG so the standard evolves toward
259+
something Datum can eventually adopt natively.
260+
261+
We are intentionally **not** adopting the upstream schema as Datum's v1
262+
contract while it remains a pre-1.0 API. Doing so would tie Datum's
263+
stability promises to upstream's churn and would force the unikernel
264+
runtime through a Pod-shaped abstraction that doesn't fit it. We will
265+
revisit that decision when upstream cuts a stable release or introduces a
266+
runtime abstraction that isn't Linux-Pod-shaped.
267+
268+
**Phase 1 scope.** The compatibility layer is likely to land *after* the
269+
MVP rather than alongside it. Phase 1 prioritizes shipping the Datum-native
270+
API, the curated catalog, and the warm-pool fast path — the things that
271+
make the product worth adopting in the first place. Upstream compatibility
272+
is an adoption accelerator, not a prerequisite for the headline experience,
273+
and we'd rather ship the differentiator first and the bridge second.
241274

242275
## What's *not* in scope
243276

0 commit comments

Comments
 (0)