- shipote-shell Flow channels card extiende con bytes_total + bytes/s
por socket. Lookup helper evita borrows en closures.
- DiscernPolicy.max_bytes_per_sec: splitter task hace sleep proporcional
al tamaño de chunk tras cada broadcast. Token-bucket simple v1.
- WorkspaceManager.dirty: AtomicBool. mark_dirty() en mutaciones que
afectan al snapshot. save_snapshot skip si clean y path existe.
restore_snapshot resetea dirty=false (hidratación no es mutation).
85 tests pasan (ente-incarnate 16, nouser-core 27, shipote-card 8,
shipote-core 26, shipote-discern 5, yahweh-provider-fs 3).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Daemon SIGTERM/SIGINT: snapshot ANTES, stop_with_grace(1s) de todos
los workspaces DESPUÉS. Grace permite app-level cleanup.
- Snapshot v3 con live_pipelines: pipeline_supervisors se persisten;
daemon relanza al restore con sus recursos (Incarnator+DiscernPipeline).
RestoreOutcome separado para que core no necesite incarnator.
Forward-compat v1/v2 via #[serde(default)].
- WorkspaceFullSummary: stats+quota+commands+flow_sockets en 1 roundtrip.
Shell reduce N×4 requests/probe a N×1 + 4 globales.
83 tests pasan (ente-incarnate 16, nouser-core 27, shipote-card 8,
shipote-core 24, shipote-discern 5, yahweh-provider-fs 3).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- PipelineSpec.restart_backoff_ms + restart_max_backoff_ms + restart_max:
backoff exponencial entre relaunches (anti-thrash). take_pending_restarts
aplica restart_max (0 = infinito); excedido = supervisor descartado con
warning. Daemon hace tokio::sleep(backoff) antes del relaunch y escala
current_backoff x2 hasta el cap.
- shipote-shell card "Quota breaches": probe extiende con WorkspaceQuota
por workspace. Color rojo si hay breaches, verde si no.
- shipote logs --follow: poll cada 200ms al daemon, imprime suffix nuevo
hasta que el comando termine. Sin cambios al protocolo. Best-effort:
si el ring rota más rápido que el poll, se pierden bytes.
83 tests pasan (ente-incarnate 16, nouser-core 27, shipote-card 8,
shipote-core 24, shipote-discern 5, yahweh-provider-fs 3).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>