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

未关闭
#112 1 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@rakyll 已经在做这个了。

开始于 2026年10月26日。

评估

这个 Issue 还没有评估数据。

描述

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.
主要语言
Go
星标
71
派生
17
平均合并
21 小时 36 分钟
30 天内合并 PR
19

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

agent-substrate/env 的其他 Issue

查看 agent-substrate/env 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。