feat(api): add sandbox contracts#159
Conversation
|
The latest Buf updates on your PR. Results from workflow buf-pr / buf (pull_request).
|
Test & lint summary
Linting passed with no errors. Breaking check passed with no API compatibility failures. |
noa-lucent
left a comment
There was a problem hiding this comment.
Thanks for keeping this slice contracts-only. I found several contract-shape issues that would push unsafe ownership spoofing or magic sentinel handling into downstream implementations, plus missing environment attachment contracts required by the sandbox spec. Please address the major comments before merge.
Review fixes updateAddressed Noa's requested changes in commit
Test & lint summary
Linting passed with no errors. Breaking compatibility passed with no failures. |
noa-lucent
left a comment
There was a problem hiding this comment.
Re-review complete. The requested contract changes are addressed: sandbox owner is no longer client-supplied, environment attachment contracts are present, runner workload/volume ownership now has presence-aware fields with legacy fields deprecated, and Terminal Proxy identity provenance is documented. Buf lint and breaking checks pass locally.
|
This PR is approved by Noa and CI is green. Direct merge is blocked by branch policy, and auto-merge is disabled for this repository. Could a maintainer please merge this through the repo’s required merge path? This contracts slice is the blocker for downstream sandbox implementation work tracked in agynio/architecture#162. |
7b102a0 to
4c02f1d
Compare
|
Updated the existing PR branch from Conflict cause
Commit pushed
Test & Lint Summary
|
|
Checked and refreshed Conflict status / cause
Commit pushed
Test & Lint Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Re-confirmed approval after the rebase onto main. I reviewed the rebased diff, verified the prior requested changes are still present, confirmed previous threads remain resolved, and ran buf lint plus buf breaking locally; both passed.
Summary
Implements the first dependency-safe API contract slice for architecture issue #162:
This PR is intentionally contracts-only so implementation repos can depend on stable generated API shapes before service-specific storage, authorization, orchestration, CLI, and proxy work begins.
References agynio/architecture#162.
Repo / PR breakdown proposed from inspection
agynio/api(this PR): shared contracts for sandboxes, environments/flavors, generalized runner ownership, terminal tickets, org sandbox defaults.agynio/agents: sandbox CRUD/state/name generation/default snapshotting, environment deletion guard,last_session_at, sandbox notifications.agynio/authorization: OpenFGA sandbox type/relations and tuple lifecycle helpers.agynio/runnersandagynio/k8s-runner: DB/API generalized ownership, nullable/sandbox display handling, runtime workspace volumes.agynio/agents-orchestrator: sandbox reconciler, holder workload assembly, identity attributes, TTL/idle lifecycle, metering labels.agynio/agynd-cliand init-image repos: sandbox holder mode without inbox consumption.agynio/terminal-proxy: ticket issuing/validation and WebSocket to Runner.Exec bridge.agynio/gateway: exposeCreateTerminalSessionand sandbox API authorization.agynio/agyn-cli:agyn sandboxcommand group and TTY attach.agynio/console-app: sandbox list/detail/terminal/notification UX.llm-proxy,tracing,egress-gateway, metering consumers): sandbox identity resolution and labels.Test & lint summary
CGO_ENABLED=0 GOPROXY=direct GOSUMDB=off go run github.com/bufbuild/buf/cmd/buf@latest lint— passed, 0 failures.CGO_ENABLED=0 GOPROXY=direct GOSUMDB=off go run github.com/bufbuild/buf/cmd/buf@latest breaking --against '.git#branch=main'— passed, 0 failures.Notes:
bufwas not installed in the base workspace.go runrequiredCGO_ENABLED=0; direct module fetching was used after checksum DNS lookup failed transiently.