Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 0 additions & 36 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,39 +57,3 @@ HTTP endpoint or method · wire or JSON field · error shape · sandbox lifecycl
5. **Report, don't edit.** This is a read-and-report protocol: do not change a sibling repo unless the user asks you to.

<!-- MESH:END -->

## Cross-SDK parity protocol

Run this before you call any change to this repo done. It is a read-and-report
protocol — **do not edit a sibling repository unless the user asks you to.**

1. **Classify the change.**
- *Wire contract* (new endpoint, changed field, new request/response shape)
→ affects all three SDKs and usually the docs.
- *Behaviour* (retry policy, timeout default, stream framing, error
mapping) → affects all three SDKs.
- *Bug fix* → check whether the siblings have the same bug. They were
written from the same spec, so they usually do.
- *Ergonomics* (a Pythonic helper, a context manager) → often has a natural
equivalent in the siblings; propose it, don't assume it.
- *Repo-local* (packaging, lint config, CI) → no parity obligation.
2. **Check the siblings.** Read the matching file under `../fc-sdk/src/` and
`../createos-go-sdk/sandbox/`. If a sibling checkout is missing, say so
rather than guessing.
3. **Report.** End the task with a short parity note: what ports to which SDK,
what does not, and why. Name the file the sibling change would land in.
4. **Docs.** If the change adds or alters a user-visible capability, say
whether `SDK/Overview.mdx` and the affected page under
`apps/docs/src/pages/Sandbox/` need updating.

The same protocol runs in reverse: when the TypeScript or Go SDK gains a
feature or fix, check whether it belongs here.

### Current parity baseline

The Python and Go SDKs expose the same surface and ship the same nine examples
(`hello_world`, `command_streaming`, `files_and_snapshots`, `ingress_preview`,
`managed_process`, `network`, `custom_template`, `desktop`,
`execution_server`). The TypeScript SDK has the same core surface plus a much
larger integration-example corpus. Treat a gap against Go as a real gap; treat
a gap against a TypeScript *integration example* as optional.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ As an alternative, `Client()` reads `CREATEOS_SANDBOX_API_KEY` and
- [CreateOS TypeScript SDK](https://github.com/NodeOps-app/createos-sandbox-sdk)
provides the same sandbox capabilities for JavaScript and TypeScript
applications.
- [`CLAUDE.md`](CLAUDE.md) is the agent guide: repository conventions, the map
of sibling SDKs and their agent guides, and the cross-SDK parity protocol.
- [`CLAUDE.md`](CLAUDE.md) is the agent guide: repository conventions plus the
generated cross-repo mesh block.
- [Runnable examples](#examples) demonstrate complete SDK workflows.
- The public Python API is typed and documented with Python docstrings.
- [Contributing guide](CONTRIBUTING.md) documents development checks and commit
Expand Down