agent-substrate / agent-substrate/substrate

Some improvements to ActorTemplate

Abierto
#16 11 comentarios 0 reacciones 1 asignado Reclamado por @juli4n Ver en GitHub
area/api kind/feature prio/P0
Lenguaje dominante
Go
Estrellas
1.8k
Forks
316
Merge medio
2 d 43 min
PR fusionados (30 d)
287

Descripción

There are a few cases where updating / deleting ActorTemplate resources can lead to a broken system.

* Deleting an `ActorTemplate` that is currently in use by an actor breaks the `ResumeActor` and `SuspendActor` RPCs.
* If an `ActorTemplate` is updated, the golden snapshot becomes stale and actors using the template diverge. Although `ActorTemplate`s are conceptually immutable, this is not enforced today.
* Deleting an `ActorTemplate` leaks its associated golden actor.

We should discuss whether we want to allow an actor to outlive its template. Assuming we don't, a possible path forward would be:

* The Substrate controller manages `ActorTemplate` resources.
* `ActorTemplate`s are immutable (enforced via CEL validation).
* Each `ActorTemplate` owns the lifecycle of a “golden actor”. The golden actor is created when the template is created, and deleted when the template is deleted.
* An `ActorTemplate` cannot be deleted if there are actors using it (this will require `ate-apiserver` to expose an efficient way to check if there are active actors referencing a given template).

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.