545dd59c72
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>
24 lines
858 B
Rust
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;
|