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

Aperta
#112 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@rakyll ci sta già lavorando.

Dal 26/10/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

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.
Lingua principale
Go
Stelle
70
Fork
17
Merge medio
21h 36m
PR unite (30g)
19

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di agent-substrate/env

Tutte le issue di agent-substrate/env

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.