qualia_core_db/q42/
q42_kvp.rs1pub const QKVP_MAGIC: [u8; 4] = *b"QKVP";
9pub const QKVP_VERSION: u16 = 1;
10
11#[repr(C, align(64))]
15#[derive(Clone, Copy, Debug)]
16pub struct Q42KvPageHeader {
17 pub magic: [u8; 4], pub version: u16, pub flags: u16, pub model_hash: [u8; 32], pub token_start: u64, pub token_count: u32, pub manifold_idx_start: u32, pub manifold_idx_count: u32, pub kv_heads: u16, pub head_dim: u16, pub kv_dtype: u16, pub quant_codec: u16, pub compression_flags: u32, pub payload_offset: u64, pub payload_length: u64, pub parent_page_id: u64, pub next_page_id: u64, pub semantic_index_off: u64, pub manifold_index_off: u64, pub sketch_offset: u64, pub entropy_score: f32, pub attention_score: f32, pub recency_score: f32, pub confidence_score: f32, pub _reserved1: [u8; 80], pub checksum: [u8; 32], }
52
53#[repr(C, align(64))]
56#[derive(Clone, Copy, Debug)]
57pub struct Q42ChunkPolicy {
58 pub max_tokens: u32, pub semantic_shift_threshold: f32, pub discourse_boundary_weight: f32, pub attention_phase_weight: f32, pub max_entropy_drop: f32, pub thermal_pressure_bias: f32, pub reserved: [u8; 40], }
66
67#[repr(C, align(64))]
70#[derive(Clone, Copy, Debug)]
71pub struct Q42QuerySketch {
72 pub k_min_offset: u64, pub k_max_offset: u64, pub centroid_offset: u64, pub semantic_hash_hi: u64, pub semantic_hash_lo: u64, pub manifold_centroid: [f32; 10], pub reserved: [u8; 48], }
80
81impl Q42KvPageHeader {
82 pub fn new() -> Self {
83 Self {
84 magic: QKVP_MAGIC,
85 version: QKVP_VERSION,
86 flags: 0,
87 model_hash: [0; 32],
88 token_start: 0,
89 token_count: 0,
90 manifold_idx_start: 0,
91 manifold_idx_count: 0,
92 kv_heads: 0,
93 head_dim: 0,
94 kv_dtype: 0,
95 quant_codec: 0,
96 compression_flags: 0,
97 payload_offset: 0,
98 payload_length: 0,
99 parent_page_id: 0,
100 next_page_id: 0,
101 semantic_index_off: 0,
102 manifold_index_off: 0,
103 sketch_offset: 0,
104 entropy_score: 0.0,
105 attention_score: 0.0,
106 recency_score: 0.0,
107 confidence_score: 0.0,
108 _reserved1: [0; 80],
109 checksum: [0; 32],
110 }
111 }
112}
113
114impl Default for Q42KvPageHeader {
115 fn default() -> Self {
116 Self::new()
117 }
118}
119
120#[cfg(test)]
121mod tests {
122 use super::*;
123
124 #[test]
125 fn test_qkvp_alignment() {
126 assert_eq!(std::mem::size_of::<Q42KvPageHeader>(), 256);
127 assert_eq!(std::mem::size_of::<Q42ChunkPolicy>(), 64);
128 assert_eq!(std::mem::size_of::<Q42QuerySketch>(), 128);
129 }
130}