Remove `ate-env-api` and use the Substrate API directly

Đang mở
#112 1 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@rakyll đang làm issue này rồi.

Từ ngày 26/10/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

Consider removing the ate-env-api service and have clients (the ate-env CLI and the Go and Python libraries) talk to Substrate directly. The environment-shaped surface (process, filesystem, MCP) would live in the client libraries and the in-actor guest daemon, not in a second server.

Problem

ate-env-api is a second control plane in front of Substrate, with its own API, auth surface, and notion of identity. This causes several problems:

  • Security capabilities must be aligned twice. Any authn/authz, audit, quota, or policy that Substrate enforces has to be re-implemented in ate-env-api, or it is bypassed. Today callers are trusted based on network reachability to the service.
  • Identity is lost at the hop. Substrate sees the API service as the caller, not the user or agent. It can't attribute, authorize, or audit per caller.
  • Confused-deputy risk. The service holds broad credentials and exposes them to anything that can reach it. Per-environment authorization has to be re-invented, and a mistake means cross-tenant access.
  • Duplicated and drifting semantics. We re-map Substrate concepts (actors, status, atespaces, templates, errors) and track Substrate changes in two places.
  • More to build and operate. There is an extra deployment, image, and release, plus a second API for users to learn.

Proposal

  • Delete ate-env-api and stop publishing its image.
  • The CLI and client libraries call Substrate directly for lifecycle, and call the guest daemon through the Substrate router for process, filesystem, and MCP operations, all using Substrate's identity.
  • Move the "environment" abstraction (ID mapping, defaults, status mapping, wake-on-call) into the client library.
  • ate-env manifest deploys only the namespace and worker pool.

Open questions

  • Where should MCP be served: the guest daemon, or a Substrate-native gateway?

Acceptance criteria

  • No dual control plane components in ate-env-api binary.
  • The CLI and clients work against a cluster with only Substrate.
Ngôn ngữ chính
Go
Star
70
Fork
17
Merge trung bình
21 giờ 36 phút
Pull request đã merge (30 ngày)
19

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của agent-substrate/env

Tất cả issue của agent-substrate/env

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.