Expand description
proveKV: Shared compressed KV-cache pool for multi-agent context.
§Architecture
A two-tier compression strategy derived from empirical benchmarks:
- Shared pool (cold tier): fib-quant at k=4, N=32, 50× compression, 100% recall
- Agent shells (hot tier): turbo-quant at 8-bit, 8× compression, 99.9% score retention
§Quick Start
ⓘ
use provekv::{SharedKVPool, KvTensorShape, AttentionType};
let shape = KvTensorShape {
attention_type: AttentionType::MHA,
num_layers: 32,
num_heads: 32,
num_kv_heads: 32,
head_dim: 128,
hidden_size: 4096,
};
let corpus: Vec<(String, Vec<f32>)> = vec![
("tok_0".into(), vec![0.1; shape.num_layers as usize * 32 * 128 * 2]),
];
let (pool, receipt) = SharedKVPool::build(&corpus, &shape, 42).unwrap();
let (shell, mat_receipt) = pool.materialize_shell("agent_1", &[], 42).unwrap();Re-exports§
pub use codec::create_codec;pub use codec::CompressedBlock;pub use codec::KVecCodec;pub use error::ProveKvError;pub use error::Result;pub use manifest::PoolManifest;pub use manifest::ShellManifest;pub use manifest::POOL_MANIFEST_SCHEMA;pub use manifest::SHELL_MANIFEST_SCHEMA;pub use policy::CodecId;pub use policy::CompressionPolicy;pub use policy::FibConfig;pub use policy::TurboConfig;pub use policy::CODEC_EXACT_FALLBACK;pub use policy::CODEC_FIB_K4_N32;pub use policy::CODEC_TURBO_8BIT;pub use pool::CacheTarget;pub use pool::DecompressedLayer;pub use pool::PoolLayer;pub use receipt::BlockInjectionTrace;pub use receipt::InjectionReceipt;pub use receipt::PoolBuildReceipt;pub use receipt::ShellMaterializeReceipt;pub use receipt::INJECTION_RECEIPT_SCHEMA;pub use receipt::POOL_BUILD_RECEIPT_SCHEMA;pub use receipt::RECEIPT_SCHEMA;pub use receipt::SHELL_MATERIALIZE_RECEIPT_SCHEMA;pub use shape::AttentionType;pub use shape::KvTensorShape;pub use shell::AgentShell;pub use shell::ShellLayer;