feat(sandokan-lifecycle): A4 — primitivas de lifecycle agnósticas

Nuevo crate runtime/sandokan-lifecycle: lógica pura reutilizable por
cualquier supervisor de procesos (shuma, matilda Ghost, charka-shadow,
mirada). Sin syscalls, sin proceso, sin UI.

Módulos:
- backoff   — Backoff exponencial con tope
- ttl       — Ttl anclado a Instant
- quota     — ResourceQuota + check_quota + Breach + QuotaAction
- restart   — RestartPolicy + RestartTracker (conteo + backoff)
- state     — LifecycleState (Pending/Running/Exited/Failed/Killed)

15 tests verdes. cargo check --workspace verde.

Variante segura de A4: se crea la library limpia sin tocar shuma-core
(módulo maduro). La migración de WorkspaceManager a consumir estas
primitivas queda registrada como A4.2 (refactor diferido, no urgente).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-20 00:32:52 +00:00
parent 67c0fcad11
commit 545dd59c72
10 changed files with 487 additions and 0 deletions
+16
View File
@@ -16,6 +16,22 @@ rule engine + audit log, y un ente de smoke test.
| `arje-brain-audit` | lib | Audit chain con hashes anclados al CAS |
| `arje-brain` | lib | Integración: introspect + autopromote + metrics |
| `arje-echo` | bin | Ente prueba — provee `Capability::Endpoint(echo)` |
| `sandokan-lifecycle` | lib | Primitivas de lifecycle agnósticas (ver abajo) |
## sandokan-lifecycle
Library de primitivas de ciclo de vida agnósticas (sin syscalls, sin
proceso, sin UI — solo cálculo). Consumible por cualquier supervisor:
`shuma`, `matilda` Ghost, `charka-shadow`, `mirada`.
- `Backoff` — backoff exponencial con tope.
- `Ttl` — time-to-live anclado a `Instant`.
- `ResourceQuota` + `check_quota` — cuotas de recursos + breaches.
- `RestartPolicy` + `RestartTracker` — restart con conteo + backoff.
- `LifecycleState` — máquina de estados (Pending/Running/Exited/Failed/Killed).
15 tests verdes. **Pendiente (A4.2)**: migrar `shuma-core::WorkspaceManager`
para que consuma estas primitivas en lugar de su implementación inline.
## Dependencias