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

Abierto
#112 1 comentario 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@rakyll ya está trabajando en esto.

Desde el 26/10/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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.
Lenguaje dominante
Go
Estrellas
71
Forks
17
Merge medio
21 h 36 min
PR fusionados (30 d)
19

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de agent-substrate/env

Todos los issues de agent-substrate/env

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.