feat(infra,app): store FS live-state + use cases (LS2)
Adapter d'infrastructure et use cases applicatifs du live-state agent. - `FsLiveStateStore` : persistance fichier avec écriture atomique (write-temp + rename) pour éviter tout snapshot partiel/corrompu. - Use cases `UpdateLiveState` / `GetLiveStateLean` + DTO « lean » (vue allégée, bornée pour l'injection/affichage). - Rétention bornée côté store (TTL + max_n) au-dessus des invariants domaine (keyed last-writer-wins, prune). - Garde-fou versionné : `.gitignore` exclut `.ideai/live-state.json` (snapshot runtime reconstruit, non versionné — contrairement à `.ideai/memory/`). cargo test -p infrastructure -p application : 0 échec (dont 5 tests live_state_store) ; cargo fmt --all --check : exit 0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -6,11 +6,16 @@
|
||||
//! durable projection.
|
||||
|
||||
mod actions;
|
||||
mod live;
|
||||
|
||||
pub use actions::{
|
||||
AttachLiveAgent, AttachLiveAgentInput, AttachLiveAgentOutput, StopLiveAgent,
|
||||
StopLiveAgentInput, StopLiveAgentOutput,
|
||||
};
|
||||
pub use live::{
|
||||
GetLiveStateLean, LeanLiveEntry, LeanLiveState, UpdateLiveState, UpdateLiveStateInput,
|
||||
LIVE_STATE_MAX_ENTRIES, LIVE_STATE_TTL_MS,
|
||||
};
|
||||
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::sync::Arc;
|
||||
|
||||
Reference in New Issue
Block a user