Files
brahman/crates/runtime/sandokan-lifecycle/src/lib.rs
T
sergio 545dd59c72 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>
2026-05-20 00:32:52 +00:00

24 lines
858 B
Rust

//! sandokan-lifecycle — primitivas de ciclo de vida agnósticas.
//!
//! Lógica pura reutilizable por cualquier supervisor de procesos
//! (shuma, matilda Ghost, charka-shadow, mirada). Sin dependencias de
//! syscalls, proceso, ni UI: solo cálculo.
//!
//! - [`backoff`] — backoff exponencial con tope.
//! - [`ttl`] — time-to-live anclado a un `Instant`.
//! - [`quota`] — cuotas de recursos + chequeo de breaches.
//! - [`restart`] — política de restart con conteo + backoff.
//! - [`state`] — máquina de estados del ciclo de vida.
pub mod backoff;
pub mod ttl;
pub mod quota;
pub mod restart;
pub mod state;
pub use backoff::Backoff;
pub use ttl::Ttl;
pub use quota::{Breach, QuotaAction, QuotaReport, ResourceQuota, ResourceUsage, check_quota};
pub use restart::{RestartPolicy, RestartTracker};
pub use state::LifecycleState;