SYMBOL INDEX (16868 symbols across 360 files) FILE: benches/bench_utils.rs function configure_criterion (line 21) | pub fn configure_criterion() -> Criterion { function configure_criterion_quick (line 34) | pub fn configure_criterion_quick() -> Criterion { function configure_criterion_thorough (line 46) | pub fn configure_criterion_thorough() -> Criterion { constant SCALING_SIZES (line 57) | pub const SCALING_SIZES: &[usize] = &[1_000, 5_000, 10_000, 25_000, 50_0... constant SCALING_SIZES_SMALL (line 60) | pub const SCALING_SIZES_SMALL: &[usize] = &[100, 500, 1_000, 2_500, 5_000]; constant SCALING_SIZES_LARGE (line 63) | pub const SCALING_SIZES_LARGE: &[usize] = &[10_000, 25_000, 50_000, 100_... function bench_scaling (line 84) | pub fn bench_scaling( function bench_scaling_with_throughput (line 112) | pub fn bench_scaling_with_throughput( function bench_comparison (line 143) | pub fn bench_comparison(c: &mut Criterion, name: &str, mut basel... type VectorBenchParams (line 156) | pub struct VectorBenchParams { method small (line 175) | pub fn small() -> Self { method medium (line 184) | pub fn medium() -> Self { method large (line 193) | pub fn large() -> Self { method with_dimension (line 202) | pub fn with_dimension(mut self, dim: usize) -> Self { method with_corpus_size (line 207) | pub fn with_corpus_size(mut self, size: usize) -> Self { method with_top_k (line 212) | pub fn with_top_k(mut self, k: usize) -> Self { method default (line 164) | fn default() -> Self { type SearchBenchParams (line 220) | pub struct SearchBenchParams { method with_filters (line 237) | pub fn with_filters(mut self) -> Self { method with_limit (line 242) | pub fn with_limit(mut self, limit: usize) -> Self { method default (line 227) | fn default() -> Self { function test_vector_bench_params_default (line 253) | fn test_vector_bench_params_default() { function test_vector_bench_params_builder (line 261) | fn test_vector_bench_params_builder() { function test_search_bench_params (line 270) | fn test_search_bench_params() { FILE: benches/cache_micro.rs function build_small_index (line 11) | fn build_small_index() -> (TempDir, SearchClient) { function bench_cache_hits (line 73) | fn bench_cache_hits(c: &mut Criterion) { function bench_typing_forward (line 91) | fn bench_typing_forward(c: &mut Criterion) { function bench_typing_backspace (line 106) | fn bench_typing_backspace(c: &mut Criterion) { function bench_rapid_keystroke_mixed (line 126) | fn bench_rapid_keystroke_mixed(c: &mut Criterion) { function bench_cache_miss (line 142) | fn bench_cache_miss(c: &mut Criterion) { function bench_filtered_search (line 158) | fn bench_filtered_search(c: &mut Criterion) { FILE: benches/crypto_perf.rs function bench_argon2id_minimal (line 33) | fn bench_argon2id_minimal(c: &mut Criterion) { function bench_argon2id_production (line 49) | fn bench_argon2id_production(c: &mut Criterion) { function bench_argon2id_memory_scaling (line 70) | fn bench_argon2id_memory_scaling(c: &mut Criterion) { function random_bytes (line 101) | fn random_bytes(len: usize) -> Vec { function bench_aes_gcm_encrypt (line 109) | fn bench_aes_gcm_encrypt(c: &mut Criterion) { function bench_aes_gcm_decrypt (line 136) | fn bench_aes_gcm_decrypt(c: &mut Criterion) { function bench_aes_gcm_roundtrip (line 163) | fn bench_aes_gcm_roundtrip(c: &mut Criterion) { function bench_hkdf_extract (line 195) | fn bench_hkdf_extract(c: &mut Criterion) { function bench_hkdf_extract_expand (line 206) | fn bench_hkdf_extract_expand(c: &mut Criterion) { function bench_chunked_encrypt (line 230) | fn bench_chunked_encrypt(c: &mut Criterion) { function format_size (line 271) | fn format_size(bytes: usize) -> String { FILE: benches/db_perf.rs function generate_conversation (line 35) | fn generate_conversation(conv_id: i64, msg_count: i64) -> NormalizedConv... function setup_test_db (line 72) | fn setup_test_db(conv_count: i64, msgs_per_conv: i64) -> (TempDir, Sqlit... function bench_db_open (line 94) | fn bench_db_open(c: &mut Criterion) { function bench_db_open_with_data (line 113) | fn bench_db_open_with_data(c: &mut Criterion) { function bench_db_open_readonly (line 126) | fn bench_db_open_readonly(c: &mut Criterion) { function bench_insert_conversation (line 143) | fn bench_insert_conversation(c: &mut Criterion) { function bench_insert_batch (line 172) | fn bench_insert_batch(c: &mut Criterion) { function bench_list_conversations (line 209) | fn bench_list_conversations(c: &mut Criterion) { function bench_fetch_messages (line 247) | fn bench_fetch_messages(c: &mut Criterion) { function bench_list_agents (line 285) | fn bench_list_agents(c: &mut Criterion) { function bench_list_workspaces (line 299) | fn bench_list_workspaces(c: &mut Criterion) { function bench_fts_rebuild (line 317) | fn bench_fts_rebuild(c: &mut Criterion) { function bench_daily_histogram (line 346) | fn bench_daily_histogram(c: &mut Criterion) { function bench_session_count_range (line 366) | fn bench_session_count_range(c: &mut Criterion) { function bench_db_scaling (line 389) | fn bench_db_scaling(c: &mut Criterion) { FILE: benches/export_perf.rs function generate_compressible_data (line 33) | fn generate_compressible_data(size: usize) -> Vec { function generate_random_data (line 46) | fn generate_random_data(size: usize) -> Vec { function generate_mixed_data (line 54) | fn generate_mixed_data(size: usize) -> Vec { function bench_compress_levels (line 83) | fn bench_compress_levels(c: &mut Criterion) { function bench_compress_scaling (line 108) | fn bench_compress_scaling(c: &mut Criterion) { function bench_decompress (line 133) | fn bench_decompress(c: &mut Criterion) { function bench_compress_data_types (line 163) | fn bench_compress_data_types(c: &mut Criterion) { function bench_chunked_compress (line 208) | fn bench_chunked_compress(c: &mut Criterion) { function bench_streaming_compress (line 239) | fn bench_streaming_compress(c: &mut Criterion) { function bench_roundtrip (line 272) | fn bench_roundtrip(c: &mut Criterion) { function bench_json_serialize (line 308) | fn bench_json_serialize(c: &mut Criterion) { function bench_msgpack_serialize (line 364) | fn bench_msgpack_serialize(c: &mut Criterion) { function format_size (line 413) | fn format_size(bytes: usize) -> String { FILE: benches/index_perf.rs function create_corpus (line 61) | fn create_corpus(tmp: &TempDir, count: usize) -> (std::path::PathBuf, st... function bench_index_full (line 87) | fn bench_index_full(c: &mut Criterion) { function bench_redact_text (line 122) | fn bench_redact_text(c: &mut Criterion) { function bench_streaming_vs_batch (line 151) | fn bench_streaming_vs_batch(c: &mut Criterion) { function bench_channel_overhead (line 224) | fn bench_channel_overhead(c: &mut Criterion) { function scan_codex_conversation_count (line 261) | fn scan_codex_conversation_count(data_dir: &Path, scan_roots: &[ScanRoot... function bench_codex_scan_preflight (line 284) | fn bench_codex_scan_preflight(c: &mut Criterion) { function build_semantic_corpus (line 328) | fn build_semantic_corpus(count: usize) -> Vec { function bench_semantic_embedding (line 361) | fn bench_semantic_embedding(c: &mut Criterion) { function bench_semantic_shard_generation (line 402) | fn bench_semantic_shard_generation(c: &mut Criterion) { function bench_semantic_shard_generation_large (line 611) | fn bench_semantic_shard_generation_large(c: &mut Criterion) { function bench_ingest_with_responsiveness (line 658) | fn bench_ingest_with_responsiveness(c: &mut Criterion) { function bench_card_defaults_ab (line 718) | fn bench_card_defaults_ab(c: &mut Criterion) { FILE: benches/integration_regression.rs function generate_conversation (line 38) | fn generate_conversation(conv_id: i64, msg_count: i64) -> NormalizedConv... function generate_remote_conversation (line 74) | fn generate_remote_conversation(conv_id: i64, msg_count: i64) -> Normali... function make_conversation (line 88) | fn make_conversation(conv_id: i64, msg_count: i64) -> Conversation { function make_remote_conversation (line 131) | fn make_remote_conversation(conv_id: i64, msg_count: i64) -> Conversation { function make_agent (line 138) | fn make_agent(id: i64) -> Agent { function setup_persist_seeded_db (line 153) | fn setup_persist_seeded_db(conv_count: i64, msgs_per_conv: i64) -> (Temp... function setup_direct_seeded_db (line 171) | fn setup_direct_seeded_db(conv_count: i64, msgs_per_conv: i64) -> (TempD... function bench_db_open_comparison (line 209) | fn bench_db_open_comparison(c: &mut Criterion) { function bench_insert_comparison (line 245) | fn bench_insert_comparison(c: &mut Criterion) { function bench_insert_remote_source_reuse (line 310) | fn bench_insert_remote_source_reuse(c: &mut Criterion) { function bench_append_remote_source_merge (line 385) | fn bench_append_remote_source_merge(c: &mut Criterion) { function bench_query_comparison (line 473) | fn bench_query_comparison(c: &mut Criterion) { function with_retry (line 547) | fn with_retry(max_retries: usize, mut f: F) -> anyhow::Result function bench_concurrent_writes (line 586) | fn bench_concurrent_writes(c: &mut Criterion) { function bench_insert_scaling (line 684) | fn bench_insert_scaling(c: &mut Criterion) { FILE: benches/regex_cache.rs function content_field (line 6) | fn content_field() -> Field { function bench_regex_cache_hits (line 11) | fn bench_regex_cache_hits(c: &mut Criterion) { function bench_regex_cache_misses (line 31) | fn bench_regex_cache_misses(c: &mut Criterion) { function bench_regex_uncached (line 75) | fn bench_regex_uncached(c: &mut Criterion) { function bench_regex_typing_sequence (line 94) | fn bench_regex_typing_sequence(c: &mut Criterion) { FILE: benches/runtime_perf.rs function sample_conv (line 12) | fn sample_conv(i: i64, msgs: i64) -> NormalizedConversation { function seed_index (line 39) | fn seed_index(conv_count: i64, msgs: i64) -> (TempDir, SearchClient) { function bench_indexing (line 64) | fn bench_indexing(c: &mut Criterion) { function bench_search (line 92) | fn bench_search(c: &mut Criterion) { function bench_dot_product (line 110) | fn bench_dot_product(c: &mut Criterion) { function wildcard_sample_conv (line 127) | fn wildcard_sample_conv(i: i64, msgs: i64) -> NormalizedConversation { function seed_wildcard_index (line 190) | fn seed_wildcard_index(conv_count: i64, msgs_per_conv: i64) -> (TempDir,... function bench_wildcard_exact (line 214) | fn bench_wildcard_exact(c: &mut Criterion) { function bench_wildcard_prefix (line 236) | fn bench_wildcard_prefix(c: &mut Criterion) { function bench_wildcard_suffix (line 257) | fn bench_wildcard_suffix(c: &mut Criterion) { function bench_wildcard_substring (line 278) | fn bench_wildcard_substring(c: &mut Criterion) { function bench_wildcard_suffix_common (line 299) | fn bench_wildcard_suffix_common(c: &mut Criterion) { function bench_wildcard_large_dataset (line 320) | fn bench_wildcard_large_dataset(c: &mut Criterion) { function bench_concurrent_indexing (line 400) | fn bench_concurrent_indexing(c: &mut Criterion) { function bench_rapid_sequential_search (line 428) | fn bench_rapid_sequential_search(c: &mut Criterion) { function bench_search_scaling (line 491) | fn bench_search_scaling(c: &mut Criterion) { FILE: benches/search_latency_e2e.rs constant CONVERSATION_COUNT (line 24) | const CONVERSATION_COUNT: usize = 1_000; constant SEARCH_LIMIT (line 25) | const SEARCH_LIMIT: usize = 25; constant SPARSE_THRESHOLD (line 26) | const SPARSE_THRESHOLD: usize = 3; constant MESSAGES_PER_CONVERSATION (line 27) | const MESSAGES_PER_CONVERSATION: usize = 24; constant WARM_SAMPLES (line 28) | const WARM_SAMPLES: usize = 12; constant PREFIX_SEQUENCES (line 29) | const PREFIX_SEQUENCES: usize = 6; constant TYPICAL_P95_BUDGET_MS (line 30) | const TYPICAL_P95_BUDGET_MS: f64 = 60.0; constant FILTER_OVERHEAD_MAX_RATIO (line 31) | const FILTER_OVERHEAD_MAX_RATIO: f64 = 2.0; constant EXACT_QUERY (line 33) | const EXACT_QUERY: &str = "frankensqlite write conflict"; constant PHRASE_QUERY (line 34) | const PHRASE_QUERY: &str = "\"distributed tracing handshake\""; constant WILDCARD_QUERY (line 35) | const WILDCARD_QUERY: &str = "*token*"; constant PREFIX_SEQUENCE (line 36) | const PREFIX_SEQUENCE: [&str; 4] = ["a", "au", "aut", "auth"]; constant COMPONENTS (line 38) | const COMPONENTS: &[&str] = &[ constant OPERATIONS (line 49) | const OPERATIONS: &[&str] = &[ type FixtureConversation (line 60) | struct FixtureConversation { type SearchFixture (line 64) | struct SearchFixture { type LatencySummary (line 77) | struct LatencySummary { function interactive_field_mask (line 88) | fn interactive_field_mask() -> FieldMask { function bench_client_options (line 92) | fn bench_client_options() -> SearchClientOptions { function default_filters (line 99) | fn default_filters() -> SearchFilters { function filtered_search_filters (line 103) | fn filtered_search_filters(fixture: &SearchFixture) -> SearchFilters { function build_fixture_conversation (line 114) | fn build_fixture_conversation( function build_fixture (line 206) | fn build_fixture() -> Result { function run_search (line 245) | fn run_search( function run_ranked_query (line 262) | fn run_ranked_query( function apply_ranking_mode (line 285) | fn apply_ranking_mode(mut hits: Vec, ranking: RankingMode) ->... function ranking_score (line 324) | fn ranking_score( function compare_by_date (line 347) | fn compare_by_date(left: &SearchHit, right: &SearchHit, newest_first: bo... function compare_stable (line 358) | fn compare_stable(left: &SearchHit, right: &SearchHit) -> Ordering { function summarize_latencies (line 365) | fn summarize_latencies( function measure_warm_query (line 411) | fn measure_warm_query( function measure_prefix_typing (line 438) | fn measure_prefix_typing( function measure_ranked_query (line 469) | fn measure_ranked_query( function log_summary (line 497) | fn log_summary(scenario: &str, fixture: &SearchFixture, summary: &Latenc... function assert_latency_budget (line 514) | fn assert_latency_budget(label: &str, summary: &LatencySummary, budget_m... function assert_ratio_budget (line 527) | fn assert_ratio_budget(label: &str, lhs_ms: f64, rhs_ms: f64, max_ratio:... function run_preflight_assertions (line 540) | fn run_preflight_assertions(fixture: &SearchFixture) -> Result<()> { function bench_search_latency_e2e (line 637) | fn bench_search_latency_e2e(c: &mut Criterion) { FILE: benches/search_perf.rs function bench_hash_embed_1000_docs (line 25) | fn bench_hash_embed_1000_docs(c: &mut Criterion) { function bench_hash_embed_batch (line 41) | fn bench_hash_embed_batch(c: &mut Criterion) { function make_long_message (line 59) | fn make_long_message() -> String { function make_sized_message (line 73) | fn make_sized_message(target_len: usize) -> String { function bench_canonicalize_long_message (line 83) | fn bench_canonicalize_long_message(c: &mut Criterion) { function bench_canonicalize_with_code (line 91) | fn bench_canonicalize_with_code(c: &mut Criterion) { function bench_canonicalize_scaling (line 121) | fn bench_canonicalize_scaling(c: &mut Criterion) { function make_bench_hit (line 139) | fn make_bench_hit(id: &str, score: f32) -> SearchHit { function bench_rrf_fusion_100_results (line 162) | fn bench_rrf_fusion_100_results(c: &mut Criterion) { function bench_rrf_fusion_overlapping (line 180) | fn bench_rrf_fusion_overlapping(c: &mut Criterion) { function bench_empty_search (line 202) | fn bench_empty_search(c: &mut Criterion) { function bench_vector_index_search_10k (line 221) | fn bench_vector_index_search_10k(c: &mut Criterion) { function bench_vector_index_search_50k (line 240) | fn bench_vector_index_search_50k(c: &mut Criterion) { function bench_vector_index_search_50k_filtered (line 259) | fn bench_vector_index_search_50k_filtered(c: &mut Criterion) { function bench_vector_search_scaling (line 292) | fn bench_vector_search_scaling(c: &mut Criterion) { function build_temp_fsvi_index (line 313) | fn build_temp_fsvi_index( function normalize_in_place (line 354) | fn normalize_in_place(vec: &mut [f32]) { function build_query (line 364) | fn build_query(dimension: usize) -> Vec { function bench_vector_index_search_50k_loaded (line 376) | fn bench_vector_index_search_50k_loaded(c: &mut Criterion) { function bench_dot_product_f32 (line 399) | fn bench_dot_product_f32(c: &mut Criterion) { function bench_dot_product_f16 (line 419) | fn bench_dot_product_f16(c: &mut Criterion) { function bench_dot_product_f16_throughput (line 441) | fn bench_dot_product_f16_throughput(c: &mut Criterion) { FILE: build.rs type ValidationMode (line 10) | enum ValidationMode { type DependencyContract (line 16) | struct DependencyContract { type GitState (line 34) | struct GitState { constant STRICT_PATH_DEP_FEATURE (line 39) | const STRICT_PATH_DEP_FEATURE: &str = "strict-path-dep-validation"; constant STRICT_PATH_DEP_ENV (line 40) | const STRICT_PATH_DEP_ENV: &str = "CASS_STRICT_PATH_DEP_VALIDATION"; constant CONTRACTS (line 42) | const CONTRACTS: &[DependencyContract] = &[ function main (line 235) | fn main() { function validate_path_dependency_contracts (line 253) | fn validate_path_dependency_contracts(manifest_dir: &Path, manifest: &Va... function validate_manifest_dependency_spec (line 269) | fn validate_manifest_dependency_spec(manifest: &Value, contract: &Depend... function validate_patch_path (line 374) | fn validate_patch_path(manifest: &Value, contract: &DependencyContract) { function validate_local_contract (line 404) | fn validate_local_contract( function validate_strict_git_state (line 525) | fn validate_strict_git_state(contract: &DependencyContract, repo_root: &... function warn_on_path_drift (line 557) | fn warn_on_path_drift(contract: &DependencyContract, repo_root: &Path, s... function strict_path_dep_validation_enabled (line 583) | fn strict_path_dep_validation_enabled() -> bool { function expected_patch_path (line 594) | fn expected_patch_path(contract: &DependencyContract) -> String { function git_state (line 609) | fn git_state(repo_root: &Path) -> Result { function git_output (line 620) | fn git_output(repo_root: &Path, args: &[&str]) -> Result { function emit_vergen_metadata (line 635) | fn emit_vergen_metadata() { function table (line 652) | fn table<'a>(value: &'a Value, key: &str, context: &str) -> &'a toml::ma... function inline_table (line 658) | fn inline_table<'a>( function table_value (line 668) | fn table_value<'a>( function string_value (line 678) | fn string_value<'a>(table: &'a toml::map::Map, key: &str,... function feature_set (line 685) | fn feature_set(value: Option<&Value>) -> BTreeSet { function contract_error (line 698) | fn contract_error(contract: &DependencyContract, message: String) -> ! { FILE: fuzz/fuzz_targets/chunked.rs type ChunkedInput (line 16) | struct ChunkedInput { FILE: fuzz/fuzz_targets/config.rs type ConfigInput (line 18) | struct ConfigInput { FILE: fuzz/fuzz_targets/decrypt.rs type DecryptInput (line 18) | struct DecryptInput { function encode_base64 (line 41) | fn encode_base64(data: &[u8]) -> String { FILE: fuzz/fuzz_targets/fuzz_cli_argv.rs constant SUBCOMMANDS (line 26) | const SUBCOMMANDS: &[&str] = &[ constant LONG_FLAGS (line 34) | const LONG_FLAGS: &[&str] = &[ type DashStyle (line 69) | enum DashStyle { type CasePerturbation (line 76) | enum CasePerturbation { type FlagToken (line 83) | struct FlagToken { type ValueStyle (line 94) | enum ValueStyle { type ArgKind (line 101) | enum ArgKind { type ArgvInput (line 108) | struct ArgvInput { constant MAX_ARGV_LEN (line 112) | const MAX_ARGV_LEN: usize = 32; constant MAX_STRING_BYTES (line 113) | const MAX_STRING_BYTES: usize = 256; function bounded_string (line 115) | fn bounded_string(mut value: String, max_bytes: usize) -> String { function mangle_case (line 127) | fn mangle_case(flag: &str, case: &CasePerturbation) -> String { function prefix (line 145) | fn prefix(dash: &DashStyle) -> &'static str { function build_argv (line 153) | fn build_argv(input: ArgvInput) -> Vec { function contains_help_or_version (line 188) | fn contains_help_or_version(argv: &[String]) -> bool { FILE: fuzz/fuzz_targets/fuzz_connectors.rs constant MAX_PAYLOAD_BYTES (line 18) | const MAX_PAYLOAD_BYTES: usize = 128 * 1024; type ConnectorInput (line 21) | struct ConnectorInput { function write_payload (line 26) | fn write_payload(path: PathBuf, payload: &[u8]) { function write_connector_layout (line 33) | fn write_connector_layout(root: &Path, slug: &str, payload: &[u8]) { FILE: fuzz/fuzz_targets/fuzz_html_export_renderer.rs constant MAX_CONTENT_BYTES (line 15) | const MAX_CONTENT_BYTES: usize = 16 * 1024; constant MAX_FIELD_BYTES (line 16) | const MAX_FIELD_BYTES: usize = 1024; constant MAX_TOOL_BYTES (line 17) | const MAX_TOOL_BYTES: usize = 8 * 1024; constant MAX_RENDERED_BYTES (line 18) | const MAX_RENDERED_BYTES: usize = 2 * 1024 * 1024; type FuzzRole (line 21) | enum FuzzRole { type FuzzTool (line 31) | struct FuzzTool { type FuzzOptions (line 39) | struct FuzzOptions { type RendererInput (line 50) | struct RendererInput { function bounded_string (line 60) | fn bounded_string(mut value: String, max_bytes: usize) -> String { function fuzz_role_to_string (line 73) | fn fuzz_role_to_string(role: FuzzRole) -> String { function fuzz_status_to_tool_status (line 84) | fn fuzz_status_to_tool_status(status: u8) -> ToolStatus { function build_message (line 92) | fn build_message(input: RendererInput) -> (Message, RenderOptions) { function assert_no_active_script_or_dangerous_url (line 142) | fn assert_no_active_script_or_dangerous_url(html: &str) { FILE: fuzz/fuzz_targets/fuzz_query_parser.rs constant MAX_QUERY_BYTES (line 17) | const MAX_QUERY_BYTES: usize = 64 * 1024; constant MAX_FILTER_BYTES (line 18) | const MAX_FILTER_BYTES: usize = 4 * 1024; constant MAX_FILTER_VALUES (line 19) | const MAX_FILTER_VALUES: usize = 16; type QueryInput (line 22) | struct QueryInput { function bounded_string (line 32) | fn bounded_string(mut value: String, max_bytes: usize) -> String { function bounded_set (line 45) | fn bounded_set(values: Vec) -> HashSet { FILE: fuzz/fuzz_targets/fuzz_query_transpiler.rs constant MAX_QUERY_BYTES (line 38) | const MAX_QUERY_BYTES: usize = 64 * 1024; function bounded_str (line 40) | fn bounded_str(value: &str, max_bytes: usize) -> &str { FILE: fuzz/fuzz_targets/fuzz_redact_secrets.rs constant MAX_BYTES (line 16) | const MAX_BYTES: usize = 64 * 1024; constant MAX_STRING_BYTES (line 17) | const MAX_STRING_BYTES: usize = 16 * 1024; constant MAX_ARRAY_ITEMS (line 18) | const MAX_ARRAY_ITEMS: usize = 32; constant MAX_OBJECT_ITEMS (line 19) | const MAX_OBJECT_ITEMS: usize = 24; type JsonPair (line 22) | struct JsonPair { type JsonScalar (line 28) | enum JsonScalar { method arbitrary (line 47) | fn arbitrary(u: &mut Unstructured<'a>) -> ArbitraryResult { type RedactInput (line 38) | struct RedactInput { method arbitrary (line 60) | fn arbitrary(u: &mut Unstructured<'a>) -> ArbitraryResult { function arbitrary_bounded_bytes (line 89) | fn arbitrary_bounded_bytes(u: &mut Unstructured<'_>, max_bytes: usize) -... function arbitrary_bounded_string (line 94) | fn arbitrary_bounded_string(u: &mut Unstructured<'_>, max_bytes: usize) ... function bounded_string (line 102) | fn bounded_string(mut value: String, max_bytes: usize) -> String { function bounded_bytes (line 114) | fn bounded_bytes(bytes: &[u8]) -> &[u8] { function scalar_to_value (line 122) | fn scalar_to_value(scalar: JsonScalar) -> Value { function structured_value (line 135) | fn structured_value(input: RedactInput) -> Value { function exercise_json (line 157) | fn exercise_json(value: &Value, capacity: usize) { FILE: fuzz/fuzz_targets/fuzz_robot_envelope_roundtrip.rs constant MAX_FIELD_BYTES (line 22) | const MAX_FIELD_BYTES: usize = 64 * 1024; type EnvelopeInput (line 25) | struct EnvelopeInput { function bound_str (line 33) | fn bound_str(s: String, max_bytes: usize) -> String { function build_envelope (line 46) | fn build_envelope(input: &EnvelopeInput) -> serde_json::Value { FILE: fuzz/fuzz_targets/fuzz_time_parser.rs constant MAX_INPUT_BYTES (line 18) | const MAX_INPUT_BYTES: usize = 8 * 1024; FILE: fuzz/fuzz_targets/kdf.rs type KdfInput (line 15) | struct KdfInput { FILE: packaging/homebrew/coding-agent-search.rb class Cass (line 1) | class Cass < Formula method install (line 25) | def install FILE: scripts/check_bench_regression.py function classify_metric (line 62) | def classify_metric(name: str) -> tuple[str, float]: function parse_args (line 72) | def parse_args() -> argparse.Namespace: function get_thresholds (line 181) | def get_thresholds(args: argparse.Namespace) -> dict[str, float]: function find_criterion_dir (line 201) | def find_criterion_dir(target_dir: str) -> Optional[Path]: function load_benchmark_estimates (line 209) | def load_benchmark_estimates(criterion_dir: Path, bench_name: str) -> dict: function compare_benchmarks (line 236) | def compare_benchmarks( function load_history (line 282) | def load_history(history_file: str) -> dict: function save_history (line 294) | def save_history(history: dict, history_file: str, limit: int = 30): function add_to_history (line 306) | def add_to_history( function analyze_trends (line 321) | def analyze_trends(history: dict, window: int = 5) -> dict: function format_ns (line 405) | def format_ns(ns: float) -> str: function print_results (line 417) | def print_results( function print_trends (line 480) | def print_trends(trends: dict): function main (line 522) | def main(): FILE: scripts/historical_recovery/import_codex_rollouts.py function parse_args (line 22) | def parse_args() -> argparse.Namespace: function now_ms (line 80) | def now_ms() -> int: function coerce_ts_ms (line 84) | def coerce_ts_ms(value: object) -> Optional[int]: function flatten_content (line 121) | def flatten_content(value: object) -> str: function extract_content_part (line 136) | def extract_content_part(item: object) -> Optional[str]: function compact_message_extra (line 161) | def compact_message_extra(raw: Dict[str, object]) -> Dict[str, object]: function token_usage_from_payload (line 183) | def token_usage_from_payload(payload: Dict[str, object]) -> Optional[Dic... function coerce_ts_like_integer (line 204) | def coerce_ts_like_integer(value: object) -> Optional[int]: function update_time_bounds (line 225) | def update_time_bounds( function maybe_compact_extra (line 239) | def maybe_compact_extra(path: Path, payload: Dict[str, object], compact:... function attach_token_usage_to_latest_assistant (line 245) | def attach_token_usage_to_latest_assistant( function derive_title (line 264) | def derive_title(messages: Sequence[Dict[str, object]], fallback: Option... function reindex_messages (line 279) | def reindex_messages(messages: List[Dict[str, object]]) -> None: function canonical_message_fingerprint (line 284) | def canonical_message_fingerprint( function canonical_replay_fingerprint (line 296) | def canonical_replay_fingerprint( function message_merge_fingerprint (line 310) | def message_merge_fingerprint(message: Dict[str, object]) -> Tuple[int, ... function load_existing_message_state (line 320) | def load_existing_message_state( function open_canonical_rw (line 348) | def open_canonical_rw(path: Path) -> sqlite3.Connection: function ensure_meta_table (line 356) | def ensure_meta_table(conn: sqlite3.Connection) -> None: function ensure_source (line 367) | def ensure_source(conn: sqlite3.Connection, source_id: str) -> None: function ensure_agent (line 381) | def ensure_agent(conn: sqlite3.Connection, slug: str) -> int: function find_agent_id (line 396) | def find_agent_id(conn: sqlite3.Connection, slug: str) -> Optional[int]: function ensure_workspace (line 401) | def ensure_workspace( function build_canonical_codex_index (line 429) | def build_canonical_codex_index( function load_thread_fallbacks (line 489) | def load_thread_fallbacks(state_db_path: Optional[Path]) -> Dict[str, Di... function enumerate_rollout_files (line 524) | def enumerate_rollout_files(sessions_root: Path) -> List[Path]: function derive_external_id (line 530) | def derive_external_id(path: Path, sessions_root: Path) -> str: function serialize_json (line 538) | def serialize_json(value: object) -> str: function compute_message_stats (line 542) | def compute_message_stats(messages: Sequence[Dict[str, object]]) -> Dict... function parse_rollout (line 583) | def parse_rollout(path: Path, sessions_root: Path, thread_fallback: Opti... function fast_path_unchanged (line 761) | def fast_path_unchanged(existing: Dict[str, object], parsed: Dict[str, o... function insert_message (line 781) | def insert_message( function update_conversation_metadata (line 806) | def update_conversation_metadata( function process_rollouts (line 863) | def process_rollouts(args: argparse.Namespace) -> Dict[str, object]: function main (line 1100) | def main() -> int: FILE: scripts/historical_recovery/inventory_sqlite_sources.py function parse_args (line 33) | def parse_args() -> argparse.Namespace: function sidecar_path (line 69) | def sidecar_path(path: Path, suffix: str) -> Path: function looks_like_candidate (line 73) | def looks_like_candidate(path: Path) -> bool: function first_bytes (line 80) | def first_bytes(path: Path, byte_count: int = 16) -> bytes: function sqlite_header_state (line 88) | def sqlite_header_state(path: Path) -> str: function total_bundle_bytes (line 97) | def total_bundle_bytes(path: Path) -> int: function discover_candidates (line 106) | def discover_candidates(roots: Sequence[Path], max_depth: Optional[int])... function open_sqlite_readonly (line 133) | def open_sqlite_readonly(path: Path) -> Tuple[Optional[sqlite3.Connectio... function safe_scalar (line 146) | def safe_scalar(conn: sqlite3.Connection, sql: str) -> Tuple[Optional[ob... function probe_sqlite (line 154) | def probe_sqlite(path: Path, with_quick_check: bool) -> Dict[str, object]: function emit_tsv (line 237) | def emit_tsv(records: Sequence[Dict[str, object]]) -> None: function main (line 266) | def main() -> int: FILE: scripts/historical_recovery/merge_historical_bundle.py function parse_args (line 33) | def parse_args() -> argparse.Namespace: function now_ms (line 80) | def now_ms() -> int: function open_source_readonly (line 84) | def open_source_readonly(path: Path) -> sqlite3.Connection: function open_canonical_rw (line 93) | def open_canonical_rw(path: Path) -> sqlite3.Connection: function get_table_columns (line 101) | def get_table_columns(conn: sqlite3.Connection, table_name: str) -> Set[... function build_source_conversation_sql (line 109) | def build_source_conversation_sql(columns: Set[str]) -> str: function content_hash (line 139) | def content_hash(text: str) -> str: function parse_json_dict (line 143) | def parse_json_dict(raw: Optional[str]) -> Optional[Dict[str, Any]]: function coerce_int (line 158) | def coerce_int(value: Any) -> Optional[int]: function coerce_float (line 179) | def coerce_float(value: Any) -> Optional[float]: function preferred_model_from_metadata (line 195) | def preferred_model_from_metadata(conv_row: sqlite3.Row) -> Optional[str]: function first_non_empty_text (line 212) | def first_non_empty_text(*values: Any) -> Optional[str]: function count_tool_items (line 219) | def count_tool_items(items: Any) -> int: function extract_message_summary (line 234) | def extract_message_summary( function prefer_source_or_derived (line 386) | def prefer_source_or_derived(existing: Any, derived: Any) -> Any: function resolve_conversation_summary (line 396) | def resolve_conversation_summary( function message_merge_fingerprint (line 408) | def message_merge_fingerprint(row: sqlite3.Row) -> Tuple[int, Optional[i... function message_replay_fingerprint (line 418) | def message_replay_fingerprint(row: sqlite3.Row) -> Tuple[Optional[int],... function fetch_source_agents (line 427) | def fetch_source_agents(conn: sqlite3.Connection) -> Dict[int, sqlite3.R... function fetch_source_workspaces (line 436) | def fetch_source_workspaces(conn: sqlite3.Connection) -> Dict[int, sqlit... function fetch_source_sources (line 443) | def fetch_source_sources(conn: sqlite3.Connection) -> Dict[str, sqlite3.... function ensure_agent (line 452) | def ensure_agent( function ensure_workspace (line 487) | def ensure_workspace( function ensure_source (line 514) | def ensure_source( function build_canonical_caches (line 559) | def build_canonical_caches( function fetch_source_messages (line 588) | def fetch_source_messages(conn: sqlite3.Connection, conversation_id: int... function fetch_source_snippets (line 602) | def fetch_source_snippets(conn: sqlite3.Connection, source_message_ids: ... function load_existing_message_state (line 623) | def load_existing_message_state( function insert_snippets (line 644) | def insert_snippets( function effective_started_at (line 669) | def effective_started_at(conv_row: sqlite3.Row, source_messages: Sequenc... function process_bundle (line 676) | def process_bundle(args: argparse.Namespace) -> Dict[str, object]: function main (line 974) | def main() -> int: FILE: scripts/historical_recovery/recover_historical_bundle.py function parse_args (line 95) | def parse_args() -> argparse.Namespace: function is_recoverable_insert (line 119) | def is_recoverable_insert(line: str) -> Optional[str]: function prepare_output_db (line 132) | def prepare_output_db(output_db: Path, overwrite_output: bool) -> None: function write_line (line 147) | def write_line(stream: TextIO, line: str) -> None: function summarize_output_db (line 153) | def summarize_output_db(output_db: Path) -> Dict[str, object]: function main (line 164) | def main() -> int: FILE: scripts/historical_recovery/run_watch_once_batches.py function parse_args (line 24) | def parse_args() -> argparse.Namespace: function read_explicit_paths (line 184) | def read_explicit_paths(paths_files: List[str]) -> Tuple[List[Path], Dic... function collect_paths (line 212) | def collect_paths( function estimated_file_size_bytes (line 231) | def estimated_file_size_bytes(path: Path) -> int: function select_batch_paths (line 238) | def select_batch_paths( function config_signature (line 265) | def config_signature( function state_paths (line 279) | def state_paths(args: argparse.Namespace) -> tuple[Path, Path, Dict[str,... function load_state (line 306) | def load_state(state_file: Path) -> Dict[str, object]: function save_state (line 321) | def save_state(state_file: Path, state: Dict[str, object]) -> None: function append_log (line 327) | def append_log(log_file: Path, payload: Dict[str, object]) -> None: function maybe_migrate_legacy_state (line 333) | def maybe_migrate_legacy_state( function normalize_state_metadata (line 357) | def normalize_state_metadata( function build_state_snapshot (line 388) | def build_state_snapshot( function run_cass_json (line 429) | def run_cass_json( function db_counts (line 483) | def db_counts(cass_binary: Path, data_dir: Path) -> Dict[str, Any]: function read_meminfo_kb (line 573) | def read_meminfo_kb() -> Dict[str, int]: function read_proc_status_kb (line 588) | def read_proc_status_kb(pid: int) -> Dict[str, int]: function compute_memory_budgets_kb (line 607) | def compute_memory_budgets_kb( class TailBuffer (line 630) | class TailBuffer: method __init__ (line 631) | def __init__(self, max_chars: int) -> None: method append (line 636) | def append(self, chunk: str) -> None: method text (line 645) | def text(self) -> str: function drain_stream (line 652) | def drain_stream(stream: Optional[Any], tail: TailBuffer) -> None: function run_batch (line 665) | def run_batch( function failure_text (line 766) | def failure_text(proc: subprocess.CompletedProcess[str]) -> str: function has_masked_watch_failure (line 770) | def has_masked_watch_failure(proc: subprocess.CompletedProcess[str]) -> ... function is_out_of_memory_failure (line 774) | def is_out_of_memory_failure( function autotune_after_success (line 789) | def autotune_after_success( function main (line 869) | def main() -> int: FILE: scripts/historical_recovery/screen_bundle_delta.py function parse_args (line 14) | def parse_args() -> argparse.Namespace: function resolve_paths (line 37) | def resolve_paths(patterns: Sequence[str]) -> List[Path]: function open_ro (line 61) | def open_ro(path: Path) -> sqlite3.Connection: function load_canonical_keys (line 70) | def load_canonical_keys(canonical_db: Path) -> Dict[Tuple[str, str, str]... function screen_bundle (line 93) | def screen_bundle(path: Path, canonical_keys: Dict[Tuple[str, str, str],... function main (line 137) | def main() -> int: FILE: src/analytics/bucketing.rs function day_id_to_iso (line 11) | pub fn day_id_to_iso(day_id: i64) -> String { function hour_id_to_iso (line 21) | pub fn hour_id_to_iso(hour_id: i64) -> String { function day_id_to_iso_week (line 31) | pub fn day_id_to_iso_week(day_id: i64) -> String { function day_id_to_month (line 44) | pub fn day_id_to_month(day_id: i64) -> String { function resolve_day_range (line 56) | pub fn resolve_day_range(filter: &AnalyticsFilter) -> (Option, Opti... function resolve_hour_range (line 64) | pub fn resolve_hour_range(filter: &AnalyticsFilter) -> (Option, Opt... function day_id_roundtrip (line 82) | fn day_id_roundtrip() { function hour_id_roundtrip (line 91) | fn hour_id_roundtrip() { function day_id_to_week (line 100) | fn day_id_to_week() { function day_id_to_month_format (line 111) | fn day_id_to_month_format() { function resolve_empty_filter_gives_none (line 118) | fn resolve_empty_filter_gives_none() { function resolve_day_range_with_since (line 129) | fn resolve_day_range_with_since() { FILE: src/analytics/derive.rs function compute_derived (line 9) | pub fn compute_derived(bucket: &UsageBucket) -> DerivedMetrics { function safe_pct (line 57) | pub fn safe_pct(numerator: i64, denominator: i64) -> f64 { function safe_div (line 67) | pub fn safe_div(numerator: i64, denominator: i64) -> Option { function safe_div_f64 (line 77) | pub fn safe_div_f64(numerator: f64, denominator: i64) -> Option { function safe_div_zero_denominator (line 94) | fn safe_div_zero_denominator() { function safe_div_normal (line 99) | fn safe_div_normal() { function safe_div_f64_zero_denominator (line 104) | fn safe_div_f64_zero_denominator() { function safe_div_f64_normal (line 109) | fn safe_div_f64_normal() { function safe_pct_zero_denominator (line 115) | fn safe_pct_zero_denominator() { function safe_pct_normal (line 120) | fn safe_pct_normal() { function safe_pct_rounding (line 126) | fn safe_pct_rounding() { function compute_derived_empty_bucket (line 133) | fn compute_derived_empty_bucket() { function compute_derived_realistic_bucket (line 147) | fn compute_derived_realistic_bucket() { function no_nan_or_infinity (line 174) | fn no_nan_or_infinity() { FILE: src/analytics/query.rs function table_exists (line 20) | pub fn table_exists(conn: &Connection, name: &str) -> bool { function table_has_column (line 35) | fn table_has_column(conn: &Connection, table: &str, column: &str) -> bool { function table_has_plan_token_rollups (line 53) | fn table_has_plan_token_rollups(conn: &Connection, table: &str) -> bool { function normalize_epoch_millis (line 58) | fn normalize_epoch_millis(ts: i64) -> i64 { function normalized_epoch_millis_sql (line 66) | fn normalized_epoch_millis_sql(expr: &str) -> String { function is_recently_updated (line 72) | fn is_recently_updated(last_updated: Option, now_ms: i64, threshold... function normalized_analytics_source_id_value (line 76) | fn normalized_analytics_source_id_value(source_id: &str) -> String { function normalized_analytics_source_identity_value (line 87) | fn normalized_analytics_source_identity_value(source_id: &str, origin_ho... function breakdown_row_with_value (line 103) | fn breakdown_row_with_value(key: String, bucket: UsageBucket, value: i64... function analytics_query_error (line 112) | fn analytics_query_error(context: &str, err: impl std::fmt::Display) -> ... function normalized_analytics_source_id_sql_expr (line 116) | fn normalized_analytics_source_id_sql_expr(column: &str) -> String { function normalized_analytics_source_identity_sql_expr (line 123) | fn normalized_analytics_source_identity_sql_expr( function normalized_analytics_source_id_with_fallback_sql_expr (line 133) | fn normalized_analytics_source_id_with_fallback_sql_expr( function normalized_analytics_source_identity_with_fallback_sql_expr (line 144) | fn normalized_analytics_source_identity_with_fallback_sql_expr( function normalized_analytics_agent_value (line 159) | fn normalized_analytics_agent_value(agent_slug: &str) -> String { function normalized_analytics_agent_sql_expr (line 168) | fn normalized_analytics_agent_sql_expr(column: &str) -> String { function sql_string_literal (line 174) | fn sql_string_literal(value: &str) -> String { function canonical_message_metrics_from_sql (line 178) | fn canonical_message_metrics_from_sql(conn: &Connection) -> Option RollupStats { type AnalyticsTimeColumn (line 287) | enum AnalyticsTimeColumn<'a> { function normalized_analytics_model_family_sql_expr (line 293) | fn normalized_analytics_model_family_sql_expr(column: &str) -> String { function build_where_parts_for_columns (line 299) | fn build_where_parts_for_columns<'a>( function build_filtered_where_sql (line 359) | fn build_filtered_where_sql<'a>( function build_where_parts (line 422) | pub fn build_where_parts<'a>( function message_metrics_time_sql (line 433) | fn message_metrics_time_sql(conn: &Connection) -> Option { function message_metrics_from_sql_and_source_sql (line 461) | fn message_metrics_from_sql_and_source_sql(conn: &Connection) -> (String... function token_usage_from_sql_agent_and_source_sql (line 488) | fn token_usage_from_sql_agent_and_source_sql( function token_usage_agent_sql_or_unknown (line 566) | fn token_usage_agent_sql_or_unknown(agent_sql: Option) -> String { function token_usage_time_sql (line 570) | fn token_usage_time_sql(conn: &Connection) -> Option { function query_table_stats_from_source (line 594) | fn query_table_stats_from_source<'a>( function query_scalar_i64 (line 628) | fn query_scalar_i64(conn: &Connection, sql: &str, params: &[ParamValue])... function query_total_messages_filtered (line 633) | fn query_total_messages_filtered(conn: &Connection, filter: &AnalyticsFi... function query_message_metrics_filtered_count (line 678) | fn query_message_metrics_filtered_count( function query_token_usage_filtered_count (line 711) | fn query_token_usage_filtered_count( function track_b_requires_token_usage_fallback (line 744) | fn track_b_requires_token_usage_fallback(filter: &AnalyticsFilter) -> bo... function token_usage_supports_track_b_metric (line 748) | fn token_usage_supports_track_b_metric(conn: &Connection, metric: Metric... function message_metrics_supports_track_a_metric (line 767) | fn message_metrics_supports_track_a_metric(conn: &Connection, metric: Me... function track_a_breakdown_supports_raw_metric (line 798) | fn track_a_breakdown_supports_raw_metric(conn: &Connection, metric: Metr... function track_a_breakdown_requires_raw_fallback (line 810) | fn track_a_breakdown_requires_raw_fallback(filter: &AnalyticsFilter, dim... function track_b_breakdown_requires_token_usage_fallback (line 817) | fn track_b_breakdown_requires_token_usage_fallback(filter: &AnalyticsFil... function track_a_timeseries_requires_source_fallback (line 823) | fn track_a_timeseries_requires_source_fallback(filter: &AnalyticsFilter)... function track_a_tools_supports_raw_source_fallback (line 834) | fn track_a_tools_supports_raw_source_fallback(conn: &Connection) -> bool { function analytics_requires_exact_raw_time_filter (line 842) | fn analytics_requires_exact_raw_time_filter(filter: &AnalyticsFilter) ->... function track_a_timeseries_requires_raw_fallback (line 846) | fn track_a_timeseries_requires_raw_fallback(filter: &AnalyticsFilter) ->... function track_b_cost_timeseries_requires_token_usage_fallback (line 851) | fn track_b_cost_timeseries_requires_token_usage_fallback( function query_track_a_rollup_status_with_message_metrics_fallback (line 860) | fn query_track_a_rollup_status_with_message_metrics_fallback( function query_token_daily_stats_status (line 940) | fn query_token_daily_stats_status(conn: &Connection, filter: &AnalyticsF... function query_status (line 1001) | pub fn query_status(conn: &Connection, filter: &AnalyticsFilter) -> Anal... function query_tokens_timeseries (line 1226) | pub fn query_tokens_timeseries( function query_track_a_timeseries_from_raw (line 1410) | fn query_track_a_timeseries_from_raw( function query_cost_timeseries_from_token_usage (line 1690) | fn query_cost_timeseries_from_token_usage( function query_cost_timeseries (line 1892) | pub fn query_cost_timeseries( function breakdown_route (line 2056) | fn breakdown_route(dim: Dim, metric: Metric) -> (&'static str, &'static ... function query_track_b_breakdown_from_token_usage (line 2067) | fn query_track_b_breakdown_from_token_usage( function query_track_a_breakdown_from_raw (line 2263) | fn query_track_a_breakdown_from_raw( function query_breakdown (line 2526) | pub fn query_breakdown( function build_breakdown_sql_track_a (line 2666) | fn build_breakdown_sql_track_a( function build_breakdown_sql_track_b (line 2735) | fn build_breakdown_sql_track_b( function read_breakdown_rows_track_a (line 2792) | fn read_breakdown_rows_track_a( function read_breakdown_rows_track_b (line 2847) | fn read_breakdown_rows_track_b( function query_tools_from_raw (line 2922) | fn query_tools_from_raw( function query_tools (line 3123) | pub fn query_tools( function query_session_scatter (line 3272) | pub fn query_session_scatter( function query_unpriced_models (line 3526) | pub fn query_unpriced_models( function build_where_parts_empty_filter (line 3623) | fn build_where_parts_empty_filter() { function build_where_parts_single_agent (line 3631) | fn build_where_parts_single_agent() { function build_where_parts_single_agent_normalizes_trimmed_unknown_alias (line 3644) | fn build_where_parts_single_agent_normalizes_trimmed_unknown_alias() { function build_where_parts_multiple_agents (line 3657) | fn build_where_parts_multiple_agents() { function build_where_parts_source_local (line 3672) | fn build_where_parts_source_local() { function build_where_parts_source_remote (line 3685) | fn build_where_parts_source_remote() { function build_where_parts_source_specific (line 3698) | fn build_where_parts_source_specific() { function build_where_parts_source_specific_normalizes_trimmed_local_alias (line 3711) | fn build_where_parts_source_specific_normalizes_trimmed_local_alias() { function build_where_parts_combined (line 3724) | fn build_where_parts_combined() { function build_where_parts_workspace_filter_enabled (line 3739) | fn build_where_parts_workspace_filter_enabled() { function build_where_parts_workspace_filter_disabled (line 3751) | fn build_where_parts_workspace_filter_disabled() { function setup_usage_daily_db (line 3766) | fn setup_usage_daily_db() -> Connection { function setup_usage_daily_legacy_db (line 3878) | fn setup_usage_daily_legacy_db() -> Connection { function setup_usage_hourly_db (line 3915) | fn setup_usage_hourly_db() -> Connection { function setup_tools_remote_source_fallback_db (line 3994) | fn setup_tools_remote_source_fallback_db() -> Connection { function setup_token_daily_stats_db (line 4124) | fn setup_token_daily_stats_db() -> Connection { function setup_status_freshness_db (line 4173) | fn setup_status_freshness_db( function setup_session_scatter_db (line 4204) | fn setup_session_scatter_db() -> Connection { function setup_session_scatter_with_token_usage_fallback_db (line 4320) | fn setup_session_scatter_with_token_usage_fallback_db() -> Connection { function setup_session_scatter_with_api_source_column_db (line 4350) | fn setup_session_scatter_with_api_source_column_db() -> Connection { function setup_duplicate_message_metrics_raw_db (line 4365) | fn setup_duplicate_message_metrics_raw_db() -> Connection { function setup_status_filter_db (line 4440) | fn setup_status_filter_db() -> Connection { function normalize_epoch_millis_preserves_negative_millisecond_values (line 4650) | fn normalize_epoch_millis_preserves_negative_millisecond_values() { function setup_legacy_status_filter_db_without_message_metrics_created_at (line 4656) | fn setup_legacy_status_filter_db_without_message_metrics_created_at() ->... function setup_legacy_track_b_filter_db_without_token_usage_timestamp (line 4796) | fn setup_legacy_track_b_filter_db_without_token_usage_timestamp() -> Con... function query_status_treats_millisecond_timestamps_as_fresh (line 4866) | fn query_status_treats_millisecond_timestamps_as_fresh() { function query_status_supports_legacy_second_timestamps (line 4881) | fn query_status_supports_legacy_second_timestamps() { function query_status_detects_millisecond_freshness_mismatch (line 4895) | fn query_status_detects_millisecond_freshness_mismatch() { function query_status_deduplicates_duplicate_token_usage_rows_in_coverage (line 4918) | fn query_status_deduplicates_duplicate_token_usage_rows_in_coverage() { function query_status_blank_duplicate_token_usage_data_source_does_not_override_estimated (line 4947) | fn query_status_blank_duplicate_token_usage_data_source_does_not_overrid... function status_table_row_count (line 4976) | fn status_table_row_count(result: &StatusResult, table: &str) -> i64 { function query_status_applies_dimensional_filters_to_tables_and_coverage (line 4986) | fn query_status_applies_dimensional_filters_to_tables_and_coverage() { function query_status_subday_filter_excludes_same_day_rollup_rows_without_raw_matches (line 5014) | fn query_status_subday_filter_excludes_same_day_rollup_rows_without_raw_... function query_status_uses_exact_raw_timestamps_for_subday_coverage_counts (line 5052) | fn query_status_uses_exact_raw_timestamps_for_subday_coverage_counts() { function query_status_uses_message_metrics_timestamp_when_message_created_at_missing (line 5091) | fn query_status_uses_message_metrics_timestamp_when_message_created_at_m... function query_status_uses_message_created_at_when_message_metrics_timestamp_column_is_missing (line 5113) | fn query_status_uses_message_created_at_when_message_metrics_timestamp_c... function query_status_uses_conversation_started_at_when_message_metrics_timestamp_column_is_missing (line 5140) | fn query_status_uses_conversation_started_at_when_message_metrics_timest... function query_status_uses_conversation_started_at_when_token_usage_timestamp_column_is_missing (line 5170) | fn query_status_uses_conversation_started_at_when_token_usage_timestamp_... function query_cost_timeseries_uses_conversation_started_at_when_token_usage_timestamp_column_is_missing (line 5197) | fn query_cost_timeseries_uses_conversation_started_at_when_token_usage_t... function query_breakdown_model_api_total_uses_conversation_started_at_when_token_usage_timestamp_column_is_missing (line 5224) | fn query_breakdown_model_api_total_uses_conversation_started_at_when_tok... function query_status_unknown_workspace_filter_returns_empty_subset (line 5249) | fn query_status_unknown_workspace_filter_returns_empty_subset() { function query_status_source_filter_matches_blank_remote_raw_source_ids_via_origin_host (line 5269) | fn query_status_source_filter_matches_blank_remote_raw_source_ids_via_or... function query_breakdown_by_agent_returns_ordered_rows (line 5308) | fn query_breakdown_by_agent_returns_ordered_rows() { function query_breakdown_by_agent_coalesces_trimmed_and_blank_agent_slugs (line 5325) | fn query_breakdown_by_agent_coalesces_trimmed_and_blank_agent_slugs() { function query_breakdown_by_agent_coverage_pct_orders_by_coverage_before_limit (line 5349) | fn query_breakdown_by_agent_coverage_pct_orders_by_coverage_before_limit... function query_breakdown_by_source_filters_correctly (line 5377) | fn query_breakdown_by_source_filters_correctly() { function query_breakdown_by_source_specific_filter_applies_before_limit_on_track_a_rollup (line 5392) | fn query_breakdown_by_source_specific_filter_applies_before_limit_on_tra... function query_breakdown_by_source_coalesces_trimmed_local_ids (line 5407) | fn query_breakdown_by_source_coalesces_trimmed_local_ids() { function query_breakdown_by_source_with_cost_metric_coalesces_trimmed_local_ids (line 5461) | fn query_breakdown_by_source_with_cost_metric_coalesces_trimmed_local_id... function query_breakdown_by_source_specific_filter_applies_before_limit_on_track_b_rollup (line 5488) | fn query_breakdown_by_source_specific_filter_applies_before_limit_on_tra... function query_breakdown_by_source_message_count_recovers_blank_remote_usage_daily_source_via_origin_host (line 5514) | fn query_breakdown_by_source_message_count_recovers_blank_remote_usage_d... function query_breakdown_by_source_api_total_matches_blank_remote_usage_daily_source_via_origin_host (line 5552) | fn query_breakdown_by_source_api_total_matches_blank_remote_usage_daily_... function query_breakdown_source_with_cost_metric_source_filter_matches_blank_remote_token_usage_source_via_origin_host (line 5583) | fn query_breakdown_source_with_cost_metric_source_filter_matches_blank_r... function query_breakdown_agent_with_cost_metric_source_filter_matches_blank_remote_token_usage_source_via_origin_host (line 5618) | fn query_breakdown_agent_with_cost_metric_source_filter_matches_blank_re... function query_breakdown_source_with_cost_metric_default_uses_token_usage_to_recover_blank_remote_source_via_origin_host (line 5653) | fn query_breakdown_source_with_cost_metric_default_uses_token_usage_to_r... function query_breakdown_workspace_filter_applies_on_track_a (line 5693) | fn query_breakdown_workspace_filter_applies_on_track_a() { function query_breakdown_by_agent_tool_calls_matches_blank_remote_usage_daily_source_via_origin_host (line 5706) | fn query_breakdown_by_agent_tool_calls_matches_blank_remote_usage_daily_... function query_breakdown_by_agent_plan_count_matches_blank_remote_usage_daily_source_via_origin_host (line 5725) | fn query_breakdown_by_agent_plan_count_matches_blank_remote_usage_daily_... function query_breakdown_by_agent_message_count_uses_message_metrics_timestamp_when_message_created_at_missing (line 5748) | fn query_breakdown_by_agent_message_count_uses_message_metrics_timestamp... function query_breakdown_by_agent_api_total_uses_message_metrics_timestamp_when_message_created_at_missing (line 5770) | fn query_breakdown_by_agent_api_total_uses_message_metrics_timestamp_whe... function query_breakdown_by_agent_api_total_subday_filter_excludes_same_day_rollup_rows_without_raw_matches (line 5792) | fn query_breakdown_by_agent_api_total_subday_filter_excludes_same_day_ro... function query_breakdown_model_api_total_deduplicates_duplicate_token_usage_rows (line 5820) | fn query_breakdown_model_api_total_deduplicates_duplicate_token_usage_ro... function query_breakdown_by_agent_api_total_matches_blank_remote_usage_daily_source_via_origin_host (line 5849) | fn query_breakdown_by_agent_api_total_matches_blank_remote_usage_daily_s... function query_breakdown_by_workspace_message_count_matches_blank_remote_usage_daily_source_via_origin_host (line 5868) | fn query_breakdown_by_workspace_message_count_matches_blank_remote_usage... function query_breakdown_model_workspace_filter_uses_token_usage_and_normalizes_filters (line 5887) | fn query_breakdown_model_workspace_filter_uses_token_usage_and_normalize... function query_breakdown_model_api_total_subday_filter_excludes_same_day_rollup_rows_without_raw_matches (line 5906) | fn query_breakdown_model_api_total_subday_filter_excludes_same_day_rollu... function query_breakdown_model_unknown_workspace_filter_returns_empty (line 5930) | fn query_breakdown_model_unknown_workspace_filter_returns_empty() { function query_breakdown_model_workspace_filter_matches_blank_remote_token_usage_source_via_origin_host (line 5943) | fn query_breakdown_model_workspace_filter_matches_blank_remote_token_usa... function query_breakdown_model_source_filter_matches_blank_remote_token_daily_stats_source_via_origin_host (line 5976) | fn query_breakdown_model_source_filter_matches_blank_remote_token_daily_... function query_breakdown_by_model_uses_track_b (line 6008) | fn query_breakdown_by_model_uses_track_b() { function query_breakdown_limit_caps_rows (line 6020) | fn query_breakdown_limit_caps_rows() { function query_breakdown_missing_table_returns_empty (line 6029) | fn query_breakdown_missing_table_returns_empty() { function query_breakdown_result_to_json_shape (line 6037) | fn query_breakdown_result_to_json_shape() { function query_unpriced_models_totals_include_hidden_models_beyond_limit (line 6051) | fn query_unpriced_models_totals_include_hidden_models_beyond_limit() { function query_unpriced_models_deduplicates_duplicate_token_usage_rows (line 6077) | fn query_unpriced_models_deduplicates_duplicate_token_usage_rows() { function query_unpriced_models_coalesces_blank_model_names_into_none_bucket (line 6109) | fn query_unpriced_models_coalesces_blank_model_names_into_none_bucket() { function query_unpriced_models_missing_estimated_cost_column_returns_empty_report (line 6136) | fn query_unpriced_models_missing_estimated_cost_column_returns_empty_rep... function query_unpriced_models_without_model_name_column_uses_none_bucket (line 6157) | fn query_unpriced_models_without_model_name_column_uses_none_bucket() { function query_tools_returns_agent_breakdown (line 6182) | fn query_tools_returns_agent_breakdown() { function query_tools_normalizes_grouped_agent_slugs (line 6198) | fn query_tools_normalizes_grouped_agent_slugs() { function query_tools_workspace_filter_applies (line 6215) | fn query_tools_workspace_filter_applies() { function query_tools_totals_include_hidden_rows_beyond_limit (line 6228) | fn query_tools_totals_include_hidden_rows_beyond_limit() { function query_tools_raw_totals_include_hidden_rows_beyond_limit (line 6241) | fn query_tools_raw_totals_include_hidden_rows_beyond_limit() { function query_tools_source_filter_matches_blank_remote_usage_daily_source_via_origin_host (line 6260) | fn query_tools_source_filter_matches_blank_remote_usage_daily_source_via... function query_tools_subday_filter_excludes_same_day_rollup_rows_without_raw_matches (line 6281) | fn query_tools_subday_filter_excludes_same_day_rollup_rows_without_raw_m... function query_tools_derived_metrics_correct (line 6310) | fn query_tools_derived_metrics_correct() { function query_tools_missing_table_returns_empty (line 6324) | fn query_tools_missing_table_returns_empty() { function query_tools_report_to_json_shape (line 6333) | fn query_tools_report_to_json_shape() { function query_tools_hour_group_uses_usage_hourly (line 6345) | fn query_tools_hour_group_uses_usage_hourly() { function query_total_messages_filtered_deduplicates_duplicate_message_metrics_rows (line 6359) | fn query_total_messages_filtered_deduplicates_duplicate_message_metrics_... function query_total_messages_filtered_uses_conversation_started_at_when_message_timestamps_missing (line 6371) | fn query_total_messages_filtered_uses_conversation_started_at_when_messa... function query_tokens_timeseries_deduplicates_duplicate_message_metrics_rows (line 6388) | fn query_tokens_timeseries_deduplicates_duplicate_message_metrics_rows() { function query_tokens_timeseries_uses_conversation_started_at_when_message_timestamps_missing (line 6405) | fn query_tokens_timeseries_uses_conversation_started_at_when_message_tim... function query_breakdown_by_agent_api_total_deduplicates_duplicate_message_metrics_rows (line 6425) | fn query_breakdown_by_agent_api_total_deduplicates_duplicate_message_met... function query_breakdown_by_agent_message_count_uses_conversation_started_at_when_message_timestamps_missing (line 6442) | fn query_breakdown_by_agent_message_count_uses_conversation_started_at_w... function query_tools_deduplicates_duplicate_message_metrics_rows (line 6463) | fn query_tools_deduplicates_duplicate_message_metrics_rows() { function query_tools_uses_conversation_started_at_when_message_timestamps_missing (line 6481) | fn query_tools_uses_conversation_started_at_when_message_timestamps_miss... function query_session_scatter_deduplicates_duplicate_message_metrics_rows (line 6502) | fn query_session_scatter_deduplicates_duplicate_message_metrics_rows() { function query_session_scatter_returns_sorted_points (line 6513) | fn query_session_scatter_returns_sorted_points() { function query_session_scatter_applies_agent_and_source_filters (line 6528) | fn query_session_scatter_applies_agent_and_source_filters() { function query_session_scatter_without_agents_table_still_returns_points (line 6545) | fn query_session_scatter_without_agents_table_still_returns_points() { function query_session_scatter_with_missing_agent_row_keeps_session_without_filter (line 6556) | fn query_session_scatter_with_missing_agent_row_keeps_session_without_fi... function query_session_scatter_normalizes_trimmed_agent_filter_and_agent_slug (line 6567) | fn query_session_scatter_normalizes_trimmed_agent_filter_and_agent_slug() { function query_session_scatter_normalizes_trimmed_local_source_ids (line 6584) | fn query_session_scatter_normalizes_trimmed_local_source_ids() { function query_session_scatter_matches_blank_remote_source_id_via_origin_host (line 6602) | fn query_session_scatter_matches_blank_remote_source_id_via_origin_host() { function query_session_scatter_falls_back_to_token_usage_when_mm_tokens_missing (line 6623) | fn query_session_scatter_falls_back_to_token_usage_when_mm_tokens_missin... function query_session_scatter_aggregates_duplicate_token_usage_rows_per_message (line 6641) | fn query_session_scatter_aggregates_duplicate_token_usage_rows_per_messa... function query_session_scatter_uses_max_token_usage_total_for_duplicate_rows_per_message (line 6672) | fn query_session_scatter_uses_max_token_usage_total_for_duplicate_rows_p... function query_session_scatter_falls_back_to_conversation_rollup_when_detailed_tokens_are_sparse (line 6713) | fn query_session_scatter_falls_back_to_conversation_rollup_when_detailed... function query_session_scatter_uses_message_metrics_timestamp_when_message_created_at_missing (line 6742) | fn query_session_scatter_uses_message_metrics_timestamp_when_message_cre... function query_session_scatter_uses_token_usage_timestamp_when_message_created_at_missing (line 6775) | fn query_session_scatter_uses_token_usage_timestamp_when_message_created... function query_cost_timeseries_deduplicates_duplicate_token_usage_rows (line 6807) | fn query_cost_timeseries_deduplicates_duplicate_token_usage_rows() { function query_session_scatter_with_api_source_column_preserves_legacy_mm_rows (line 6851) | fn query_session_scatter_with_api_source_column_preserves_legacy_mm_rows... function query_breakdown_with_agent_filter (line 6873) | fn query_breakdown_with_agent_filter() { function metric_display_roundtrip (line 6888) | fn metric_display_roundtrip() { function dim_display_roundtrip (line 6895) | fn dim_display_roundtrip() { function metric_rollup_column_coverage_pct_is_none (line 6903) | fn metric_rollup_column_coverage_pct_is_none() { function metric_rollup_column_api_total_is_some (line 6908) | fn metric_rollup_column_api_total_is_some() { function query_cost_timeseries_returns_cost_data (line 6917) | fn query_cost_timeseries_returns_cost_data() { function query_cost_timeseries_totals_match_bucket_sums (line 6934) | fn query_cost_timeseries_totals_match_bucket_sums() { function query_tokens_timeseries_source_filter_matches_blank_remote_usage_daily_source_via_origin_host (line 6948) | fn query_tokens_timeseries_source_filter_matches_blank_remote_usage_dail... function query_tokens_timeseries_subday_filter_excludes_same_day_rollup_rows_without_raw_matches (line 6982) | fn query_tokens_timeseries_subday_filter_excludes_same_day_rollup_rows_w... function query_tokens_timeseries_uses_legacy_second_message_metrics_timestamps_for_exact_filters (line 7012) | fn query_tokens_timeseries_uses_legacy_second_message_metrics_timestamps... function query_cost_timeseries_source_filter_matches_blank_remote_token_daily_stats_source_via_origin_host (line 7042) | fn query_cost_timeseries_source_filter_matches_blank_remote_token_daily_... function query_cost_timeseries_subday_filter_excludes_same_day_rollup_rows_without_raw_matches (line 7075) | fn query_cost_timeseries_subday_filter_excludes_same_day_rollup_rows_wit... function query_cost_timeseries_uses_legacy_second_token_usage_timestamps_for_exact_filters (line 7112) | fn query_cost_timeseries_uses_legacy_second_token_usage_timestamps_for_e... function query_cost_timeseries_hour_group_uses_token_usage_hour_buckets (line 7151) | fn query_cost_timeseries_hour_group_uses_token_usage_hour_buckets() { function query_cost_timeseries_missing_table_returns_empty (line 7183) | fn query_cost_timeseries_missing_table_returns_empty() { function query_breakdown_agent_with_cost_metric_normalizes_trimmed_agent_slug (line 7194) | fn query_breakdown_agent_with_cost_metric_normalizes_trimmed_agent_slug() { function query_breakdown_agent_with_cost_metric_uses_track_b (line 7214) | fn query_breakdown_agent_with_cost_metric_uses_track_b() { function query_breakdown_workspace_with_cost_metric_uses_track_a_zero_values (line 7230) | fn query_breakdown_workspace_with_cost_metric_uses_track_a_zero_values() { function query_breakdown_model_with_cost_metric_orders_by_cost (line 7248) | fn query_breakdown_model_with_cost_metric_orders_by_cost() { function query_breakdown_model_content_est_total_uses_content_chars (line 7260) | fn query_breakdown_model_content_est_total_uses_content_chars() { function query_breakdown_model_coverage_pct_is_derived (line 7274) | fn query_breakdown_model_coverage_pct_is_derived() { function query_breakdown_model_plan_count_is_zero_on_track_b (line 7284) | fn query_breakdown_model_plan_count_is_zero_on_track_b() { FILE: src/analytics/types.rs type AnalyticsError (line 16) | pub enum AnalyticsError { type AnalyticsResult (line 26) | pub type AnalyticsResult = std::result::Result; type GroupBy (line 35) | pub enum GroupBy { method as_str (line 45) | pub fn as_str(self) -> &'static str { method label (line 55) | pub fn label(self) -> &'static str { method next (line 65) | pub fn next(self) -> Self { method prev (line 75) | pub fn prev(self) -> Self { method fmt (line 86) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type SourceFilter (line 97) | pub enum SourceFilter { type AnalyticsFilter (line 114) | pub struct AnalyticsFilter { type Dim (line 134) | pub enum Dim { method as_str (line 143) | pub fn as_str(self) -> &'static str { method fmt (line 154) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Metric (line 162) | pub enum Metric { method as_str (line 187) | pub fn as_str(self) -> &'static str { method rollup_column (line 207) | pub fn rollup_column(&self) -> Option<&'static str> { method fmt (line 226) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type UsageBucket (line 242) | pub struct UsageBucket { method merge (line 267) | pub fn merge(&mut self, other: &UsageBucket) { method to_json (line 291) | pub fn to_json(&self, bucket_key: &str) -> serde_json::Value { type TimeseriesResult (line 342) | pub struct TimeseriesResult { method to_cli_json (line 359) | pub fn to_cli_json(&self) -> serde_json::Value { type BreakdownRow (line 387) | pub struct BreakdownRow { method to_json (line 400) | pub fn to_json(&self) -> serde_json::Value { type BreakdownResult (line 416) | pub struct BreakdownResult { method to_cli_json (line 431) | pub fn to_cli_json(&self) -> serde_json::Value { type ToolRow (line 452) | pub struct ToolRow { method to_json (line 468) | pub fn to_json(&self) -> serde_json::Value { type ToolReport (line 481) | pub struct ToolReport { method to_cli_json (line 496) | pub fn to_cli_json(&self) -> serde_json::Value { type SessionScatterPoint (line 526) | pub struct SessionScatterPoint { type TableInfo (line 543) | pub struct TableInfo { method to_json (line 553) | pub fn to_json(&self) -> serde_json::Value { type CoverageInfo (line 567) | pub struct CoverageInfo { type DriftInfo (line 577) | pub struct DriftInfo { type DriftSignal (line 585) | pub struct DriftSignal { method to_json (line 592) | fn to_json(&self) -> serde_json::Value { type StatusResult (line 602) | pub struct StatusResult { method to_json (line 611) | pub fn to_json(&self) -> serde_json::Value { type UnpricedModel (line 645) | pub struct UnpricedModel { type UnpricedModelsReport (line 656) | pub struct UnpricedModelsReport { type DerivedMetrics (line 671) | pub struct DerivedMetrics { constant GROUP_BY_CASES (line 690) | const GROUP_BY_CASES: [(GroupBy, &str, &str, GroupBy, GroupBy); 4] = [ function analytics_error_display_and_sources_are_preserved (line 716) | fn analytics_error_display_and_sources_are_preserved() { function usage_bucket_merge_is_additive (line 730) | fn usage_bucket_merge_is_additive() { function usage_bucket_to_json_shape (line 765) | fn usage_bucket_to_json_shape() { function group_by_display (line 791) | fn group_by_display() { function group_by_next_cycles_through_all (line 799) | fn group_by_next_cycles_through_all() { function group_by_prev_cycles_through_all (line 806) | fn group_by_prev_cycles_through_all() { function group_by_label (line 813) | fn group_by_label() { function dim_as_str_matches_display_for_all_variants (line 820) | fn dim_as_str_matches_display_for_all_variants() { function metric_as_str_matches_display_for_all_variants (line 835) | fn metric_as_str_matches_display_for_all_variants() { function drift_signal_to_json_shape (line 858) | fn drift_signal_to_json_shape() { function default_filter_is_unfiltered (line 873) | fn default_filter_is_unfiltered() { FILE: src/analytics/validate.rs type Severity (line 27) | pub enum Severity { type Check (line 35) | pub struct Check { type DriftEntry (line 46) | pub struct DriftEntry { type SamplingMeta (line 59) | pub struct SamplingMeta { type ReportMeta (line 67) | pub struct ReportMeta { type ValidationReport (line 75) | pub struct ValidationReport { method all_ok (line 83) | pub fn all_ok(&self) -> bool { method count_failures (line 88) | pub fn count_failures(&self, sev: Severity) -> usize { method to_json (line 96) | pub fn to_json(&self) -> serde_json::Value { type RepairKind (line 104) | pub enum RepairKind { type RepairDecision (line 123) | pub struct RepairDecision { type RepairPlan (line 132) | pub struct RepairPlan { function build_repair_plan (line 142) | pub fn build_repair_plan(report: &ValidationReport) -> RepairPlan { function classify_repair_kind (line 177) | fn classify_repair_kind(check: &Check, report: &ValidationReport) -> Rep... function repair_reason (line 221) | fn repair_reason(kind: RepairKind) -> &'static str { type ValidateConfig (line 244) | pub struct ValidateConfig { method deep (line 266) | pub fn deep() -> Self { method default (line 255) | fn default() -> Self { function run_validation (line 279) | pub fn run_validation(conn: &Connection, config: &ValidateConfig) -> Val... function query_executes (line 327) | fn query_executes(conn: &Connection, sql: &str) -> Result<(), String> { function query_exec_error_check (line 333) | fn query_exec_error_check(id: &str, details: String, suggested_action: &... function validate_track_a (line 350) | fn validate_track_a(conn: &Connection, config: &ValidateConfig) -> (Vec<... function validate_track_b (line 578) | fn validate_track_b(conn: &Connection, config: &ValidateConfig) -> (Vec<... function validate_cross_track_drift (line 752) | fn validate_cross_track_drift( function validate_non_negative_counters (line 930) | fn validate_non_negative_counters(conn: &Connection) -> Vec { type PerfMeasurement (line 1084) | pub struct PerfMeasurement { function perf_query_guardrail (line 1095) | pub fn perf_query_guardrail(conn: &Connection) -> PerfMeasurement { function perf_breakdown_guardrail (line 1139) | pub fn perf_breakdown_guardrail(conn: &Connection) -> PerfMeasurement { function setup_track_a_fixture (line 1193) | fn setup_track_a_fixture() -> Connection { function setup_both_tracks_fixture (line 1263) | fn setup_both_tracks_fixture() -> Connection { function consistent_track_a_passes (line 1346) | fn consistent_track_a_passes() { function drifted_track_a_detects_mismatch (line 1364) | fn drifted_track_a_detects_mismatch() { function drifted_track_a_message_count_detected (line 1384) | fn drifted_track_a_message_count_detected() { function consistent_both_tracks_passes (line 1403) | fn consistent_both_tracks_passes() { function cross_track_drift_detected (line 1417) | fn cross_track_drift_detected() { function negative_counters_detected (line 1443) | fn negative_counters_detected() { function coverage_exceeding_message_count_detected (line 1462) | fn coverage_exceeding_message_count_detected() { function empty_database_reports_missing_tables (line 1483) | fn empty_database_reports_missing_tables() { function sample_mode_limits_buckets (line 1498) | fn sample_mode_limits_buckets() { function deep_mode_scans_all (line 1512) | fn deep_mode_scans_all() { function report_json_shape (line 1521) | fn report_json_shape() { function perf_query_guardrail_completes (line 1534) | fn perf_query_guardrail_completes() { function perf_breakdown_guardrail_completes (line 1545) | fn perf_breakdown_guardrail_completes() { function perf_query_guardrail_reports_query_failure (line 1556) | fn perf_query_guardrail_reports_query_failure() { function perf_breakdown_guardrail_reports_query_failure (line 1568) | fn perf_breakdown_guardrail_reports_query_failure() { function malformed_track_a_schema_reports_query_failure (line 1580) | fn malformed_track_a_schema_reports_query_failure() { function malformed_track_b_schema_reports_query_failure (line 1601) | fn malformed_track_b_schema_reports_query_failure() { function malformed_cross_track_schema_reports_query_failure (line 1623) | fn malformed_cross_track_schema_reports_query_failure() { function repair_plan_marks_track_a_failures_fixable (line 1643) | fn repair_plan_marks_track_a_failures_fixable() { function repair_plan_marks_track_b_data_drift_as_rebuild_track_b (line 1666) | fn repair_plan_marks_track_b_data_drift_as_rebuild_track_b() { function repair_plan_marks_track_b_tables_missing_as_unavailable (line 1694) | fn repair_plan_marks_track_b_tables_missing_as_unavailable() { function repair_plan_marks_track_a_only_drift_as_fixable (line 1721) | fn repair_plan_marks_track_a_only_drift_as_fixable() { FILE: src/bakeoff.rs constant ELIGIBILITY_CUTOFF (line 7) | pub const ELIGIBILITY_CUTOFF: &str = "2025-11-01"; constant COLD_START_MAX_MS (line 12) | pub const COLD_START_MAX_MS: u64 = 2000; constant WARM_P99_MAX_MS (line 14) | pub const WARM_P99_MAX_MS: u64 = 250; constant MEMORY_MAX_MB (line 16) | pub const MEMORY_MAX_MB: u64 = 300; constant QUALITY_MIN_RATIO (line 18) | pub const QUALITY_MIN_RATIO: f64 = 0.80; type ModelMetadata (line 23) | pub struct ModelMetadata { method is_eligible (line 42) | pub fn is_eligible(&self) -> bool { type ValidationReport (line 52) | pub struct ValidationReport { method check_criteria (line 68) | pub fn check_criteria(&self) -> bool { method meets_quality_threshold (line 75) | pub fn meets_quality_threshold(&self, baseline: &ValidationReport) -> ... type LatencyStats (line 85) | pub struct LatencyStats { method from_durations (line 97) | pub fn from_durations(durations: &[Duration]) -> Self { function percentile (line 129) | fn percentile(sorted: &[u64], p: usize) -> u64 { type LatencyTimer (line 138) | pub struct LatencyTimer { method new (line 143) | pub fn new() -> Self { method time (line 150) | pub fn time(&mut self, f: F) -> T method stats (line 161) | pub fn stats(&self) -> LatencyStats { method clear (line 166) | pub fn clear(&mut self) { method default (line 172) | fn default() -> Self { type BakeoffComparison (line 179) | pub struct BakeoffComparison { method find_winner (line 194) | pub fn find_winner(&self) -> Option<&ValidationReport> { function ndcg_at_k (line 215) | pub fn ndcg_at_k(relevances: &[f64], k: usize, all_ground_truth: &[f64])... function dcg_at_k (line 232) | fn dcg_at_k(relevances: &[f64], k: usize) -> f64 { type Document (line 250) | pub struct Document { type RelevanceJudgment (line 259) | pub struct RelevanceJudgment { type QueryWithJudgments (line 268) | pub struct QueryWithJudgments { type EvaluationCorpus (line 277) | pub struct EvaluationCorpus { method new (line 288) | pub fn new(name: &str) -> Self { method add_document (line 297) | pub fn add_document(&mut self, id: &str, content: &str) { method add_query (line 305) | pub fn add_query(&mut self, query: &str, judgments: Vec<(&str, f64)>) { method compute_hash (line 319) | pub fn compute_hash(&self) -> String { method code_search_sample (line 341) | pub fn code_search_sample() -> Self { type QueryEvalResult (line 433) | pub struct QueryEvalResult { type EvaluationConfig (line 446) | pub struct EvaluationConfig { method default (line 456) | fn default() -> Self { function cosine_similarity (line 466) | pub fn cosine_similarity(a: &[f32], b: &[f32]) -> f32 { type EvaluationHarness (line 480) | pub struct EvaluationHarness { method new (line 486) | pub fn new() -> Self { method with_config (line 493) | pub fn with_config(config: EvaluationConfig) -> Self { method evaluate (line 500) | pub fn evaluate( method run_comparison (line 651) | pub fn run_comparison( method default (line 709) | fn default() -> Self { function format_comparison_table (line 715) | pub fn format_comparison_table(comparison: &BakeoffComparison) -> String { function ndcg_perfect_is_one (line 775) | fn ndcg_perfect_is_one() { function ndcg_zero_when_no_relevance (line 782) | fn ndcg_zero_when_no_relevance() { function ndcg_handles_partial_relevance (line 789) | fn ndcg_handles_partial_relevance() { function report_roundtrip (line 797) | fn report_roundtrip() { function model_eligibility_by_date (line 817) | fn model_eligibility_by_date() { function latency_stats_from_durations (line 853) | fn latency_stats_from_durations() { function latency_stats_empty (line 871) | fn latency_stats_empty() { function latency_timer_records_samples (line 878) | fn latency_timer_records_samples() { function report_meets_criteria (line 890) | fn report_meets_criteria() { function report_quality_threshold (line 926) | fn report_quality_threshold() { function bakeoff_comparison_finds_winner (line 957) | fn bakeoff_comparison_finds_winner() { function corpus_creation_and_hash (line 1012) | fn corpus_creation_and_hash() { function evaluation_rejects_empty_query_set (line 1036) | fn evaluation_rejects_empty_query_set() { function sample_corpus_is_valid (line 1058) | fn sample_corpus_is_valid() { function cosine_similarity_identical_vectors (line 1074) | fn cosine_similarity_identical_vectors() { function cosine_similarity_orthogonal_vectors (line 1081) | fn cosine_similarity_orthogonal_vectors() { function cosine_similarity_opposite_vectors (line 1089) | fn cosine_similarity_opposite_vectors() { function cosine_similarity_different_lengths (line 1097) | fn cosine_similarity_different_lengths() { function evaluation_config_defaults (line 1105) | fn evaluation_config_defaults() { function harness_creation (line 1113) | fn harness_creation() { function corpus_roundtrip (line 1127) | fn corpus_roundtrip() { function query_eval_result_roundtrip (line 1135) | fn query_eval_result_roundtrip() { function format_comparison_table_output (line 1149) | fn format_comparison_table_output() { FILE: src/bin/cass-pages-perf-bundle.rs type Preset (line 15) | enum Preset { method message_target (line 23) | fn message_target(self) -> usize { type Args (line 38) | struct Args { function main (line 88) | fn main() -> Result<()> { function generate_db (line 190) | fn generate_db( function build_filler (line 264) | fn build_filler(target_len: usize) -> String { function empty_json (line 276) | fn empty_json() -> Value { FILE: src/bookmarks.rs type Bookmark (line 16) | pub struct Bookmark { method new (line 43) | pub fn new( method with_note (line 67) | pub fn with_note(mut self, note: impl Into) -> Self { method with_tags (line 73) | pub fn with_tags(mut self, tags: impl Into) -> Self { method with_line (line 79) | pub fn with_line(mut self, line: usize) -> Self { method with_snippet (line 85) | pub fn with_snippet(mut self, snippet: impl Into) -> Self { method tag_list (line 91) | pub fn tag_list(&self) -> Vec<&str> { method has_tag (line 100) | pub fn has_tag(&self, tag: &str) -> bool { type BookmarkStore (line 106) | pub struct BookmarkStore { method open (line 112) | pub fn open(path: &Path) -> Result { method open_default (line 135) | pub fn open_default() -> Result { method add (line 141) | pub fn add(&self, bookmark: &Bookmark) -> Result { method update (line 166) | pub fn update(&self, bookmark: &Bookmark) -> Result { method remove (line 184) | pub fn remove(&self, id: i64) -> Result { method get (line 192) | pub fn get(&self, id: i64) -> Result> { method list (line 205) | pub fn list(&self, tag_filter: Option<&str>) -> Result> { method search (line 223) | pub fn search(&self, query: &str) -> Result> { method all_tags (line 244) | pub fn all_tags(&self) -> Result> { method count (line 258) | pub fn count(&self) -> Result { method is_bookmarked (line 268) | pub fn is_bookmarked(&self, source_path: &str, line_number: Option Result { method import_json (line 285) | pub fn import_json(&self, json: &str) -> Result { function row_to_bookmark (line 336) | fn row_to_bookmark(row: &frankensqlite::Row) -> Result PathBuf { constant SCHEMA (line 358) | const SCHEMA: &str = r" function line_number_to_db (line 378) | fn line_number_to_db(line_number: Option) -> Result> { function line_number_from_db (line 384) | fn line_number_from_db(line_number: Option) -> Option { function current_timestamp (line 388) | fn current_timestamp() -> i64 { function test_store (line 403) | fn test_store() -> (BookmarkStore, tempfile::TempDir) { function assert_single_search_path (line 410) | fn assert_single_search_path(store: &BookmarkStore, query: &str, expecte... function test_create_bookmark (line 425) | fn test_create_bookmark() { function test_add_and_get (line 439) | fn test_add_and_get() { function test_list_and_count (line 453) | fn test_list_and_count() { function test_remove (line 471) | fn test_remove() { function test_tag_filter (line 483) | fn test_tag_filter() { function test_search (line 501) | fn test_search() { function test_search_treats_like_metacharacters_literally (line 522) | fn test_search_treats_like_metacharacters_literally() { function test_is_bookmarked (line 559) | fn test_is_bookmarked() { function test_negative_line_number_from_db_is_sanitized (line 572) | fn test_negative_line_number_from_db_is_sanitized() { function test_add_rejects_line_number_above_i64_max (line 601) | fn test_add_rejects_line_number_above_i64_max() { function test_export_import (line 617) | fn test_export_import() { function test_import_deduplicates_null_and_specific_line_numbers_separately (line 635) | fn test_import_deduplicates_null_and_specific_line_numbers_separately() { FILE: src/connectors/mod.rs type CodexScanPreflight (line 51) | pub struct CodexScanPreflight { function preflight_codex_explicit_file_roots (line 68) | pub fn preflight_codex_explicit_file_roots( function codex_explicit_file_roots_for_root (line 105) | fn codex_explicit_file_roots_for_root( function is_under_codex_dir (line 140) | fn is_under_codex_dir(path: &Path) -> bool { function codex_sessions_dir (line 149) | fn codex_sessions_dir(home: &Path) -> PathBuf { function collect_codex_rollout_files (line 158) | fn collect_codex_rollout_files(sessions: &Path, since_ts: Option) -... function is_codex_rollout_file (line 187) | fn is_codex_rollout_file(path: &Path) -> bool { FILE: src/crash_replay.rs constant CRASH_REPLAY_SCHEMA_VERSION (line 16) | pub const CRASH_REPLAY_SCHEMA_VERSION: &str = "1"; type CrashReplayCheckpoint (line 19) | pub struct CrashReplayCheckpoint { method new (line 26) | pub fn new(ordinal: u32, id: impl Into, description: impl Into... type CrashReplayPhase (line 37) | pub enum CrashReplayPhase { type CrashReplayEvent (line 45) | pub struct CrashReplayEvent { method ok (line 53) | fn ok( method failed (line 66) | fn failed( type CrashReplayInvariant (line 81) | pub struct CrashReplayInvariant { method passed (line 89) | pub fn passed( method failed (line 102) | pub fn failed( type CrashReplayVerdict (line 118) | pub enum CrashReplayVerdict { type CrashReplayReport (line 124) | pub struct CrashReplayReport { method validate (line 135) | pub fn validate(&self) -> Result<(), CrashReplayValidationError> { method save_json (line 253) | pub fn save_json(&self, path: &Path) -> Result<(), CrashReplayIoError> { method load_json (line 266) | pub fn load_json(path: &Path) -> Result { type CrashReplayError (line 275) | pub struct CrashReplayError { method new (line 281) | pub fn new(action: impl Into, detail: impl Into) -> Se... method from_error (line 288) | pub fn from_error(action: impl Into, error: impl fmt::Display)... method fmt (line 294) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type CrashReplayValidationError (line 302) | pub enum CrashReplayValidationError { method fmt (line 360) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type CrashReplayIoError (line 450) | pub enum CrashReplayIoError { method fmt (line 457) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method from (line 477) | fn from(err: io::Error) -> Self { method from (line 483) | fn from(err: serde_json::Error) -> Self { method from (line 489) | fn from(err: CrashReplayValidationError) -> Self { method source (line 467) | fn source(&self) -> Option<&(dyn Error + 'static)> { function replay_named_checkpoints (line 494) | pub fn replay_named_checkpoints( type SemanticReplayState (line 623) | struct SemanticReplayState { method data_dir (line 629) | fn data_dir(&self) -> &Path { function semantic_checkpoint (line 634) | fn semantic_checkpoint() -> BuildCheckpoint { function semantic_artifact (line 649) | fn semantic_artifact() -> ArtifactRecord { function semantic_manifest_state_machine_replays_checkpoint_and_publish_crashes (line 669) | fn semantic_manifest_state_machine_replays_checkpoint_and_publish_crashe... type PolicyReplayState (line 788) | struct PolicyReplayState { function policy_pipeline_fixture (line 795) | fn policy_pipeline_fixture(mode: &str, reason: &str) -> Value { function policy_registry_state_machine_replays_deterministic_controller_snapshots (line 815) | fn policy_registry_state_machine_replays_deterministic_controller_snapsh... type LexicalPublishFixtureState (line 939) | struct LexicalPublishFixtureState { method new (line 947) | fn new() -> Result { method write_staged (line 963) | fn write_staged(&self) -> Result<(), CrashReplayError> { method park_live (line 968) | fn park_live(&self) -> Result<(), CrashReplayError> { method publish_staged (line 973) | fn publish_staged(&self) -> Result<(), CrashReplayError> { function lexical_publish_fixture_replays_park_and_swap_crash_windows (line 980) | fn lexical_publish_fixture_replays_park_and_swap_crash_windows() { type BackupRecoveryFixtureState (line 1078) | struct BackupRecoveryFixtureState { method new (line 1086) | fn new() -> Result { method copy_main (line 1105) | fn copy_main(&self) -> Result<(), CrashReplayError> { method copy_wal_and_manifest (line 1111) | fn copy_wal_and_manifest(&self) -> Result<(), CrashReplayError> { function backup_recovery_fixture_replays_incomplete_and_complete_bundle_crashes (line 1130) | fn backup_recovery_fixture_replays_incomplete_and_complete_bundle_crashe... function crash_replay_report_round_trips_as_artifact_manifest (line 1265) | fn crash_replay_report_round_trips_as_artifact_manifest() function crash_replay_validation_rejects_untrustworthy_clean_reports (line 1300) | fn crash_replay_validation_rejects_untrustworthy_clean_reports() { FILE: src/daemon/client.rs function connection_not_established (line 27) | fn connection_not_established() -> DaemonError { function unexpected_response (line 31) | fn unexpected_response(response: Response) -> DaemonError { type DaemonClientConfig (line 37) | pub struct DaemonClientConfig { method from_env (line 64) | pub fn from_env() -> Self { method default (line 51) | fn default() -> Self { type UdsDaemonClient (line 96) | pub struct UdsDaemonClient { method new (line 106) | pub fn new(config: DaemonClientConfig) -> Self { method with_defaults (line 117) | pub fn with_defaults() -> Self { method connect (line 122) | pub fn connect(&self) -> Result<(), DaemonError> { method try_connect (line 163) | fn try_connect(&self) -> std::io::Result { method spawn_daemon (line 171) | fn spawn_daemon(&self) -> Result<(), DaemonError> { method wait_for_spawned_daemon_ready (line 241) | fn wait_for_spawned_daemon_ready(&self, child: &mut Child) -> Result<(... method get_connection_locked (line 271) | fn get_connection_locked( method send_request (line 298) | fn send_request(&self, request: Request) -> Result Result { method shutdown (line 414) | pub fn shutdown(&self) -> Result<(), DaemonError> { method submit_embedding_job (line 426) | pub fn submit_embedding_job(&self, config: EmbeddingJobConfig) -> Resu... method embedding_job_status (line 441) | pub fn embedding_job_status(&self, db_path: &str) -> Result &str { method is_available (line 473) | fn is_available(&self) -> bool { method embed (line 496) | fn embed(&self, text: &str, request_id: &str) -> Result, Daemon... method embed_batch (line 531) | fn embed_batch(&self, texts: &[&str], request_id: &str) -> Result Result<(... function connect_or_spawn (line 634) | pub fn connect_or_spawn() -> Result, DaemonError> { function try_connect (line 641) | pub fn try_connect() -> Option> { function test_config_defaults (line 656) | fn test_config_defaults() { function test_default_socket_path (line 664) | fn test_default_socket_path() { function test_client_not_available_initially (line 672) | fn test_client_not_available_initially() { function test_request_counter_increments (line 684) | fn test_request_counter_increments() { function connection_not_established_error_text_is_stable (line 692) | fn connection_not_established_error_text_is_stable() { function unexpected_response_error_text_is_stable (line 700) | fn unexpected_response_error_text_is_stable() { function test_spawn_guard_lock_path_is_distinct_from_run_lock (line 711) | fn test_spawn_guard_lock_path_is_distinct_from_run_lock() { function stale_socket_cleanup_refuses_to_remove_regular_file (line 724) | fn stale_socket_cleanup_refuses_to_remove_regular_file() { function stale_socket_cleanup_removes_public_socket_symlink (line 744) | fn stale_socket_cleanup_removes_public_socket_symlink() { FILE: src/daemon/core.rs type BoundDaemonSocket (line 30) | struct BoundDaemonSocket { function create_owner_only_dir_all (line 36) | fn create_owner_only_dir_all(path: &Path) -> std::io::Result<()> { function parent_dir_is_owner_only (line 45) | fn parent_dir_is_owner_only(path: &Path) -> std::io::Result { function private_runtime_dir_for_socket (line 61) | fn private_runtime_dir_for_socket(socket_path: &Path) -> std::io::Result... function remove_stale_socket_path (line 76) | fn remove_stale_socket_path(path: &Path) -> std::io::Result<()> { function bind_owner_only_unix_listener (line 97) | fn bind_owner_only_unix_listener(socket_path: &Path) -> std::io::Result<... function cleanup_bound_socket (line 131) | fn cleanup_bound_socket(public_path: &Path, bind_path: &Path) { type DaemonConfig (line 140) | pub struct DaemonConfig { method from_env (line 173) | pub fn from_env() -> Self { method default (line 158) | fn default() -> Self { type ModelDaemon (line 221) | pub struct ModelDaemon { method new (line 235) | pub fn new(config: DaemonConfig, models: ModelManager) -> Self { method with_defaults (line 250) | pub fn with_defaults(data_dir: &Path) -> Self { method uptime_secs (line 257) | pub fn uptime_secs(&self) -> u64 { method should_shutdown_idle (line 262) | fn should_shutdown_idle(&self) -> bool { method touch_activity (line 271) | fn touch_activity(&self) { method memory_limit_exceeded (line 276) | fn memory_limit_exceeded(&self) -> bool { method init_worker (line 285) | fn init_worker(&self) { method run (line 306) | pub fn run(&self) -> std::io::Result<()> { method read_frame_bytes_with_shutdown (line 445) | fn read_frame_bytes_with_shutdown( method handle_connection (line 503) | fn handle_connection(&self, mut stream: UnixStream) -> std::io::Result... method handle_request (line 586) | fn handle_request(&self, request_id: String, request: Request) -> Resp... method request_shutdown (line 791) | pub fn request_shutdown(&self) { function test_data_dir (line 802) | fn test_data_dir() -> PathBuf { function test_config_defaults (line 807) | fn test_config_defaults() { function test_daemon_uptime (line 815) | fn test_daemon_uptime() { function test_activity_tracking (line 829) | fn test_activity_tracking() { function test_shutdown_flag (line 843) | fn test_shutdown_flag() { function test_idle_timeout_disabled_by_default (line 854) | fn test_idle_timeout_disabled_by_default() { function test_daemon_run_lock_path_is_stable (line 864) | fn test_daemon_run_lock_path_is_stable() { function test_owner_only_bind_uses_private_runtime_dir_for_public_parent (line 873) | fn test_owner_only_bind_uses_private_runtime_dir_for_public_parent() { function handle_connection_returns_promptly_when_shutdown_set_during_idle_read (line 935) | fn handle_connection_returns_promptly_when_shutdown_set_during_idle_read... function handle_connection_returns_promptly_when_shutdown_set_during_partial_payload_read (line 1002) | fn handle_connection_returns_promptly_when_shutdown_set_during_partial_p... FILE: src/daemon/mod.rs function daemon_run_lock_path (line 56) | pub(crate) fn daemon_run_lock_path(socket_path: &Path) -> PathBuf { function daemon_spawn_guard_lock_path (line 60) | pub(crate) fn daemon_spawn_guard_lock_path(socket_path: &Path) -> PathBuf { FILE: src/daemon/models.rs type ModelManager (line 19) | pub struct ModelManager { method new (line 30) | pub fn new(data_dir: &Path) -> Self { method is_ready (line 42) | pub fn is_ready(&self) -> bool { method embedder_id (line 47) | pub fn embedder_id(&self) -> String { method embedder_name (line 56) | pub fn embedder_name(&self) -> String { method embedder_dimension (line 61) | pub fn embedder_dimension(&self) -> usize { method embedder_loaded (line 70) | pub fn embedder_loaded(&self) -> bool { method reranker_id (line 75) | pub fn reranker_id(&self) -> String { method reranker_name (line 84) | pub fn reranker_name(&self) -> String { method reranker_loaded (line 89) | pub fn reranker_loaded(&self) -> bool { method warm_embedder (line 94) | pub fn warm_embedder(&self) -> EmbedderResult<()> { method warm_reranker (line 129) | pub fn warm_reranker(&self) -> RerankerResult<()> { method embed_batch (line 160) | pub fn embed_batch(&self, texts: &[String]) -> EmbedderResult EmbedderResult> { method rerank (line 198) | pub fn rerank(&self, query: &str, documents: &[String]) -> RerankerRes... method unload_all (line 217) | pub fn unload_all(&self) { function test_data_dir (line 230) | fn test_data_dir() -> PathBuf { function model_fixture_dir (line 235) | fn model_fixture_dir() -> PathBuf { function test_model_manager_creation (line 241) | fn test_model_manager_creation() { function test_embedder_fallback_on_missing_model (line 249) | fn test_embedder_fallback_on_missing_model() { function test_embedder_dimension (line 263) | fn test_embedder_dimension() { function test_unload_all (line 270) | fn test_unload_all() { function test_embed_with_fallback (line 283) | fn test_embed_with_fallback() { FILE: src/daemon/protocol.rs constant PROTOCOL_VERSION (line 12) | pub const PROTOCOL_VERSION: u32 = 1; function default_socket_path (line 15) | pub fn default_socket_path() -> std::path::PathBuf { type Request (line 33) | pub enum Request { type Response (line 78) | pub enum Response { type HealthStatus (line 109) | pub struct HealthStatus { type EmbedResponse (line 122) | pub struct EmbedResponse { type RerankResponse (line 133) | pub struct RerankResponse { type StatusResponse (line 144) | pub struct StatusResponse { type ModelInfo (line 161) | pub struct ModelInfo { type ErrorResponse (line 176) | pub struct ErrorResponse { type ErrorCode (line 189) | pub enum ErrorCode { type EmbeddingJobInfo (line 208) | pub struct EmbeddingJobInfo { type EmbeddingJobDetail (line 214) | pub struct EmbeddingJobDetail { type FramedMessage (line 225) | pub struct FramedMessage { function new (line 235) | pub fn new(request_id: impl Into, payload: T) -> Self { function encode_message (line 245) | pub fn encode_message(msg: &FramedMessage) -> Result Deserialize<'de>>( type EncodeError (line 264) | pub struct EncodeError(pub String); type DecodeError (line 268) | pub struct DecodeError(pub String); function test_encode_decode_health_request (line 275) | fn test_encode_decode_health_request() { function test_protocol_error_display_strings_are_preserved (line 287) | fn test_protocol_error_display_strings_are_preserved() { function test_encode_decode_embed_request (line 302) | fn test_encode_decode_embed_request() { function test_encode_decode_rerank_request (line 323) | fn test_encode_decode_rerank_request() { function test_encode_decode_health_response (line 349) | fn test_encode_decode_health_response() { function test_encode_decode_error_response (line 370) | fn test_encode_decode_error_response() { function test_default_socket_path (line 392) | fn test_default_socket_path() { function test_wire_compatibility_embed_response (line 400) | fn test_wire_compatibility_embed_response() { function test_wire_compatibility_rerank_response (line 422) | fn test_wire_compatibility_rerank_response() { FILE: src/daemon/resource.rs constant _SC_PAGESIZE (line 17) | pub const _SC_PAGESIZE: c_int = 30; constant PRIO_PROCESS (line 18) | pub const PRIO_PROCESS: c_int = 0; function sysconf (line 20) | pub fn sysconf(name: c_int) -> c_long; function setpriority (line 21) | pub fn setpriority(which: c_int, who: c_uint, prio: c_int) -> c_int; type ResourceMonitor (line 27) | pub struct ResourceMonitor { method new (line 34) | pub fn new() -> Self { method memory_usage (line 43) | pub fn memory_usage(&self) -> u64 { method linux_memory_usage (line 56) | fn linux_memory_usage(&self) -> u64 { method page_size (line 81) | fn page_size() -> u64 { method apply_nice (line 91) | pub fn apply_nice(&self, nice_value: i32) -> bool { method apply_ionice (line 142) | pub fn apply_ionice(&self, class: u32) -> bool { method memory_usage_human (line 189) | pub fn memory_usage_human(&self) -> String { function test_resource_monitor_creation (line 216) | fn test_resource_monitor_creation() { function test_memory_usage (line 222) | fn test_memory_usage() { function test_memory_usage_human (line 236) | fn test_memory_usage_human() { function test_apply_nice_range (line 255) | fn test_apply_nice_range() { function test_apply_ionice (line 275) | fn test_apply_ionice() { function test_page_size (line 297) | fn test_page_size() { function test_apply_nice_rejects_out_of_range (line 307) | fn test_apply_nice_rejects_out_of_range() { function test_apply_ionice_rejects_invalid_class (line 314) | fn test_apply_ionice_rejects_invalid_class() { FILE: src/daemon/worker.rs constant HASH_EMBEDDER_MODEL (line 24) | const HASH_EMBEDDER_MODEL: &str = "hash"; constant DEFAULT_SEMANTIC_MODEL (line 25) | const DEFAULT_SEMANTIC_MODEL: &str = "minilm"; type EmbeddingJobConfig (line 29) | pub struct EmbeddingJobConfig { method fast_pass_model (line 38) | fn fast_pass_model(&self) -> String { method quality_pass_model (line 44) | fn quality_pass_model(&self) -> String { method single_pass_model (line 50) | fn single_pass_model(&self) -> String { type WorkerMessage (line 60) | pub enum WorkerMessage { type EmbeddingWorkerHandle (line 74) | pub struct EmbeddingWorkerHandle { method submit (line 83) | pub fn submit(&self, config: EmbeddingJobConfig) -> Result<(), String> { method cancel (line 93) | pub fn cancel(&self, db_path: String, model_id: Option) -> Res... method shutdown (line 101) | pub fn shutdown(&self) -> Result<(), String> { type EmbeddingWorker (line 109) | pub struct EmbeddingWorker { method new (line 162) | pub fn new() -> (Self, EmbeddingWorkerHandle) { method run (line 177) | pub fn run(self) { method cancel_in_db (line 207) | fn cancel_in_db(db_path: &str, model_id: Option<&str>) -> anyhow::Resu... method process_job (line 214) | fn process_job(&self, config: &EmbeddingJobConfig) -> anyhow::Result<(... method build_passes (line 271) | fn build_passes(&self, config: &EmbeddingJobConfig) -> Vec<(String, bo... method generate_embeddings_and_save (line 293) | fn generate_embeddings_and_save( method load_existing_hashes (line 422) | fn load_existing_hashes( type WorkerEmbedderKind (line 115) | enum WorkerEmbedderKind { function resolve_embedder_kind (line 123) | fn resolve_embedder_kind( function saturating_i64_from_usize (line 156) | fn saturating_i64_from_usize(raw: usize) -> i64 { function build_pass_config (line 476) | fn build_pass_config( function fast_embed_kind (line 490) | fn fast_embed_kind(model_name: &str, embedder_id: &str) -> WorkerEmbedde... function test_worker_handle_clone (line 498) | fn test_worker_handle_clone() { function test_job_config (line 509) | fn test_job_config() { function test_build_passes_single (line 523) | fn test_build_passes_single() { function test_build_passes_two_tier (line 533) | fn test_build_passes_two_tier() { function test_build_passes_defaults (line 545) | fn test_build_passes_defaults() { function test_message_id_from_db_rejects_negative_ids (line 555) | fn test_message_id_from_db_rejects_negative_ids() { function test_saturating_u32_from_i64_clamps_bounds (line 562) | fn test_saturating_u32_from_i64_clamps_bounds() { function test_saturating_i64_from_usize_clamps_overflow (line 570) | fn test_saturating_i64_from_usize_clamps_overflow() { function test_resolve_embedder_kind_hash_aliases (line 580) | fn test_resolve_embedder_kind_hash_aliases() { function test_resolve_embedder_kind_use_semantic_false_short_circuits_regardless_of_name (line 603) | fn test_resolve_embedder_kind_use_semantic_false_short_circuits_regardle... function test_resolve_embedder_kind_semantic_aliases (line 626) | fn test_resolve_embedder_kind_semantic_aliases() { function test_resolve_embedder_kind_registered_fastembed_models (line 642) | fn test_resolve_embedder_kind_registered_fastembed_models() { function test_resolve_embedder_kind_rejects_unknown_semantic_model (line 654) | fn test_resolve_embedder_kind_rejects_unknown_semantic_model() { FILE: src/doctor.rs type DoctorCommandSurface (line 12) | pub(crate) enum DoctorCommandSurface { method stable_name (line 62) | pub(crate) fn stable_name(self) -> &'static str { method mutates_by_default (line 75) | pub(crate) fn mutates_by_default(self) -> bool { constant DOCTOR_COMMAND_SURFACES (line 23) | const DOCTOR_COMMAND_SURFACES: &[DoctorCommandSurface] = &[ type DoctorExecutionMode (line 35) | pub(crate) enum DoctorExecutionMode { method stable_name (line 84) | pub(crate) fn stable_name(self) -> &'static str { method permits_mutation (line 95) | pub(crate) fn permits_mutation(self) -> bool { method requires_plan_fingerprint (line 102) | pub(crate) fn requires_plan_fingerprint(self) -> bool { type DoctorCommandRequest (line 45) | pub(crate) struct DoctorCommandRequest { method from_cli_flags (line 109) | pub(crate) fn from_cli_flags( method from_legacy_flags (line 166) | pub(crate) fn from_legacy_flags( method validate (line 192) | pub(crate) fn validate(&self) -> CliResult<()> { function execute_doctor_command (line 411) | pub(crate) fn execute_doctor_command(request: DoctorCommandRequest) -> C... function legacy_read_only_flags_map_to_typed_check_mode (line 432) | fn legacy_read_only_flags_map_to_typed_check_mode() { function legacy_fix_flags_map_to_safe_auto_fix_mode (line 452) | fn legacy_fix_flags_map_to_safe_auto_fix_mode() { function check_subcommand_maps_to_explicit_read_only_surface (line 472) | fn check_subcommand_maps_to_explicit_read_only_surface() { function allow_repeated_repair_without_fix_fails_closed (line 497) | fn allow_repeated_repair_without_fix_fails_closed() { function check_subcommand_rejects_force_rebuild (line 515) | fn check_subcommand_rejects_force_rebuild() { function check_subcommand_rejects_mutating_execution_mode_inside_typed_boundary (line 539) | fn check_subcommand_rejects_mutating_execution_mode_inside_typed_boundar... function mutating_surfaces_require_mutating_mode (line 563) | fn mutating_surfaces_require_mutating_mode() { function repair_dry_run_maps_to_non_mutating_plan_mode (line 588) | fn repair_dry_run_maps_to_non_mutating_plan_mode() { function repair_apply_requires_yes_and_plan_fingerprint (line 614) | fn repair_apply_requires_yes_and_plan_fingerprint() { function cleanup_subcommand_maps_to_non_mutating_dry_run_by_default (line 640) | fn cleanup_subcommand_maps_to_non_mutating_dry_run_by_default() { function cleanup_apply_requires_yes_and_plan_fingerprint (line 666) | fn cleanup_apply_requires_yes_and_plan_fingerprint() { function repair_rejects_missing_mode_or_mismatched_approval_flags (line 692) | fn repair_rejects_missing_mode_or_mismatched_approval_flags() { function cleanup_rejects_missing_or_mismatched_approval_flags (line 749) | fn cleanup_rejects_missing_or_mismatched_approval_flags() { function doctor_execution_mode_names_are_stable_for_robot_contracts (line 806) | fn doctor_execution_mode_names_are_stable_for_robot_contracts() { function doctor_surface_names_are_stable_for_robot_contracts (line 830) | fn doctor_surface_names_are_stable_for_robot_contracts() { function legacy_cli_dispatch_routes_through_typed_doctor_module (line 858) | fn legacy_cli_dispatch_routes_through_typed_doctor_module() { FILE: src/encryption.rs constant AES_GCM_KEY_LEN (line 10) | const AES_GCM_KEY_LEN: usize = 32; constant AES_GCM_NONCE_LEN (line 11) | const AES_GCM_NONCE_LEN: usize = 12; constant AES_GCM_TAG_LEN (line 12) | const AES_GCM_TAG_LEN: usize = 16; type HkdfOutputLen (line 14) | struct HkdfOutputLen(usize); method len (line 17) | fn len(&self) -> usize { function validate_length (line 22) | fn validate_length(label: &str, actual: usize, expected: usize) -> Resul... function aes_gcm_encrypt (line 33) | pub fn aes_gcm_encrypt( function aes_gcm_decrypt (line 66) | pub fn aes_gcm_decrypt( function argon2id_hash (line 97) | pub fn argon2id_hash( function hkdf_extract_expand (line 115) | pub fn hkdf_extract_expand( function hkdf_extract (line 133) | pub fn hkdf_extract(salt: &[u8], ikm: &[u8]) -> Vec { function assert_err_contains (line 146) | fn assert_err_contains(result: Result, expected: &str) { function aes_gcm_encrypt_decrypt_round_trip (line 159) | fn aes_gcm_encrypt_decrypt_round_trip() { function aes_gcm_round_trip_empty_plaintext (line 173) | fn aes_gcm_round_trip_empty_plaintext() { function aes_gcm_round_trip_large_data (line 189) | fn aes_gcm_round_trip_large_data() { function aes_gcm_round_trip_unicode_data (line 204) | fn aes_gcm_round_trip_unicode_data() { function aes_gcm_encrypt_invalid_key_length (line 217) | fn aes_gcm_encrypt_invalid_key_length() { function aes_gcm_encrypt_invalid_nonce_length (line 228) | fn aes_gcm_encrypt_invalid_nonce_length() { function aes_gcm_decrypt_invalid_key_length (line 239) | fn aes_gcm_decrypt_invalid_key_length() { function aes_gcm_decrypt_invalid_nonce_length (line 251) | fn aes_gcm_decrypt_invalid_nonce_length() { function aes_gcm_decrypt_invalid_tag_length (line 263) | fn aes_gcm_decrypt_invalid_tag_length() { function aes_gcm_decrypt_wrong_key_fails (line 275) | fn aes_gcm_decrypt_wrong_key_fails() { function aes_gcm_decrypt_wrong_aad_fails (line 290) | fn aes_gcm_decrypt_wrong_aad_fails() { function aes_gcm_decrypt_tampered_ciphertext_fails (line 305) | fn aes_gcm_decrypt_tampered_ciphertext_fails() { function aes_gcm_decrypt_tampered_tag_fails (line 320) | fn aes_gcm_decrypt_tampered_tag_fails() { function aes_gcm_tag_is_correct_size (line 335) | fn aes_gcm_tag_is_correct_size() { function aes_gcm_different_nonces_produce_different_ciphertext (line 346) | fn aes_gcm_different_nonces_produce_different_ciphertext() { function argon2id_hash_produces_deterministic_output (line 365) | fn argon2id_hash_produces_deterministic_output() { function argon2id_hash_different_passwords_produce_different_hashes (line 378) | fn argon2id_hash_different_passwords_produce_different_hashes() { function argon2id_hash_different_salts_produce_different_hashes (line 389) | fn argon2id_hash_different_salts_produce_different_hashes() { function argon2id_hash_respects_output_length (line 400) | fn argon2id_hash_respects_output_length() { function argon2id_hash_empty_password (line 415) | fn argon2id_hash_empty_password() { function argon2id_hash_unicode_password (line 426) | fn argon2id_hash_unicode_password() { function hkdf_extract_expand_produces_deterministic_output (line 441) | fn hkdf_extract_expand_produces_deterministic_output() { function hkdf_extract_expand_respects_output_length (line 454) | fn hkdf_extract_expand_respects_output_length() { function hkdf_extract_expand_different_info_produces_different_output (line 467) | fn hkdf_extract_expand_different_info_produces_different_output() { function hkdf_extract_expand_different_salt_produces_different_output (line 478) | fn hkdf_extract_expand_different_salt_produces_different_output() { function hkdf_extract_expand_empty_inputs (line 489) | fn hkdf_extract_expand_empty_inputs() { function hkdf_extract_expand_too_long_output_fails (line 502) | fn hkdf_extract_expand_too_long_output_fails() { function hkdf_extract_produces_deterministic_output (line 513) | fn hkdf_extract_produces_deterministic_output() { function hkdf_extract_different_ikm_produces_different_output (line 526) | fn hkdf_extract_different_ikm_produces_different_output() { function hkdf_extract_different_salt_produces_different_output (line 536) | fn hkdf_extract_different_salt_produces_different_output() { function hkdf_extract_empty_salt (line 546) | fn hkdf_extract_empty_salt() { function hkdf_extract_empty_ikm (line 554) | fn hkdf_extract_empty_ikm() { function integration_argon2_derived_key_for_aes_gcm (line 566) | fn integration_argon2_derived_key_for_aes_gcm() { function integration_hkdf_derived_key_for_aes_gcm (line 587) | fn integration_hkdf_derived_key_for_aes_gcm() { function integration_extract_then_expand (line 608) | fn integration_extract_then_expand() { FILE: src/evidence_bundle.rs constant EVIDENCE_BUNDLE_MANIFEST_VERSION (line 15) | pub const EVIDENCE_BUNDLE_MANIFEST_VERSION: u32 = 1; constant EVIDENCE_BUNDLE_MANIFEST_FILE (line 16) | pub const EVIDENCE_BUNDLE_MANIFEST_FILE: &str = "evidence-bundle-manifes... type EvidenceBundleKind (line 20) | pub enum EvidenceBundleKind { type EvidenceBundleChunkRole (line 28) | pub enum EvidenceBundleChunkRole { type EvidenceBundleVerificationStatus (line 41) | pub enum EvidenceBundleVerificationStatus { type EvidenceBundleIssueKind (line 49) | pub enum EvidenceBundleIssueKind { type EvidenceBundleChunk (line 62) | pub struct EvidenceBundleChunk { method from_file (line 74) | pub fn from_file( type EvidenceBundleParityGroup (line 97) | pub struct EvidenceBundleParityGroup { type DatabaseWalStateEvidence (line 105) | pub struct DatabaseWalStateEvidence { type EvidenceBundleManifest (line 115) | pub struct EvidenceBundleManifest { method new (line 133) | pub fn new(bundle_id: impl Into, kind: EvidenceBundleKind, cre... method path (line 147) | pub fn path(bundle_root: &Path) -> PathBuf { method load (line 151) | pub fn load(path: &Path) -> Result { method save (line 158) | pub fn save(&self, bundle_root: &Path) -> Result { method verify (line 177) | pub fn verify(&self, bundle_root: &Path) -> EvidenceBundleVerification... type EvidenceBundleIssue (line 183) | pub struct EvidenceBundleIssue { type EvidenceBundleGcDryRun (line 191) | pub struct EvidenceBundleGcDryRun { type EvidenceBundleVerificationReport (line 201) | pub struct EvidenceBundleVerificationReport { method is_complete (line 217) | pub fn is_complete(&self) -> bool { method is_partially_repairable (line 221) | pub fn is_partially_repairable(&self) -> bool { method is_unsafe (line 225) | pub fn is_unsafe(&self) -> bool { function verify_evidence_bundle_manifest_file (line 230) | pub fn verify_evidence_bundle_manifest_file( function verify_manifest (line 244) | fn verify_manifest( type RawChunkFailure (line 428) | struct RawChunkFailure { function raw_chunk_failure (line 434) | fn raw_chunk_failure( function parity_index (line 446) | fn parity_index(manifest: &EvidenceBundleManifest) -> BTreeMap Result<(u64, String)> { function resolve_bundle_path (line 558) | fn resolve_bundle_path(bundle_root: &Path, relative_path: &str) -> Resul... function resolve_existing_bundle_path (line 580) | fn resolve_existing_bundle_path(bundle_root: &Path, relative_path: &str)... function default_required_chunk (line 592) | fn default_required_chunk() -> bool { function default_explicit_delete_required (line 596) | fn default_explicit_delete_required() -> bool { function write_chunk (line 605) | fn write_chunk(root: &Path, path: &str, bytes: &[u8]) { function chunk (line 613) | fn chunk(root: &Path, path: &str, role: EvidenceBundleChunkRole) -> Evid... function verifier_proves_complete_lexical_generation_bundle (line 618) | fn verifier_proves_complete_lexical_generation_bundle() { function corrupt_manifest_sidecar_is_unsafe_to_use (line 653) | fn corrupt_manifest_sidecar_is_unsafe_to_use() { function missing_semantic_shard_with_parity_is_partially_repairable (line 669) | fn missing_semantic_shard_with_parity_is_partially_repairable() { function declared_parity_without_verified_parity_artifact_is_unsafe (line 716) | fn declared_parity_without_verified_parity_artifact_is_unsafe() { function parity_does_not_repair_manifest_structure_errors (line 759) | fn parity_does_not_repair_manifest_structure_errors() { function mismatched_database_wal_state_is_unsafe_even_when_files_hash (line 792) | fn mismatched_database_wal_state_is_unsafe_even_when_files_hash() { function verifier_gc_surface_is_dry_run_and_does_not_delete_files (line 833) | fn verifier_gc_surface_is_dry_run_and_does_not_delete_files() { function missing_optional_chunk_does_not_make_bundle_unsafe (line 857) | fn missing_optional_chunk_does_not_make_bundle_unsafe() { function unsafe_relative_paths_are_rejected (line 889) | fn unsafe_relative_paths_are_rejected() { function symlinked_chunk_that_escapes_bundle_root_is_rejected (line 915) | fn symlinked_chunk_that_escapes_bundle_root_is_rejected() { FILE: src/explainability.rs constant EXPLANATION_CARD_SCHEMA_VERSION (line 12) | pub const EXPLANATION_CARD_SCHEMA_VERSION: u32 = 1; type ExplanationSurface (line 16) | pub enum ExplanationSurface { type ExplanationDecision (line 25) | pub enum ExplanationDecision { type ExplanationFallbackContract (line 34) | pub struct ExplanationFallbackContract { type ExplanationCard (line 45) | pub struct ExplanationCard { method new (line 61) | fn new( method input (line 81) | fn input(mut self, key: impl Into, value: Value) -> Self { method evidence (line 86) | fn evidence(mut self, key: impl Into, value: Value) -> Self { method fallback_contract (line 91) | fn fallback_contract(mut self, contract: ExplanationFallbackContract) ... type SearchRobotExplanationInput (line 98) | pub struct SearchRobotExplanationInput { function search_robot_explanation_cards (line 116) | pub fn search_robot_explanation_cards(input: SearchRobotExplanationInput... function search_fallback_card (line 177) | pub fn search_fallback_card( function cache_admission_card (line 204) | pub fn cache_admission_card( function rebuild_throttle_card (line 239) | pub fn rebuild_throttle_card(pending_sessions: Option, reason: &str... function semantic_unavailable_card (line 261) | pub fn semantic_unavailable_card( function source_sync_deferral_card (line 285) | pub fn source_sync_deferral_card( function pins_search_fallback_card_shape (line 315) | fn pins_search_fallback_card_shape() { function pins_cache_admission_card_shape (line 332) | fn pins_cache_admission_card_shape() { function pins_rebuild_throttle_card_shape (line 342) | fn pins_rebuild_throttle_card_shape() { function pins_semantic_unavailable_card_shape (line 351) | fn pins_semantic_unavailable_card_shape() { function pins_source_sync_deferral_card_shape (line 366) | fn pins_source_sync_deferral_card_shape() { function search_robot_cards_stay_concise_when_no_decision_needs_explaining (line 376) | fn search_robot_cards_stay_concise_when_no_decision_needs_explaining() { function semantic_fallback_detection_is_case_insensitive (line 398) | fn semantic_fallback_detection_is_case_insensitive() { FILE: src/export.rs type ExportFormat (line 13) | pub enum ExportFormat { method metadata (line 24) | fn metadata(self) -> (&'static str, &'static str, Self) { method name (line 33) | pub fn name(self) -> &'static str { method extension (line 38) | pub fn extension(self) -> &'static str { method next (line 43) | pub fn next(self) -> Self { method all (line 48) | pub fn all() -> &'static [Self] { type ExportOptions (line 55) | pub struct ExportOptions { method default (line 69) | fn default() -> Self { function export_results (line 81) | pub fn export_results(hits: &[SearchHit], format: ExportFormat, options:... function escape_markdown (line 90) | fn escape_markdown(text: &str) -> String { function get_code_block_delimiter (line 105) | fn get_code_block_delimiter(content: &str) -> String { function export_markdown (line 123) | fn export_markdown(hits: &[SearchHit], options: &ExportOptions) -> String { function export_json (line 218) | fn export_json(hits: &[SearchHit], options: &ExportOptions) -> String { function export_json_value (line 225) | fn export_json_value( function export_hit_json (line 241) | fn export_hit_json(hit: &SearchHit, options: &ExportOptions) -> serde_js... function export_hit_base_json (line 274) | fn export_hit_base_json(hit: &SearchHit, options: &ExportOptions) -> ser... function export_plain_text (line 284) | fn export_plain_text(hits: &[SearchHit], options: &ExportOptions) -> Str... function truncate_text (line 354) | fn truncate_text(text: &str, max_len: usize) -> String { function sample_hit (line 381) | fn sample_hit() -> SearchHit { function assert_json_field (line 402) | fn assert_json_field(value: &serde_json::Value, key: &str, expected: ser... function test_export_format_cycle (line 411) | fn test_export_format_cycle() { function test_export_format_extension (line 419) | fn test_export_format_extension() { function test_truncate_text (line 426) | fn test_truncate_text() { function test_export_markdown (line 439) | fn test_export_markdown() { function test_export_json (line 452) | fn test_export_json() { function test_export_json_value_shape (line 462) | fn test_export_json_value_shape() { function test_export_hit_json_shape (line 493) | fn test_export_hit_json_shape() { function test_export_plain_text (line 527) | fn test_export_plain_text() { function test_export_markdown_escapes_special_chars (line 538) | fn test_export_markdown_escapes_special_chars() { FILE: src/ftui_harness.rs type MatchMode (line 14) | pub enum MatchMode { function buffer_to_text (line 24) | pub fn buffer_to_text(buf: &Buffer) -> String { function buffer_to_ansi (line 52) | fn buffer_to_ansi(buf: &Buffer) -> String { function normalize (line 153) | fn normalize(text: &str, mode: MatchMode) -> String { function diff_text (line 170) | pub fn diff_text(expected: &str, actual: &str) -> String { function snapshot_name_with_profile (line 204) | fn snapshot_name_with_profile(name: &str) -> String { function snapshot_path (line 219) | fn snapshot_path(base_dir: &Path, name: &str) -> PathBuf { function is_bless (line 227) | fn is_bless() -> bool { function assert_buffer_snapshot (line 234) | pub fn assert_buffer_snapshot(name: &str, buf: &Buffer, base_dir: &str, ... function assert_buffer_snapshot_ansi (line 274) | pub fn assert_buffer_snapshot_ansi(name: &str, buf: &Buffer, base_dir: &... FILE: src/html_export/encryption.rs type EncryptionError (line 18) | pub enum EncryptionError { type EncryptedContent (line 32) | pub struct EncryptedContent { method to_json (line 47) | pub fn to_json(&self) -> String { type EncryptionParams (line 54) | pub struct EncryptionParams { method default (line 64) | fn default() -> Self { function encrypt_content (line 84) | pub fn encrypt_content( function fill_encryption_random (line 185) | fn fill_encryption_random(label: &str, output: &mut [u8]) { function deterministic_test_bytes (line 197) | fn deterministic_test_bytes(entropy_label: &str, len: usize) -> Option String { function render_encrypted_placeholder (line 255) | pub fn render_encrypted_placeholder(encrypted: &EncryptedContent) -> Str... function html_escape_for_content (line 276) | fn html_escape_for_content(s: &str) -> String { function test_encryption_error_display_strings (line 294) | fn test_encryption_error_display_strings() { function test_base64_encode (line 311) | fn test_base64_encode() { function test_encrypted_content_to_json (line 322) | fn test_encrypted_content_to_json() { function test_encryption_params_default (line 338) | fn test_encryption_params_default() { function test_encrypt_content_roundtrip (line 347) | fn test_encrypt_content_roundtrip() { function test_encrypt_content_produces_authenticated_ciphertext (line 395) | fn test_encrypt_content_produces_authenticated_ciphertext() { function test_encrypt_rejects_empty_password (line 423) | fn test_encrypt_rejects_empty_password() { function test_encrypt_rejects_invalid_params (line 435) | fn test_encrypt_rejects_invalid_params() { function test_encrypt_without_feature_returns_error (line 459) | fn test_encrypt_without_feature_returns_error() { FILE: src/html_export/filename.rs type FilenameOptions (line 20) | pub struct FilenameOptions { type FilenameMetadata (line 45) | pub struct FilenameMetadata { function normalize_topic (line 78) | pub fn normalize_topic(topic: &str) -> String { function generate_filename (line 85) | pub fn generate_filename(metadata: &FilenameMetadata, options: &Filename... function generate_filepath (line 154) | pub fn generate_filepath( function sanitize (line 183) | fn sanitize(s: &str) -> String { function push_part (line 206) | fn push_part(parts: &mut Vec, raw: &str) { constant MAX_FILENAME_LEN (line 213) | const MAX_FILENAME_LEN: usize = 255; function finalize_filename (line 216) | fn finalize_filename(mut name: String, max_len: Option) -> String { function enforce_max_len (line 238) | fn enforce_max_len(mut name: String, max_len: Option) -> String { function truncate_to_char_boundary (line 252) | fn truncate_to_char_boundary(s: &str, max_bytes: usize) -> usize { function trim_separators (line 264) | fn trim_separators(name: &str) -> String { function avoid_reserved_name (line 268) | fn avoid_reserved_name(name: String) -> String { function is_reserved_basename (line 276) | fn is_reserved_basename(name: &str) -> bool { constant INVALID_CHARS (line 283) | const INVALID_CHARS: &[char] = &[ constant RESERVED_NAMES (line 288) | const RESERVED_NAMES: &[&str] = &[ function is_valid_filename (line 294) | pub fn is_valid_filename(name: &str) -> bool { function get_downloads_dir (line 334) | pub fn get_downloads_dir() -> PathBuf { function unique_filename (line 343) | pub fn unique_filename(dir: &Path, base_filename: &str) -> PathBuf { function agent_slug (line 394) | pub fn agent_slug(agent: &str) -> String { function workspace_slug (line 428) | pub fn workspace_slug(workspace: Option<&Path>) -> String { function datetime_slug (line 454) | pub fn datetime_slug(timestamp_ms: Option) -> String { function extract_topic (line 470) | pub fn extract_topic(title: Option<&str>, first_user_message: Option<&st... function truncate_topic (line 504) | fn truncate_topic(topic: &str, max_len: usize) -> String { function generate_full_filename (line 526) | pub fn generate_full_filename( function test_sanitize_basic (line 561) | fn test_sanitize_basic() { function test_sanitize_special_chars (line 568) | fn test_sanitize_special_chars() { function test_sanitize_multiple_separators (line 574) | fn test_sanitize_multiple_separators() { function test_generate_filename_basic (line 580) | fn test_generate_filename_basic() { function test_generate_filename_with_date (line 591) | fn test_generate_filename_with_date() { function test_generate_filename_max_length (line 608) | fn test_generate_filename_max_length() { function test_generate_filename_zero_max_length (line 623) | fn test_generate_filename_zero_max_length() { function test_generate_filename_caps_at_platform_limit (line 639) | fn test_generate_filename_caps_at_platform_limit() { function test_generate_filename_empty (line 654) | fn test_generate_filename_empty() { function test_generate_filename_skips_empty_parts (line 662) | fn test_generate_filename_skips_empty_parts() { function test_generate_filename_all_invalid (line 676) | fn test_generate_filename_all_invalid() { function test_generate_filename_reserved_name (line 687) | fn test_generate_filename_reserved_name() { function test_is_valid_filename (line 698) | fn test_is_valid_filename() { function test_generate_filepath (line 709) | fn test_generate_filepath() { function test_generate_filepath_respects_extension_limit (line 721) | fn test_generate_filepath_respects_extension_limit() { function test_normalize_topic_basic (line 734) | fn test_normalize_topic_basic() { function test_normalize_topic_special_chars (line 747) | fn test_normalize_topic_special_chars() { function test_normalize_topic_already_normalized (line 755) | fn test_normalize_topic_already_normalized() { function test_normalize_topic_multiple_spaces (line 762) | fn test_normalize_topic_multiple_spaces() { function test_generate_filename_with_topic (line 768) | fn test_generate_filename_with_topic() { function test_generate_filename_topic_without_flag (line 789) | fn test_generate_filename_topic_without_flag() { function test_generate_filename_full_robot_mode (line 807) | fn test_generate_filename_full_robot_mode() { function test_agent_slug_canonical (line 837) | fn test_agent_slug_canonical() { function test_agent_slug_unknown (line 847) | fn test_agent_slug_unknown() { function test_workspace_slug_with_path (line 856) | fn test_workspace_slug_with_path() { function test_workspace_slug_without_path (line 862) | fn test_workspace_slug_without_path() { function test_workspace_slug_long_name (line 867) | fn test_workspace_slug_long_name() { function test_datetime_slug_format (line 874) | fn test_datetime_slug_format() { function test_datetime_slug_none (line 884) | fn test_datetime_slug_none() { function test_extract_topic_from_title (line 892) | fn test_extract_topic_from_title() { function test_extract_topic_from_message (line 898) | fn test_extract_topic_from_message() { function test_extract_topic_skips_urls (line 905) | fn test_extract_topic_skips_urls() { function test_extract_topic_fallback (line 912) | fn test_extract_topic_fallback() { function test_generate_full_filename (line 918) | fn test_generate_full_filename() { function test_get_downloads_dir_returns_path (line 933) | fn test_get_downloads_dir_returns_path() { function test_unique_filename_no_collision (line 940) | fn test_unique_filename_no_collision() { function test_truncate_topic (line 952) | fn test_truncate_topic() { function test_truncate_to_char_boundary (line 968) | fn test_truncate_to_char_boundary() { function test_enforce_max_len_utf8_safe (line 990) | fn test_enforce_max_len_utf8_safe() { function test_agent_slug_utf8_safe (line 1001) | fn test_agent_slug_utf8_safe() { function test_workspace_slug_utf8_safe (line 1010) | fn test_workspace_slug_utf8_safe() { function test_truncate_topic_utf8_safe (line 1020) | fn test_truncate_topic_utf8_safe() { FILE: src/html_export/mod.rs constant BG_DEEP (line 62) | pub const BG_DEEP: &str = "#1a1b26"; constant BG_SURFACE (line 65) | pub const BG_SURFACE: &str = "#24283b"; constant BG_HIGHLIGHT (line 68) | pub const BG_HIGHLIGHT: &str = "#292e42"; constant BORDER (line 71) | pub const BORDER: &str = "#3b4261"; constant BORDER_FOCUS (line 74) | pub const BORDER_FOCUS: &str = "#7d91c8"; constant TEXT_PRIMARY (line 77) | pub const TEXT_PRIMARY: &str = "#c0caf5"; constant TEXT_SECONDARY (line 80) | pub const TEXT_SECONDARY: &str = "#a9b1d6"; constant TEXT_MUTED (line 83) | pub const TEXT_MUTED: &str = "#696e9e"; constant TEXT_DISABLED (line 86) | pub const TEXT_DISABLED: &str = "#444b6a"; constant ACCENT_PRIMARY (line 89) | pub const ACCENT_PRIMARY: &str = "#7aa2f7"; constant ACCENT_SECONDARY (line 92) | pub const ACCENT_SECONDARY: &str = "#bb9af7"; constant ACCENT_TERTIARY (line 95) | pub const ACCENT_TERTIARY: &str = "#7dcfff"; constant ROLE_USER (line 98) | pub const ROLE_USER: &str = "#9ece6a"; constant ROLE_AGENT (line 101) | pub const ROLE_AGENT: &str = "#7aa2f7"; constant ROLE_TOOL (line 104) | pub const ROLE_TOOL: &str = "#ff9e64"; constant ROLE_SYSTEM (line 107) | pub const ROLE_SYSTEM: &str = "#e0af68"; constant STATUS_SUCCESS (line 110) | pub const STATUS_SUCCESS: &str = "#73daca"; constant STATUS_WARNING (line 113) | pub const STATUS_WARNING: &str = "#e0af68"; constant STATUS_ERROR (line 116) | pub const STATUS_ERROR: &str = "#f7768e"; constant STATUS_INFO (line 119) | pub const STATUS_INFO: &str = "#7dcfff"; constant ROLE_USER_BG (line 122) | pub const ROLE_USER_BG: &str = "#1a201e"; constant ROLE_AGENT_BG (line 125) | pub const ROLE_AGENT_BG: &str = "#1a1c24"; constant ROLE_TOOL_BG (line 128) | pub const ROLE_TOOL_BG: &str = "#201c1a"; constant ROLE_SYSTEM_BG (line 131) | pub const ROLE_SYSTEM_BG: &str = "#201e1a"; function test_colors_are_valid_hex (line 139) | fn test_colors_are_valid_hex() { FILE: src/html_export/renderer.rs type RenderError (line 25) | pub enum RenderError { type RenderOptions (line 36) | pub struct RenderOptions { method default (line 61) | fn default() -> Self { type Message (line 76) | pub struct Message { type ToolCall (line 98) | pub struct ToolCall { type ToolStatus (line 114) | pub enum ToolStatus { method css_class (line 121) | fn css_class(&self) -> &'static str { method icon_svg (line 129) | fn icon_svg(&self) -> &'static str { method label (line 137) | fn label(&self) -> &'static str { type MessageGroupType (line 153) | pub enum MessageGroupType { method role_icon (line 166) | pub fn role_icon(&self) -> &'static str { type ToolResult (line 181) | pub struct ToolResult { method new (line 194) | pub fn new( method with_correlation_id (line 208) | pub fn with_correlation_id(mut self, id: impl Into) -> Self { method is_error (line 214) | pub fn is_error(&self) -> bool { type ToolCallWithResult (line 224) | pub struct ToolCallWithResult { method new (line 235) | pub fn new(call: ToolCall) -> Self { method with_correlation_id (line 244) | pub fn with_correlation_id(mut self, id: impl Into) -> Self { method with_result (line 250) | pub fn with_result(mut self, result: ToolResult) -> Self { method has_result (line 256) | pub fn has_result(&self) -> bool { method is_error (line 261) | pub fn is_error(&self) -> bool { method effective_status (line 266) | pub fn effective_status(&self) -> ToolStatus { type MessageGroup (line 282) | pub struct MessageGroup { method new (line 297) | pub fn new(primary: Message, group_type: MessageGroupType) -> Self { method user (line 310) | pub fn user(primary: Message) -> Self { method assistant (line 315) | pub fn assistant(primary: Message) -> Self { method system (line 320) | pub fn system(primary: Message) -> Self { method tool_only (line 325) | pub fn tool_only(primary: Message) -> Self { method add_tool_call (line 330) | pub fn add_tool_call(&mut self, call: ToolCall, correlation_id: Option... method add_tool_result (line 347) | pub fn add_tool_result(&mut self, result: ToolResult) { method update_end_timestamp (line 383) | pub fn update_end_timestamp(&mut self, timestamp: Option) { method tool_count (line 398) | pub fn tool_count(&self) -> usize { method has_errors (line 403) | pub fn has_errors(&self) -> bool { method all_tools_complete (line 408) | pub fn all_tools_complete(&self) -> bool { method tool_summary (line 413) | pub fn tool_summary(&self) -> (usize, usize, usize) { constant ICON_USER (line 433) | const ICON_USER: &str = r#" String { function test_generate_styles_includes_colors (line 1691) | fn test_generate_styles_includes_colors() { function test_generate_styles_includes_search_when_enabled (line 1699) | fn test_generate_styles_includes_search_when_enabled() { function test_generate_styles_excludes_search_when_disabled (line 1709) | fn test_generate_styles_excludes_search_when_disabled() { function test_styles_include_theme_toggle_when_enabled (line 1719) | fn test_styles_include_theme_toggle_when_enabled() { function test_styles_include_responsive_breakpoints (line 1729) | fn test_styles_include_responsive_breakpoints() { function test_print_css_hides_interactive_elements (line 1736) | fn test_print_css_hides_interactive_elements() { function test_styles_include_accessibility (line 1743) | fn test_styles_include_accessibility() { function test_styles_include_animations (line 1750) | fn test_styles_include_animations() { function test_styles_include_glass_morphism (line 1757) | fn test_styles_include_glass_morphism() { function test_styles_include_oklch_colors (line 1765) | fn test_styles_include_oklch_colors() { function test_styles_include_tool_badge_styling (line 1773) | fn test_styles_include_tool_badge_styling() { function test_styles_include_glassmorphism_popover (line 1791) | fn test_styles_include_glassmorphism_popover() { function test_styles_include_mobile_bottom_sheet (line 1812) | fn test_styles_include_mobile_bottom_sheet() { function test_styles_include_high_contrast (line 1826) | fn test_styles_include_high_contrast() { function test_styles_include_glow_effects (line 1836) | fn test_styles_include_glow_effects() { function test_print_styles_hide_popovers (line 1853) | fn test_print_styles_hide_popovers() { FILE: src/html_export/template.rs type TemplateError (line 19) | pub enum TemplateError { type ExportOptions (line 33) | pub struct ExportOptions { constant SCREEN_ONLY_CSS (line 65) | const SCREEN_ONLY_CSS: &str = r#" constant CDN_FALLBACK_CSS (line 71) | const CDN_FALLBACK_CSS: &str = r#" constant PRISM_THEME_URL (line 93) | const PRISM_THEME_URL: &str = constant PRISM_THEME_SRI (line 95) | const PRISM_THEME_SRI: &str = constant PRISM_CORE_URL (line 97) | const PRISM_CORE_URL: &str = "https://cdn.jsdelivr.net/npm/prismjs@1.29.... constant PRISM_CORE_SRI (line 98) | const PRISM_CORE_SRI: &str = constant PRISM_RUST_URL (line 100) | const PRISM_RUST_URL: &str = constant PRISM_RUST_SRI (line 102) | const PRISM_RUST_SRI: &str = constant PRISM_PYTHON_URL (line 104) | const PRISM_PYTHON_URL: &str = constant PRISM_PYTHON_SRI (line 106) | const PRISM_PYTHON_SRI: &str = constant PRISM_JS_URL (line 108) | const PRISM_JS_URL: &str = constant PRISM_JS_SRI (line 110) | const PRISM_JS_SRI: &str = constant PRISM_TS_URL (line 112) | const PRISM_TS_URL: &str = constant PRISM_TS_SRI (line 114) | const PRISM_TS_SRI: &str = constant PRISM_BASH_URL (line 116) | const PRISM_BASH_URL: &str = constant PRISM_BASH_SRI (line 118) | const PRISM_BASH_SRI: &str = constant PRINT_EXTRA_CSS (line 121) | const PRINT_EXTRA_CSS: &str = r#" method default (line 195) | fn default() -> Self { type HtmlTemplate (line 214) | pub struct HtmlTemplate { method render (line 267) | pub fn render(&self, options: &ExportOptions) -> String { method render_header (line 441) | fn render_header(&self) -> String { method render_toolbar (line 532) | fn render_toolbar(&self, options: &ExportOptions) -> String { method render_print_footer (line 574) | fn render_print_footer(&self) -> String { type TemplateMetadata (line 239) | pub struct TemplateMetadata { type HtmlExporter (line 586) | pub struct HtmlExporter { method new (line 592) | pub fn new() -> Self { method with_options (line 599) | pub fn with_options(options: ExportOptions) -> Self { method options (line 604) | pub fn options(&self) -> &ExportOptions { method create_template (line 609) | pub fn create_template(&self, title: &str) -> HtmlTemplate { method export_messages (line 628) | pub fn export_messages( method default (line 746) | fn default() -> Self { function html_escape (line 752) | pub fn html_escape(s: &str) -> String { type LogBuffer (line 768) | struct LogBuffer(Arc>>); method write (line 771) | fn write(&mut self, buf: &[u8]) -> std::io::Result { method flush (line 777) | fn flush(&mut self) -> std::io::Result<()> { function capture_logs (line 782) | fn capture_logs(f: F) -> String { function test_template_error_display_strings (line 799) | fn test_template_error_display_strings() { function test_html_escape (line 815) | fn test_html_escape() { function test_export_options_default (line 822) | fn test_export_options_default() { function test_cdn_resources_include_integrity (line 830) | fn test_cdn_resources_include_integrity() { function test_no_cdn_removes_external_tags (line 852) | fn test_no_cdn_removes_external_tags() { function test_template_renders_valid_html (line 872) | fn test_template_renders_valid_html() { function test_encrypted_template_shows_modal (line 893) | fn test_encrypted_template_shows_modal() { function test_export_messages_plain (line 910) | fn test_export_messages_plain() { function test_export_logs_include_milestones (line 931) | fn test_export_logs_include_milestones() { function test_export_messages_requires_password_when_encrypted (line 983) | fn test_export_messages_requires_password_when_encrypted() { function test_export_messages_encrypted_payload (line 1009) | fn test_export_messages_encrypted_payload() { FILE: src/indexer/lexical_generation.rs constant LEXICAL_GENERATION_MANIFEST_VERSION (line 49) | pub(crate) const LEXICAL_GENERATION_MANIFEST_VERSION: u32 = 3; constant LEXICAL_GENERATION_MANIFEST_FILE (line 52) | pub(crate) const LEXICAL_GENERATION_MANIFEST_FILE: &str = "lexical-gener... type LexicalGenerationBuildState (line 58) | pub(crate) enum LexicalGenerationBuildState { type LexicalGenerationPublishState (line 81) | pub(crate) enum LexicalGenerationPublishState { type LexicalShardLifecycleState (line 98) | pub(crate) enum LexicalShardLifecycleState { type LexicalGenerationShardPlan (line 120) | pub(crate) struct LexicalGenerationShardPlan { type LexicalGenerationBuildBudget (line 132) | pub(crate) struct LexicalGenerationBuildBudget { type LexicalGenerationMergeDebtState (line 151) | pub(crate) enum LexicalGenerationMergeDebtState { type LexicalGenerationMergeDebt (line 171) | pub(crate) struct LexicalGenerationMergeDebt { method has_pending_work (line 194) | pub(crate) fn has_pending_work(&self) -> bool { method is_fully_settled (line 205) | pub(crate) fn is_fully_settled(&self) -> bool { method default (line 181) | fn default() -> Self { type LexicalShardManifest (line 215) | pub(crate) struct LexicalShardManifest { method planned (line 231) | pub(crate) fn planned(shard_id: impl Into, shard_ordinal: u32,... method transition (line 248) | pub(crate) fn transition(&mut self, state: LexicalShardLifecycleState,... type LexicalGenerationRecoveryAction (line 257) | pub(crate) enum LexicalGenerationRecoveryAction { type LexicalGenerationRecoveryDecision (line 267) | pub(crate) struct LexicalGenerationRecoveryDecision { function is_protected_retention_disposition (line 286) | pub(crate) fn is_protected_retention_disposition(disposition: LexicalCle... type LexicalCleanupDisposition (line 301) | pub(crate) enum LexicalCleanupDisposition { method as_str (line 321) | fn as_str(self) -> &'static str { method all_variants (line 342) | pub(crate) fn all_variants() -> &'static [Self] { type LexicalShardCleanupInventory (line 357) | pub(crate) struct LexicalShardCleanupInventory { type LexicalGenerationCleanupInventory (line 368) | pub(crate) struct LexicalGenerationCleanupInventory { type LexicalCleanupDryRunPlan (line 383) | pub(crate) struct LexicalCleanupDryRunPlan { method from_manifests (line 528) | pub(crate) fn from_manifests<'a>( method has_reclaimable_artifacts (line 563) | pub(crate) fn has_reclaimable_artifacts(&self) -> bool { method reclaim_candidates (line 567) | pub(crate) fn reclaim_candidates(&self) -> Vec L... method apply_gate_with_fingerprint (line 575) | pub(crate) fn apply_gate_with_fingerprint( method inspection_required_generation_ids (line 661) | pub(crate) fn inspection_required_generation_ids(&self) -> Vec { method inspection_required_retained_bytes (line 665) | pub(crate) fn inspection_required_retained_bytes(&self) -> u64 { method record_inspection_item (line 669) | fn record_inspection_item(&mut self, item: LexicalCleanupInspectionIte... method record_inventory (line 684) | fn record_inventory(&mut self, inventory: LexicalGenerationCleanupInve... method requires_inspection (line 887) | fn requires_inspection(disposition: LexicalCleanupDisposition) -> bool { method is_protected_retention (line 895) | fn is_protected_retention(disposition: LexicalCleanupDisposition) -> b... method compute_approval_fingerprint (line 899) | fn compute_approval_fingerprint(&self) -> String { type LexicalCleanupReclaimCandidate (line 418) | pub(crate) struct LexicalCleanupReclaimCandidate { type LexicalCleanupInspectionItem (line 427) | pub(crate) struct LexicalCleanupInspectionItem { type LexicalCleanupDispositionSummary (line 436) | pub(crate) struct LexicalCleanupDispositionSummary { type LexicalCleanupGenerationDispositionSummary (line 444) | pub(crate) struct LexicalCleanupGenerationDispositionSummary { type LexicalCleanupApprovalFingerprintStatus (line 453) | pub(crate) enum LexicalCleanupApprovalFingerprintStatus { type LexicalCleanupApplyBlocker (line 463) | pub(crate) enum LexicalCleanupApplyBlocker { type LexicalCleanupApplyGate (line 472) | pub(crate) struct LexicalCleanupApplyGate { function hash_str (line 1000) | fn hash_str(hasher: &mut blake3::Hasher, value: &str) { function hash_u64 (line 1005) | fn hash_u64(hasher: &mut blake3::Hasher, value: u64) { function hash_usize (line 1009) | fn hash_usize(hasher: &mut blake3::Hasher, value: usize) { type LexicalGenerationFailure (line 1015) | pub(crate) struct LexicalGenerationFailure { type LexicalGenerationManifest (line 1034) | pub(crate) struct LexicalGenerationManifest { method new_scratch (line 1087) | pub(crate) fn new_scratch( method set_shard_plan_and_budget (line 1117) | pub(crate) fn set_shard_plan_and_budget( method set_shards (line 1130) | pub(crate) fn set_shards(&mut self, shards: Vec,... method transition_shard (line 1136) | pub(crate) fn transition_shard( method transition_build (line 1174) | pub(crate) fn transition_build(&mut self, state: LexicalGenerationBuil... method transition_publish (line 1180) | pub(crate) fn transition_publish(&mut self, state: LexicalGenerationPu... method record_merge_debt (line 1186) | pub(crate) fn record_merge_debt( method transition_merge_debt (line 1209) | pub(crate) fn transition_merge_debt( method record_failure (line 1230) | pub(crate) fn record_failure( method is_serveable (line 1247) | pub(crate) fn is_serveable(&self) -> bool { method is_fully_consolidated (line 1253) | pub(crate) fn is_fully_consolidated(&self) -> bool { method cleanup_inventory (line 1258) | pub(crate) fn cleanup_inventory(&self) -> LexicalGenerationCleanupInve... method recovery_decision (line 1304) | pub(crate) fn recovery_decision(&self) -> LexicalGenerationRecoveryDec... method shards_with_state (line 1400) | fn shards_with_state(&self, states: &[LexicalShardLifecycleState]) -> ... method all_shards_publish_ready (line 1408) | fn all_shards_publish_ready(&self) -> bool { method classify_shard_for_cleanup (line 1422) | fn classify_shard_for_cleanup( method classify_generation_for_cleanup (line 1527) | fn classify_generation_for_cleanup( method classify_generation_retention_window (line 1596) | fn classify_generation_retention_window( method generation_cleanup_allows_reclaim (line 1640) | fn generation_cleanup_allows_reclaim(&self) -> bool { method generation_has_active_work (line 1662) | fn generation_has_active_work(&self) -> bool { function manifest_path (line 1680) | pub(crate) fn manifest_path(generation_dir: &Path) -> PathBuf { function now_ms (line 1685) | pub(crate) fn now_ms() -> i64 { function store_manifest (line 1696) | pub(crate) fn store_manifest( function sync_parent_directory (line 1751) | fn sync_parent_directory(path: &Path) -> Result<()> { function sync_parent_directory (line 1763) | fn sync_parent_directory(_path: &Path) -> Result<()> { function load_manifest (line 1770) | pub(crate) fn load_manifest(generation_dir: &Path) -> Result Result<(), se... function cleanup_dry_run_plan_lists_inspection_items_for_retained_risky_artifacts (line 3303) | fn cleanup_dry_run_plan_lists_inspection_items_for_retained_risky_artifa... function test_shard_plan (line 3388) | fn test_shard_plan( function test_budget (line 3401) | fn test_budget() -> LexicalGenerationBuildBudget { function test_shard (line 3414) | fn test_shard( function cleanup_disposition_as_str_matches_serde_serialization_byte_for_byte (line 3444) | fn cleanup_disposition_as_str_matches_serde_serialization_byte_for_byte() { function cleanup_disposition_protected_retention_classification_is_exhaustive (line 3488) | fn cleanup_disposition_protected_retention_classification_is_exhaustive() { function cleanup_disposition_serde_round_trips_for_every_variant (line 3559) | fn cleanup_disposition_serde_round_trips_for_every_variant() { function record_inventory_emits_structured_classification_event_for_quarantined_generation (line 3593) | fn record_inventory_emits_structured_classification_event_for_quarantine... function record_inventory_emits_correct_severity_for_every_disposition_variant (line 3785) | fn record_inventory_emits_correct_severity_for_every_disposition_variant... FILE: src/indexer/memoization.rs type MemoContentHash (line 44) | pub(crate) struct MemoContentHash(pub Vec); method from_bytes (line 47) | pub(crate) fn from_bytes(bytes: impl Into>) -> Self { method as_bytes (line 51) | pub(crate) fn as_bytes(&self) -> &[u8] { type MemoKey (line 62) | pub(crate) struct MemoKey { method new (line 69) | pub(crate) fn new( type MemoLookup (line 87) | pub(crate) enum MemoLookup { type MemoCacheEvent (line 98) | pub(crate) enum MemoCacheEvent { type MemoCacheOperation (line 112) | pub(crate) enum MemoCacheOperation { type MemoEvictReason (line 121) | pub(crate) enum MemoEvictReason { type MemoCacheStats (line 132) | pub(crate) struct MemoCacheStats { type MemoCacheAuditRecord (line 146) | pub(crate) struct MemoCacheAuditRecord { type MemoQuarantineInspectionItem (line 158) | pub(crate) struct MemoQuarantineInspectionItem { type MemoQuarantineSummary (line 166) | pub(crate) struct MemoQuarantineSummary { type ContentAddressedMemoCache (line 177) | pub(crate) struct ContentAddressedMemoCache { function with_capacity (line 186) | pub(crate) fn with_capacity(max_entries: usize) -> Self { function get (line 197) | pub(crate) fn get(&mut self, key: &MemoKey) -> MemoLookup { function get_with_audit (line 201) | pub(crate) fn get_with_audit( function insert (line 246) | pub(crate) fn insert(&mut self, key: MemoKey, value: V) -> MemoCacheEvent { function insert_with_audit (line 250) | pub(crate) fn insert_with_audit(&mut self, key: MemoKey, value: V) -> Me... function invalidate (line 293) | pub(crate) fn invalidate(&mut self, key: &MemoKey) -> bool { function invalidate_with_audit (line 297) | pub(crate) fn invalidate_with_audit(&mut self, key: &MemoKey) -> MemoCac... function quarantine (line 312) | pub(crate) fn quarantine(&mut self, key: MemoKey, reason: impl Into &MemoCacheStats { function quarantine_inspection_items (line 345) | pub(crate) fn quarantine_inspection_items(&self) -> Vec MemoQuarantineSummary { function garbage_collect_quarantined (line 373) | pub(crate) fn garbage_collect_quarantined( function preview_garbage_collect_quarantined_algorithm (line 387) | pub(crate) fn preview_garbage_collect_quarantined_algorithm( function preview_garbage_collect_quarantined_reason (line 406) | pub(crate) fn preview_garbage_collect_quarantined_reason( function garbage_collect_quarantined_algorithm (line 425) | pub(crate) fn garbage_collect_quarantined_algorithm( function garbage_collect_quarantined_reason (line 445) | pub(crate) fn garbage_collect_quarantined_reason( function touch (line 456) | fn touch(&mut self, key: &MemoKey) { function audit_record (line 463) | fn audit_record( function sort_quarantine_inspection_items (line 482) | fn sort_quarantine_inspection_items(items: &mut [MemoQuarantineInspectio... function key (line 503) | fn key(content: &[u8], algo: &str, version: &str) -> MemoKey { function memo_key_strategy (line 507) | fn memo_key_strategy() -> impl Strategy { function memo_event_strategy (line 522) | fn memo_event_strategy() -> impl Strategy { function memo_operation_strategy (line 538) | fn memo_operation_strategy() -> impl Strategy { function memo_lookup_strategy (line 547) | fn memo_lookup_strategy() -> impl Strategy> { function memo_stats_strategy (line 555) | fn memo_stats_strategy() -> impl Strategy { function quarantine_item_strategy (line 586) | fn quarantine_item_strategy() -> impl Strategy impl Strategy impl Strategy Result<(), String> { function insert_then_get_returns_hit_and_bumps_counters (line 711) | fn insert_then_get_returns_hit_and_bumps_counters() -> Result<(), String> { function version_bump_does_not_hit_prior_entry (line 729) | fn version_bump_does_not_hit_prior_entry() -> Result<(), String> { function capacity_lru_evicts_oldest_and_reports_event (line 742) | fn capacity_lru_evicts_oldest_and_reports_event() { function invalidate_removes_entry_and_bumps_counter (line 773) | fn invalidate_removes_entry_and_bumps_counter() { function quarantined_entry_stays_resident_but_never_hits (line 788) | fn quarantined_entry_stays_resident_but_never_hits() -> Result<(), Strin... function quarantine_inspection_items_are_stable_and_reasoned (line 810) | fn quarantine_inspection_items_are_stable_and_reasoned() { function quarantine_summary_groups_by_reason_and_algorithm (line 840) | fn quarantine_summary_groups_by_reason_and_algorithm() -> Result<(), ser... function garbage_collect_quarantined_entry_after_inspection (line 869) | fn garbage_collect_quarantined_entry_after_inspection() -> Result<(), St... function preview_garbage_collect_quarantined_algorithm_is_deterministic_and_non_mutating (line 903) | fn preview_garbage_collect_quarantined_algorithm_is_deterministic_and_no... function garbage_collect_quarantined_algorithm_returns_stable_audit_items (line 939) | fn garbage_collect_quarantined_algorithm_returns_stable_audit_items() { function garbage_collect_quarantined_reason_is_previewable_and_exact (line 975) | fn garbage_collect_quarantined_reason_is_previewable_and_exact() { function stats_serialize_as_snake_case_and_count_live_entries (line 1018) | fn stats_serialize_as_snake_case_and_count_live_entries() { function get_with_audit_reports_lookup_event_and_capacity (line 1031) | fn get_with_audit_reports_lookup_event_and_capacity() -> Result<(), Stri... function insert_with_audit_reports_quarantine_noop_and_json_shape (line 1054) | fn insert_with_audit_reports_quarantine_noop_and_json_shape() -> Result<... function invalidate_with_audit_reports_removed_state (line 1080) | fn invalidate_with_audit_reports_removed_state() { function quarantine_with_audit_reports_current_quarantine_state (line 1105) | fn quarantine_with_audit_reports_current_quarantine_state() -> Result<()... FILE: src/indexer/mod.rs type BatchClassificationMap (line 84) | type BatchClassificationMap = constant LEXICAL_REBUILD_PACKET_VERSION (line 87) | const LEXICAL_REBUILD_PACKET_VERSION: u32 = CONVERSATION_PACKET_VERSION; constant CODEX_INDEXER_EXTRA_COMPACT_THRESHOLD_BYTES (line 88) | const CODEX_INDEXER_EXTRA_COMPACT_THRESHOLD_BYTES: u64 = 16 * 1024 * 1024; constant AT_FDCWD (line 94) | pub const AT_FDCWD: c_int = -100; constant RENAME_EXCHANGE (line 95) | pub const RENAME_EXCHANGE: c_uint = 0x2; function renameat2 (line 98) | pub fn renameat2( type LexicalRebuildPacketSource (line 110) | enum LexicalRebuildPacketSource { type LexicalRebuildPacketProvenanceMode (line 117) | enum LexicalRebuildPacketProvenanceMode { type LexicalRebuildPacketDiagnostics (line 126) | struct LexicalRebuildPacketDiagnostics { type LexicalRebuildPacketIdentity (line 134) | struct LexicalRebuildPacketIdentity { type LexicalRebuildPacketProvenance (line 146) | struct LexicalRebuildPacketProvenance { type LexicalRebuildConversationPacket (line 153) | struct LexicalRebuildConversationPacket { method from_canonical_replay (line 2022) | fn from_canonical_replay( method from_canonical_replay_messages (line 2042) | fn from_canonical_replay_messages( method from_canonical_replay_parts (line 2082) | fn from_canonical_replay_parts( method fingerprint_input (line 2125) | fn fingerprint_input(&self) -> LexicalRebuildPacketFingerprintInput<'_> { method prebuilt_docs (line 2145) | fn prebuilt_docs(&self) -> Vec Self { method semantic_view (line 2227) | fn semantic_view(&self) -> LexicalRebuildPacketSemanticView { type LexicalRebuildPacketFingerprintInput (line 167) | pub(crate) struct LexicalRebuildPacketFingerprintInput<'a> { function message_id_from_db (line 186) | fn message_id_from_db(raw: i64) -> Option { function saturating_u32_from_i64 (line 191) | fn saturating_u32_from_i64(raw: i64) -> u32 { type ReindexCommand (line 200) | pub enum ReindexCommand { type IndexerEvent (line 205) | pub enum IndexerEvent { type StaleAction (line 216) | pub enum StaleAction { method from_env_str (line 228) | fn from_env_str(s: &str) -> Self { type StaleConfig (line 239) | pub struct StaleConfig { method from_env (line 263) | pub fn from_env() -> Self { method is_enabled (line 286) | pub fn is_enabled(&self) -> bool { method default (line 251) | fn default() -> Self { function env_u64 (line 291) | fn env_u64(key: &str) -> Option { type StaleDetector (line 301) | pub struct StaleDetector { method new (line 319) | pub fn new(config: StaleConfig) -> Self { method from_env (line 332) | pub fn from_env() -> Self { method record_scan (line 339) | pub fn record_scan(&self, conversations_indexed: usize) { method check_stale (line 369) | pub fn check_stale(&self) -> Option { method stats (line 415) | pub fn stats(&self) -> StaleStats { method reset (line 431) | pub fn reset(&self) { type StaleStats (line 446) | pub struct StaleStats { type ConnectorStats (line 457) | pub struct ConnectorStats { type LexicalRepairStats (line 468) | pub struct LexicalRepairStats { type IndexingStats (line 479) | pub struct IndexingStats { type CanonicalMutationCounts (line 506) | struct CanonicalMutationCounts { method accumulate (line 512) | fn accumulate(self, other: Self) -> Self { method changed (line 523) | fn changed(self) -> bool { type IndexingProgress (line 529) | pub struct IndexingProgress { method phase_label_for (line 598) | fn phase_label_for(phase: usize) -> &'static str { method phase_label (line 608) | pub fn phase_label(&self) -> &'static str { method snapshot_json (line 615) | pub fn snapshot_json(&self, elapsed_ms: u128) -> serde_json::Value { function staged_field_or_null (line 794) | fn staged_field_or_null(is_rebuilding: bool, value: usize) -> serde_json... function non_empty_json_string (line 802) | fn non_empty_json_string(value: String) -> Option { function active_rebuild_json_string (line 806) | fn active_rebuild_json_string(is_rebuilding: bool, value: String) -> Opt... type IndexOptions (line 811) | pub struct IndexOptions { type LexicalPopulationStrategy (line 832) | pub(crate) enum LexicalPopulationStrategy { method as_str (line 839) | fn as_str(self) -> &'static str { function select_lexical_population_strategy (line 848) | fn select_lexical_population_strategy( function resolve_lexical_population_strategy (line 861) | fn resolve_lexical_population_strategy( function lexical_population_strategy_requires_inline_tantivy (line 881) | fn lexical_population_strategy_requires_inline_tantivy( function record_lexical_population_strategy (line 890) | fn record_lexical_population_strategy( function record_lexical_population_strategy_if_unset (line 904) | fn record_lexical_population_strategy_if_unset( function record_incremental_canonical_lexical_repair (line 920) | fn record_incremental_canonical_lexical_repair( function reset_progress_to_idle (line 939) | fn reset_progress_to_idle(progress: Option<&Arc>) { type LexicalRebuildPipelineSinkRuntimeSnapshot (line 1033) | struct LexicalRebuildPipelineSinkRuntimeSnapshot { method new (line 1040) | fn new( function capture_lexical_rebuild_pipeline_runtime (line 1053) | fn capture_lexical_rebuild_pipeline_runtime( function refresh_lexical_rebuild_pipeline_runtime (line 1103) | fn refresh_lexical_rebuild_pipeline_runtime( function refresh_and_maybe_apply_lexical_rebuild_pipeline_runtime (line 1227) | fn refresh_and_maybe_apply_lexical_rebuild_pipeline_runtime( function exact_total_counts_from_progress (line 1268) | fn exact_total_counts_from_progress( function record_exact_total_counts_in_progress (line 1279) | fn record_exact_total_counts_in_progress( type MatchingLexicalRebuildStateStatus (line 1294) | struct MatchingLexicalRebuildStateStatus { function matching_lexical_rebuild_state_status (line 1303) | fn matching_lexical_rebuild_state_status( function matching_lexical_rebuild_state_status_if_present (line 1315) | fn matching_lexical_rebuild_state_status_if_present( function matching_completed_lexical_rebuild_state_status_without_fingerprint (line 1328) | fn matching_completed_lexical_rebuild_state_status_without_fingerprint( function matching_lexical_rebuild_state_status_for_loaded_state (line 1367) | fn matching_lexical_rebuild_state_status_for_loaded_state( function nonresumable_pending_lexical_rebuild_status_without_fingerprint (line 1391) | fn nonresumable_pending_lexical_rebuild_status_without_fingerprint( function nonresumable_pending_lexical_rebuild_status_from_readonly_db (line 1422) | fn nonresumable_pending_lexical_rebuild_status_from_readonly_db( function should_try_readonly_nonresumable_lexical_resume (line 1443) | fn should_try_readonly_nonresumable_lexical_resume(opts: &IndexOptions) ... function should_preserve_matching_completed_lexical_checkpoint_during_full_scan (line 1454) | fn should_preserve_matching_completed_lexical_checkpoint_during_full_scan( function should_preflight_existing_tantivy_reader (line 1466) | fn should_preflight_existing_tantivy_reader( function should_probe_live_tantivy_docs_for_post_full_scan_skip (line 1473) | fn should_probe_live_tantivy_docs_for_post_full_scan_skip( function observed_tantivy_docs_for_post_full_scan_skip (line 1489) | fn observed_tantivy_docs_for_post_full_scan_skip( function should_force_authoritative_rebuild (line 1512) | fn should_force_authoritative_rebuild( function should_skip_noop_final_lexical_checkpoint_refresh (line 1519) | fn should_skip_noop_final_lexical_checkpoint_refresh( function should_skip_post_full_scan_authoritative_rebuild (line 1533) | fn should_skip_post_full_scan_authoritative_rebuild( type RunIndexProgressReset (line 1549) | struct RunIndexProgressReset { method new (line 1554) | fn new(progress: Option>) -> Self { method drop (line 1560) | fn drop(&mut self) { constant LEXICAL_REBUILD_STATE_VERSION (line 1565) | const LEXICAL_REBUILD_STATE_VERSION: u8 = 2; constant LEXICAL_REBUILD_PAGE_SIZE (line 1584) | const LEXICAL_REBUILD_PAGE_SIZE: i64 = 1024; constant LEXICAL_REBUILD_LEGACY_COMPAT_PAGE_SIZE (line 1585) | const LEXICAL_REBUILD_LEGACY_COMPAT_PAGE_SIZE: i64 = 200; constant LEXICAL_REBUILD_PAGE_SIZE_PUBLIC (line 1586) | pub(crate) const LEXICAL_REBUILD_PAGE_SIZE_PUBLIC: i64 = LEXICAL_REBUILD... function lexical_rebuild_page_size_is_compatible (line 1588) | pub(crate) fn lexical_rebuild_page_size_is_compatible(page_size: i64) ->... function lexical_rebuild_db_paths_match (line 1592) | fn lexical_rebuild_db_paths_match(saved: &str, current: &str) -> bool { function lexical_rebuild_db_state_matches (line 1596) | fn lexical_rebuild_db_state_matches( function lexical_rebuild_db_state_matches_legacy (line 1605) | fn lexical_rebuild_db_state_matches_legacy( type IndexRunLockGuard (line 1618) | struct IndexRunLockGuard { method write_metadata (line 1640) | fn write_metadata(&mut self, mode: SearchMaintenanceMode) -> Result<()> { method set_mode (line 1680) | fn set_mode(&mut self, mode: SearchMaintenanceMode) -> Result<()> { method drop (line 1631) | fn drop(&mut self) { type IndexRunLockHeartbeat (line 1685) | struct IndexRunLockHeartbeat { method start (line 1691) | fn start(data_dir: PathBuf, interval: Duration, metadata_write_lock: A... method drop (line 1729) | fn drop(&mut self) { function heartbeat_index_run_lock_with_lock (line 1741) | fn heartbeat_index_run_lock_with_lock( function write_index_run_lock_heartbeat_in_place (line 1787) | fn write_index_run_lock_heartbeat_in_place(lock_path: &Path, refreshed: ... function heartbeat_index_run_lock (line 1814) | fn heartbeat_index_run_lock(data_dir: &Path) -> Result<()> { function index_run_lock_heartbeat_interval (line 1818) | fn index_run_lock_heartbeat_interval() -> Duration { function lexical_rebuild_noise_role (line 1828) | fn lexical_rebuild_noise_role(is_tool_role: bool) -> Option<&'static str> { function lexical_rebuild_packet_provenance_from_canonical (line 1832) | fn lexical_rebuild_packet_provenance_from_canonical( function lexical_rebuild_packet_provenance_from_metadata (line 1893) | fn lexical_rebuild_packet_provenance_from_metadata( function lexical_rebuild_grouped_message_from_normalized (line 1949) | fn lexical_rebuild_grouped_message_from_normalized( function lexical_rebuild_contract_provenance (line 1960) | fn lexical_rebuild_contract_provenance( function lexical_rebuild_contract_from_grouped_messages (line 1970) | fn lexical_rebuild_contract_from_grouped_messages( function lexical_rebuild_contract_from_canonical_messages (line 1995) | fn lexical_rebuild_contract_from_canonical_messages( type LexicalRebuildEquivalenceEvidence (line 2261) | pub(crate) struct LexicalRebuildEquivalenceEvidence { type LexicalRebuildEquivalenceGoldenHit (line 2269) | pub(crate) struct LexicalRebuildEquivalenceGoldenHit { constant LEXICAL_REBUILD_EQUIVALENCE_DEFAULT_PROBES (line 2274) | const LEXICAL_REBUILD_EQUIVALENCE_DEFAULT_PROBES: &[&str] = type LexicalRebuildEquivalenceAccumulator (line 2277) | struct LexicalRebuildEquivalenceAccumulator { method new (line 2286) | fn new() -> Self { method with_probes (line 2294) | fn with_probes(probes: I) -> Self method absorb_packet (line 2310) | fn absorb_packet(&mut self, packet: &LexicalRebuildConversationPacket) { method finalize (line 2414) | fn finalize(self) -> LexicalRebuildEquivalenceEvidence { function lexical_rebuild_equivalence_update_opt_str (line 2443) | fn lexical_rebuild_equivalence_update_opt_str(hasher: &mut blake3::Hashe... type LexicalRebuildPacketPrepInput (line 2457) | struct LexicalRebuildPacketPrepInput { function prepare_lexical_rebuild_packet_from_canonical (line 2462) | fn prepare_lexical_rebuild_packet_from_canonical( function prepare_lexical_rebuild_packet_batch (line 2482) | fn prepare_lexical_rebuild_packet_batch( function assign_lexical_rebuild_flow_reservation_bytes (line 2515) | fn assign_lexical_rebuild_flow_reservation_bytes( type LexicalRebuildPacketSemanticView (line 2551) | struct LexicalRebuildPacketSemanticView { function flush_streamed_lexical_rebuild_batch (line 2570) | fn flush_streamed_lexical_rebuild_batch( function lexical_rebuild_prepare_prebuilt_doc_refs (line 2653) | fn lexical_rebuild_prepare_prebuilt_doc_refs<'a>( function build_lexical_rebuild_shard_index (line 2677) | fn build_lexical_rebuild_shard_index( function build_lexical_rebuild_shard_index_summary_with_writer_parallelism (line 2693) | fn build_lexical_rebuild_shard_index_summary_with_writer_parallelism( type LexicalRebuildShardBuildWork (line 2734) | struct LexicalRebuildShardBuildWork { type LexicalRebuildShardBuildResult (line 2742) | struct LexicalRebuildShardBuildResult { type LexicalRebuildShardMergeWork (line 2751) | struct LexicalRebuildShardMergeWork { type LexicalRebuildShardMergeArtifact (line 2757) | struct LexicalRebuildShardMergeArtifact { type LexicalRebuildShardMergeResult (line 2766) | struct LexicalRebuildShardMergeResult { type LexicalRebuildShardMergeJob (line 2772) | struct LexicalRebuildShardMergeJob { type LexicalRebuildShardMergeMessage (line 2779) | enum LexicalRebuildShardMergeMessage { type LexicalRebuildShardBuildMessage (line 2790) | enum LexicalRebuildShardBuildMessage { function spawn_lexical_rebuild_shard_builder_workers (line 2795) | fn spawn_lexical_rebuild_shard_builder_workers( function spawn_lexical_rebuild_shard_merge_workers (line 2865) | fn spawn_lexical_rebuild_shard_merge_workers( type LexicalRebuildShardMergeCoordinator (line 2952) | struct LexicalRebuildShardMergeCoordinator { constant EAGER_MERGE_FAN_IN (line 2961) | const EAGER_MERGE_FAN_IN: usize = 8; method new (line 2963) | fn new(stage_root: PathBuf) -> Self { method pending_merge_jobs (line 2973) | fn pending_merge_jobs(&self) -> usize { method ready_artifact_count (line 2977) | fn ready_artifact_count(&self) -> usize { method ready_merge_groups (line 2981) | fn ready_merge_groups(&self) -> usize { method set_allowed_pending_merge_jobs (line 2988) | fn set_allowed_pending_merge_jobs( method queue_base_artifact (line 2997) | fn queue_base_artifact( method complete_merge (line 3005) | fn complete_merge( method final_merge_input_artifacts (line 3014) | fn final_merge_input_artifacts(&self) -> Vec Search... type LexicalRebuildPerfProfile (line 3623) | struct LexicalRebuildPerfProfile { method from_env (line 3644) | fn from_env() -> Option { method millis (line 3648) | fn millis(duration: Duration) -> f64 { method log_summary (line 3652) | fn log_summary(&self) { function log_lexical_rebuild_prep_profile_step (line 3707) | fn log_lexical_rebuild_prep_profile_step( type LexicalRebuildDbState (line 3731) | struct LexicalRebuildDbState { type PendingLexicalCommit (line 3741) | struct PendingLexicalCommit { type LexicalRebuildPipelineRuntimeSnapshot (line 3752) | pub(crate) struct LexicalRebuildPipelineRuntimeSnapshot { method is_observed (line 3784) | fn is_observed(&self) -> bool { type LexicalRebuildExecutionMode (line 3817) | enum LexicalRebuildExecutionMode { method requires_restart_from_zero_on_resume (line 3824) | fn requires_restart_from_zero_on_resume(self) -> bool { method as_str (line 3828) | fn as_str(self) -> &'static str { function lexical_rebuild_execution_mode_is_default (line 3836) | fn lexical_rebuild_execution_mode_is_default(mode: &LexicalRebuildExecut... type LexicalRebuildState (line 3842) | struct LexicalRebuildState { method new (line 3866) | fn new(db: LexicalRebuildDbState, page_size: i64) -> Self { method matches_run (line 3885) | fn matches_run(&self, db: &LexicalRebuildDbState, _page_size: i64) -> ... method record_pending_commit (line 3899) | fn record_pending_commit( method finalize_commit (line 3917) | fn finalize_commit(&mut self, committed_meta_fingerprint: Option bool { method reported_processed_conversations (line 3961) | fn reported_processed_conversations(&self) -> usize { method reported_committed_conversation_id (line 3968) | fn reported_committed_conversation_id(&self) -> Option { method reported_indexed_docs (line 3975) | fn reported_indexed_docs(&self) -> usize { function acquire_index_run_lock (line 3983) | fn acquire_index_run_lock( function lexical_rebuild_state_path (line 4030) | fn lexical_rebuild_state_path(index_path: &Path) -> PathBuf { function lexical_rebuild_equivalence_evidence_path (line 4034) | fn lexical_rebuild_equivalence_evidence_path(index_path: &Path) -> PathB... function lexical_refresh_ledger_path (line 4038) | fn lexical_refresh_ledger_path(index_path: &Path) -> PathBuf { function lexical_refresh_evidence_path (line 4050) | fn lexical_refresh_evidence_path(index_path: &Path) -> PathBuf { function persist_lexical_rebuild_equivalence_evidence (line 4054) | fn persist_lexical_rebuild_equivalence_evidence( function persist_lexical_refresh_ledger (line 4075) | fn persist_lexical_refresh_ledger(index_path: &Path, ledger: &RefreshLed... function load_prior_refresh_evidence_for_comparison (line 4139) | fn load_prior_refresh_evidence_for_comparison(index_path: &Path) -> Opti... function persist_lexical_refresh_evidence (line 4169) | fn persist_lexical_refresh_evidence( type AuthoritativeLexicalRefreshLedgerInput (line 4186) | struct AuthoritativeLexicalRefreshLedgerInput<'a> { function build_authoritative_lexical_refresh_ledger (line 4197) | fn build_authoritative_lexical_refresh_ledger( function log_lexical_refresh_ledger_published (line 4283) | fn log_lexical_refresh_ledger_published(ledger: &RefreshLedger) { function build_lexical_rebuild_generation_manifest (line 4297) | fn build_lexical_rebuild_generation_manifest( function log_lexical_generation_manifest_published (line 4336) | fn log_lexical_generation_manifest_published( function persist_lexical_rebuild_generation_artifacts (line 4352) | fn persist_lexical_rebuild_generation_artifacts( function lexical_rebuild_commit_interval_conversations (line 4406) | fn lexical_rebuild_commit_interval_conversations() -> usize { function lexical_rebuild_initial_commit_interval_conversations (line 4414) | fn lexical_rebuild_initial_commit_interval_conversations() -> usize { function lexical_rebuild_commit_interval_messages (line 4422) | fn lexical_rebuild_commit_interval_messages() -> usize { function lexical_rebuild_initial_commit_interval_messages (line 4430) | fn lexical_rebuild_initial_commit_interval_messages() -> usize { function lexical_rebuild_commit_interval_message_bytes (line 4442) | fn lexical_rebuild_commit_interval_message_bytes() -> usize { function lexical_rebuild_initial_commit_interval_message_bytes (line 4450) | fn lexical_rebuild_initial_commit_interval_message_bytes() -> usize { function lexical_rebuild_commit_intervals_for_state (line 4458) | fn lexical_rebuild_commit_intervals_for_state( function lexical_rebuild_progress_heartbeat_interval_conversations (line 4475) | fn lexical_rebuild_progress_heartbeat_interval_conversations() -> usize { function lexical_rebuild_progress_heartbeat_interval (line 4483) | fn lexical_rebuild_progress_heartbeat_interval() -> Duration { function lexical_rebuild_batch_fetch_conversation_limit (line 4493) | fn lexical_rebuild_batch_fetch_conversation_limit(page_size: i64) -> usi... function lexical_rebuild_default_batch_fetch_conversation_limit (line 4513) | fn lexical_rebuild_default_batch_fetch_conversation_limit( function lexical_rebuild_initial_batch_fetch_conversation_limit (line 4523) | fn lexical_rebuild_initial_batch_fetch_conversation_limit(default_limit:... function lexical_rebuild_available_parallelism (line 4537) | fn lexical_rebuild_available_parallelism() -> usize { function lexical_rebuild_default_reserved_cores_for_available (line 4544) | fn lexical_rebuild_default_reserved_cores_for_available(available_parall... function lexical_rebuild_reserved_cores_for_available (line 4553) | fn lexical_rebuild_reserved_cores_for_available(available_parallelism: u... function lexical_rebuild_worker_parallelism_for_available_and_reserved (line 4563) | fn lexical_rebuild_worker_parallelism_for_available_and_reserved( function lexical_rebuild_default_worker_parallelism_for_available (line 4574) | fn lexical_rebuild_default_worker_parallelism_for_available(available_pa... function lexical_rebuild_configured_worker_parallelism_for_available (line 4581) | fn lexical_rebuild_configured_worker_parallelism_for_available( function lexical_rebuild_worker_parallelism (line 4590) | fn lexical_rebuild_worker_parallelism() -> usize { function build_lexical_rebuild_worker_pool (line 4602) | fn build_lexical_rebuild_worker_pool() -> Result> { type LexicalRebuildPipelineSettingsSnapshot (line 4624) | pub(crate) struct LexicalRebuildPipelineSettingsSnapshot { type LexicalRebuildResponsivenessPolicy (line 4652) | enum LexicalRebuildResponsivenessPolicy { method as_str (line 4659) | fn as_str(self) -> &'static str { function lexical_rebuild_responsiveness_policy (line 4668) | fn lexical_rebuild_responsiveness_policy() -> LexicalRebuildResponsivene... function lexical_rebuild_controller_restore_clear_samples (line 4693) | fn lexical_rebuild_controller_restore_clear_samples() -> usize { function lexical_rebuild_controller_restore_hold (line 4701) | fn lexical_rebuild_controller_restore_hold() -> Duration { function parse_lexical_rebuild_loadavg_1m_milli (line 4711) | fn parse_lexical_rebuild_loadavg_1m_milli(contents: &str) -> Option { function lexical_rebuild_host_loadavg_1m_milli (line 4725) | fn lexical_rebuild_host_loadavg_1m_milli() -> Option { function lexical_rebuild_host_loadavg_1m_milli (line 4732) | fn lexical_rebuild_host_loadavg_1m_milli() -> Option { function lexical_rebuild_default_controller_loadavg_high_watermark_1m_milli_for_available_and_reserved (line 4736) | fn lexical_rebuild_default_controller_loadavg_high_watermark_1m_milli_fo... function parse_lexical_rebuild_loadavg_override_milli (line 4751) | fn parse_lexical_rebuild_loadavg_override_milli(var: &str) -> Option { function lexical_rebuild_controller_loadavg_high_watermark_1m_milli_for_available_and_reserved (line 4757) | fn lexical_rebuild_controller_loadavg_high_watermark_1m_milli_for_availa... function lexical_rebuild_controller_loadavg_low_watermark_1m_milli_from_high (line 4776) | fn lexical_rebuild_controller_loadavg_low_watermark_1m_milli_from_high( function lexical_rebuild_pipeline_settings_snapshot (line 4785) | pub(crate) fn lexical_rebuild_pipeline_settings_snapshot() -> LexicalReb... type LexicalRebuildResponsivenessState (line 4852) | enum LexicalRebuildResponsivenessState { method as_str (line 4861) | fn as_str(self) -> &'static str { type LexicalRebuildBudgetTransition (line 4873) | struct LexicalRebuildBudgetTransition { type LexicalRebuildResponsivenessController (line 4881) | struct LexicalRebuildResponsivenessController { constant INFLIGHT_HIGH_WATERMARK_PERCENT (line 4898) | const INFLIGHT_HIGH_WATERMARK_PERCENT: usize = 90; constant INFLIGHT_LOW_WATERMARK_PERCENT (line 4899) | const INFLIGHT_LOW_WATERMARK_PERCENT: usize = 50; method new (line 4901) | fn new( method current_budget (line 4946) | fn current_budget(&self) -> LexicalRebuildPipelineBudgetSnapshot { method mode (line 4956) | fn mode(&self) -> &'static str { method reason (line 4960) | fn reason(&self) -> &str { method waits_for_first_durable_commit (line 4964) | fn waits_for_first_durable_commit(&self) -> bool { method record_first_durable_commit (line 4970) | fn record_first_durable_commit(&mut self) -> Option Str... type LexicalRebuildPipelineBudgetSnapshot (line 5170) | struct LexicalRebuildPipelineBudgetSnapshot { method new (line 5182) | fn new( type LexicalRebuildPipelineBudgetController (line 5204) | struct LexicalRebuildPipelineBudgetController { method new (line 5218) | fn new(snapshot: LexicalRebuildPipelineBudgetSnapshot) -> Self { method snapshot (line 5235) | fn snapshot(&self) -> LexicalRebuildPipelineBudgetSnapshot { method generation (line 5253) | fn generation(&self) -> usize { method update (line 5257) | fn update(&self, snapshot: LexicalRebuildPipelineBudgetSnapshot) { method wait_for_update_after (line 5281) | fn wait_for_update_after(&self, observed_generation: usize, timeout: D... type LexicalRebuildProducerTelemetrySnapshot (line 5311) | struct LexicalRebuildProducerTelemetrySnapshot { type LexicalRebuildProducerTelemetry (line 5322) | struct LexicalRebuildProducerTelemetry { method saturating_add (line 5333) | fn saturating_add(counter: &AtomicUsize, value: usize) { method duration_millis (line 5339) | fn duration_millis(duration: Duration) -> usize { method snapshot (line 5343) | fn snapshot(&self) -> LexicalRebuildProducerTelemetrySnapshot { method record (line 5355) | fn record( method record_budget_wait (line 5369) | fn record_budget_wait(&self, duration: Duration) { method record_handoff_wait (line 5374) | fn record_handoff_wait(&self, duration: Duration) { function lexical_rebuild_runtime_pipeline_budget_snapshot (line 5380) | fn lexical_rebuild_runtime_pipeline_budget_snapshot( function lexical_rebuild_pipeline_channel_size (line 5404) | fn lexical_rebuild_pipeline_channel_size() -> usize { function lexical_rebuild_default_page_prep_worker_parallelism_for_workers (line 5416) | fn lexical_rebuild_default_page_prep_worker_parallelism_for_workers( function lexical_rebuild_page_prep_worker_parallelism (line 5431) | fn lexical_rebuild_page_prep_worker_parallelism() -> usize { function lexical_rebuild_first_budget_promotion_wait (line 5454) | fn lexical_rebuild_first_budget_promotion_wait() -> Duration { function lexical_rebuild_pipeline_max_message_bytes_in_flight (line 5464) | fn lexical_rebuild_pipeline_max_message_bytes_in_flight( function should_commit_lexical_rebuild (line 5480) | fn should_commit_lexical_rebuild( function apply_lexical_rebuild_budget_transition (line 5493) | fn apply_lexical_rebuild_budget_transition( function should_persist_lexical_rebuild_progress (line 5538) | fn should_persist_lexical_rebuild_progress( function write_json_pretty_atomically (line 5548) | fn write_json_pretty_atomically(path: &Path, value:... function sync_parent_directory (line 5573) | fn sync_parent_directory(path: &Path) -> Result<()> { function sync_parent_directory (line 5585) | fn sync_parent_directory(_path: &Path) -> Result<()> { function load_lexical_rebuild_state (line 5589) | fn load_lexical_rebuild_state(index_path: &Path) -> Result Result<()> { function index_meta_fingerprint (line 5629) | fn index_meta_fingerprint(index_path: &Path) -> Result> { function completed_lexical_rebuild_meta_fingerprint (line 5633) | fn completed_lexical_rebuild_meta_fingerprint( function live_tantivy_doc_count (line 5643) | fn live_tantivy_doc_count(index_path: &Path) -> Result> { function validate_lexical_rebuild_shard_build_result (line 5658) | fn validate_lexical_rebuild_shard_build_result( function validate_complete_lexical_rebuild_shard_artifacts (line 5733) | fn validate_complete_lexical_rebuild_shard_artifacts( function pending_commit_landed (line 5796) | fn pending_commit_landed( function reconcile_pending_lexical_commit (line 5807) | fn reconcile_pending_lexical_commit( function prepare_lexical_rebuild_state_for_active_run (line 5832) | fn prepare_lexical_rebuild_state_for_active_run( function persist_lexical_rebuild_state_for_active_run_start (line 5848) | fn persist_lexical_rebuild_state_for_active_run_start( function normalize_lexical_rebuild_state_for_current_run (line 5855) | fn normalize_lexical_rebuild_state_for_current_run( function resolve_legacy_lexical_rebuild_conversation_id_from_offset (line 5873) | fn resolve_legacy_lexical_rebuild_conversation_id_from_offset( function upgrade_lexical_rebuild_state_resume_cursor_if_needed (line 5900) | fn upgrade_lexical_rebuild_state_resume_cursor_if_needed( function persist_pending_lexical_rebuild_progress_with_base_meta_fingerprint (line 5971) | fn persist_pending_lexical_rebuild_progress_with_base_meta_fingerprint( function persist_pending_lexical_rebuild_progress (line 6024) | fn persist_pending_lexical_rebuild_progress( function maybe_persist_staged_lexical_rebuild_progress (line 6044) | fn maybe_persist_staged_lexical_rebuild_progress( function lexical_rebuild_content_fingerprint_value (line 6092) | fn lexical_rebuild_content_fingerprint_value( function lexical_rebuild_deferred_content_fingerprint (line 6100) | fn lexical_rebuild_deferred_content_fingerprint(total_conversations: usi... function lexical_rebuild_content_fingerprint (line 6104) | fn lexical_rebuild_content_fingerprint( function lexical_rebuild_storage_fingerprint (line 6146) | fn lexical_rebuild_storage_fingerprint(db_path: &Path) -> Result { function count_total_conversations_exact (line 6159) | fn count_total_conversations_exact(storage: &FrankenStorage) -> Result i64 { function system_time_to_epoch_millis (line 6177) | fn system_time_to_epoch_millis(time: SystemTime) -> Option { function semantic_tier_for_embedder_id (line 6183) | fn semantic_tier_for_embedder_id(embedder_id: &str) -> Option String { function publish_direct_semantic_artifact (line 6210) | fn publish_direct_semantic_artifact( function count_total_messages_exact (line 6285) | fn count_total_messages_exact(storage: &FrankenStorage) -> Result { function max_conversation_id_exact (line 6297) | fn max_conversation_id_exact(storage: &FrankenStorage) -> Result ... function can_skip_absent_explicit_watch_once_index_run (line 6433) | fn can_skip_absent_explicit_watch_once_index_run(opts: &IndexOptions) ->... function current_searchable_index_summary_available (line 6471) | fn current_searchable_index_summary_available(index_path: &Path) -> bool { function should_skip_unchanged_explicit_watch_once_paths (line 6490) | fn should_skip_unchanged_explicit_watch_once_paths( function can_skip_unchanged_explicit_watch_once_index_run (line 6521) | fn can_skip_unchanged_explicit_watch_once_index_run( function should_skip_broad_scan_after_watch_once_authoritative_repair (line 6546) | fn should_skip_broad_scan_after_watch_once_authoritative_repair( function should_repair_fallback_fts_after_full_index_run (line 6558) | fn should_repair_fallback_fts_after_full_index_run( type FallbackFtsRepairOutcome (line 6566) | enum FallbackFtsRepairOutcome { type DailyStatsRepairOutcome (line 6572) | enum DailyStatsRepairOutcome { function repair_fallback_fts_after_full_index_run (line 6583) | fn repair_fallback_fts_after_full_index_run( function full_rebuild_requires_historical_restart (line 6643) | fn full_rebuild_requires_historical_restart( function lexical_rebuild_db_state_with_total_conversations (line 6655) | fn lexical_rebuild_db_state_with_total_conversations( function lexical_rebuild_db_state_from_storage_fingerprint (line 6687) | fn lexical_rebuild_db_state_from_storage_fingerprint( function lexical_rebuild_db_state_with_exact_totals (line 6701) | fn lexical_rebuild_db_state_with_exact_totals( function deferred_lexical_rebuild_db_state (line 6718) | fn deferred_lexical_rebuild_db_state( function lexical_rebuild_db_state (line 6733) | fn lexical_rebuild_db_state( type LexicalRebuildSnapshot (line 6742) | pub(crate) struct LexicalRebuildSnapshot { type LexicalRebuildCheckpoint (line 6755) | pub(crate) struct LexicalRebuildCheckpoint { constant LEXICAL_SHARD_PLAN_VERSION (line 6769) | const LEXICAL_SHARD_PLAN_VERSION: u8 = 1; type LexicalShardPlannerBudgets (line 6773) | pub(crate) struct LexicalShardPlannerBudgets { method normalized (line 6780) | fn normalized(self) -> Self { type LexicalShardPlannerConversation (line 6791) | pub(crate) struct LexicalShardPlannerConversation { type LexicalShardPlanShard (line 6799) | pub(crate) struct LexicalShardPlanShard { type LexicalShardPlan (line 6812) | pub(crate) struct LexicalShardPlan { constant LEXICAL_SHARD_UNKNOWN_MESSAGE_COUNT (line 6823) | const LEXICAL_SHARD_UNKNOWN_MESSAGE_COUNT: usize = usize::MAX; function lexical_shard_message_count_is_known (line 6825) | fn lexical_shard_message_count_is_known(message_count: usize) -> bool { function plan_lexical_rebuild_shards (line 6830) | pub(crate) fn plan_lexical_rebuild_shards( function lexical_shard_conversation_ids_fingerprint (line 6988) | fn lexical_shard_conversation_ids_fingerprint(conversation_ids: &[i64]) ... function lexical_shard_plan_id (line 6996) | fn lexical_shard_plan_id( function lexical_rebuild_target_shard_count (line 7028) | fn lexical_rebuild_target_shard_count( function lexical_rebuild_default_shard_budget (line 7039) | fn lexical_rebuild_default_shard_budget( function lexical_rebuild_default_shard_planner_budgets_for_totals (line 7053) | fn lexical_rebuild_default_shard_planner_budgets_for_totals( function lexical_rebuild_shard_planner_conversations_from_storage (line 7083) | fn lexical_rebuild_shard_planner_conversations_from_storage( function plan_lexical_rebuild_shards_from_storage_with_settings (line 7098) | fn plan_lexical_rebuild_shards_from_storage_with_settings( type LexicalRebuildPlannedShardCursor (line 7139) | struct LexicalRebuildPlannedShardCursor { method for_resume (line 7145) | fn for_resume( method current (line 7168) | fn current(&self) -> Option<&LexicalShardPlanShard> { method skip_completed (line 7172) | fn skip_completed(&mut self, last_conversation_id: i64) { method advance (line 7182) | fn advance(&mut self) { type LexicalRebuildShardBuilderSettings (line 7188) | struct LexicalRebuildShardBuilderSettings { function lexical_rebuild_default_staged_shard_builder_parallelism_for_workers (line 7193) | fn lexical_rebuild_default_staged_shard_builder_parallelism_for_workers(... function lexical_rebuild_staged_shard_builder_parallelism (line 7197) | fn lexical_rebuild_staged_shard_builder_parallelism() -> usize { function lexical_rebuild_default_staged_merge_worker_parallelism_for_workers (line 7213) | fn lexical_rebuild_default_staged_merge_worker_parallelism_for_workers(w... function lexical_rebuild_staged_merge_worker_parallelism (line 7219) | fn lexical_rebuild_staged_merge_worker_parallelism() -> usize { function lexical_rebuild_staged_shard_builder_settings (line 7234) | fn lexical_rebuild_staged_shard_builder_settings( function lexical_rebuild_staged_shard_builder_writer_parallelism_for_dispatch (line 7250) | fn lexical_rebuild_staged_shard_builder_writer_parallelism_for_dispatch( type LexicalRebuildShardMergeSettings (line 7271) | struct LexicalRebuildShardMergeSettings { function lexical_rebuild_staged_shard_merge_settings (line 7275) | fn lexical_rebuild_staged_shard_merge_settings( function load_lexical_rebuild_checkpoint (line 7289) | pub(crate) fn load_lexical_rebuild_checkpoint( function load_active_lexical_rebuild_pipeline_runtime (line 7314) | pub(crate) fn load_active_lexical_rebuild_pipeline_runtime( function lexical_storage_fingerprint_for_db (line 7333) | pub(crate) fn lexical_storage_fingerprint_for_db(db_path: &Path) -> Resu... function persist_completed_lexical_rebuild_checkpoint_from_observations (line 7337) | fn persist_completed_lexical_rebuild_checkpoint_from_observations( function refresh_completed_lexical_rebuild_checkpoint (line 7428) | fn refresh_completed_lexical_rebuild_checkpoint( function refresh_completed_lexical_rebuild_checkpoint_for_final_state (line 7452) | fn refresh_completed_lexical_rebuild_checkpoint_for_final_state( function persist_final_index_run_metadata (line 7516) | fn persist_final_index_run_metadata( function persist_final_index_run_metadata_with_writer (line 7556) | fn persist_final_index_run_metadata_with_writer( function load_lexical_rebuild_snapshot (line 7599) | pub(crate) fn load_lexical_rebuild_snapshot( function repair_daily_stats_if_drifted (line 7627) | fn repair_daily_stats_if_drifted( constant PACKET_DAILY_STATS_REBUILD_BATCH_SIZE (line 7689) | const PACKET_DAILY_STATS_REBUILD_BATCH_SIZE: i64 = 256; function packet_daily_stats_provenance (line 7691) | fn packet_daily_stats_provenance( function packet_daily_stats_message_count (line 7706) | fn packet_daily_stats_message_count(projections: &ConversationPacketSink... function packet_daily_stats_total_chars (line 7718) | fn packet_daily_stats_total_chars(projections: &ConversationPacketSinkPr... function packet_update_daily_stats_batched_in_tx (line 7722) | fn packet_update_daily_stats_batched_in_tx( function rebuild_daily_stats_from_conversation_packets (line 7756) | fn rebuild_daily_stats_from_conversation_packets( function should_repair_daily_stats_after_historical_salvage (line 7911) | fn should_repair_daily_stats_after_historical_salvage( type IndexMessage (line 7929) | pub enum IndexMessage { constant STREAMING_CHANNEL_SIZE (line 7961) | const STREAMING_CHANNEL_SIZE: usize = 32; type StreamingBatchLimits (line 7964) | struct StreamingBatchLimits { constant DEFAULT_STREAMING_BATCH_LIMITS (line 7970) | const DEFAULT_STREAMING_BATCH_LIMITS: StreamingBatchLimits = StreamingBa... constant STREAMING_MAX_BYTES_IN_FLIGHT (line 7980) | const STREAMING_MAX_BYTES_IN_FLIGHT: usize = type StreamingByteLimiterState (line 7984) | struct StreamingByteLimiterState { type StreamingByteLimiter (line 7990) | struct StreamingByteLimiter { method new (line 7997) | fn new(max_bytes_in_flight: usize) -> Self { method acquire (line 8009) | fn acquire(&self, requested_bytes: usize) -> Result { method acquire_with_wait (line 8014) | fn acquire_with_wait(&self, requested_bytes: usize) -> Result<(usize, ... method release (line 8046) | fn release(&self, reserved_bytes: usize) { method bytes_in_flight (line 8056) | fn bytes_in_flight(&self) -> usize { method update_max_bytes_in_flight (line 8063) | fn update_max_bytes_in_flight(&self, max_bytes_in_flight: usize) { method max_bytes_in_flight (line 8089) | fn max_bytes_in_flight(&self) -> usize { method close (line 8093) | fn close(&self) { type LexicalRebuildReservationOrderState (line 8101) | struct LexicalRebuildReservationOrderState { type LexicalRebuildReservationOrder (line 8107) | struct LexicalRebuildReservationOrder { method new (line 8113) | fn new() -> Self { method wait_for_turn (line 8123) | fn wait_for_turn(&self, sequence: u64) -> Result<()> { method finish_turn (line 8146) | fn finish_turn(&self, sequence: u64) { method close (line 8154) | fn close(&self) { function acquire_ordered_lexical_rebuild_page_budget (line 8161) | fn acquire_ordered_lexical_rebuild_page_budget( function conversation_batch_footprint (line 8180) | fn conversation_batch_footprint(conv: &NormalizedConversation) -> (usize... function next_streaming_batch (line 8187) | fn next_streaming_batch( type StreamingBatchSender (line 8217) | struct StreamingBatchSender<'a> { function remember_discovered_connector (line 8227) | fn remember_discovered_connector(discovered_names: &mut Vec, con... function new (line 8234) | fn new( function mark_next_batch_discovered (line 8251) | fn mark_next_batch_discovered(&mut self) { function push (line 8255) | fn push(&mut self, conversation: NormalizedConversation) -> Result<()> { function flush (line 8281) | fn flush(&mut self) -> Result<()> { function send_conversation_batches (line 8313) | fn send_conversation_batches( function streaming_index_enabled (line 8339) | pub fn streaming_index_enabled() -> bool { function panic_payload_message (line 8345) | fn panic_payload_message(payload: Box) -> String { type StreamingConsumerDisconnected (line 8356) | struct StreamingConsumerDisconnected { method fmt (line 8361) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function is_streaming_consumer_disconnected (line 8372) | fn is_streaming_consumer_disconnected(error: &anyhow::Error) -> bool { type StreamingProducerConfig (line 8379) | struct StreamingProducerConfig { function spawn_connector_producer (line 8393) | fn spawn_connector_producer( function streaming_consumer_commit_base_secs (line 8590) | fn streaming_consumer_commit_base_secs() -> u64 { function streaming_consumer_commit_interval (line 8603) | fn streaming_consumer_commit_interval() -> Duration { function streaming_combine_enabled (line 8618) | fn streaming_combine_enabled() -> bool { function streaming_combine_max_messages (line 8636) | fn streaming_combine_max_messages() -> usize { function streaming_combine_max_bytes (line 8650) | fn streaming_combine_max_bytes() -> usize { function run_streaming_consumer (line 8665) | fn run_streaming_consumer( function run_streaming_index (line 8990) | fn run_streaming_index( type ConnectorFactory (line 9011) | type ConnectorFactory = fn() -> Box; function configured_connector_factories (line 9013) | fn configured_connector_factories() -> Vec<(&'static str, ConnectorFacto... function filter_disabled_connector_factories (line 9017) | fn filter_disabled_connector_factories( function run_streaming_index_with_connector_factories (line 9055) | fn run_streaming_index_with_connector_factories( function run_batch_index (line 9198) | fn run_batch_index( function run_batch_index_with_connector_factories (line 9220) | fn run_batch_index_with_connector_factories( function run_index (line 9460) | pub fn run_index( function close_storage_after_index (line 10907) | fn close_storage_after_index(storage: FrankenStorage, db_path: &Path, co... function prepare_storage_for_final_checkpoint (line 10918) | fn prepare_storage_for_final_checkpoint(storage: &FrankenStorage, db_pat... function run_final_wal_checkpoint (line 10932) | fn run_final_wal_checkpoint(db_path: &Path, context: &str) -> Result<()> { function query_final_wal_checkpoint (line 10956) | fn query_final_wal_checkpoint( function restore_watch_steady_state_checkpoint_policy (line 11009) | fn restore_watch_steady_state_checkpoint_policy(storage: &FrankenStorage... function release_watch_storage_after_index (line 11015) | fn release_watch_storage_after_index( function semantic_role_name (line 11039) | fn semantic_role_name(role: u8) -> Option<&'static str> { type WatchSemanticDelta (line 11050) | struct WatchSemanticDelta { method extend_from_batch (line 11056) | fn extend_from_batch( function update_incremental_semantic_watermark (line 11071) | fn update_incremental_semantic_watermark( function embed_incremental_semantic_inputs (line 11085) | fn embed_incremental_semantic_inputs( function incremental_semantic_embed_from_delta (line 11107) | fn incremental_semantic_embed_from_delta( function incremental_semantic_embed (line 11137) | fn incremental_semantic_embed( function open_storage_for_index (line 11190) | fn open_storage_for_index( function migration_error_is_retryable_open_contention (line 11282) | fn migration_error_is_retryable_open_contention(err: &MigrationError) ->... function current_schema_fast_probe (line 11293) | fn current_schema_fast_probe(db_path: &Path) -> Result { function reopen_fresh_storage_for_full_rebuild (line 11317) | fn reopen_fresh_storage_for_full_rebuild( function quarantine_failed_seed_bundle (line 11355) | fn quarantine_failed_seed_bundle(db_path: &Path) -> Result usize { function prune_lexical_publish_backups (line 12846) | fn prune_lexical_publish_backups(index_path: &Path) -> Result<()> { function directory_size_bytes_best_effort (line 12939) | fn directory_size_bytes_best_effort(path: &Path) -> u64 { function lexical_publish_backups_dir (line 12958) | fn lexical_publish_backups_dir(index_path: &Path) -> PathBuf { function lexical_publish_in_progress_backup_path (line 12965) | fn lexical_publish_in_progress_backup_path(index_path: &Path) -> PathBuf { function unique_lexical_publish_backup_path (line 12973) | fn unique_lexical_publish_backup_path(index_path: &Path) -> PathBuf { function ensure_lexical_publish_backups_dir (line 12982) | fn ensure_lexical_publish_backups_dir(index_path: &Path) -> Result<()> { function recover_or_finalize_interrupted_lexical_publish_backup (line 12994) | fn recover_or_finalize_interrupted_lexical_publish_backup(index_path: &P... function path_to_cstring (line 13053) | fn path_to_cstring(path: &Path) -> Result { function atomic_exchange_paths (line 13063) | fn atomic_exchange_paths(left: &Path, right: &Path) -> Result<()> { type LexicalRebuildFinalMergeArtifact (line 13088) | struct LexicalRebuildFinalMergeArtifact { function finalize_staged_lexical_rebuild_publish_artifact (line 13099) | fn finalize_staged_lexical_rebuild_publish_artifact( function finalize_staged_lexical_rebuild_publish_artifact_from_artifacts (line 13130) | fn finalize_staged_lexical_rebuild_publish_artifact_from_artifacts( function merge_lexical_rebuild_shard_index_tree (line 13194) | fn merge_lexical_rebuild_shard_index_tree( function rebuild_tantivy_from_db_via_staged_shards (line 13298) | fn rebuild_tantivy_from_db_via_staged_shards( function rebuild_tantivy_from_db_with_options (line 14273) | fn rebuild_tantivy_from_db_with_options( function ingest_batch (line 15266) | fn ingest_batch( function ingest_batch_with_semantic_delta (line 15298) | fn ingest_batch_with_semantic_delta( function build_watch_roots (line 15345) | fn build_watch_roots(additional_scan_roots: Vec) -> Vec<(Conne... function watch_sources (line 15447) | fn watch_sources, &[(ConnectorKind, ScanRoot)], bool)... function reset_storage (line 15635) | fn reset_storage(storage: &FrankenStorage) -> Result<()> { function reindex_paths (line 15668) | fn reindex_paths( function reindex_paths_with_semantic_delta (line 15684) | fn reindex_paths_with_semantic_delta( function explicit_watch_once_root_unchanged_after_last_index (line 15948) | fn explicit_watch_once_root_unchanged_after_last_index( type ConnectorKind (line 15994) | enum ConnectorKind { method from_slug (line 15374) | fn from_slug(slug: &str) -> Option { method slug (line 15398) | fn slug(self) -> &'static str { method create_connector (line 15423) | fn create_connector(&self) -> Box { type WatchState (line 16035) | struct WatchState { function is_zero_u8 (line 16042) | fn is_zero_u8(value: &u8) -> bool { function state_path (line 16046) | fn state_path(data_dir: &Path) -> PathBuf { function load_watch_state (line 16050) | fn load_watch_state(data_dir: &Path) -> HashMap { function replace_file_from_temp (line 16066) | fn replace_file_from_temp(temp_path: &Path, final_path: &Path) -> Result... function unique_atomic_temp_path (line 16137) | fn unique_atomic_temp_path(path: &Path) -> PathBuf { function unique_replace_backup_path (line 16142) | fn unique_replace_backup_path(path: &Path) -> PathBuf { function unique_atomic_sidecar_path (line 16146) | fn unique_atomic_sidecar_path(path: &Path, suffix: &str, fallback_name: ... function unique_failed_seed_backup_root (line 16167) | fn unique_failed_seed_backup_root(backups_dir: &Path, db_name: &str) -> ... function save_watch_state (line 16183) | fn save_watch_state(data_dir: &Path, state: &HashMap... function set_progress_last_error (line 16205) | fn set_progress_last_error(progress: Option<&Arc>, err... function finalize_watch_reindex_result (line 16216) | fn finalize_watch_reindex_result( function finalize_watch_once_reindex_result (line 16238) | fn finalize_watch_once_reindex_result( function explicit_watch_once_connector_hint (line 16260) | fn explicit_watch_once_connector_hint(path: &Path) -> Option bool { function sync_sources_config_to_db (line 16360) | fn sync_sources_config_to_db(storage: &FrankenStorage) { function expand_local_scan_root_path (line 16422) | fn expand_local_scan_root_path(path: &str) -> PathBuf { function additional_scan_roots_for_scan_or_watch (line 16443) | fn additional_scan_roots_for_scan_or_watch( function build_scan_roots (line 16457) | pub fn build_scan_roots(storage: &FrankenStorage, data_dir: &Path) -> Ve... function inject_provenance (line 16656) | fn inject_provenance(conv: &mut NormalizedConversation, origin: &Origin) { function capture_connector_sources_before_parse (line 16680) | fn capture_connector_sources_before_parse( function capture_discovered_source_file_before_parse (line 16712) | fn capture_discovered_source_file_before_parse( function validate_discovered_source_path (line 16767) | fn validate_discovered_source_path( function discovered_source_path_has_symlink_component (line 16794) | fn discovered_source_path_has_symlink_component(scan_root: &Path, source... function path_component_is_symlink (line 16814) | fn path_component_is_symlink(path: &Path) -> bool { function path_has_no_relative_escape (line 16820) | fn path_has_no_relative_escape(path: &Path) -> bool { function capture_scan_sources_before_parse (line 16832) | fn capture_scan_sources_before_parse( function preparse_capture_roots (line 16843) | fn preparse_capture_roots(provider: &str, root: &ScanRoot, since_ts: Opt... function capture_scan_root_file_before_parse (line 16873) | fn capture_scan_root_file_before_parse(data_dir: &Path, provider: &str, ... function attach_raw_mirror_capture (line 16908) | fn attach_raw_mirror_capture(data_dir: &Path, conv: &mut NormalizedConve... function raw_mirror_db_link_for_conversation (line 16943) | fn raw_mirror_db_link_for_conversation( function raw_mirror_origin_from_metadata (line 16954) | fn raw_mirror_origin_from_metadata( function attach_raw_mirror_metadata (line 16985) | fn attach_raw_mirror_metadata( function compact_large_connector_extras (line 17019) | fn compact_large_connector_extras(connector_name: &str, conv: &mut Norma... function compact_large_connector_extras_for_size (line 17026) | fn compact_large_connector_extras_for_size( function should_compact_connector_extra (line 17040) | fn should_compact_connector_extra( function compact_indexer_message_extra (line 17055) | fn compact_indexer_message_extra(raw: &serde_json::Value) -> serde_json:... function apply_workspace_rewrite (line 17103) | pub fn apply_workspace_rewrite(conv: &mut NormalizedConversation, root: ... function lexical_packet_for_persist (line 17185) | fn lexical_packet_for_persist(conv: &NormalizedConversation) -> Conversa... function positional_indices_for_inserted (line 17196) | fn positional_indices_for_inserted( type PersistConversationPerfProfile (line 17219) | struct PersistConversationPerfProfile { method millis (line 17232) | fn millis(duration: Duration) -> f64 { method log_summary (line 17236) | fn log_summary(&self, label: &str) { type PersistBatchOutcome (line 17272) | pub(super) struct PersistBatchOutcome { method record_insert_outcome (line 17280) | fn record_insert_outcome(&mut self, outcome: &InsertOutcome) { method extend_semantic_delta (line 17289) | fn extend_semantic_delta( function load_inserted_message_ids_by_idx (line 17304) | fn load_inserted_message_ids_by_idx( function packet_semantic_delta_for_outcome (line 17336) | fn packet_semantic_delta_for_outcome( function raw_mirror_manifest_relative_path (line 17368) | fn raw_mirror_manifest_relative_path(conv: &NormalizedConversation) -> O... function persisted_raw_mirror_db_link (line 17378) | fn persisted_raw_mirror_db_link( function record_persisted_raw_mirror_db_link (line 17390) | fn record_persisted_raw_mirror_db_link( function record_persisted_raw_mirror_db_links (line 17414) | fn record_persisted_raw_mirror_db_links( function begin_concurrent_writes_enabled (line 17427) | fn begin_concurrent_writes_enabled() -> bool { constant BEGIN_CONCURRENT_RETRY_MAX (line 17446) | const BEGIN_CONCURRENT_RETRY_MAX: usize = 32; constant BEGIN_CONCURRENT_CHUNK_SIZE_MAX (line 17447) | const BEGIN_CONCURRENT_CHUNK_SIZE_MAX: usize = 512; constant BEGIN_CONCURRENT_WRITER_CACHE_KIB_MAX (line 17448) | const BEGIN_CONCURRENT_WRITER_CACHE_KIB_MAX: i64 = 65_536; function env_usize_bounded (line 17450) | fn env_usize_bounded(var: &str, default: usize, max: usize) -> usize { function env_i64_bounded (line 17467) | fn env_i64_bounded(var: &str, default: i64, max: i64) -> i64 { function begin_concurrent_retry_limit (line 17484) | pub(super) fn begin_concurrent_retry_limit() -> usize { function begin_concurrent_chunk_size (line 17492) | fn begin_concurrent_chunk_size() -> usize { function begin_concurrent_writer_cache_kib (line 17500) | fn begin_concurrent_writer_cache_kib() -> i64 { function serial_batch_chunk_size (line 17508) | fn serial_batch_chunk_size() -> usize { function index_writer_busy_timeout_ms (line 17516) | fn index_writer_busy_timeout_ms() -> u64 { function index_writer_wal_autocheckpoint_pages (line 17524) | fn index_writer_wal_autocheckpoint_pages(defer_checkpoints: bool) -> i64 { function defer_lexical_updates_enabled (line 17532) | fn defer_lexical_updates_enabled() -> bool { function apply_begin_concurrent_writer_tuning (line 17538) | fn apply_begin_concurrent_writer_tuning(storage: &FrankenStorage, defer_... function apply_index_writer_busy_timeout (line 17551) | pub(super) fn apply_index_writer_busy_timeout(storage: &FrankenStorage) { function apply_index_writer_checkpoint_policy (line 17568) | pub(super) fn apply_index_writer_checkpoint_policy( function with_ephemeral_writer (line 17588) | pub(super) fn with_ephemeral_writer( function transient_franken_error (line 17694) | fn transient_franken_error(err: &anyhow::Error) -> Option<&FrankenError> { function is_retryable_franken_error (line 17699) | fn is_retryable_franken_error(err: &anyhow::Error) -> bool { function with_concurrent_retry (line 17717) | pub(super) fn with_concurrent_retry(max_retries: usize, mut f: F) ... type ChunkPersistResult (line 17744) | enum ChunkPersistResult { function persist_chunk_with_writer (line 17753) | fn persist_chunk_with_writer( function persist_chunk_serial_fallback (line 17821) | fn persist_chunk_serial_fallback( function ordered_bail_serial_fallback (line 17885) | fn ordered_bail_serial_fallback( function duplicate_conversation_keys_present (line 17897) | fn duplicate_conversation_keys_present(convs: &[NormalizedConversation])... function persist_conversations_batched_begin_concurrent (line 17926) | fn persist_conversations_batched_begin_concurrent( function extract_provenance (line 18139) | fn extract_provenance(metadata: &serde_json::Value) -> (String, Option Conversation { function persist_conversation (line 18244) | pub fn persist_conversation( function persist_conversation_with_profile (line 18294) | fn persist_conversation_with_profile( function persist_conversations_batched (line 18363) | pub(super) fn persist_conversations_batched( function persist_conversations_batched_with_raw_mirror_links (line 18381) | pub(super) fn persist_conversations_batched_with_raw_mirror_links( function persist_conversations_batched_with_semantic_delta_and_raw_mirror_links (line 18400) | pub(super) fn persist_conversations_batched_with_semantic_delta_and_raw_... function persist_conversations_batched_inner (line 18419) | fn persist_conversations_batched_inner( function map_role (line 18608) | fn map_role(role: &str) -> MessageRole { type EnvGuard (line 18631) | struct EnvGuard { method drop (line 18638) | fn drop(&mut self) { function acquire_env_lock (line 18658) | fn acquire_env_lock() -> Option> { function set_env (line 18670) | fn set_env(key: &'static str, value: &str) -> EnvGuard { function begin_concurrent_flag_parsing (line 18685) | fn begin_concurrent_flag_parsing() { function begin_concurrent_chunk_size_parsing (line 18691) | fn begin_concurrent_chunk_size_parsing() { function begin_concurrent_retry_limit_parsing (line 18697) | fn begin_concurrent_retry_limit_parsing() { function begin_concurrent_writer_cache_parsing (line 18703) | fn begin_concurrent_writer_cache_parsing() { function begin_concurrent_writer_cache_invalid_defaults (line 18709) | fn begin_concurrent_writer_cache_invalid_defaults() { function begin_concurrent_knobs_are_clamped_to_safe_caps (line 18715) | fn begin_concurrent_knobs_are_clamped_to_safe_caps() { function wal_autocheckpoint_defaults_follow_bulk_import_mode (line 18751) | fn wal_autocheckpoint_defaults_follow_bulk_import_mode() { function defer_lexical_updates_flag_parsing (line 18758) | fn defer_lexical_updates_flag_parsing() { function retryable_franken_errors_are_detected (line 18764) | fn retryable_franken_errors_are_detected() { function create_franken_db (line 18775) | fn create_franken_db(path: &std::path::Path) -> FrankenStorage { function lexical_rebuild_content_fingerprint_uses_table_max_ids (line 18782) | fn lexical_rebuild_content_fingerprint_uses_table_max_ids() { function tantivy_doc_count (line 18826) | fn tantivy_doc_count(index: &mut crate::search::tantivy::TantivyIndex) -... function packet_semantic_delta_for_outcome_replays_persisted_canonical_state (line 18834) | fn packet_semantic_delta_for_outcome_replays_persisted_canonical_state() { function apply_index_writer_checkpoint_policy_round_trips_pragma (line 18964) | fn apply_index_writer_checkpoint_policy_round_trips_pragma() { function with_ephemeral_writer_marks_preflight_verified_after_first_success (line 18985) | fn with_ephemeral_writer_marks_preflight_verified_after_first_success() { function with_ephemeral_writer_reuses_cached_connection_when_idle (line 19004) | fn with_ephemeral_writer_reuses_cached_connection_when_idle() { function begin_concurrent_persist_writes_all_conversations (line 19034) | fn begin_concurrent_persist_writes_all_conversations() { function begin_concurrent_single_conversation_works (line 19150) | fn begin_concurrent_single_conversation_works() { function persist_conversations_batched_can_defer_inline_lexical_updates (line 19214) | fn persist_conversations_batched_can_defer_inline_lexical_updates() { function begin_concurrent_persist_can_defer_inline_lexical_updates (line 19287) | fn begin_concurrent_persist_can_defer_inline_lexical_updates() { function lexical_population_strategy_prefers_single_authoritative_pass (line 19365) | fn lexical_population_strategy_prefers_single_authoritative_pass() { function lexical_population_strategy_reason_covers_full_stale_salvage_and_incremental_modes (line 19385) | fn lexical_population_strategy_reason_covers_full_stale_salvage_and_incr... function incremental_canonical_lexical_repair_short_circuits_when_full_or_force_paths_apply (line 19417) | fn incremental_canonical_lexical_repair_short_circuits_when_full_or_forc... function incremental_canonical_lexical_repair_plan_prefers_authoritative_db_for_invalid_tantivy (line 19473) | fn incremental_canonical_lexical_repair_plan_prefers_authoritative_db_fo... function incremental_canonical_lexical_repair_plan_prefers_authoritative_db_for_sparse_tantivy (line 19497) | fn incremental_canonical_lexical_repair_plan_prefers_authoritative_db_fo... function incremental_canonical_lexical_repair_progress_records_authoritative_repair_stats (line 19520) | fn incremental_canonical_lexical_repair_progress_records_authoritative_r... function incremental_canonical_lexical_repair_plan_stays_incremental_when_tantivy_covers_db (line 19563) | fn incremental_canonical_lexical_repair_plan_stays_incremental_when_tant... function persist_conversations_batched_falls_back_for_duplicate_keys (line 19583) | fn persist_conversations_batched_falls_back_for_duplicate_keys() { function persist_conversations_batched_parallel_pre_map_preserves_content_and_order (line 19705) | fn persist_conversations_batched_parallel_pre_map_preserves_content_and_... function persist_conversations_batched_parallel_pre_map_preserves_content_in_begin_concurrent_path (line 19816) | fn persist_conversations_batched_parallel_pre_map_preserves_content_in_b... function parallel_wal_shadow_observer_does_not_change_persisted_state (line 19905) | fn parallel_wal_shadow_observer_does_not_change_persisted_state() { function parallel_wal_shadow_observer_emits_chunk_telemetry (line 19994) | fn parallel_wal_shadow_observer_emits_chunk_telemetry() { function persist_conversations_batched_registers_missing_remote_source_in_serial_path (line 20054) | fn persist_conversations_batched_registers_missing_remote_source_in_seri... function persist_conversations_batched_registers_missing_remote_source_in_begin_concurrent_path (line 20124) | fn persist_conversations_batched_registers_missing_remote_source_in_begi... function persist_conversations_batched_reuses_auto_registered_remote_source_across_serial_runs (line 20199) | fn persist_conversations_batched_reuses_auto_registered_remote_source_ac... function persist_conversations_batched_reuses_auto_registered_remote_source_across_begin_concurrent_runs (line 20326) | fn persist_conversations_batched_reuses_auto_registered_remote_source_ac... function persist_conversation_registers_missing_remote_source (line 20454) | fn persist_conversation_registers_missing_remote_source() { function persist_conversation_host_only_remote_source_infers_source_id_from_host (line 20518) | fn persist_conversation_host_only_remote_source_infers_source_id_from_ho... function make_profiled_remote_conversation (line 20578) | fn make_profiled_remote_conversation( function persist_conversation_stage_profile_tracks_steady_state_remote_reuse (line 20619) | fn persist_conversation_stage_profile_tracks_steady_state_remote_reuse() { function duplicate_conversation_keys_present_for_shared_source_path_without_external_id (line 20673) | fn duplicate_conversation_keys_present_for_shared_source_path_without_ex... function begin_concurrent_disabled_falls_through_to_default (line 20723) | fn begin_concurrent_disabled_falls_through_to_default() { function positional_indices_for_inserted_maps_idx_values_to_packet_positions (line 20744) | fn positional_indices_for_inserted_maps_idx_values_to_packet_positions() { function raw_mirror_capture_attaches_conversation_metadata_before_persist (line 20868) | fn raw_mirror_capture_attaches_conversation_metadata_before_persist() { function raw_mirror_capture_handles_explicit_file_root_before_parse (line 20942) | fn raw_mirror_capture_handles_explicit_file_root_before_parse() { function raw_mirror_capture_expands_codex_directory_root_before_parse (line 20973) | fn raw_mirror_capture_expands_codex_directory_root_before_parse() { type FailingDiscoveryConnector (line 21042) | struct FailingDiscoveryConnector { method detect (line 21047) | fn detect(&self) -> DetectionResult { method scan (line 21051) | fn scan( method discover_source_files (line 21060) | fn discover_source_files( function discovered_test_source (line 21068) | fn discovered_test_source( function raw_mirror_manifest_values (line 21077) | fn raw_mirror_manifest_values(data_dir: &Path) -> Vec { function raw_mirror_capture_uses_discovered_sources_before_parser_failure (line 21103) | fn raw_mirror_capture_uses_discovered_sources_before_parser_failure() { function raw_mirror_capture_rejects_relative_discovered_source_paths (line 21160) | fn raw_mirror_capture_rejects_relative_discovered_source_paths() { function raw_mirror_capture_rejects_discovered_sources_that_escape_scan_root (line 21194) | fn raw_mirror_capture_rejects_discovered_sources_that_escape_scan_root() { function raw_mirror_capture_handles_deleted_after_discovery_source_without_manifest (line 21241) | fn raw_mirror_capture_handles_deleted_after_discovery_source_without_man... function raw_mirror_capture_deduplicates_duplicate_discovered_sources_and_keeps_multi_file_set (line 21268) | fn raw_mirror_capture_deduplicates_duplicate_discovered_sources_and_keep... function raw_mirror_capture_rejects_discovered_symlink_source_without_manifest (line 21334) | fn raw_mirror_capture_rejects_discovered_symlink_source_without_manifest... function raw_mirror_capture_rejects_discovered_source_under_symlink_parent (line 21369) | fn raw_mirror_capture_rejects_discovered_source_under_symlink_parent() { function raw_mirror_capture_enriches_preparse_manifest_after_successful_parse (line 21406) | fn raw_mirror_capture_enriches_preparse_manifest_after_successful_parse() { function ingest_batch_records_persisted_raw_mirror_conversation_id_link (line 21461) | fn ingest_batch_records_persisted_raw_mirror_conversation_id_link() { function batch_index_captures_explicit_file_root_before_failed_scan (line 21544) | fn batch_index_captures_explicit_file_root_before_failed_scan() { function semantic_tier_for_embedder_id_maps_known_ids (line 21616) | fn semantic_tier_for_embedder_id_maps_known_ids() { function semantic_model_revision_for_embedder_id_known_ids (line 21632) | fn semantic_model_revision_for_embedder_id_known_ids() { function staged_field_or_null_emits_null_outside_rebuild (line 21650) | fn staged_field_or_null_emits_null_outside_rebuild() { type EnvGuard (line 21664) | struct EnvGuard { method drop (line 21670) | fn drop(&mut self) { function set_env_var (line 21685) | fn set_env_var(key: &'static str, value: impl AsRef) -> EnvGuard { function unset_env_var (line 21694) | fn unset_env_var(key: &'static str) -> EnvGuard { function ignore_sources_config (line 21703) | fn ignore_sources_config() -> EnvGuard { function never_constructed_connector_factory (line 21713) | fn never_constructed_connector_factory() -> Box { function set_env (line 21717) | fn set_env(key: &'static str, value: &str) -> EnvGuard { function heartbeat_index_run_lock_refreshes_updated_at_without_touching_identity_fields (line 21727) | fn heartbeat_index_run_lock_refreshes_updated_at_without_touching_identi... function heartbeat_index_run_lock_surfaces_in_place_open_errors (line 21769) | fn heartbeat_index_run_lock_surfaces_in_place_open_errors() { function heartbeat_index_run_lock_preserves_lock_file_inode (line 21787) | fn heartbeat_index_run_lock_preserves_lock_file_inode() { function heartbeat_index_run_lock_waits_for_shared_metadata_write_lock (line 21811) | fn heartbeat_index_run_lock_waits_for_shared_metadata_write_lock() { type LogBuffer (line 21851) | struct LogBuffer(std::sync::Arc>>); method write (line 21854) | fn write(&mut self, buf: &[u8]) -> std::io::Result { method flush (line 21862) | fn flush(&mut self) -> std::io::Result<()> { function capture_logs (line 21867) | fn capture_logs(f: F) -> String { function ensure_fts_schema (line 21883) | fn ensure_fts_schema(storage: &FrankenStorage) { function norm_msg (line 21918) | fn norm_msg(idx: i64, created_at: i64) -> NormalizedMessage { function norm_conv (line 21931) | fn norm_conv( function seed_lexical_rebuild_fixture (line 21948) | fn seed_lexical_rebuild_fixture(storage: &FrankenStorage) { function lexical_rebuild_packet_matches_canonical_and_normalized_semantics_for_host_only_remote (line 22005) | fn lexical_rebuild_packet_matches_canonical_and_normalized_semantics_for... function lexical_rebuild_packet_empty_conversation_has_zero_budget_and_no_docs (line 22152) | fn lexical_rebuild_packet_empty_conversation_has_zero_budget_and_no_docs... function lexical_rebuild_packet_missing_conversation_id_is_explicit_and_non_indexable (line 22178) | fn lexical_rebuild_packet_missing_conversation_id_is_explicit_and_non_in... function lexical_rebuild_packet_large_payload_budget_is_exact_and_preserves_doc_fallbacks (line 22212) | fn lexical_rebuild_packet_large_payload_budget_is_exact_and_preserves_do... function prepare_lexical_rebuild_packet_batch_preserves_order_and_parallel_equivalence (line 22259) | fn prepare_lexical_rebuild_packet_batch_preserves_order_and_parallel_equ... function lexical_rebuild_test_source_map (line 22380) | fn lexical_rebuild_test_source_map( function legacy_offset_lexical_rebuild_packets (line 22391) | fn legacy_offset_lexical_rebuild_packets( function keyset_batched_lexical_rebuild_packets (line 22437) | fn keyset_batched_lexical_rebuild_packets( type LexicalRebuildEquivalenceEvidence (line 22490) | struct LexicalRebuildEquivalenceEvidence { function lexical_rebuild_packet_artifact (line 22496) | fn lexical_rebuild_packet_artifact( function stable_json_digest (line 22552) | fn stable_json_digest(value: &serde_json::Value) -> String { function lexical_rebuild_golden_query_digest (line 22557) | fn lexical_rebuild_golden_query_digest(packets: &[LexicalRebuildConversa... function lexical_rebuild_equivalence_evidence (line 22598) | fn lexical_rebuild_equivalence_evidence( function keyset_batched_lexical_rebuild_matches_legacy_offset_replay_evidence (line 22613) | fn keyset_batched_lexical_rebuild_matches_legacy_offset_replay_evidence() { function assign_lexical_rebuild_flow_reservation_bytes_preserves_exact_total (line 22650) | fn assign_lexical_rebuild_flow_reservation_bytes_preserves_exact_total() { function flush_streamed_lexical_rebuild_batch_releases_flow_reservation_bytes (line 22703) | fn flush_streamed_lexical_rebuild_batch_releases_flow_reservation_bytes() { function flush_streamed_lexical_rebuild_batch_for_planned_shard_boundary_flushes_even_below_batch_limit (line 22802) | fn flush_streamed_lexical_rebuild_batch_for_planned_shard_boundary_flush... function lexical_rebuild_shard_indices_can_be_built_and_merged_from_packet_batches (line 22911) | fn lexical_rebuild_shard_indices_can_be_built_and_merged_from_packet_bat... function lexical_rebuild_validates_built_shard_before_merge_frontier (line 22987) | fn lexical_rebuild_validates_built_shard_before_merge_frontier() { function lexical_rebuild_rejects_shard_doc_count_mismatch_before_merge_frontier (line 23066) | fn lexical_rebuild_rejects_shard_doc_count_mismatch_before_merge_frontie... function shard_validate_tolerates_filter_induced_doc_lt_message_count_gap (line 23142) | fn shard_validate_tolerates_filter_induced_doc_lt_message_count_gap() { function shard_validate_rejects_doc_count_exceeding_shard_plan_message_count (line 23246) | fn shard_validate_rejects_doc_count_exceeding_shard_plan_message_count() { function lexical_rebuild_shard_index_tree_merges_multiple_rounds (line 23319) | fn lexical_rebuild_shard_index_tree_merges_multiple_rounds() { function finalize_staged_lexical_rebuild_publish_artifact_reuses_single_input_without_remerge (line 23394) | fn finalize_staged_lexical_rebuild_publish_artifact_reuses_single_input_... function finalize_staged_lexical_rebuild_publish_artifact_publishes_federated_multi_input_frontier_without_doc_remerge (line 23456) | fn finalize_staged_lexical_rebuild_publish_artifact_publishes_federated_... function merge_lexical_rebuild_shard_index_tree_merges_small_frontier_without_round_directory (line 23548) | fn merge_lexical_rebuild_shard_index_tree_merges_small_frontier_without_... function reduce_staged_lexical_final_merge_frontier_via_workers_reduces_large_frontier_to_single_artifact (line 23622) | fn reduce_staged_lexical_final_merge_frontier_via_workers_reduces_large_... function lexical_rebuild_eager_merge_coordinator_reduces_full_groups_before_final_merge (line 23724) | fn lexical_rebuild_eager_merge_coordinator_reduces_full_groups_before_fi... function lexical_rebuild_staged_merge_controller_trickles_under_builder_pressure (line 23870) | fn lexical_rebuild_staged_merge_controller_trickles_under_builder_pressu... function lexical_rebuild_staged_merge_controller_spends_debt_budget_under_page_prep_saturation (line 23914) | fn lexical_rebuild_staged_merge_controller_spends_debt_budget_under_page... function lexical_rebuild_staged_merge_controller_scales_under_large_merge_debt (line 23955) | fn lexical_rebuild_staged_merge_controller_scales_under_large_merge_debt... function lexical_rebuild_staged_merge_controller_keeps_debt_budget_monotonic_with_more_workers (line 23997) | fn lexical_rebuild_staged_merge_controller_keeps_debt_budget_monotonic_w... function lexical_rebuild_staged_merge_controller_restores_parallelism_after_producer_finishes (line 24039) | fn lexical_rebuild_staged_merge_controller_restores_parallelism_after_pr... function lexical_rebuild_staged_shard_build_controller_borrows_idle_merge_budget (line 24079) | fn lexical_rebuild_staged_shard_build_controller_borrows_idle_merge_budg... function lexical_rebuild_staged_shard_build_controller_reserves_slots_for_merge_backlog (line 24104) | fn lexical_rebuild_staged_shard_build_controller_reserves_slots_for_merg... function lexical_rebuild_pipeline_settings_snapshot_honors_env_overrides (line 24130) | fn lexical_rebuild_pipeline_settings_snapshot_honors_env_overrides() { function lexical_rebuild_pipeline_settings_snapshot_disables_global_controller (line 24217) | fn lexical_rebuild_pipeline_settings_snapshot_disables_global_controller... function lexical_rebuild_default_worker_parallelism_reserves_machine_headroom (line 24233) | fn lexical_rebuild_default_worker_parallelism_reserves_machine_headroom() { function lexical_rebuild_default_batch_fetch_conversation_limit_scales_with_writer_parallelism (line 24262) | fn lexical_rebuild_default_batch_fetch_conversation_limit_scales_with_wr... function lexical_rebuild_default_staged_merge_worker_parallelism_tracks_quarter_budget (line 24286) | fn lexical_rebuild_default_staged_merge_worker_parallelism_tracks_quarte... function lexical_rebuild_final_frontier_reduction_only_runs_above_federated_publish_cap (line 24314) | fn lexical_rebuild_final_frontier_reduction_only_runs_above_federated_pu... function staged_merge_controller_skips_finished_tail_merges_within_federated_publish_cap (line 24328) | fn staged_merge_controller_skips_finished_tail_merges_within_federated_p... function lexical_rebuild_default_staged_shard_builder_parallelism_uses_bounded_builder_farm (line 24371) | fn lexical_rebuild_default_staged_shard_builder_parallelism_uses_bounded... function lexical_rebuild_staged_shard_builder_settings_preserve_total_writer_budget (line 24391) | fn lexical_rebuild_staged_shard_builder_settings_preserve_total_writer_b... function lexical_rebuild_staged_shard_builder_dispatch_writer_parallelism_rebalances_budget (line 24447) | fn lexical_rebuild_staged_shard_builder_dispatch_writer_parallelism_reba... function lexical_shard_plan_is_deterministic_across_input_order (line 24465) | fn lexical_shard_plan_is_deterministic_across_input_order() { function lexical_shard_plan_id_changes_when_sparse_assignments_change (line 24502) | fn lexical_shard_plan_id_changes_when_sparse_assignments_change() { function lexical_shard_plan_isolates_oversized_single_conversation (line 24569) | fn lexical_shard_plan_isolates_oversized_single_conversation() { function lexical_rebuild_target_shard_count_scales_with_parallelism (line 24607) | fn lexical_rebuild_target_shard_count_scales_with_parallelism() { function lexical_rebuild_default_shard_budget_respects_parallel_targets_and_caps (line 24615) | fn lexical_rebuild_default_shard_budget_respects_parallel_targets_and_ca... function lexical_rebuild_shard_planner_conversations_from_storage_uses_estimated_byte_footprints (line 24631) | fn lexical_rebuild_shard_planner_conversations_from_storage_uses_estimat... function lexical_rebuild_shard_plan_from_storage_uses_message_footprints (line 24740) | fn lexical_rebuild_shard_plan_from_storage_uses_message_footprints() { function lexical_rebuild_default_page_prep_worker_parallelism_stays_bounded_without_channel_cap (line 24845) | fn lexical_rebuild_default_page_prep_worker_parallelism_stays_bounded_wi... function lexical_rebuild_pipeline_settings_snapshot_defaults_page_prep_workers_from_worker_budget (line 24884) | fn lexical_rebuild_pipeline_settings_snapshot_defaults_page_prep_workers... function lexical_rebuild_pipeline_settings_snapshot_defaults_channel_to_measured_handoff_depth (line 24905) | fn lexical_rebuild_pipeline_settings_snapshot_defaults_channel_to_measur... function lexical_rebuild_staged_shard_merge_settings_scales_with_eager_group_count (line 24926) | fn lexical_rebuild_staged_shard_merge_settings_scales_with_eager_group_c... function lexical_rebuild_first_budget_promotion_wait_defaults_to_short_bounded_wait (line 24979) | fn lexical_rebuild_first_budget_promotion_wait_defaults_to_short_bounded... function lexical_rebuild_responsiveness_controller_demotes_and_restores_with_hysteresis (line 24990) | fn lexical_rebuild_responsiveness_controller_demotes_and_restores_with_h... function lexical_rebuild_responsiveness_controller_demotes_on_new_handoff_wait_delta (line 25043) | fn lexical_rebuild_responsiveness_controller_demotes_on_new_handoff_wait... function lexical_rebuild_responsiveness_controller_honors_pinned_conservative_mode (line 25097) | fn lexical_rebuild_responsiveness_controller_honors_pinned_conservative_... function lexical_rebuild_budget_transition_updates_active_commit_cadence (line 25125) | fn lexical_rebuild_budget_transition_updates_active_commit_cadence() { function parse_lexical_rebuild_loadavg_1m_milli_reads_first_field (line 25182) | fn parse_lexical_rebuild_loadavg_1m_milli_reads_first_field() { function lexical_rebuild_responsiveness_controller_demotes_and_restores_on_host_loadavg_pressure (line 25191) | fn lexical_rebuild_responsiveness_controller_demotes_and_restores_on_hos... function lexical_rebuild_packet_producer_builds_lookup_and_source_context_internally (line 25240) | fn lexical_rebuild_packet_producer_builds_lookup_and_source_context_inte... function lexical_rebuild_producer_startup_delivers_first_batch_quickly (line 25356) | fn lexical_rebuild_producer_startup_delivers_first_batch_quickly() { function lexical_rebuild_packet_producer_releases_budget_when_consumer_disconnects (line 25454) | fn lexical_rebuild_packet_producer_releases_budget_when_consumer_disconn... function lexical_rebuild_packet_producer_records_handoff_wait_under_sustained_burst (line 25492) | fn lexical_rebuild_packet_producer_records_handoff_wait_under_sustained_... function lexical_rebuild_packet_producer_respects_planned_shard_boundaries (line 25646) | fn lexical_rebuild_packet_producer_respects_planned_shard_boundaries() { function lexical_rebuild_packet_producer_preserves_order_across_parallel_page_prep_workers (line 25824) | fn lexical_rebuild_packet_producer_preserves_order_across_parallel_page_... function tantivy_doc_count_for_data_dir (line 25962) | fn tantivy_doc_count_for_data_dir(data_dir: &Path) -> u64 { function token_usage_extra (line 25970) | fn token_usage_extra(input_tokens: i64, output_tokens: i64) -> serde_jso... function large_startup_conv (line 25985) | fn large_startup_conv( function send_done (line 26035) | fn send_done(tx: &Sender, connector_name: &'static str, is... type DeferredBatchConnector (line 26044) | struct DeferredBatchConnector; method detect (line 26047) | fn detect(&self) -> DetectionResult { method scan (line 26055) | fn scan( method scan_with_callback (line 26068) | fn scan_with_callback( function deferred_batch_connector_factory (line 26080) | fn deferred_batch_connector_factory() -> Box { type FailingExplicitFileRootConnector (line 26086) | struct FailingExplicitFileRootConnector; method detect (line 26089) | fn detect(&self) -> DetectionResult { method scan (line 26102) | fn scan( function failing_explicit_file_root_connector_factory (line 26112) | fn failing_explicit_file_root_connector_factory() -> Box DetectionResult { method scan (line 26127) | fn scan( method scan_with_callback (line 26134) | fn scan_with_callback( function detected_remote_failure_connector_factory (line 26147) | fn detected_remote_failure_connector_factory() -> Box DetectionResult { method scan (line 26162) | fn scan( method scan_with_callback (line 26169) | fn scan_with_callback( function panic_connector_factory (line 26178) | fn panic_connector_factory() -> Box { type DisconnectAwareConnector (line 26184) | struct DisconnectAwareConnector; method detect (line 26187) | fn detect(&self) -> DetectionResult { method scan (line 26195) | fn scan( method scan_with_callback (line 26202) | fn scan_with_callback( function disconnect_aware_connector_factory (line 26231) | fn disconnect_aware_connector_factory() -> Box { function next_streaming_batch_splits_large_message_batches (line 26236) | fn next_streaming_batch_splits_large_message_batches() { function next_streaming_batch_keeps_single_oversized_conversation_isolated (line 26282) | fn next_streaming_batch_keeps_single_oversized_conversation_isolated() { function streaming_batch_sender_flushes_single_oversized_conversation_immediately (line 26313) | fn streaming_batch_sender_flushes_single_oversized_conversation_immediat... function streaming_byte_limiter_blocks_until_capacity_is_released (line 26366) | fn streaming_byte_limiter_blocks_until_capacity_is_released() { function streaming_byte_limiter_close_wakes_waiters (line 26393) | fn streaming_byte_limiter_close_wakes_waiters() { function streaming_byte_limiter_update_max_bytes_in_flight_wakes_waiters (line 26424) | fn streaming_byte_limiter_update_max_bytes_in_flight_wakes_waiters() { function lexical_rebuild_reservation_order_keeps_later_pages_from_spending_budget_first (line 26453) | fn lexical_rebuild_reservation_order_keeps_later_pages_from_spending_bud... function streaming_byte_limiter_update_does_not_lose_wakeup_under_repeated_shrink_grow (line 26518) | fn streaming_byte_limiter_update_does_not_lose_wakeup_under_repeated_shr... function streaming_byte_limiter_acquire_with_wait_reports_capacity_stall (line 26556) | fn streaming_byte_limiter_acquire_with_wait_reports_capacity_stall() { function lexical_rebuild_pipeline_runtime_snapshot_observes_stall_only_telemetry (line 26575) | fn lexical_rebuild_pipeline_runtime_snapshot_observes_stall_only_telemet... function send_conversation_batches_marks_only_first_batch_as_discovered (line 26591) | fn send_conversation_batches_marks_only_first_batch_as_discovered() { function snapshot_json_phase_label_matches_phase_code_sample (line 26644) | fn snapshot_json_phase_label_matches_phase_code_sample() { function snapshot_json_includes_rebuild_pipeline_runtime_metrics (line 26654) | fn snapshot_json_includes_rebuild_pipeline_runtime_metrics() { function streaming_consumer_preserves_discovered_connector_with_no_batches (line 26853) | fn streaming_consumer_preserves_discovered_connector_with_no_batches() { function streaming_consumer_can_defer_authoritative_lexical_updates_without_tantivy_writer (line 26895) | fn streaming_consumer_can_defer_authoritative_lexical_updates_without_ta... function streaming_consumer_handles_mixed_startup_batches_with_watch_checkpoint_policy (line 26963) | fn streaming_consumer_handles_mixed_startup_batches_with_watch_checkpoin... function ingest_batch_applies_checkpoint_policy_for_serial_writer_path (line 27062) | fn ingest_batch_applies_checkpoint_policy_for_serial_writer_path() { function restore_watch_steady_state_checkpoint_policy_only_reenables_autocheckpoint_for_live_watch (line 27109) | fn restore_watch_steady_state_checkpoint_policy_only_reenables_autocheck... function final_index_close_restores_checkpoint_policy_after_deferred_bulk_ingest (line 27135) | fn final_index_close_restores_checkpoint_policy_after_deferred_bulk_inge... function close_storage_after_index_checkpointing_close_does_not_leave_backfillable_wal_frames (line 27159) | fn close_storage_after_index_checkpointing_close_does_not_leave_backfill... function flat_combine_preserves_order_and_counts (line 27198) | fn flat_combine_preserves_order_and_counts() { function flat_combine_disabled_produces_identical_db_state_as_combine_enabled (line 27314) | fn flat_combine_disabled_produces_identical_db_state_as_combine_enabled() { function flat_combine_disabled_leaves_per_message_path_untouched (line 27401) | fn flat_combine_disabled_leaves_per_message_path_untouched() { function flat_combine_single_producer_skips_drain (line 27446) | fn flat_combine_single_producer_skips_drain() { function streaming_combine_env_respects_truthy_parsing (line 27491) | fn streaming_combine_env_respects_truthy_parsing() { function streaming_combine_max_messages_clamps_to_valid_range (line 27545) | fn streaming_combine_max_messages_clamps_to_valid_range() { function streaming_producer_records_remote_scan_errors_in_connector_stats (line 27580) | fn streaming_producer_records_remote_scan_errors_in_connector_stats() { function streaming_index_fails_closed_when_producer_panics (line 27640) | fn streaming_index_fails_closed_when_producer_panics() { function batch_index_can_defer_authoritative_lexical_updates_without_tantivy_writer (line 27696) | fn batch_index_can_defer_authoritative_lexical_updates_without_tantivy_w... function streaming_producer_stops_after_consumer_disconnect (line 27761) | fn streaming_producer_stops_after_consumer_disconnect() { function db_id_conversion_helpers_handle_invalid_ranges (line 27806) | fn db_id_conversion_helpers_handle_invalid_ranges() { function open_storage_for_index_recovers_from_newer_schema (line 27820) | fn open_storage_for_index_recovers_from_newer_schema() { function full_rebuild_open_failure_gate_refuses_retryable_contention (line 27866) | fn full_rebuild_open_failure_gate_refuses_retryable_contention() { function full_rebuild_open_failure_gate_allows_non_retryable_recovery_errors (line 27893) | fn full_rebuild_open_failure_gate_allows_non_retryable_recovery_errors() { function current_schema_fast_probe_accepts_current_schema (line 27915) | fn current_schema_fast_probe_accepts_current_schema() { function current_schema_fast_probe_rejects_future_schema_marker (line 27930) | fn current_schema_fast_probe_rejects_future_schema_marker() { function open_storage_for_index_fast_current_schema_path_preserves_transition_state (line 27951) | fn open_storage_for_index_fast_current_schema_path_preserves_transition_... function reset_storage_clears_data_but_leaves_meta (line 27982) | fn reset_storage_clears_data_but_leaves_meta() { function repair_daily_stats_if_drifted_rebuilds_materialized_totals (line 28112) | fn repair_daily_stats_if_drifted_rebuilds_materialized_totals() { function repair_daily_stats_if_drifted_packet_rebuild_matches_legacy_storage_rebuild (line 28181) | fn repair_daily_stats_if_drifted_packet_rebuild_matches_legacy_storage_r... function repair_daily_stats_if_drifted_skips_known_healthy_archive_fingerprint (line 28344) | fn repair_daily_stats_if_drifted_skips_known_healthy_archive_fingerprint... function daily_stats_repair_after_historical_salvage_avoids_duplicate_plain_full_probe (line 28400) | fn daily_stats_repair_after_historical_salvage_avoids_duplicate_plain_fu... function historical_salvage_decision_skips_populated_canonical_db (line 28420) | fn historical_salvage_decision_skips_populated_canonical_db() { function historical_salvage_decision_keeps_empty_or_rebuilt_storage (line 28428) | fn historical_salvage_decision_keeps_empty_or_rebuilt_storage() { function historical_salvage_decision_keeps_populated_canonical_when_more_bundles_are_pending (line 28437) | fn historical_salvage_decision_keeps_populated_canonical_when_more_bundl... function historical_salvage_decision_skips_pending_bundles_during_canonical_only_full_rebuild (line 28444) | fn historical_salvage_decision_skips_pending_bundles_during_canonical_on... function targeted_watch_once_only_allows_empty_or_populated_incremental_run (line 28451) | fn targeted_watch_once_only_allows_empty_or_populated_incremental_run() { function watch_once_skip_test_options (line 28480) | fn watch_once_skip_test_options( function absent_explicit_watch_once_paths_skip_heavy_index_setup (line 28500) | fn absent_explicit_watch_once_paths_skip_heavy_index_setup() { function absent_explicit_watch_once_paths_preserve_non_noop_modes (line 28528) | fn absent_explicit_watch_once_paths_preserve_non_noop_modes() { function watch_once_authoritative_repair_skips_broad_followup_scan (line 28580) | fn watch_once_authoritative_repair_skips_broad_followup_scan() { function fallback_fts_repair_is_skipped_for_canonical_only_full_rebuild (line 28603) | fn fallback_fts_repair_is_skipped_for_canonical_only_full_rebuild() { function full_run_fallback_fts_repair_skips_rebuild_when_fts_is_already_healthy (line 28615) | fn full_run_fallback_fts_repair_skips_rebuild_when_fts_is_already_health... function full_run_fallback_fts_repair_rebuilds_missing_schema_when_needed (line 28634) | fn full_run_fallback_fts_repair_rebuilds_missing_schema_when_needed() { function full_run_fallback_fts_repair_skips_known_healthy_archive_fingerprint (line 28652) | fn full_run_fallback_fts_repair_skips_known_healthy_archive_fingerprint() { function full_rebuild_does_not_restart_based_on_historical_local_rowids (line 28684) | fn full_rebuild_does_not_restart_based_on_historical_local_rowids() { function full_rebuild_restart_ignores_stale_progress_when_canonical_is_healthy (line 28773) | fn full_rebuild_restart_ignores_stale_progress_when_canonical_is_healthy... function reopen_fresh_storage_for_full_rebuild_preserves_backup_and_starts_empty (line 28856) | fn reopen_fresh_storage_for_full_rebuild_preserves_backup_and_starts_emp... function persist_append_only_adds_new_messages_to_index (line 28933) | fn persist_append_only_adds_new_messages_to_index() { function rebuild_tantivy_from_db_emits_phase_exact_prep_profile_logs (line 28965) | fn rebuild_tantivy_from_db_emits_phase_exact_prep_profile_logs() { function rebuild_tantivy_from_db_skips_tantivy_open_when_checkpoint_is_complete (line 29041) | fn rebuild_tantivy_from_db_skips_tantivy_open_when_checkpoint_is_complet... function rebuild_tantivy_from_db_logs_streamed_batch_stats (line 29118) | fn rebuild_tantivy_from_db_logs_streamed_batch_stats() { function rebuild_tantivy_from_db_emits_equivalence_evidence (line 29185) | fn rebuild_tantivy_from_db_emits_equivalence_evidence() { function rebuild_tantivy_from_db_persists_serveable_generation_manifest (line 29251) | fn rebuild_tantivy_from_db_persists_serveable_generation_manifest() { function rebuild_tantivy_from_db_persists_packet_refresh_ledger (line 29358) | fn rebuild_tantivy_from_db_persists_packet_refresh_ledger() { function authoritative_publish_emits_lexical_refresh_evidence_sidecar (line 29440) | fn authoritative_publish_emits_lexical_refresh_evidence_sidecar() { function persist_lexical_refresh_ledger_emits_cross_run_tracing_when_prior_sidecar_exists (line 29521) | fn persist_lexical_refresh_ledger_emits_cross_run_tracing_when_prior_sid... function lexical_rebuild_equivalence_accumulator_matches_legacy_and_keyset_replays (line 29659) | fn lexical_rebuild_equivalence_accumulator_matches_legacy_and_keyset_rep... function lexical_rebuild_equivalence_accumulator_counts_probe_hits_and_hashes_are_stable (line 29689) | fn lexical_rebuild_equivalence_accumulator_counts_probe_hits_and_hashes_... function rebuild_tantivy_from_db_promotes_pipeline_budgets_after_first_commit (line 29756) | fn rebuild_tantivy_from_db_promotes_pipeline_budgets_after_first_commit() { function rebuild_tantivy_from_db_resume_reports_total_observed_messages (line 29909) | fn rebuild_tantivy_from_db_resume_reports_total_observed_messages() { function rebuild_tantivy_from_db_exposes_active_pipeline_runtime_to_attachers (line 29958) | fn rebuild_tantivy_from_db_exposes_active_pipeline_runtime_to_attachers() { function rebuild_tantivy_from_db_deferred_startup_fingerprint_persists_exact_completed_fingerprint (line 30070) | fn rebuild_tantivy_from_db_deferred_startup_fingerprint_persists_exact_c... function rebuild_tantivy_from_db_deferred_startup_emits_deferred_prep_profile_logs (line 30116) | fn rebuild_tantivy_from_db_deferred_startup_emits_deferred_prep_profile_... function rebuild_tantivy_from_db_fresh_run_uses_staged_shard_build_path (line 30165) | fn rebuild_tantivy_from_db_fresh_run_uses_staged_shard_build_path() { function rebuild_tantivy_from_db_bounded_final_frontier_publishes_federated_without_remerge (line 30228) | fn rebuild_tantivy_from_db_bounded_final_frontier_publishes_federated_wi... function rebuild_tantivy_from_db_multi_artifact_final_frontier_assembles_publish_generation_without_doc_remerge (line 30339) | fn rebuild_tantivy_from_db_multi_artifact_final_frontier_assembles_publi... function publish_staged_lexical_index_replaces_live_index_and_retains_prior_backup (line 30469) | fn publish_staged_lexical_index_replaces_live_index_and_retains_prior_ba... function publish_staged_lexical_index_moves_generation_audit_files_with_the_staged_directory (line 30548) | fn publish_staged_lexical_index_moves_generation_audit_files_with_the_st... function publish_staged_lexical_index_recovers_interrupted_backup_before_replacing_live_index (line 30661) | fn publish_staged_lexical_index_recovers_interrupted_backup_before_repla... function publish_staged_lexical_index_first_publish_with_no_prior_live_index_uses_plain_rename (line 30740) | fn publish_staged_lexical_index_first_publish_with_no_prior_live_index_u... function publish_staged_lexical_index_retains_stale_in_progress_backup_when_live_present (line 30811) | fn publish_staged_lexical_index_retains_stale_in_progress_backup_when_li... function publish_staged_lexical_index_prunes_retained_backups_to_default_retention_cap (line 30954) | fn publish_staged_lexical_index_prunes_retained_backups_to_default_reten... function publish_staged_lexical_index_retention_cap_is_env_configurable (line 31033) | fn publish_staged_lexical_index_retention_cap_is_env_configurable() { function publish_staged_lexical_index_errors_cleanly_when_staged_path_does_not_exist (line 31112) | fn publish_staged_lexical_index_errors_cleanly_when_staged_path_does_not... function recover_or_finalize_interrupted_lexical_publish_backup_is_idempotent_no_op (line 31172) | fn recover_or_finalize_interrupted_lexical_publish_backup_is_idempotent_... function publish_staged_lexical_index_recovers_from_crash_between_park_and_swap (line 31244) | fn publish_staged_lexical_index_recovers_from_crash_between_park_and_swa... function recover_or_finalize_interrupted_lexical_publish_backup_restores_live_index_without_new_publish (line 31341) | fn recover_or_finalize_interrupted_lexical_publish_backup_restores_live_... function publish_staged_lexical_index_rolls_back_when_enospc_blocks_linux_sidecar_park (line 31406) | fn publish_staged_lexical_index_rolls_back_when_enospc_blocks_linux_side... function publish_staged_lexical_index_recovers_after_enospc_blocks_linux_retained_backup_move (line 31495) | fn publish_staged_lexical_index_recovers_after_enospc_blocks_linux_retai... function publish_staged_lexical_index_recovers_from_crash_between_linux_swap_and_retain (line 31626) | fn publish_staged_lexical_index_recovers_from_crash_between_linux_swap_a... function publish_staged_lexical_index_prunes_retained_backup_without_breaking_open_reader (line 31765) | fn publish_staged_lexical_index_prunes_retained_backup_without_breaking_... function rebuild_tantivy_from_db_publishes_bounded_final_frontier_without_reduction (line 31903) | fn rebuild_tantivy_from_db_publishes_bounded_final_frontier_without_redu... function rebuild_tantivy_from_db_discards_incomplete_staged_shard_checkpoint_and_restarts (line 32060) | fn rebuild_tantivy_from_db_discards_incomplete_staged_shard_checkpoint_a... function rebuild_tantivy_from_db_falls_back_for_single_conversation_guardrail_outlier (line 32212) | fn rebuild_tantivy_from_db_falls_back_for_single_conversation_guardrail_... function rebuild_tantivy_from_db_preserves_empty_conversation_gaps_in_stream (line 32304) | fn rebuild_tantivy_from_db_preserves_empty_conversation_gaps_in_stream() { function classify_paths_uses_latest_mtime_per_connector (line 32411) | fn classify_paths_uses_latest_mtime_per_connector() { function classify_paths_prefers_explicit_watch_once_paths (line 32479) | fn classify_paths_prefers_explicit_watch_once_paths() { function classify_paths_hints_codex_connector_for_explicit_codex_paths (line 32496) | fn classify_paths_hints_codex_connector_for_explicit_codex_paths() { function watch_event_filter_ignores_read_access_noise (line 32517) | fn watch_event_filter_ignores_read_access_noise() { function watch_event_filter_keeps_mutating_events (line 32536) | fn watch_event_filter_keeps_mutating_events() { function watch_event_filter_ignores_access_time_metadata (line 32557) | fn watch_event_filter_ignores_access_time_metadata() { function watch_event_filter_ignores_remove_events_without_delete_support (line 32569) | fn watch_event_filter_ignores_remove_events_without_delete_support() { function watch_state_round_trips_to_disk (line 32582) | fn watch_state_round_trips_to_disk() { function watch_state_overwrites_existing_file (line 32600) | fn watch_state_overwrites_existing_file() { function watch_state_temp_paths_are_unique (line 32620) | fn watch_state_temp_paths_are_unique() { function watch_state_loads_legacy_map_format (line 32632) | fn watch_state_loads_legacy_map_format() { function watch_state_saves_compact_keys (line 32647) | fn watch_state_saves_compact_keys() { function watch_state_updates_after_reindex_paths (line 32665) | fn watch_state_updates_after_reindex_paths() { function reindex_paths_carries_only_new_packet_semantic_delta_messages (line 32746) | fn reindex_paths_carries_only_new_packet_semantic_delta_messages() { function reindex_paths_uses_oldest_trigger_window_when_state_is_newer (line 32876) | fn reindex_paths_uses_oldest_trigger_window_when_state_is_newer() { function reindex_paths_does_not_advance_watch_state_when_scan_yields_no_conversations (line 32951) | fn reindex_paths_does_not_advance_watch_state_when_scan_yields_no_conver... function reindex_paths_updates_progress (line 33031) | fn reindex_paths_updates_progress() { function reindex_paths_watch_once_ignores_file_mtime_since_ts (line 33117) | fn reindex_paths_watch_once_ignores_file_mtime_since_ts() { function reindex_paths_watch_once_skips_unchanged_indexed_file (line 33196) | fn reindex_paths_watch_once_skips_unchanged_indexed_file() { function reindex_paths_watch_once_does_not_advance_persistent_watch_state (line 33318) | fn reindex_paths_watch_once_does_not_advance_persistent_watch_state() { function inject_provenance_adds_cass_origin_to_metadata (line 33395) | fn inject_provenance_adds_cass_origin_to_metadata() { function inject_provenance_handles_remote_origin (line 33409) | fn inject_provenance_handles_remote_origin() { function large_codex_extra_compaction_preserves_cass_metadata (line 33429) | fn large_codex_extra_compaction_preserves_cass_metadata() { function large_extra_compaction_skips_small_or_non_codex_sources (line 33486) | fn large_extra_compaction_skips_small_or_non_codex_sources() { function extract_provenance_returns_local_for_empty_metadata (line 33523) | fn extract_provenance_returns_local_for_empty_metadata() { function extract_provenance_extracts_remote_origin (line 33540) | fn extract_provenance_extracts_remote_origin() { function extract_provenance_infers_remote_source_from_host_without_source_id (line 33566) | fn extract_provenance_infers_remote_source_from_host_without_source_id() { function build_scan_roots_creates_local_root (line 33592) | fn build_scan_roots_creates_local_root() { function build_scan_roots_includes_remote_mirror_if_exists (line 33611) | fn build_scan_roots_includes_remote_mirror_if_exists() { function build_scan_roots_skips_nonexistent_mirror (line 33658) | fn build_scan_roots_skips_nonexistent_mirror() { function build_scan_roots_includes_configured_local_source_paths (line 33695) | fn build_scan_roots_includes_configured_local_source_paths() { function apply_workspace_rewrite_no_rewrites (line 33738) | fn apply_workspace_rewrite_no_rewrites() { function apply_workspace_rewrite_no_workspace (line 33760) | fn apply_workspace_rewrite_no_workspace() { function apply_workspace_rewrite_applies_mapping (line 33778) | fn apply_workspace_rewrite_applies_mapping() { function apply_workspace_rewrite_longest_prefix_match (line 33807) | fn apply_workspace_rewrite_longest_prefix_match() { function apply_workspace_rewrite_no_match (line 33828) | fn apply_workspace_rewrite_no_match() { function apply_workspace_rewrite_with_agent_filter (line 33853) | fn apply_workspace_rewrite_with_agent_filter() { function apply_workspace_rewrite_preserves_existing_metadata (line 33877) | fn apply_workspace_rewrite_preserves_existing_metadata() { function stale_action_from_env_str_parses_correctly (line 33916) | fn stale_action_from_env_str_parses_correctly() { function stale_config_default_values (line 33930) | fn stale_config_default_values() { function stale_config_none_action_disables_detection (line 33940) | fn stale_config_none_action_disables_detection() { function stale_detector_records_successful_ingest (line 33949) | fn stale_detector_records_successful_ingest() { function stale_detector_tracks_zero_scans (line 33961) | fn stale_detector_tracks_zero_scans() { function stale_detector_reset_clears_state (line 33976) | fn stale_detector_reset_clears_state() { function finalize_watch_reindex_result_records_error_and_resets_phase (line 33989) | fn finalize_watch_reindex_result_records_error_and_resets_phase() { function run_index_progress_reset_guard_resets_idle_state_without_clobbering_error (line 34027) | fn run_index_progress_reset_guard_resets_idle_state_without_clobbering_e... function reconcile_pending_lexical_commit_promotes_committed_offset_when_meta_changes (line 34057) | fn reconcile_pending_lexical_commit_promotes_committed_offset_when_meta_... function reconcile_pending_lexical_commit_rolls_back_uncommitted_batch_when_meta_unchanged (line 34130) | fn reconcile_pending_lexical_commit_rolls_back_uncommitted_batch_when_me... function legacy_lexical_rebuild_page_size_still_counts_as_pending_rebuild (line 34207) | fn legacy_lexical_rebuild_page_size_still_counts_as_pending_rebuild() { function pending_lexical_rebuild_matches_equivalent_db_path_spellings (line 34226) | fn pending_lexical_rebuild_matches_equivalent_db_path_spellings() { function legacy_lexical_rebuild_matches_despite_storage_fingerprint_drift_when_counts_match (line 34257) | fn legacy_lexical_rebuild_matches_despite_storage_fingerprint_drift_when... function lexical_rebuild_rejects_resume_when_content_fingerprint_changes (line 34276) | fn lexical_rebuild_rejects_resume_when_content_fingerprint_changes() { function normalize_legacy_lexical_rebuild_page_size_adopts_current_contract (line 34295) | fn normalize_legacy_lexical_rebuild_page_size_adopts_current_contract() { function upgrade_legacy_lexical_rebuild_resume_cursor_records_stable_conversation_ids (line 34318) | fn upgrade_legacy_lexical_rebuild_resume_cursor_records_stable_conversat... function incompatible_lexical_rebuild_page_size_does_not_count_as_pending_rebuild (line 34365) | fn incompatible_lexical_rebuild_page_size_does_not_count_as_pending_rebu... function clear_lexical_rebuild_state_removes_stale_snapshot (line 34384) | fn clear_lexical_rebuild_state_removes_stale_snapshot() { function load_active_lexical_rebuild_pipeline_runtime_ignores_empty_snapshot (line 34414) | fn load_active_lexical_rebuild_pipeline_runtime_ignores_empty_snapshot() { function prepare_lexical_rebuild_state_for_active_run_clears_stale_runtime_and_persists (line 34441) | fn prepare_lexical_rebuild_state_for_active_run_clears_stale_runtime_and... function prepare_lexical_rebuild_state_for_active_run_preserves_completed_runtime_snapshot (line 34507) | fn prepare_lexical_rebuild_state_for_active_run_preserves_completed_runt... function persist_lexical_rebuild_state_for_active_run_start_overwrites_stale_checkpoint (line 34534) | fn persist_lexical_rebuild_state_for_active_run_start_overwrites_stale_c... function persist_pending_lexical_rebuild_progress_refreshes_runtime_when_progress_is_unchanged (line 34612) | fn persist_pending_lexical_rebuild_progress_refreshes_runtime_when_progr... function stale_stage_heartbeat_does_not_rewind_rebuild_checkpoint (line 34720) | fn stale_stage_heartbeat_does_not_rewind_rebuild_checkpoint() { function persist_pending_lexical_rebuild_progress_can_reuse_cached_base_meta_fingerprint (line 34795) | fn persist_pending_lexical_rebuild_progress_can_reuse_cached_base_meta_f... function commit_lexical_rebuild_progress_without_finalized_checkpoint_persist_leaves_recoverable_pending_state (line 34874) | fn commit_lexical_rebuild_progress_without_finalized_checkpoint_persist_... function maybe_persist_staged_lexical_rebuild_progress_skips_write_until_heartbeat_is_due (line 34969) | fn maybe_persist_staged_lexical_rebuild_progress_skips_write_until_heart... function maybe_persist_staged_lexical_rebuild_progress_force_refreshes_runtime_without_new_progress (line 35044) | fn maybe_persist_staged_lexical_rebuild_progress_force_refreshes_runtime... function load_lexical_rebuild_checkpoint_reports_pending_progress (line 35161) | fn load_lexical_rebuild_checkpoint_reports_pending_progress() { function refresh_completed_lexical_rebuild_checkpoint_preserves_content_fingerprint_across_meta_only_writes (line 35198) | fn refresh_completed_lexical_rebuild_checkpoint_preserves_content_finger... function refresh_completed_lexical_rebuild_checkpoint_bootstraps_missing_state_from_live_tantivy (line 35301) | fn refresh_completed_lexical_rebuild_checkpoint_bootstraps_missing_state... function refresh_completed_lexical_rebuild_checkpoint_skips_rewriting_exact_completed_state (line 35353) | fn refresh_completed_lexical_rebuild_checkpoint_skips_rewriting_exact_co... function refresh_completed_lexical_rebuild_checkpoint_skips_sparse_live_tantivy (line 35410) | fn refresh_completed_lexical_rebuild_checkpoint_skips_sparse_live_tantiv... function final_checkpoint_refresh_uses_settled_storage_fingerprint (line 35474) | fn final_checkpoint_refresh_uses_settled_storage_fingerprint() { function matching_lexical_rebuild_state_status_recognizes_completed_checkpoint (line 35572) | fn matching_lexical_rebuild_state_status_recognizes_completed_checkpoint... function matching_lexical_rebuild_state_status_if_present_skips_db_state_without_checkpoint (line 35594) | fn matching_lexical_rebuild_state_status_if_present_skips_db_state_witho... function completed_checkpoint_can_match_without_content_fingerprint (line 35616) | fn completed_checkpoint_can_match_without_content_fingerprint() { function incomplete_checkpoint_still_requires_content_fingerprint (line 35652) | fn incomplete_checkpoint_still_requires_content_fingerprint() { function nonresumable_staged_checkpoint_can_restart_without_current_fingerprint (line 35681) | fn nonresumable_staged_checkpoint_can_restart_without_current_fingerprin... function readonly_db_probe_classifies_nonresumable_staged_checkpoint (line 35726) | fn readonly_db_probe_classifies_nonresumable_staged_checkpoint() { function skip_noop_final_checkpoint_refresh_requires_matching_completed_checkpoint_and_no_mutations (line 35754) | fn skip_noop_final_checkpoint_refresh_requires_matching_completed_checkp... function preserve_matching_completed_lexical_checkpoint_during_full_scan_requires_plain_full_scan_with_checkpoint (line 35844) | fn preserve_matching_completed_lexical_checkpoint_during_full_scan_requi... function preflight_existing_tantivy_reader_is_skipped_for_resume_or_full_rebuilds (line 35885) | fn preflight_existing_tantivy_reader_is_skipped_for_resume_or_full_rebui... function live_tantivy_doc_probe_for_post_full_skip_only_runs_for_noop_full_candidates (line 35892) | fn live_tantivy_doc_probe_for_post_full_skip_only_runs_for_noop_full_can... function authoritative_rebuild_requirement_only_treats_canonical_storage_reset_as_rebuild (line 35963) | fn authoritative_rebuild_requirement_only_treats_canonical_storage_reset... function configured_connector_factories_skip_disabled_agents_from_sources_config (line 35971) | fn configured_connector_factories_skip_disabled_agents_from_sources_conf... function skip_post_full_scan_authoritative_rebuild_requires_matching_completed_checkpoint_doc_match_and_no_mutations (line 35996) | fn skip_post_full_scan_authoritative_rebuild_requires_matching_completed... function lexical_rebuild_db_state_with_exact_totals_matches_settled_storage (line 36076) | fn lexical_rebuild_db_state_with_exact_totals_matches_settled_storage() { function persist_final_index_run_metadata_updates_last_scan_ts_and_last_indexed_at_together (line 36153) | fn persist_final_index_run_metadata_updates_last_scan_ts_and_last_indexe... function persist_final_index_run_metadata_preserves_last_scan_ts_for_lexical_resume (line 36165) | fn persist_final_index_run_metadata_preserves_last_scan_ts_for_lexical_r... function persist_final_index_run_metadata_logs_warning_and_returns_ok_when_retries_exhausted (line 36178) | fn persist_final_index_run_metadata_logs_warning_and_returns_ok_when_ret... function persist_final_index_run_metadata_with_writer_logs_success_info_when_writer_succeeds (line 36219) | fn persist_final_index_run_metadata_with_writer_logs_success_info_when_w... function final_checkpoint_refresh_normalizes_db_path_identity (line 36244) | fn final_checkpoint_refresh_normalizes_db_path_identity() { function should_commit_lexical_rebuild_when_message_count_threshold_is_hit (line 36339) | fn should_commit_lexical_rebuild_when_message_count_threshold_is_hit() { function should_commit_lexical_rebuild_when_message_byte_threshold_is_hit (line 36359) | fn should_commit_lexical_rebuild_when_message_byte_threshold_is_hit() { function lexical_rebuild_commit_intervals_keep_initial_slice_bounded_before_first_commit (line 36379) | fn lexical_rebuild_commit_intervals_keep_initial_slice_bounded_before_fi... function lexical_rebuild_commit_intervals_return_to_steady_state_after_first_commit (line 36410) | fn lexical_rebuild_commit_intervals_return_to_steady_state_after_first_c... function should_persist_lexical_rebuild_progress_when_conversation_threshold_is_hit (line 36437) | fn should_persist_lexical_rebuild_progress_when_conversation_threshold_i... function should_persist_lexical_rebuild_progress_when_time_threshold_is_hit (line 36453) | fn should_persist_lexical_rebuild_progress_when_time_threshold_is_hit() { function initial_batch_fetch_limit_defaults_to_bounded_warmup_chunk (line 36470) | fn initial_batch_fetch_limit_defaults_to_bounded_warmup_chunk() { function finalize_watch_reindex_result_clears_stale_error_on_success (line 36502) | fn finalize_watch_reindex_result_clears_stale_error_on_success() { function finalize_watch_once_reindex_result_propagates_error_and_resets_phase (line 36531) | fn finalize_watch_once_reindex_result_propagates_error_and_resets_phase() { function finalize_watch_once_reindex_result_clears_stale_error_on_success (line 36567) | fn finalize_watch_once_reindex_result_clears_stale_error_on_success() { function stale_detector_check_respects_disabled (line 36597) | fn stale_detector_check_respects_disabled() { function stale_detector_requires_min_zero_scans (line 36611) | fn stale_detector_requires_min_zero_scans() { function stale_stats_serializes_correctly (line 36632) | fn stale_stats_serializes_correctly() { function quarantine_failed_seed_bundle_moves_sidecars_and_uses_unique_paths (line 36648) | fn quarantine_failed_seed_bundle_moves_sidecars_and_uses_unique_paths() { function record_pending_commit_derives_next_offset_from_processed_conversations (line 36692) | fn record_pending_commit_derives_next_offset_from_processed_conversation... function finalize_commit_derives_committed_offset_from_processed_conversations (line 36709) | fn finalize_commit_derives_committed_offset_from_processed_conversations... function keyset_checkpoint_round_trips_through_serialization (line 36727) | fn keyset_checkpoint_round_trips_through_serialization() { function legacy_checkpoint_without_conversation_id_deserializes (line 36753) | fn legacy_checkpoint_without_conversation_id_deserializes() { function checkpoint_progress_is_monotone_across_commits (line 36790) | fn checkpoint_progress_is_monotone_across_commits() { FILE: src/indexer/parallel_wal_shadow.rs type ShadowChunkRecord (line 42) | pub(crate) struct ShadowChunkRecord { type ShadowEpochManifest (line 56) | pub(crate) struct ShadowEpochManifest { type ParallelWalShadowEpochPlan (line 75) | pub(crate) struct ParallelWalShadowEpochPlan { type ParallelWalShadowTelemetry (line 96) | pub(crate) struct ParallelWalShadowTelemetry { constant MAX_SHADOW_RECORDS (line 116) | const MAX_SHADOW_RECORDS: usize = 64; constant SHADOW_EPOCH_MICROS (line 117) | const SHADOW_EPOCH_MICROS: u64 = 40_000; type ShadowObserverState (line 121) | struct ShadowObserverState { method new (line 129) | fn new() -> Self { method record (line 138) | fn record(&mut self, record: ShadowChunkRecord) { type ShadowMode (line 160) | pub(crate) enum ShadowMode { function mode_from_env (line 168) | pub(crate) fn mode_from_env() -> ShadowMode { type ShadowChunkGuard (line 188) | pub(crate) struct ShadowChunkGuard { method finish_ok (line 199) | pub fn finish_ok(mut self) { method finish_err (line 203) | pub fn finish_err(mut self) { method drop (line 209) | fn drop(&mut self) { function start_chunk (line 229) | pub(crate) fn start_chunk( function telemetry_snapshot (line 250) | pub(crate) fn telemetry_snapshot() -> ParallelWalShadowTelemetry { function elapsed_since_process_start_micros (line 270) | fn elapsed_since_process_start_micros() -> u64 { function build_epoch_plan_manifest (line 274) | fn build_epoch_plan_manifest( function build_epoch_manifests (line 340) | fn build_epoch_manifests(recent_chunks: &[ShadowChunkRecord]) -> Vec String { function mean_chunk_wall (line 441) | pub(crate) fn mean_chunk_wall() -> Option { function reset_observer (line 460) | fn reset_observer() { function mode_parses_shadow_and_off (line 467) | fn mode_parses_shadow_and_off() { function start_chunk_returns_some_by_default_post_flip (line 515) | fn start_chunk_returns_some_by_default_post_flip() { function start_chunk_records_on_drop_in_shadow_mode (line 542) | fn start_chunk_records_on_drop_in_shadow_mode() { function ring_buffer_bounded_at_max_shadow_records (line 573) | fn ring_buffer_bounded_at_max_shadow_records() { function telemetry_serializes_to_json_with_expected_keys (line 599) | fn telemetry_serializes_to_json_with_expected_keys() { function synthetic_record (line 639) | fn synthetic_record( function epoch_plan_manifest_groups_chunks_by_shadow_epoch (line 660) | fn epoch_plan_manifest_groups_chunks_by_shadow_epoch() { function epoch_plan_digest_is_logical_not_timing_sensitive (line 693) | fn epoch_plan_digest_is_logical_not_timing_sensitive() { function epoch_plan_manifest_blocks_commit_on_empty_or_error_windows (line 713) | fn epoch_plan_manifest_blocks_commit_on_empty_or_error_windows() { FILE: src/indexer/redact_secrets.rs constant REDACTED (line 19) | const REDACTED: &str = "[REDACTED]"; type SecretPattern (line 22) | struct SecretPattern { function redact_text (line 113) | pub fn redact_text(input: &str) -> Cow<'_, str> { function redact_json (line 136) | pub fn redact_json(value: &serde_json::Value) -> serde_json::Value { function fuzz_redact_json_with_memoizing_redactor (line 158) | pub fn fuzz_redact_json_with_memoizing_redactor( function redaction_enabled (line 168) | pub fn redaction_enabled() -> bool { function redaction_algorithm_fingerprint (line 187) | pub fn redaction_algorithm_fingerprint() -> String { type MemoizingRedactor (line 222) | pub(crate) struct MemoizingRedactor { constant DEFAULT_CAPACITY (line 232) | pub(crate) const DEFAULT_CAPACITY: usize = 4096; method with_capacity (line 234) | pub(crate) fn with_capacity(capacity: usize) -> Self { method new (line 243) | pub(crate) fn new() -> Self { method algorithm_fingerprint (line 247) | pub(crate) fn algorithm_fingerprint(&self) -> &str { method stats (line 251) | pub(crate) fn stats(&self) -> &crate::indexer::memoization::MemoCacheS... method redact_text (line 266) | pub(crate) fn redact_text(&mut self, input: &str) -> String { method redact_text_with_audit (line 277) | pub(crate) fn redact_text_with_audit( method invalidate (line 322) | pub(crate) fn invalidate(&mut self, input: &str) -> bool { method quarantine (line 339) | pub(crate) fn quarantine(&mut self, input: &str, reason: impl Into ser... method key_for (line 420) | fn key_for(&self, input: &str) -> crate::indexer::memoization::MemoKey { method default (line 438) | fn default() -> Self { function redacts_openai_key (line 450) | fn redacts_openai_key() { function redacts_anthropic_key (line 458) | fn redacts_anthropic_key() { function redacts_github_pat (line 465) | fn redacts_github_pat() { function redacts_bearer_token (line 472) | fn redacts_bearer_token() { function redacts_aws_access_key (line 479) | fn redacts_aws_access_key() { function redacts_private_key_header (line 486) | fn redacts_private_key_header() { function redacts_generic_api_key_assignment (line 493) | fn redacts_generic_api_key_assignment() { function redacts_database_url (line 500) | fn redacts_database_url() { function redacts_stripe_key (line 507) | fn redacts_stripe_key() { function redacts_slack_token (line 515) | fn redacts_slack_token() { function leaves_normal_text_unchanged (line 522) | fn leaves_normal_text_unchanged() { function leaves_short_tokens_unchanged (line 533) | fn leaves_short_tokens_unchanged() { function redacts_json_string_values (line 541) | fn redacts_json_string_values() { function redacts_nested_json (line 554) | fn redacts_nested_json() { function redaction_enabled_default (line 569) | fn redaction_enabled_default() { function redaction_can_be_disabled (line 578) | fn redaction_can_be_disabled() { function multiple_secrets_in_one_string (line 590) | fn multiple_secrets_in_one_string() { function memoizing_redactor_matches_uncached_for_arbitrary_input (line 615) | fn memoizing_redactor_matches_uncached_for_arbitrary_input() { function memoizing_redactor_reuses_cache_for_repeated_content (line 669) | fn memoizing_redactor_reuses_cache_for_repeated_content() { function memoizing_redactor_keys_isolate_by_algorithm_fingerprint (line 697) | fn memoizing_redactor_keys_isolate_by_algorithm_fingerprint() { function memoizing_redactor_redact_json_matches_uncached_for_nested_shapes (line 728) | fn memoizing_redactor_redact_json_matches_uncached_for_nested_shapes() { function memoizing_redactor_redact_json_reuses_repeated_keys_and_values (line 760) | fn memoizing_redactor_redact_json_reuses_repeated_keys_and_values() { function memoizing_redactor_empty_input_skips_cache (line 807) | fn memoizing_redactor_empty_input_skips_cache() { function memoizing_redactor_with_audit_emits_lookup_and_insert_records (line 828) | fn memoizing_redactor_with_audit_emits_lookup_and_insert_records() { function memoizing_redactor_invalidate_drops_cached_entry (line 877) | fn memoizing_redactor_invalidate_drops_cached_entry() { function memoizing_redactor_quarantined_entries_fall_through_to_direct_redaction (line 925) | fn memoizing_redactor_quarantined_entries_fall_through_to_direct_redacti... FILE: src/indexer/refresh_ledger.rs type RefreshPhase (line 33) | pub enum RefreshPhase { constant ALL (line 52) | pub const ALL: &'static [RefreshPhase] = &[ method as_str (line 62) | pub fn as_str(&self) -> &'static str { type PhaseRecord (line 79) | pub struct PhaseRecord { method new (line 98) | fn new(phase: RefreshPhase) -> Self { type EquivalenceArtifacts (line 116) | pub struct EquivalenceArtifacts { type RefreshLedger (line 144) | pub struct RefreshLedger { method start (line 213) | pub fn start(corpus_family: &str, full_rebuild: bool) -> LedgerBuilder { method phase (line 218) | pub fn phase(&self, phase: RefreshPhase) -> Option<&PhaseRecord> { method total_items_processed (line 223) | pub fn total_items_processed(&self) -> u64 { method total_errors (line 228) | pub fn total_errors(&self) -> u64 { method all_phases_succeeded (line 233) | pub fn all_phases_succeeded(&self) -> bool { method failed_phases (line 238) | pub fn failed_phases(&self) -> Vec<&PhaseRecord> { method duration_breakdown (line 243) | pub fn duration_breakdown(&self) -> BTreeMap { method readiness_milestones (line 252) | pub fn readiness_milestones(&self) -> RefreshReadinessMilestones { method to_json (line 267) | pub fn to_json(&self) -> String { method successful_duration_through (line 271) | fn successful_duration_through(&self, target: RefreshPhase) -> Option<... method sum_phase_durations (line 285) | fn sum_phase_durations(&self) -> u64 { method full_settlement_duration_ms (line 292) | fn full_settlement_duration_ms(&self) -> Option { method search_readiness_state (line 304) | fn search_readiness_state(&self) -> RefreshSearchReadinessState { method evidence_summary (line 645) | pub fn evidence_summary(&self) -> RefreshLedgerEvidence { type RefreshReadinessMilestones (line 171) | pub struct RefreshReadinessMilestones { type RefreshSearchReadinessState (line 182) | pub enum RefreshSearchReadinessState { method default (line 196) | fn default() -> Self { type LedgerBuilder (line 333) | pub struct LedgerBuilder { method new (line 341) | fn new(corpus_family: &str, full_rebuild: bool) -> Self { method begin_phase (line 361) | pub fn begin_phase(&mut self, phase: RefreshPhase) { method record_items (line 368) | pub fn record_items(&mut self, processed: u64, skipped: u64) { method record_error (line 378) | pub fn record_error(&mut self, message: &str) { method record_failure (line 395) | pub fn record_failure(&mut self, message: &str) { method set_counter (line 403) | pub fn set_counter(&mut self, key: &str, value: u64) { method inc_counter (line 410) | pub fn inc_counter(&mut self, key: &str, delta: u64) { method set_equivalence (line 417) | pub fn set_equivalence(&mut self, artifacts: EquivalenceArtifacts) { method tag (line 422) | pub fn tag(&mut self, key: &str, value: &str) { method finish (line 427) | pub fn finish(mut self) -> RefreshLedger { method end_current_phase (line 438) | fn end_current_phase(&mut self) { constant SMALL (line 457) | pub const SMALL: &str = "small"; constant MEDIUM (line 459) | pub const MEDIUM: &str = "medium"; constant LARGE (line 461) | pub const LARGE: &str = "large"; constant DUPLICATE_HEAVY (line 463) | pub const DUPLICATE_HEAVY: &str = "duplicate_heavy"; constant PATHOLOGICAL (line 465) | pub const PATHOLOGICAL: &str = "pathological"; constant MIXED_AGENT (line 467) | pub const MIXED_AGENT: &str = "mixed_agent"; constant INCREMENTAL (line 469) | pub const INCREMENTAL: &str = "incremental"; type BenchmarkCorpusConfig (line 474) | pub struct BenchmarkCorpusConfig { method small (line 487) | pub fn small() -> Self { method medium (line 498) | pub fn medium() -> Self { method large (line 509) | pub fn large() -> Self { method duplicate_heavy (line 520) | pub fn duplicate_heavy() -> Self { method pathological (line 531) | pub fn pathological() -> Self { method mixed_agent (line 542) | pub fn mixed_agent() -> Self { method incremental (line 553) | pub fn incremental() -> Self { type RefreshThroughputProfile (line 586) | pub struct RefreshThroughputProfile { type RefreshPhaseShare (line 603) | pub struct RefreshPhaseShare { type RefreshLedgerEvidence (line 619) | pub struct RefreshLedgerEvidence { method compare_to (line 785) | pub fn compare_to(&self, baseline: &Self) -> RefreshLedgerEvidenceComp... function items_per_second_for (line 693) | fn items_per_second_for(duration_ms: u64, items: u64) -> Option { function share_pct_for (line 708) | fn share_pct_for(phase_ms: u64, total_ms: u64) -> f64 { type RefreshPhaseDelta (line 736) | pub struct RefreshPhaseDelta { type RefreshLedgerEvidenceComparison (line 759) | pub struct RefreshLedgerEvidenceComparison { method regression_verdict (line 1050) | pub fn regression_verdict( method emit_tracing_summary (line 1115) | pub fn emit_tracing_summary(&self) { function pct_delta (line 902) | fn pct_delta(baseline: f64, current: f64) -> Option { type RegressionVerdictThresholds (line 925) | pub struct RegressionVerdictThresholds { method defaults (line 940) | pub fn defaults() -> Self { method try_new (line 950) | pub fn try_new( method is_valid (line 972) | fn is_valid(&self) -> bool { method deserialize (line 982) | fn deserialize(deserializer: D) -> Result type RegressionVerdict (line 1003) | pub enum RegressionVerdict { method should_fail_build (line 1027) | pub fn should_fail_build(&self) -> bool { function phase_model_covers_all_phases (line 1186) | fn phase_model_covers_all_phases() { function phase_as_str_round_trips (line 1193) | fn phase_as_str_round_trips() { function ledger_builder_records_phases (line 1201) | fn ledger_builder_records_phases() { function ledger_builder_records_failures (line 1246) | fn ledger_builder_records_failures() { function ledger_builder_records_errors_without_failure (line 1267) | fn ledger_builder_records_errors_without_failure() { function ledger_equivalence_artifacts (line 1293) | fn ledger_equivalence_artifacts() { function ledger_duration_breakdown (line 1323) | fn ledger_duration_breakdown() { function readiness_milestones_measure_lexical_search_and_settled_times (line 1338) | fn readiness_milestones_measure_lexical_search_and_settled_times() { function readiness_milestones_stop_at_first_failed_phase (line 1371) | fn readiness_milestones_stop_at_first_failed_phase() { function readiness_milestones_explain_unpublished_and_publish_failed_states (line 1396) | fn readiness_milestones_explain_unpublished_and_publish_failed_states() { function readiness_milestones_do_not_report_full_settlement_before_publish (line 1477) | fn readiness_milestones_do_not_report_full_settlement_before_publish() { function ledger_tags (line 1508) | fn ledger_tags() { function ledger_json_round_trip (line 1520) | fn ledger_json_round_trip() { function ledger_inc_counter (line 1553) | fn ledger_inc_counter() { function benchmark_corpus_configs_have_correct_families (line 1566) | fn benchmark_corpus_configs_have_correct_families() { function benchmark_corpus_configs_have_reasonable_sizes (line 1580) | fn benchmark_corpus_configs_have_reasonable_sizes() { function phase_record (line 1610) | fn phase_record(phase: RefreshPhase, duration_ms: u64, success: bool) ->... function phase_record_with_items (line 1623) | fn phase_record_with_items(phase: RefreshPhase, duration_ms: u64, items:... function ledger_with (line 1636) | fn ledger_with(phases: Vec) -> RefreshLedger { function evidence_summary_reports_per_phase_throughput_with_safe_zero_handling (line 1657) | fn evidence_summary_reports_per_phase_throughput_with_safe_zero_handling... function evidence_summary_handles_empty_and_zero_duration_ledgers (line 1707) | fn evidence_summary_handles_empty_and_zero_duration_ledgers() { function evidence_summary_phase_share_sums_to_one_hundred_and_dominant_phase_picks_max (line 1741) | fn evidence_summary_phase_share_sums_to_one_hundred_and_dominant_phase_p... function evidence_summary_dominant_phase_tie_break_is_first_in_pipeline_order (line 1772) | fn evidence_summary_dominant_phase_tie_break_is_first_in_pipeline_order() { function evidence_summary_serializes_to_stable_json_field_set (line 1796) | fn evidence_summary_serializes_to_stable_json_field_set() { function evidence_compare_to_reports_per_phase_regressions_and_improvements (line 1832) | fn evidence_compare_to_reports_per_phase_regressions_and_improvements() { function evidence_compare_to_surfaces_phases_unique_to_one_side (line 1871) | fn evidence_compare_to_surfaces_phases_unique_to_one_side() { function evidence_compare_to_retains_zero_item_phases_with_duration (line 1918) | fn evidence_compare_to_retains_zero_item_phases_with_duration() { function evidence_compare_to_reports_dominant_phase_shift (line 1962) | fn evidence_compare_to_reports_dominant_phase_shift() { function evidence_compare_to_safely_handles_zero_baseline_and_empty_evidence (line 2002) | fn evidence_compare_to_safely_handles_zero_baseline_and_empty_evidence() { function evidence_comparison_emit_tracing_summary_uses_correct_severity_tier (line 2046) | fn evidence_comparison_emit_tracing_summary_uses_correct_severity_tier() { function regression_verdict_categorizes_each_band_and_handles_degenerate_cases (line 2214) | fn regression_verdict_categorizes_each_band_and_handles_degenerate_cases... function regression_verdict_thresholds_try_new_rejects_inconsistent_configurations (line 2310) | fn regression_verdict_thresholds_try_new_rejects_inconsistent_configurat... function regression_verdict_zero_change_under_valid_custom_thresholds_is_clean (line 2359) | fn regression_verdict_zero_change_under_valid_custom_thresholds_is_clean... function regression_verdict_serializes_with_snake_case_verdict_tag (line 2400) | fn regression_verdict_serializes_with_snake_case_verdict_tag() { FILE: src/indexer/responsiveness.rs constant DEFAULT_MIN_CAPACITY_PCT (line 45) | const DEFAULT_MIN_CAPACITY_PCT: u32 = 25; constant DEFAULT_MAX_LOAD_PER_CORE (line 48) | const DEFAULT_MAX_LOAD_PER_CORE: f32 = 1.25; constant DEFAULT_SEVERE_LOAD_PER_CORE (line 52) | const DEFAULT_SEVERE_LOAD_PER_CORE: f32 = 1.75; constant DEFAULT_MAX_PSI_AVG10 (line 55) | const DEFAULT_MAX_PSI_AVG10: f32 = 20.0; constant DEFAULT_SEVERE_PSI_AVG10 (line 59) | const DEFAULT_SEVERE_PSI_AVG10: f32 = 40.0; constant DEFAULT_GROWTH_CONSECUTIVE_HEALTHY_TICKS (line 63) | const DEFAULT_GROWTH_CONSECUTIVE_HEALTHY_TICKS: u32 = 3; constant DEFAULT_TICK_SECS (line 67) | const DEFAULT_TICK_SECS: u64 = 2; constant DEFAULT_MAX_INFLIGHT_BYTES (line 71) | const DEFAULT_MAX_INFLIGHT_BYTES: usize = 512 * 1024 * 1024; constant DEFAULT_MAX_INFLIGHT_MEMORY_FRACTION_DENOMINATOR (line 77) | const DEFAULT_MAX_INFLIGHT_MEMORY_FRACTION_DENOMINATOR: u64 = 32; constant DEFAULT_MAX_INFLIGHT_BYTES_CEILING (line 78) | const DEFAULT_MAX_INFLIGHT_BYTES_CEILING: u64 = 16 * 1024 * 1024 * 1024; constant DEFAULT_MIN_INFLIGHT_BYTES (line 83) | const DEFAULT_MIN_INFLIGHT_BYTES: usize = 1024 * 1024; constant TELEMETRY_DECISION_HISTORY (line 88) | const TELEMETRY_DECISION_HISTORY: usize = 128; constant DEFAULT_CONFORMAL_K (line 94) | const DEFAULT_CONFORMAL_K: usize = 256; constant DEFAULT_CONFORMAL_K_MIN (line 99) | const DEFAULT_CONFORMAL_K_MIN: usize = 32; constant DEFAULT_CONFORMAL_ALPHA_PRESSURED (line 104) | const DEFAULT_CONFORMAL_ALPHA_PRESSURED: f32 = 0.05; constant DEFAULT_CONFORMAL_ALPHA_SEVERE (line 109) | const DEFAULT_CONFORMAL_ALPHA_SEVERE: f32 = 0.01; constant DEFAULT_DRIFT_DELTA (line 114) | const DEFAULT_DRIFT_DELTA: f32 = 0.01; constant DEFAULT_DRIFT_LAMBDA (line 120) | const DEFAULT_DRIFT_LAMBDA: f32 = 0.5; constant MAD_OUTLIER_K (line 126) | const MAD_OUTLIER_K: f32 = 3.5; type CalibrationMode (line 132) | pub(crate) enum CalibrationMode { type GovernorConfig (line 145) | pub(crate) struct GovernorConfig { method from_env (line 179) | pub fn from_env() -> Self { type HealthSnapshot (line 281) | pub(crate) struct HealthSnapshot { method is_severe (line 292) | pub fn is_severe(&self, cfg: &GovernorConfig) -> bool { method is_pressured (line 301) | pub fn is_pressured(&self, cfg: &GovernorConfig) -> bool { type GovernorDecisionReason (line 315) | pub(crate) enum GovernorDecisionReason { function next_capacity (line 339) | pub(crate) fn next_capacity( function scale_worker_count (line 394) | pub(crate) fn scale_worker_count(desired: usize, capacity_pct: u32) -> u... function available_parallelism (line 403) | fn available_parallelism() -> usize { function default_reserved_cores_for_available (line 409) | pub(crate) fn default_reserved_cores_for_available(available_parallelism... function worker_ceiling_for (line 418) | fn worker_ceiling_for(available_parallelism: usize, reserved_cores: usiz... function scale_worker_count_with_policy (line 425) | pub(crate) fn scale_worker_count_with_policy( function scale_inflight_byte_limit (line 438) | pub(crate) fn scale_inflight_byte_limit( type HealthReader (line 454) | pub(crate) trait HealthReader: Send + Sync { method snapshot (line 455) | fn snapshot(&self) -> HealthSnapshot; method snapshot (line 472) | fn snapshot(&self) -> HealthSnapshot { method snapshot (line 488) | fn snapshot(&self) -> HealthSnapshot { method snapshot (line 1440) | fn snapshot(&self) -> HealthSnapshot { type ProcHealthReader (line 458) | pub(crate) struct ProcHealthReader { method new (line 463) | pub fn new() -> Self { function read_loadavg (line 497) | fn read_loadavg() -> Option { function read_psi_cpu_some_avg10 (line 504) | fn read_psi_cpu_some_avg10() -> Option { type GovernorDecision (line 524) | pub(crate) struct GovernorDecision { type GovernorTelemetry (line 537) | pub(crate) struct GovernorTelemetry { type ResourcePolicyTelemetry (line 557) | pub(crate) struct ResourcePolicyTelemetry { method from_config (line 567) | fn from_config(cfg: &GovernorConfig) -> Self { function conformal_quantile_sorted (line 596) | pub(crate) fn conformal_quantile_sorted(scores: &[f32], alpha: f32) -> O... type CalibrationStream (line 612) | struct CalibrationStream { method new (line 618) | fn new(k: usize) -> Self { method len (line 625) | fn len(&self) -> usize { method clear (line 629) | fn clear(&mut self) { method push (line 633) | fn push(&mut self, value: f32) { method median (line 647) | fn median(&self) -> Option { method mad (line 662) | fn mad(&self) -> Option { method is_outlier (line 682) | fn is_outlier(&self, v: f32) -> bool { method quantile (line 703) | fn quantile(&self, alpha: f32, k_min: usize) -> Option { type PageHinkley (line 724) | struct PageHinkley { method new (line 734) | fn new(delta: f32, lambda: f32) -> Self { method reset (line 745) | fn reset(&mut self) { method observe (line 755) | fn observe(&mut self, v: f32) -> bool { type SignalCalibration (line 774) | struct SignalCalibration { method new (line 780) | fn new(cfg: &GovernorConfig) -> Self { method observe (line 791) | fn observe(&mut self, v: f32, is_healthy_tick: bool) -> SignalObserveO... type SignalObserveOutcome (line 814) | pub(crate) enum SignalObserveOutcome { type GovernorCalibration (line 824) | struct GovernorCalibration { method new (line 836) | fn new(cfg: &GovernorConfig) -> Self { method observe_and_compute_thresholds (line 853) | fn observe_and_compute_thresholds( method telemetry (line 927) | fn telemetry(&self, cfg: &GovernorConfig) -> CalibrationTelemetry { type EffectiveThresholds (line 963) | pub(crate) struct EffectiveThresholds { method apply_to (line 975) | fn apply_to(self, cfg: &GovernorConfig) -> GovernorConfig { type CalibrationTelemetry (line 993) | pub(crate) struct CalibrationTelemetry { type GovernorRuntimeState (line 1010) | struct GovernorRuntimeState { method new (line 1018) | fn new(cfg: &GovernorConfig) -> Self { type Governor (line 1032) | struct Governor { method new (line 1046) | fn new(cfg: GovernorConfig, reader: Arc) -> Self { method ensure_started (line 1061) | fn ensure_started(self: &Arc) { method run (line 1094) | fn run(&self) { method apply_calibration (line 1107) | fn apply_calibration( method step_once (line 1134) | fn step_once(&self) { method telemetry (line 1214) | fn telemetry(&self) -> GovernorTelemetry { function current_capacity_pct (line 1276) | pub(crate) fn current_capacity_pct() -> u32 { function disabled_via_env (line 1285) | pub(crate) fn disabled_via_env() -> bool { function effective_worker_count (line 1293) | pub(crate) fn effective_worker_count(desired: usize) -> usize { function effective_inflight_byte_limit (line 1300) | pub(crate) fn effective_inflight_byte_limit(desired_bytes: usize) -> usi... function telemetry_snapshot (line 1310) | pub(crate) fn telemetry_snapshot() -> GovernorTelemetry { function env_u32 (line 1316) | fn env_u32(key: &str) -> Option { function env_f32 (line 1320) | fn env_f32(key: &str) -> Option { function env_usize (line 1324) | fn env_usize(key: &str) -> Option { function env_bool_truthy (line 1328) | fn env_bool_truthy(key: &str) -> bool { function default_max_inflight_bytes (line 1338) | fn default_max_inflight_bytes() -> usize { function default_max_inflight_bytes_for_available (line 1342) | fn default_max_inflight_bytes_for_available(available_bytes: Option... function available_memory_bytes (line 1353) | fn available_memory_bytes() -> Option { function cfg (line 1369) | fn cfg() -> GovernorConfig { function healthy (line 1396) | fn healthy() -> HealthSnapshot { function pressured (line 1403) | fn pressured() -> HealthSnapshot { function severe (line 1410) | fn severe() -> HealthSnapshot { type ScriptedReader (line 1421) | struct ScriptedReader { method new (line 1427) | fn new(script: Vec) -> Self { function build_test_governor (line 1448) | fn build_test_governor(cfg: GovernorConfig, script: Vec)... function disabled_config_always_returns_full_capacity (line 1453) | fn disabled_config_always_returns_full_capacity() { function healthy_snapshot_does_not_grow_before_streak_threshold (line 1467) | fn healthy_snapshot_does_not_grow_before_streak_threshold() { function healthy_at_ceiling_is_classified_as_ceiling_hold (line 1487) | fn healthy_at_ceiling_is_classified_as_ceiling_hold() { function moderate_pressure_shrinks_immediately (line 1498) | fn moderate_pressure_shrinks_immediately() { function severe_pressure_drops_straight_to_floor (line 1518) | fn severe_pressure_drops_straight_to_floor() { function scale_worker_count_never_below_one_and_never_above_desired (line 1528) | fn scale_worker_count_never_below_one_and_never_above_desired() { function default_reserved_core_policy_preserves_interactive_headroom (line 1538) | fn default_reserved_core_policy_preserves_interactive_headroom() { function worker_policy_applies_reserved_cores_and_live_capacity (line 1546) | fn worker_policy_applies_reserved_cores_and_live_capacity() { function inflight_byte_policy_caps_and_scales_without_increasing_small_budgets (line 1559) | fn inflight_byte_policy_caps_and_scales_without_increasing_small_budgets... function default_inflight_byte_budget_scales_with_available_memory (line 1580) | fn default_inflight_byte_budget_scales_with_available_memory() { function env_disable_signal_is_truthy_aware (line 1605) | fn env_disable_signal_is_truthy_aware() { function snapshot_classification_tolerates_missing_signals (line 1642) | fn snapshot_classification_tolerates_missing_signals() { function telemetry_counts_shrink_and_grow_events (line 1657) | fn telemetry_counts_shrink_and_grow_events() { function telemetry_ring_buffer_is_bounded (line 1697) | fn telemetry_ring_buffer_is_bounded() { function telemetry_skips_healthy_hold_ticks (line 1726) | fn telemetry_skips_healthy_hold_ticks() { function telemetry_survives_mutex_poison (line 1744) | fn telemetry_survives_mutex_poison() { function telemetry_serializes_to_json_with_expected_keys (line 1796) | fn telemetry_serializes_to_json_with_expected_keys() { function run_script_and_trace (line 1832) | fn run_script_and_trace( function transitions (line 1846) | fn transitions(capacities: &[u32]) -> usize { function anti_flap_alternating_pressured_healthy_never_grows (line 1854) | fn anti_flap_alternating_pressured_healthy_never_grows() { function anti_flap_near_threshold_jitter_does_not_oscillate (line 1884) | fn anti_flap_near_threshold_jitter_does_not_oscillate() { function anti_flap_burst_recovery_respects_hysteresis (line 1906) | fn anti_flap_burst_recovery_respects_hysteresis() { function anti_flap_transition_rate_upper_bound (line 1952) | fn anti_flap_transition_rate_upper_bound() { function conformal_quantile_index_matches_vovk_theorem_1 (line 1990) | fn conformal_quantile_index_matches_vovk_theorem_1() { function conformal_quantile_clamps_to_last_element_on_tiny_window (line 2009) | fn conformal_quantile_clamps_to_last_element_on_tiny_window() { function conformal_quantile_rejects_pathological_alpha (line 2017) | fn conformal_quantile_rejects_pathological_alpha() { function conformal_coverage_on_iid_uniform_meets_guarantee (line 2025) | fn conformal_coverage_on_iid_uniform_meets_guarantee() { function mad_rejects_obvious_outlier_on_stationary_stream (line 2060) | fn mad_rejects_obvious_outlier_on_stationary_stream() { function mad_is_not_an_outlier_on_empty_window (line 2075) | fn mad_is_not_an_outlier_on_empty_window() { function page_hinkley_does_not_trip_on_stationary_stream (line 2082) | fn page_hinkley_does_not_trip_on_stationary_stream() { function page_hinkley_trips_on_clear_mean_shift (line 2105) | fn page_hinkley_trips_on_clear_mean_shift() { function conformal_cfg (line 2127) | fn conformal_cfg() -> GovernorConfig { function conformal_mode_static_behavior_until_k_min_reached (line 2141) | fn conformal_mode_static_behavior_until_k_min_reached() { function conformal_mode_never_inverts_severe_vs_pressured_invariant (line 2167) | fn conformal_mode_never_inverts_severe_vs_pressured_invariant() { function conformal_mode_falls_back_to_static_on_degenerate_window (line 2218) | fn conformal_mode_falls_back_to_static_on_degenerate_window() { function conformal_telemetry_serializes_with_calibration_block (line 2239) | fn conformal_telemetry_serializes_with_calibration_block() { function idle_dev_box_trace (line 2273) | fn idle_dev_box_trace(n: usize) -> Vec { function run_replay (line 2294) | fn run_replay(mut cfg: GovernorConfig, script: Vec) -> G... function conformal_vs_static_idle_dev_trace_is_not_materially_worse (line 2305) | fn conformal_vs_static_idle_dev_trace_is_not_materially_worse() { function conformal_vs_static_under_sustained_pressure_shrinks_similarly (line 2355) | fn conformal_vs_static_under_sustained_pressure_shrinks_similarly() { FILE: src/indexer/semantic.rs constant DEFAULT_SEMANTIC_BATCH_SIZE (line 45) | const DEFAULT_SEMANTIC_BATCH_SIZE: usize = 128; constant DEFAULT_SEMANTIC_PREP_MEMO_CAPACITY (line 46) | const DEFAULT_SEMANTIC_PREP_MEMO_CAPACITY: usize = 4_096; constant SEMANTIC_PREP_MEMO_ALGORITHM (line 47) | const SEMANTIC_PREP_MEMO_ALGORITHM: &str = "semantic_prepare_window"; constant SEMANTIC_PREP_MEMO_VERSION (line 48) | const SEMANTIC_PREP_MEMO_VERSION: &str = "canonicalize_for_embedding:v2:... function resolved_default_batch_size (line 50) | fn resolved_default_batch_size() -> usize { function resolved_semantic_prep_memo_capacity (line 58) | fn resolved_semantic_prep_memo_capacity() -> usize { function parallel_prep_enabled (line 80) | fn parallel_prep_enabled() -> bool { function saturating_u64_from_usize (line 84) | fn saturating_u64_from_usize(value: usize) -> u64 { type EmbeddingInput (line 89) | pub struct EmbeddingInput { method new (line 101) | pub fn new(message_id: u64, content: impl Into) -> Self { type EmbeddedMessage (line 116) | pub struct EmbeddedMessage { type SemanticBackfillBatchPlan (line 129) | pub struct SemanticBackfillBatchPlan { type SemanticBackfillStoragePlan (line 139) | pub struct SemanticBackfillStoragePlan { type SemanticBackfillBatchOutcome (line 147) | pub struct SemanticBackfillBatchOutcome { type SemanticShardBuildPlan (line 161) | pub struct SemanticShardBuildPlan { type SemanticShardBuildOutcome (line 171) | pub struct SemanticShardBuildOutcome { type SemanticBackfillSchedulerState (line 185) | pub(crate) enum SemanticBackfillSchedulerState { method as_str (line 192) | pub(crate) fn as_str(self) -> &'static str { type SemanticBackfillSchedulerReason (line 203) | pub(crate) enum SemanticBackfillSchedulerReason { method next_step (line 215) | pub(crate) fn next_step(self) -> &'static str { type SemanticBackfillSchedulerSignals (line 236) | pub(crate) struct SemanticBackfillSchedulerSignals { method from_env (line 244) | pub(crate) fn from_env() -> Self { type SemanticBackfillSchedulerDecision (line 255) | pub(crate) struct SemanticBackfillSchedulerDecision { method should_run (line 272) | pub(crate) fn should_run(&self) -> bool { function env_truthy (line 277) | fn env_truthy(key: &str) -> bool { function env_backfill_min_capacity_pct (line 289) | fn env_backfill_min_capacity_pct() -> u32 { function semantic_backfill_scheduler_decision (line 297) | pub(crate) fn semantic_backfill_scheduler_decision( function semantic_backfill_scheduler_decision_for_capacity (line 310) | pub(crate) fn semantic_backfill_scheduler_decision_for_capacity( function stopped_scheduler_decision (line 397) | fn stopped_scheduler_decision( function now_ms (line 410) | fn now_ms() -> i64 { function hnsw_index_path (line 417) | fn hnsw_index_path(data_dir: &Path, embedder_id: &str) -> PathBuf { function safe_path_component (line 423) | fn safe_path_component(raw: &str) -> String { function semantic_staging_index_path (line 435) | fn semantic_staging_index_path( function semantic_generation_fingerprint_component (line 449) | fn semantic_generation_fingerprint_component(db_fingerprint: &str) -> St... function semantic_shard_generation_dir (line 457) | fn semantic_shard_generation_dir( function semantic_shard_index_path (line 471) | fn semantic_shard_index_path( function semantic_shard_ann_index_path (line 482) | fn semantic_shard_ann_index_path( function sync_parent_directory (line 493) | fn sync_parent_directory(path: &Path) -> Result<()> { function semantic_doc_id_for_embedded (line 504) | fn semantic_doc_id_for_embedded(embedded: &EmbeddedMessage) -> String { type CanonicalEmbeddingConversationRow (line 518) | struct CanonicalEmbeddingConversationRow { type CanonicalEmbeddingBatch (line 533) | struct CanonicalEmbeddingBatch { type CanonicalIncrementalEmbeddingBatch (line 540) | pub(crate) struct CanonicalIncrementalEmbeddingBatch { function matching_semantic_checkpoint_offset (line 546) | fn matching_semantic_checkpoint_offset( function total_semantic_conversations (line 563) | fn total_semantic_conversations(storage: &FrankenStorage) -> Result { function message_id_from_db (line 577) | pub(crate) fn message_id_from_db(raw: i64) -> Option { function saturating_u32_from_i64 (line 581) | pub(crate) fn saturating_u32_from_i64(raw: i64) -> u32 { function canonical_embedding_created_at_ms (line 589) | fn canonical_embedding_created_at_ms(message_id: u64, created_at: Option... function canonical_embedding_packet_provenance (line 607) | fn canonical_embedding_packet_provenance( function canonical_embedding_conversation (line 619) | fn canonical_embedding_conversation( function embedding_input_from_packet_message (line 641) | fn embedding_input_from_packet_message( function embedding_inputs_from_conversation_packet (line 676) | fn embedding_inputs_from_conversation_packet( function fetch_canonical_embedding_conversations (line 706) | fn fetch_canonical_embedding_conversations( type SemanticPacketContext (line 777) | pub(crate) struct SemanticPacketContext { function semantic_inputs_from_packets (line 803) | pub(crate) fn semantic_inputs_from_packets( function fetch_canonical_embedding_batch (line 846) | fn fetch_canonical_embedding_batch( function packet_embedding_inputs_from_storage (line 915) | pub(crate) fn packet_embedding_inputs_from_storage( function packet_embedding_inputs_from_selected_canonical_messages (line 921) | fn packet_embedding_inputs_from_selected_canonical_messages( function packet_embedding_inputs_from_storage_since (line 967) | pub(crate) fn packet_embedding_inputs_from_storage_since( function packet_embedding_inputs_from_storage_for_message_ids (line 1017) | pub(crate) fn packet_embedding_inputs_from_storage_for_message_ids( type Prepared (line 1043) | struct Prepared<'a> { type MemoizedPreparedMessage (line 1050) | struct MemoizedPreparedMessage { function semantic_prep_memo_key (line 1055) | fn semantic_prep_memo_key(content: &str) -> MemoKey { function memo_counter_delta (line 1063) | fn memo_counter_delta(after: u64, before: u64) -> u64 { function trace_semantic_prep_memo_window (line 1067) | fn trace_semantic_prep_memo_window( function trace_semantic_prep_memo_audit (line 1094) | fn trace_semantic_prep_memo_audit(audit: &MemoCacheAuditRecord) { function prepare_window_with_memo (line 1098) | fn prepare_window_with_memo<'a>( function prepare_window (line 1145) | fn prepare_window<'a>(window: &'a [EmbeddingInput], serial: bool) -> Vec... function flush_prepared_batch (line 1166) | fn flush_prepared_batch( type SemanticIndexer (line 1214) | pub struct SemanticIndexer { method new (line 1220) | pub fn new(embedder_type: &str, data_dir: Option<&Path>) -> Result Result { method batch_size (line 1253) | pub fn batch_size(&self) -> usize { method embedder_id (line 1257) | pub fn embedder_id(&self) -> &str { method embedder_dimension (line 1261) | pub fn embedder_dimension(&self) -> usize { method embed_messages (line 1265) | pub fn embed_messages(&self, messages: &[EmbeddingInput]) -> Result( method build_and_save_index_shards (line 1353) | pub fn build_and_save_index_shards( method write_semantic_shard (line 1447) | fn write_semantic_shard( method build_and_save_index_at_path (line 1531) | fn build_and_save_index_at_path( method append_to_index (line 1597) | pub fn append_to_index( method append_to_index_path (line 1606) | fn append_to_index_path( method write_backfill_staging_index (line 1640) | fn write_backfill_staging_index( method run_backfill_batch (line 1655) | pub fn run_backfill_batch( method run_backfill_from_storage (line 1789) | pub fn run_backfill_from_storage( method build_hnsw_index (line 1835) | pub fn build_hnsw_index( type ComparableSemanticInput (line 1883) | struct ComparableSemanticInput { function comparable_semantic_inputs (line 1893) | fn comparable_semantic_inputs(mut inputs: Vec) -> Vec Conversation { function test_conversation_with_messages (line 1928) | fn test_conversation_with_messages(external_id: &str, messages: Vec SemanticBackfillSchedulerSignals { type EnvVarGuard (line 1964) | struct EnvVarGuard { method set (line 1970) | fn set(key: &'static str, value: &str) -> Self { method remove (line 1979) | fn remove(key: &'static str) -> Self { method drop (line 1990) | fn drop(&mut self) { function semantic_backfill_scheduler_runs_and_scales_batch_under_idle_budget (line 2002) | fn semantic_backfill_scheduler_runs_and_scales_batch_under_idle_budget() { function semantic_backfill_scheduler_reason_next_steps_are_stable (line 2023) | fn semantic_backfill_scheduler_reason_next_steps_are_stable() { function semantic_backfill_scheduler_yields_to_foreground_and_lexical_pressure (line 2063) | fn semantic_backfill_scheduler_yields_to_foreground_and_lexical_pressure... function semantic_backfill_scheduler_honors_policy_disable_and_force_override (line 2103) | fn semantic_backfill_scheduler_honors_policy_disable_and_force_override() { function test_batch_embedding (line 2135) | fn test_batch_embedding() { function test_progress_indicator (line 2151) | fn test_progress_indicator() { function test_build_and_save_index (line 2162) | fn test_build_and_save_index() { function sharded_index_build_writes_sidecar_without_runtime_publish (line 2180) | fn sharded_index_build_writes_sidecar_without_runtime_publish() { function sharded_index_build_rejects_zero_sized_shards (line 2230) | fn sharded_index_build_rejects_zero_sized_shards() { function sharded_ann_build_records_per_shard_accelerators (line 2251) | fn sharded_ann_build_records_per_shard_accelerators() { function embed_messages_golden_digest_hash_embedder (line 2304) | fn embed_messages_golden_digest_hash_embedder() { function parallel_prep_matches_serial_prep_bitwise (line 2354) | fn parallel_prep_matches_serial_prep_bitwise() { function parallel_prep_filters_empty_canonicals (line 2402) | fn parallel_prep_filters_empty_canonicals() { function memoized_serial_prep_matches_stateless_prepare_window (line 2421) | fn memoized_serial_prep_matches_stateless_prepare_window() { function semantic_prep_memo_key_uses_stable_content_hash_bytes (line 2443) | fn semantic_prep_memo_key_uses_stable_content_hash_bytes() { function memoized_serial_prep_reuses_duplicate_content_across_windows (line 2454) | fn memoized_serial_prep_reuses_duplicate_content_across_windows() { function packet_embedding_inputs_reuse_memoized_prep_for_duplicate_content (line 2475) | fn packet_embedding_inputs_reuse_memoized_prep_for_duplicate_content() -... function backfill_batch_saves_checkpoint_and_staged_index_until_complete (line 2568) | fn backfill_batch_saves_checkpoint_and_staged_index_until_complete() { function backfill_batch_resumes_staged_index_and_publishes_manifest_atomically (line 2606) | fn backfill_batch_resumes_staged_index_and_publishes_manifest_atomically... function backfill_publish_compacts_resumed_wal_before_rename (line 2673) | fn backfill_publish_compacts_resumed_wal_before_rename() { function backfill_from_storage_fetches_canonical_batches_and_resumes (line 2730) | fn backfill_from_storage_fetches_canonical_batches_and_resumes() -> Resu... function canonical_embedding_batch_uses_conversation_packet_semantic_projection (line 2797) | fn canonical_embedding_batch_uses_conversation_packet_semantic_projectio... function packet_embedding_inputs_from_storage_since_only_emits_new_canonical_messages (line 2865) | fn packet_embedding_inputs_from_storage_since_only_emits_new_canonical_m... function packet_catch_up_emits_expected_semantic_docs_after_watermark (line 2987) | fn packet_catch_up_emits_expected_semantic_docs_after_watermark() -> Res... function packet_embedding_inputs_for_message_ids_matches_since_selection (line 3147) | fn packet_embedding_inputs_for_message_ids_matches_since_selection() -> ... function default_batch_size_uses_new_value (line 3298) | fn default_batch_size_uses_new_value() { function parallel_prep_enabled_reuses_truthy_env_parser (line 3307) | fn parallel_prep_enabled_reuses_truthy_env_parser() { function saturating_u64_from_usize_covers_bounds (line 3326) | fn saturating_u64_from_usize_covers_bounds() { function semantic_inputs_from_packets_matches_storage_replay (line 3343) | fn semantic_inputs_from_packets_matches_storage_replay() -> Result<()> { function semantic_inputs_from_packets_rejects_length_mismatch (line 3525) | fn semantic_inputs_from_packets_rejects_length_mismatch() { FILE: src/lib.rs constant CONTRACT_VERSION (line 48) | const CONTRACT_VERSION: &str = "1"; constant DEFAULT_STALE_THRESHOLD_SECS (line 49) | const DEFAULT_STALE_THRESHOLD_SECS: u64 = 1800; function read_watch_once_paths_env (line 52) | fn read_watch_once_paths_env() -> Option> { function read_watch_once_paths_env (line 65) | fn read_watch_once_paths_env() -> Option> { function resolve_watch_once_paths_from_sources (line 69) | fn resolve_watch_once_paths_from_sources( function resolve_watch_once_paths (line 86) | fn resolve_watch_once_paths(watch: bool, watch_once: Option... type IndexEntrypointDiagnostics (line 91) | struct IndexEntrypointDiagnostics { function index_entrypoint_diagnostics (line 102) | fn index_entrypoint_diagnostics( function with_frankensqlite_connection (line 138) | fn with_frankensqlite_connection( type Cli (line 180) | pub struct Cli { type Commands (line 227) | pub enum Commands { type ImportCommand (line 1071) | pub enum ImportCommand { type SourcesCommand (line 1090) | pub enum SourcesCommand { type ModelsCommand (line 1283) | pub enum ModelsCommand { type MappingsAction (line 1369) | pub enum MappingsAction { type AgentsAction (line 1413) | pub enum AgentsAction { type AnalyticsBucketing (line 1437) | pub enum AnalyticsBucketing { method fmt (line 1450) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type AnalyticsCommand (line 1465) | pub enum AnalyticsCommand { type AnalyticsCommon (line 1523) | pub struct AnalyticsCommon { function from (line 1568) | fn from(b: AnalyticsBucketing) -> Self { function normalized_analytics_agent_arg (line 1578) | fn normalized_analytics_agent_arg(agent: &str) -> String { function analytics_source_filter_from_common_input (line 1587) | fn analytics_source_filter_from_common_input(source: Option<&str>) -> an... function from (line 1599) | fn from(common: &AnalyticsCommon) -> Self { type ColorPref (line 1628) | pub enum ColorPref { type ProgressMode (line 1635) | pub enum ProgressMode { type RobotTopic (line 1643) | pub enum RobotTopic { type RobotFormat (line 1659) | pub enum RobotFormat { type DisplayFormat (line 1675) | pub enum DisplayFormat { type ConvExportFormat (line 1687) | pub enum ConvExportFormat { type TimelineGrouping (line 1701) | pub enum TimelineGrouping { type PagesDeployTarget (line 1713) | pub enum PagesDeployTarget { method to_wizard_target (line 1725) | fn to_wizard_target(self) -> crate::pages::wizard::DeployTarget { method as_config_value (line 1733) | fn as_config_value(self) -> &'static str { type AggregateField (line 1744) | pub enum AggregateField { method from_str (line 1753) | fn from_str(s: &str) -> Option { method as_str (line 1765) | fn as_str(&self) -> &'static str { type AggregationBucket (line 1777) | pub struct AggregationBucket { type FieldAggregation (line 1786) | pub struct FieldAggregation { type Aggregations (line 1795) | pub struct Aggregations { method is_empty (line 1807) | fn is_empty(&self) -> bool { type CliError (line 1816) | pub struct CliError { method fmt (line 1829) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method already_reported (line 1837) | pub fn already_reported(code: i32, kind: &'static str, retryable: bool... method already_reported_from (line 1847) | pub fn already_reported_from(err: &CliError) -> Self { method was_already_reported (line 1857) | pub fn was_already_reported(&self) -> bool { method usage (line 1861) | fn usage(message: impl Into, hint: Option) -> Self { method unknown (line 1871) | fn unknown(message: impl Into) -> Self { constant CLI_ERROR_ALREADY_REPORTED_SENTINEL (line 1824) | const CLI_ERROR_ALREADY_REPORTED_SENTINEL: &str = "__cass_error_already_... type CliResult (line 1826) | pub type CliResult = std::result::Result; type ProgressResolved (line 1883) | pub enum ProgressResolved { type WrapConfig (line 1890) | struct WrapConfig { method new (line 1896) | fn new(width: Option, nowrap: bool) -> Self { method effective_width (line 1900) | fn effective_width(&self) -> Option { function normalize_args (line 1917) | fn normalize_args(raw: Vec) -> (Vec, Option) { function format_missing_subcommand_error (line 2298) | fn format_missing_subcommand_error(args: &[String]) -> String { function format_friendly_parse_error (line 2378) | fn format_friendly_parse_error(err: clap::Error, raw: &[String], normali... function detect_command_intent (line 2453) | fn detect_command_intent(raw_str: &str) -> String { function get_contextual_examples (line 2487) | fn get_contextual_examples(intent: &str) -> Vec<&'static str> { function get_contextual_hints (line 2544) | fn get_contextual_hints(intent: &str, raw_str: &str) -> Vec { function get_common_mistakes (line 2588) | fn get_common_mistakes(intent: &str) -> Option { function heuristic_parse_recovery (line 2633) | fn heuristic_parse_recovery( type ParsedCli (line 2805) | pub struct ParsedCli { function parse_cli (line 2812) | pub fn parse_cli(raw_args: Vec) -> CliResult { function run (line 2889) | pub async fn run() -> CliResult<()> { function run_with_parsed (line 2894) | pub async fn run_with_parsed(parsed: ParsedCli) -> CliResult<()> { function execute_cli (line 2967) | async fn execute_cli( function handle_import (line 4254) | async fn handle_import(cmd: ImportCommand, cli: &Cli) -> CliResult<()> { function run_analytics (line 4279) | fn run_analytics(cmd: AnalyticsCommand, db_path: Option, cli: &... function analytics_build_filters (line 4364) | fn analytics_build_filters(common: &AnalyticsCommon) -> Vec { function resolve_analytics_workspace_ids (line 4397) | fn resolve_analytics_workspace_ids( function analytics_query_filter (line 4443) | fn analytics_query_filter( function open_franken_analytics_db (line 4453) | fn open_franken_analytics_db( function analytics_db_path (line 4464) | fn analytics_db_path(data_dir: &Option, db_path_override: Optio... function open_franken_cli_read_db (line 4471) | fn open_franken_cli_read_db( function open_franken_cli_read_db_with_hard_timeout (line 4526) | fn open_franken_cli_read_db_with_hard_timeout( function receive_franken_cli_read_db_open_result_with_hard_timeout (line 4546) | fn receive_franken_cli_read_db_open_result_with_hard_timeout( function close_franken_cli_read_db (line 4577) | fn close_franken_cli_read_db( function franken_query_row_map_retry (line 4594) | fn franken_query_row_map_retry( function franken_query_map_collect_retry (line 4625) | fn franken_query_map_collect_retry( function fresh_franken_count_retry (line 4656) | fn fresh_franken_count_retry( function analytics_query_cli_error (line 4711) | fn analytics_query_cli_error(e: analytics::AnalyticsError) -> CliError { function run_analytics_status (line 4722) | fn run_analytics_status( function run_analytics_tokens (line 4739) | fn run_analytics_tokens( function run_analytics_rebuild (line 4760) | fn run_analytics_rebuild( function run_analytics_tools (line 4833) | fn run_analytics_tools( function analytics_query_cli_error_preserves_shape (line 4852) | fn analytics_query_cli_error_preserves_shape() { type AnalyticsValidationSummary (line 4871) | struct AnalyticsValidationSummary { function analytics_validation_summary (line 4879) | fn analytics_validation_summary( function annotate_deferred_analytics_failures (line 4891) | fn annotate_deferred_analytics_failures( function emit_analytics_validate_summary (line 4917) | fn emit_analytics_validate_summary(label: &str, summary: &AnalyticsValid... function analytics_perf_json (line 4940) | fn analytics_perf_json( function run_analytics_validate (line 4963) | fn run_analytics_validate( function run_analytics_models (line 5198) | fn run_analytics_models( function import_chatgpt_export (line 5246) | async fn import_chatgpt_export( constant STATE_DB_OPEN_TIMEOUT (line 5399) | const STATE_DB_OPEN_TIMEOUT: Duration = Duration::from_secs(5); constant STATUS_COUNT_SCAN_MAX_DB_BYTES (line 5400) | const STATUS_COUNT_SCAN_MAX_DB_BYTES: u64 = 256 * 1024 * 1024; constant CLI_DB_QUERY_RETRY_TIMEOUT (line 5401) | const CLI_DB_QUERY_RETRY_TIMEOUT: Duration = Duration::from_secs(10); constant CLI_DIAG_DB_OPEN_TIMEOUT (line 5402) | const CLI_DIAG_DB_OPEN_TIMEOUT: Duration = Duration::from_secs(30); type StateDbSnapshot (line 5405) | struct StateDbSnapshot { function probe_state_db (line 5420) | fn probe_state_db( type ActiveIndexRunDetails (line 5499) | struct ActiveIndexRunDetails { method from_snapshot (line 5510) | fn from_snapshot( method without_owner (line 5526) | fn without_owner(data_dir: &Path, db_path: &Path) -> Self { method started_at_rfc3339 (line 5538) | fn started_at_rfc3339(&self) -> Option { method to_json (line 5542) | fn to_json(&self) -> serde_json::Value { method to_cli_error (line 5554) | fn to_cli_error(&self) -> CliError { function format_timestamp_millis_rfc3339 (line 5594) | fn format_timestamp_millis_rfc3339(ts: i64) -> Option { function normalize_path_identity (line 5598) | pub(crate) fn normalize_path_identity(path: &Path) -> PathBuf { function path_identities_match (line 5657) | pub(crate) fn path_identities_match(lhs: &Path, rhs: &Path) -> bool { function stored_path_identity_matches (line 5661) | pub(crate) fn stored_path_identity_matches(saved: &str, current: &Path) ... function read_index_run_lock_snapshot (line 5665) | fn read_index_run_lock_snapshot( function probe_index_run_lock (line 5671) | fn probe_index_run_lock( function active_index_run_details (line 5686) | fn active_index_run_details(data_dir: &Path, db_path: &Path) -> Option bool { function error_chain_indicates_retryable_storage_contention (line 5694) | fn error_chain_indicates_retryable_storage_contention(chain: &str) -> bo... function index_storage_contention_cli_error (line 5698) | fn index_storage_contention_cli_error(chain: &str) -> CliError { function cli_error_json_payload (line 5711) | fn cli_error_json_payload(err: &CliError, elapsed_ms: u128) -> serde_jso... function cass_lexical_index_initialized (line 5727) | fn cass_lexical_index_initialized(data_dir: &Path) -> bool { function cass_not_initialized (line 5733) | fn cass_not_initialized( function cass_not_initialized_explanation (line 5741) | fn cass_not_initialized_explanation(data_dir: &Path) -> String { function cass_not_initialized_recommended_action (line 5748) | fn cass_not_initialized_recommended_action() -> String { function state_meta_json (line 5753) | fn state_meta_json( function state_meta_json_with_counts (line 5778) | fn state_meta_json_with_counts( function state_meta_json_full (line 5800) | fn state_meta_json_full( function state_meta_json_for_health (line 5822) | fn state_meta_json_for_health( function status_should_skip_db_open (line 5830) | fn status_should_skip_db_open(db_path: &Path) -> bool { function state_meta_json_for_status (line 5836) | fn state_meta_json_for_status( function state_meta_json_inner (line 5869) | fn state_meta_json_inner( function lexical_manifest_indexed_doc_count (line 6342) | fn lexical_manifest_indexed_doc_count(index_path: &Path) -> Option { function state_index_freshness (line 6358) | fn state_index_freshness(state: &serde_json::Value) -> Option serde_jso... function state_db_count_json (line 6431) | fn state_db_count_json(count: i64, counts_skipped: bool) -> serde_json::... function refresh_state_database_counts_if_needed (line 6439) | fn refresh_state_database_counts_if_needed( function readiness_snapshot_from_state (line 6512) | fn readiness_snapshot_from_state( function lexical_readiness_from_state (line 6523) | fn lexical_readiness_from_state( function semantic_readiness_from_state (line 6575) | fn semantic_readiness_from_state( function semantic_recommended_action (line 6640) | fn semantic_recommended_action(state: &serde_json::Value, not_initialize... function semantic_readiness_requires_current_db_match_for_fast_tier (line 6663) | fn semantic_readiness_requires_current_db_match_for_fast_tier() { function semantic_readiness_accepts_current_fast_tier (line 6692) | fn semantic_readiness_accepts_current_fast_tier() { function warn_tui_terminal_profile (line 6721) | fn warn_tui_terminal_profile(stderr_is_tty: bool) { function prepare_headless_once_tui_artifacts (line 6764) | fn prepare_headless_once_tui_artifacts( function write_headless_asciicast_sentinel (line 6800) | fn write_headless_asciicast_sentinel(path: &Path) -> Result<()> { function headless_asciicast_sentinel_is_labeled_and_nonempty (line 6853) | fn headless_asciicast_sentinel_is_labeled_and_nonempty() { function headless_asciicast_sentinel_overwrites_existing_placeholder_content (line 6871) | fn headless_asciicast_sentinel_overwrites_existing_placeholder_content() { function configure_color (line 6889) | fn configure_color(choice: ColorPref, stdout_is_tty: bool, stderr_is_tty... function resolve_progress (line 6898) | fn resolve_progress(mode: ProgressMode, stdout_is_tty: bool) -> Progress... function normal_index_ignores_test_watch_once_env_without_watch_mode (line 6919) | fn normal_index_ignores_test_watch_once_env_without_watch_mode() { function unit_test_watch_mode_can_consume_test_watch_once_env_paths (line 6926) | fn unit_test_watch_mode_can_consume_test_watch_once_env_paths() { function explicit_watch_once_paths_win_even_without_watch_flag (line 6933) | fn explicit_watch_once_paths_win_even_without_watch_flag() { function describe_command (line 6941) | fn describe_command(cli: &Cli) -> String { function resolve_subcommand_structured_format (line 6978) | fn resolve_subcommand_structured_format(cli: &Cli, json: bool) -> Option... function analytics_requests_structured_output (line 6984) | fn analytics_requests_structured_output(cmd: &AnalyticsCommand, cli: &Cl... function is_robot_mode (line 6999) | fn is_robot_mode(command: &Commands, cli: &Cli) -> bool { function apply_wrap (line 7079) | fn apply_wrap(line: &str, wrap: WrapConfig) -> String { function lowercase_with_map (line 7106) | fn lowercase_with_map(text: &str) -> (String, Vec, Vec<(usize, us... function lower_char_index (line 7123) | fn lower_char_index(lower_starts: &[usize], lower_len: usize, byte_idx: ... function map_lower_range (line 7135) | fn map_lower_range( function highlight_matches (line 7162) | fn highlight_matches(text: &str, query: &str, start_mark: &str, end_mark... function extract_search_terms (line 7221) | fn extract_search_terms(query: &str) -> Vec { function render_block (line 7276) | fn render_block>(lines: &[T], wrap: WrapConfig) -> String { function print_robot_help (line 7284) | fn print_robot_help(wrap: WrapConfig) -> CliResult<()> { function print_robot_docs (line 7322) | fn print_robot_docs(topic: RobotTopic, wrap: WrapConfig) -> CliResult<()> { function render_analytics_docs (line 7692) | fn render_analytics_docs() -> Vec { function render_schema_docs (line 7816) | fn render_schema_docs() -> Vec { function extract_request_id (line 7863) | fn extract_request_id(cli: &Cli) -> Option { function write_trace_line (line 7870) | fn write_trace_line( type TimeFilter (line 7911) | pub struct TimeFilter { method new (line 7937) | pub fn new( type SemanticSearchOptions (line 7921) | pub struct SemanticSearchOptions { function parse_datetime_str (line 7979) | fn parse_datetime_str(s: &str) -> Option { function compute_aggregations (line 8009) | fn compute_aggregations( constant VALID_AGGREGATE_FIELDS (line 8072) | const VALID_AGGREGATE_FIELDS: &str = "agent, workspace, date, match_type"; function parse_aggregate_fields (line 8075) | fn parse_aggregate_fields(fields: &[String]) -> CliResult serde_json... function dry_run_meta_is_stable_without_robot_meta (line 8147) | fn dry_run_meta_is_stable_without_robot_meta() { function dry_run_meta_keeps_elapsed_ms_when_requested (line 8157) | fn dry_run_meta_keeps_elapsed_ms_when_requested() { function sparse_threshold_for_visible_limit (line 8165) | fn sparse_threshold_for_visible_limit( type SearchLexicalSelfHeal (line 8178) | struct SearchLexicalSelfHeal { method skipped (line 8185) | fn skipped() -> Self { type SearchLexicalSelfHealDiagnosis (line 8195) | struct SearchLexicalSelfHealDiagnosis { method rebuild (line 8201) | fn rebuild(reason: impl Into) -> Self { method checkpoint (line 8208) | fn checkpoint(reason: impl Into) -> Self { function search_lexical_self_heal_diagnosis (line 8216) | fn search_lexical_self_heal_diagnosis( function search_active_rebuild_wait_duration (line 8275) | fn search_active_rebuild_wait_duration(timeout_ms: Option, started_... function wait_for_searchable_index_after_active_rebuild (line 8287) | fn wait_for_searchable_index_after_active_rebuild( function search_lock_busy_error (line 8308) | fn search_lock_busy_error(data_dir: &Path) -> CliError { function lexical_repair_error_is_active_index_run (line 8321) | fn lexical_repair_error_is_active_index_run(rendered: &str) -> bool { function search_lexical_repair_failed_error (line 8325) | fn search_lexical_repair_failed_error(reason: &str, err: anyhow::Error) ... function ensure_lexical_assets_for_search (line 8350) | fn ensure_lexical_assets_for_search( function seed_search_db_at (line 8475) | fn seed_search_db_at(db_path: &Path, content: &str, external_id: &str) { function seed_canonical_search_db (line 8515) | fn seed_canonical_search_db(data_dir: &Path) -> PathBuf { function seed_empty_canonical_search_db (line 8525) | fn seed_empty_canonical_search_db(data_dir: &Path) -> PathBuf { function build_standalone_lexical_index_without_checkpoint (line 8532) | fn build_standalone_lexical_index_without_checkpoint(data_dir: &Path, co... function search_self_heal_rebuilds_missing_lexical_index_from_canonical_db (line 8563) | fn search_self_heal_rebuilds_missing_lexical_index_from_canonical_db() { function search_self_heal_refreshes_stale_checkpoint_when_live_index_matches_db (line 8602) | fn search_self_heal_refreshes_stale_checkpoint_when_live_index_matches_d... function search_self_heal_rebuilds_when_checkpoint_references_different_db (line 8647) | fn search_self_heal_rebuilds_when_checkpoint_references_different_db() { function search_self_heal_rebuilds_when_checkpoint_is_missing (line 8716) | fn search_self_heal_rebuilds_when_checkpoint_is_missing() { function search_self_heal_rebuilds_incompatible_live_artifact (line 8774) | fn search_self_heal_rebuilds_incompatible_live_artifact() { function search_self_heal_replaces_corrupt_live_artifact_for_empty_db (line 8826) | fn search_self_heal_replaces_corrupt_live_artifact_for_empty_db() { function run_cli_search (line 8857) | fn run_cli_search( function output_display_results (line 9804) | fn output_display_results( function expand_field_presets (line 9879) | fn expand_field_presets(fields: &Option>) -> Option) -> Option { function preview_content_limit_for_search (line 9985) | fn preview_content_limit_for_search( function snippet_projection_does_not_materialize_content_field (line 10008) | fn snippet_projection_does_not_materialize_content_field() { function content_projection_materializes_content_field (line 10018) | fn content_projection_materializes_content_field() { function small_token_budget_uses_preview_content_before_search_hydration (line 10028) | fn small_token_budget_uses_preview_content_before_search_hydration() { function large_token_budget_keeps_full_content_hydration (line 10041) | fn large_token_budget_keeps_full_content_hydration() { function no_limit_token_budget_uses_preview_limit_and_bounded_fetch (line 10058) | fn no_limit_token_budget_uses_preview_limit_and_bounded_fetch() { function safe_robot_score_value (line 10084) | fn safe_robot_score_value(score: f32) -> serde_json::Value { function normalized_robot_hit_source_id (line 10088) | fn normalized_robot_hit_source_id(hit: &crate::search::query::SearchHit)... function normalized_robot_hit_origin_kind (line 10098) | fn normalized_robot_hit_origin_kind(hit: &crate::search::query::SearchHi... function normalized_robot_hit_origin_host (line 10109) | fn normalized_robot_hit_origin_host(hit: &crate::search::query::SearchHi... function normalized_robot_hit_for_output (line 10117) | fn normalized_robot_hit_for_output( function projected_hit_field_value (line 10130) | fn projected_hit_field_value( function filter_hit_fields (line 10163) | fn filter_hit_fields( function truncate_content (line 10226) | fn truncate_content(s: &str, max_len: usize) -> Option { function truncate_content_returns_none_when_chars_within_limit (line 10257) | fn truncate_content_returns_none_when_chars_within_limit() { function truncate_content_returns_some_when_chars_exceed_limit (line 10268) | fn truncate_content_returns_some_when_chars_exceed_limit() { function truncate_content_handles_max_len_below_ellipsis_budget (line 10282) | fn truncate_content_handles_max_len_below_ellipsis_budget() { function truncate_content_is_utf8_safe_on_multibyte_boundaries (line 10291) | fn truncate_content_is_utf8_safe_on_multibyte_boundaries() { function truncate_content_short_circuits_on_huge_input (line 10303) | fn truncate_content_short_circuits_on_huge_input() { function truncate_content_avoids_allocation_on_no_truncation_path (line 10318) | fn truncate_content_avoids_allocation_on_no_truncation_path() { type FieldBudgets (line 10329) | struct FieldBudgets { method has_any_limit (line 10338) | fn has_any_limit(self) -> bool { function apply_content_truncation (line 10346) | fn apply_content_truncation(hit: serde_json::Value, budgets: FieldBudget... function clamp_hits_to_budget (line 10370) | fn clamp_hits_to_budget( function robot_format_from_env (line 10410) | fn robot_format_from_env() -> Option { type SearchModeMeta (line 10433) | struct SearchModeMeta { method new (line 10442) | fn new(requested: crate::search::query::SearchMode, defaulted: bool) -... method semantic_refinement (line 10452) | fn semantic_refinement(&self) -> bool { method fail_open_on_semantic_unavailable (line 10459) | fn fail_open_on_semantic_unavailable(&self) -> bool { method fall_back_to_lexical (line 10463) | fn fall_back_to_lexical(&mut self, reason: impl Into) { function search_mode_label (line 10470) | fn search_mode_label(mode: crate::search::query::SearchMode) -> &'static... function toon_encode_options_from_env (line 10478) | fn toon_encode_options_from_env() -> toon::EncodeOptions { function output_structured_value (line 10511) | fn output_structured_value(payload: serde_json::Value, format: RobotForm... function encode_search_cursor (line 10530) | fn encode_search_cursor(offset: usize, limit: usize) -> Option { type SearchCursorManifestInput (line 10542) | struct SearchCursorManifestInput<'a> { function search_cursor_manifest_json (line 10565) | fn search_cursor_manifest_json(input: SearchCursorManifestInput<'_>) -> ... function output_robot_results (line 10671) | fn output_robot_results( function source_filter_where_clause (line 11695) | fn source_filter_where_clause( function stats_message_count_sql (line 11725) | fn stats_message_count_sql(source_where: &str) -> String { function stats_workspace_count_sql (line 11735) | fn stats_workspace_count_sql(source_where: &str) -> String { function append_source_filter_condition (line 11745) | fn append_source_filter_condition( function run_stats (line 11779) | fn run_stats( function run_diag (line 12032) | fn run_diag( type DoctorAssetClass (line 12332) | enum DoctorAssetClass { type DoctorAssetSafetyClassification (line 12360) | enum DoctorAssetSafetyClassification { type DoctorAssetOperation (line 12376) | enum DoctorAssetOperation { type DoctorAssetPolicy (line 12392) | struct DoctorAssetPolicy { type DoctorAssetTaxonomyEntry (line 12404) | struct DoctorAssetTaxonomyEntry { type DoctorAssetSafety (line 12416) | struct DoctorAssetSafety { type DoctorHealth (line 12427) | enum DoctorHealth { type DoctorAnomaly (line 12438) | enum DoctorAnomaly { type DoctorSeverity (line 12463) | enum DoctorSeverity { type DoctorDataLossRisk (line 12471) | enum DoctorDataLossRisk { type DoctorAnomalyPolicy (line 12481) | struct DoctorAnomalyPolicy { type DoctorAnomalyTaxonomyEntry (line 12493) | struct DoctorAnomalyTaxonomyEntry { type DoctorCheckReport (line 12505) | struct DoctorCheckReport { method anomaly_class_label (line 25825) | fn anomaly_class_label(&self) -> String { type DoctorIncidentRootCauseKind (line 12523) | enum DoctorIncidentRootCauseKind { type DoctorRootCauseIncident (line 12541) | struct DoctorRootCauseIncident { type DoctorDatabaseIntegrityProbe (line 12559) | struct DoctorDatabaseIntegrityProbe { method is_ok (line 12836) | fn is_ok(&self) -> bool { method failed_pragma_name (line 12841) | fn failed_pragma_name(&self) -> &'static str { method diagnostic_summary (line 12849) | fn diagnostic_summary(&self) -> String { constant DOCTOR_DATABASE_INTEGRITY_DIAGNOSTIC_LIMIT (line 12564) | const DOCTOR_DATABASE_INTEGRITY_DIAGNOSTIC_LIMIT: usize = 20; constant DOCTOR_ANOMALY_POLICY_TABLE (line 12566) | const DOCTOR_ANOMALY_POLICY_TABLE: &[DoctorAnomalyPolicy] = &[ function doctor_anomaly_policy (line 12769) | fn doctor_anomaly_policy(anomaly_class: DoctorAnomaly) -> &'static Docto... function doctor_anomaly_taxonomy_report (line 12776) | fn doctor_anomaly_taxonomy_report() -> Vec { function doctor_database_integrity_probe (line 12792) | fn doctor_database_integrity_probe( function doctor_anomaly_for_check (line 12875) | fn doctor_anomaly_for_check(name: &str, status: &str, message: &str) -> ... function doctor_check_report (line 12951) | fn doctor_check_report( function doctor_severity_rank (line 12977) | fn doctor_severity_rank(severity: DoctorSeverity) -> u8 { function doctor_max_severity (line 12985) | fn doctor_max_severity(left: DoctorSeverity, right: DoctorSeverity) -> D... function doctor_max_data_loss_risk (line 12993) | fn doctor_max_data_loss_risk( function doctor_add_unique_string (line 13004) | fn doctor_add_unique_string(values: &mut Vec, value: impl Into, val... function doctor_incident_kind_for_check (line 13017) | fn doctor_incident_kind_for_check( function doctor_incident_summary (line 13080) | fn doctor_incident_summary(kind: DoctorIncidentRootCauseKind) -> &'stati... function doctor_incident_confidence (line 13127) | fn doctor_incident_confidence( function doctor_incident_blocked_actions (line 13149) | fn doctor_incident_blocked_actions( function doctor_incident_redacted_paths (line 13182) | fn doctor_incident_redacted_paths( function build_doctor_root_cause_incidents (line 13225) | fn build_doctor_root_cause_incidents( function doctor_health_class_for_checks (line 13382) | fn doctor_health_class_for_checks(checks: &[DoctorCheckReport]) -> Docto... function doctor_data_loss_risk_rank (line 13416) | fn doctor_data_loss_risk_rank(risk: DoctorDataLossRisk) -> u8 { function doctor_highest_data_loss_risk (line 13426) | fn doctor_highest_data_loss_risk(checks: &[DoctorCheckReport]) -> Doctor... function doctor_top_level_operation_outcome (line 13434) | fn doctor_top_level_operation_outcome( constant DOCTOR_ASSET_ALL_OPERATIONS (line 13629) | const DOCTOR_ASSET_ALL_OPERATIONS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_PRECIOUS_EVIDENCE_OPS (line 13644) | const DOCTOR_ASSET_PRECIOUS_EVIDENCE_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_ARCHIVE_OPS (line 13655) | const DOCTOR_ASSET_ARCHIVE_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_SIDECAR_OPS (line 13668) | const DOCTOR_ASSET_SIDECAR_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_USER_STATE_OPS (line 13678) | const DOCTOR_ASSET_USER_STATE_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_AUDIT_OPS (line 13688) | const DOCTOR_ASSET_AUDIT_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_BACKUP_OPS (line 13697) | const DOCTOR_ASSET_BACKUP_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_DERIVED_REBUILDABLE_OPS (line 13706) | const DOCTOR_ASSET_DERIVED_REBUILDABLE_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_DERIVED_RECLAIMABLE_OPS (line 13716) | const DOCTOR_ASSET_DERIVED_RECLAIMABLE_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_DIAGNOSTIC_OPS (line 13727) | const DOCTOR_ASSET_DIAGNOSTIC_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_EXTERNAL_SOURCE_OPS (line 13736) | const DOCTOR_ASSET_EXTERNAL_SOURCE_OPS: &[DoctorAssetOperation] = &[ constant DOCTOR_ASSET_NO_OPS (line 13742) | const DOCTOR_ASSET_NO_OPS: &[DoctorAssetOperation] = &[]; constant DOCTOR_ASSET_POLICY_TABLE (line 13744) | const DOCTOR_ASSET_POLICY_TABLE: &[DoctorAssetPolicy] = &[ function doctor_asset_policy (line 13977) | fn doctor_asset_policy(asset_class: DoctorAssetClass) -> &'static Doctor... function doctor_asset_safety (line 13984) | fn doctor_asset_safety(asset_class: DoctorAssetClass) -> DoctorAssetSafe... function doctor_asset_allows_operation (line 13996) | fn doctor_asset_allows_operation( function doctor_asset_safe_to_gc (line 14005) | fn doctor_asset_safe_to_gc(asset_class: DoctorAssetClass, candidate_safe... function doctor_asset_taxonomy_report (line 14013) | fn doctor_asset_taxonomy_report() -> Vec { function doctor_asset_class_for_cleanup_disposition (line 14029) | fn doctor_asset_class_for_cleanup_disposition( type DoctorRepairMode (line 14046) | enum DoctorRepairMode { type DoctorApprovalRequirement (line 14065) | enum DoctorApprovalRequirement { type DoctorRepairOutcomeKind (line 14076) | enum DoctorRepairOutcomeKind { type DoctorOperationOutcomeKind (line 14088) | enum DoctorOperationOutcomeKind { type DoctorExitCodeKind (line 14108) | enum DoctorExitCodeKind { type DoctorRepairRetrySafety (line 14119) | enum DoctorRepairRetrySafety { type DoctorRepairModePolicy (line 14128) | struct DoctorRepairModePolicy { type DoctorOperationOutcomePolicy (line 14142) | struct DoctorOperationOutcomePolicy { type DoctorOperationOutcomeReport (line 14156) | struct DoctorOperationOutcomeReport { type DoctorOperationOutcomePolicyReport (line 14170) | struct DoctorOperationOutcomePolicyReport { type DoctorRepairModePolicyReport (line 14184) | struct DoctorRepairModePolicyReport { type DoctorRepairLegacyAliasReport (line 14198) | struct DoctorRepairLegacyAliasReport { type DoctorRepairContractReport (line 14205) | struct DoctorRepairContractReport { type DoctorRepairReceipt (line 14221) | struct DoctorRepairReceipt { constant DOCTOR_REPAIR_FAILURE_MARKER_SCHEMA_VERSION (line 14257) | const DOCTOR_REPAIR_FAILURE_MARKER_SCHEMA_VERSION: u32 = 1; constant DOCTOR_REPAIR_FAILURE_MARKER_KIND (line 14258) | const DOCTOR_REPAIR_FAILURE_MARKER_KIND: &str = "cass_doctor_repair_fail... type DoctorRepairFailureMarkerArtifact (line 14261) | struct DoctorRepairFailureMarkerArtifact { type DoctorRepairFailureMarker (line 14269) | struct DoctorRepairFailureMarker { type DoctorRepairFailureMarkerReport (line 14294) | struct DoctorRepairFailureMarkerReport { type DoctorActionStatus (line 14314) | enum DoctorActionStatus { type DoctorArtifactChecksumStatus (line 14326) | enum DoctorArtifactChecksumStatus { type DoctorDriftDetectionStatus (line 14336) | enum DoctorDriftDetectionStatus { type DoctorPlanReceiptSchemaReport (line 14346) | struct DoctorPlanReceiptSchemaReport { type DoctorVerificationMatrixEntry (line 14362) | struct DoctorVerificationMatrixEntry { type DoctorVerificationContractReport (line 14375) | struct DoctorVerificationContractReport { type DoctorCoverageSnapshot (line 14389) | struct DoctorCoverageSnapshot { type DoctorSafetyGate (line 14399) | struct DoctorSafetyGate { type DoctorArtifact (line 14412) | struct DoctorArtifact { type DoctorAction (line 14427) | struct DoctorAction { type DoctorEvent (line 14451) | struct DoctorEvent { type DoctorEventDraft (line 14469) | struct DoctorEventDraft { type DoctorEventLogMetadata (line 14485) | struct DoctorEventLogMetadata { type DoctorPostRepairProbeSuiteReport (line 14495) | struct DoctorPostRepairProbeSuiteReport { type DoctorPostRepairProbeReport (line 14514) | struct DoctorPostRepairProbeReport { type DoctorForensicBundleArtifact (line 14536) | struct DoctorForensicBundleArtifact { type DoctorForensicBundleMetadata (line 14551) | struct DoctorForensicBundleMetadata { type DoctorArtifactManifest (line 14571) | struct DoctorArtifactManifest { type DoctorPlan (line 14580) | struct DoctorPlan { type DoctorRepairPlanActionPreview (line 14602) | struct DoctorRepairPlanActionPreview { type DoctorRepairPlanPreviewReport (line 14613) | struct DoctorRepairPlanPreviewReport { constant DOCTOR_REPAIR_ACTION_PROMOTE_RECONSTRUCT_CANDIDATE (line 14642) | const DOCTOR_REPAIR_ACTION_PROMOTE_RECONSTRUCT_CANDIDATE: &str = constant DOCTOR_REPAIR_ACTION_REBUILD_FROM_PROMOTED_CANDIDATE (line 14644) | const DOCTOR_REPAIR_ACTION_REBUILD_FROM_PROMOTED_CANDIDATE: &str = constant DOCTOR_REPAIR_ACTION_REBUILD_FROM_ARCHIVE_DB (line 14646) | const DOCTOR_REPAIR_ACTION_REBUILD_FROM_ARCHIVE_DB: &str = constant DOCTOR_REPAIR_ALL_MODES (line 14650) | const DOCTOR_REPAIR_ALL_MODES: &[DoctorRepairMode] = &[ constant DOCTOR_REPAIR_NO_MUTATION_ASSETS (line 14666) | const DOCTOR_REPAIR_NO_MUTATION_ASSETS: &[DoctorAssetClass] = &[]; constant DOCTOR_REPAIR_APPROVAL_REQUIREMENT_VOCABULARY (line 14667) | const DOCTOR_REPAIR_APPROVAL_REQUIREMENT_VOCABULARY: &[DoctorApprovalReq... constant DOCTOR_REPAIR_OUTCOME_KIND_VOCABULARY (line 14674) | const DOCTOR_REPAIR_OUTCOME_KIND_VOCABULARY: &[DoctorRepairOutcomeKind] ... constant DOCTOR_OPERATION_OUTCOME_KIND_VOCABULARY (line 14682) | const DOCTOR_OPERATION_OUTCOME_KIND_VOCABULARY: &[DoctorOperationOutcome... constant DOCTOR_REPAIR_RETRY_SAFETY_VOCABULARY (line 14698) | const DOCTOR_REPAIR_RETRY_SAFETY_VOCABULARY: &[DoctorRepairRetrySafety] ... constant DOCTOR_OPERATION_OUTCOME_POLICY_TABLE (line 14704) | const DOCTOR_OPERATION_OUTCOME_POLICY_TABLE: &[DoctorOperationOutcomePol... constant DOCTOR_ACTION_STATUS_VOCABULARY (line 14874) | const DOCTOR_ACTION_STATUS_VOCABULARY: &[DoctorActionStatus] = &[ constant DOCTOR_ARTIFACT_CHECKSUM_STATUS_VOCABULARY (line 14882) | const DOCTOR_ARTIFACT_CHECKSUM_STATUS_VOCABULARY: &[DoctorArtifactChecks... constant DOCTOR_DRIFT_DETECTION_STATUS_VOCABULARY (line 14888) | const DOCTOR_DRIFT_DETECTION_STATUS_VOCABULARY: &[DoctorDriftDetectionSt... constant DOCTOR_REPAIR_DERIVED_CLEANUP_ASSETS (line 14895) | const DOCTOR_REPAIR_DERIVED_CLEANUP_ASSETS: &[DoctorAssetClass] = &[ constant DOCTOR_REPAIR_REBUILD_ASSETS (line 14900) | const DOCTOR_REPAIR_REBUILD_ASSETS: &[DoctorAssetClass] = &[ constant DOCTOR_REPAIR_RESTORE_ASSETS (line 14905) | const DOCTOR_REPAIR_RESTORE_ASSETS: &[DoctorAssetClass] = &[ constant DOCTOR_REPAIR_RECONSTRUCT_ASSETS (line 14910) | const DOCTOR_REPAIR_RECONSTRUCT_ASSETS: &[DoctorAssetClass] = &[ constant DOCTOR_REPAIR_READ_ONLY_FIELDS (line 14919) | const DOCTOR_REPAIR_READ_ONLY_FIELDS: &[&str] = &["mode", "outcome_kind"]; constant DOCTOR_REPAIR_MUTATION_FIELDS (line 14920) | const DOCTOR_REPAIR_MUTATION_FIELDS: &[&str] = &[ constant DOCTOR_REPAIR_REHEARSAL_FIELDS (line 14929) | const DOCTOR_REPAIR_REHEARSAL_FIELDS: &[&str] = constant DOCTOR_PLAN_FINGERPRINT_FIELDS (line 14931) | const DOCTOR_PLAN_FINGERPRINT_FIELDS: &[&str] = &[ constant DOCTOR_RECEIPT_REQUIRED_FIELDS (line 14947) | const DOCTOR_RECEIPT_REQUIRED_FIELDS: &[&str] = &[ constant DOCTOR_VERIFICATION_MANIFEST_FIELDS (line 14963) | const DOCTOR_VERIFICATION_MANIFEST_FIELDS: &[&str] = &[ constant DOCTOR_VERIFICATION_STEP_LOG_FIELDS (line 14982) | const DOCTOR_VERIFICATION_STEP_LOG_FIELDS: &[&str] = &[ constant DOCTOR_VERIFICATION_INVENTORY_FIELDS (line 14997) | const DOCTOR_VERIFICATION_INVENTORY_FIELDS: &[&str] = &[ constant DOCTOR_VERIFICATION_REDACTION_GUARANTEES (line 15007) | const DOCTOR_VERIFICATION_REDACTION_GUARANTEES: &[&str] = &[ constant DOCTOR_REPAIR_READ_ONLY_ABORTS (line 15013) | const DOCTOR_REPAIR_READ_ONLY_ABORTS: &[&str] = &["schema_error", "io_er... constant DOCTOR_REPAIR_MUTATION_ABORTS (line 15014) | const DOCTOR_REPAIR_MUTATION_ABORTS: &[&str] = &[ constant DOCTOR_REPAIR_EMERGENCY_ABORTS (line 15022) | const DOCTOR_REPAIR_EMERGENCY_ABORTS: &[&str] = &["always_refused_until_... constant DOCTOR_REPAIR_MODE_POLICY_TABLE (line 15024) | const DOCTOR_REPAIR_MODE_POLICY_TABLE: &[DoctorRepairModePolicy] = &[ function doctor_repair_mode_policy (line 15183) | fn doctor_repair_mode_policy(mode: DoctorRepairMode) -> &'static DoctorR... function doctor_repair_mode_allows_asset_mutation (line 15190) | fn doctor_repair_mode_allows_asset_mutation( function doctor_repair_mode_allows_asset_operation_mutation (line 15201) | fn doctor_repair_mode_allows_asset_operation_mutation( function doctor_repair_mode_policy_report (line 15219) | fn doctor_repair_mode_policy_report() -> Vec Vec &'static str { function print_doctor_operation_outcome_human (line 15330) | fn print_doctor_operation_outcome_human(outcome: &DoctorOperationOutcome... function doctor_plan_receipt_schema_report (line 15354) | fn doctor_plan_receipt_schema_report() -> DoctorPlanReceiptSchemaReport { function doctor_verification_contract_report (line 15371) | fn doctor_verification_contract_report() -> DoctorVerificationContractRe... function doctor_repair_contract_report (line 15542) | fn doctor_repair_contract_report() -> DoctorRepairContractReport { function doctor_now_ms (line 15580) | fn doctor_now_ms() -> i64 { function doctor_canonical_json_value (line 15584) | fn doctor_canonical_json_value(value: serde_json::Value) -> serde_json::... function doctor_canonical_blake3 (line 15602) | fn doctor_canonical_blake3(prefix: &str, value: serde_json::Value) -> St... function doctor_redacted_path (line 15612) | fn doctor_redacted_path(path: &str, data_dir: &Path) -> String { function doctor_forensic_bundle_uncaptured (line 15626) | fn doctor_forensic_bundle_uncaptured(status: &str) -> DoctorForensicBund... function doctor_forensic_bundle_failed (line 15635) | fn doctor_forensic_bundle_failed(reason: impl Into) -> DoctorFor... function doctor_forensic_bundle_root (line 15645) | fn doctor_forensic_bundle_root(data_dir: &Path) -> PathBuf { function doctor_forensic_create_private_dir (line 15649) | fn doctor_forensic_create_private_dir(path: &Path) -> io::Result<()> { function doctor_forensic_create_private_dir_all (line 15667) | fn doctor_forensic_create_private_dir_all(path: &Path) -> io::Result<()> { function doctor_forensic_create_private_file (line 15685) | fn doctor_forensic_create_private_file(path: &Path) -> io::Result ... function doctor_forensic_relative_path_is_safe (line 15716) | fn doctor_forensic_relative_path_is_safe(relative_path: &Path) -> bool { function doctor_forensic_bundle_root_is_safe (line 15726) | fn doctor_forensic_bundle_root_is_safe(data_dir: &Path, root: &Path) -> ... function doctor_sqlite_sidecar_path (line 15764) | fn doctor_sqlite_sidecar_path(db_path: &Path, suffix: &str) -> Option { function doctor_forensic_source_artifact (line 15777) | fn doctor_forensic_source_artifact( function doctor_forensic_generated_artifact (line 15797) | fn doctor_forensic_generated_artifact( function doctor_forensic_record_missing_artifact (line 15818) | fn doctor_forensic_record_missing_artifact( function doctor_forensic_copy_file_artifact (line 15839) | fn doctor_forensic_copy_file_artifact( function doctor_forensic_write_json_artifact (line 15990) | fn doctor_forensic_write_json_artifact( function doctor_forensic_safe_command_args (line 16059) | fn doctor_forensic_safe_command_args() -> Vec { function doctor_forensic_safe_env_metadata (line 16082) | fn doctor_forensic_safe_env_metadata() -> serde_json::Value { type DoctorForensicBundleCaptureInput (line 16111) | struct DoctorForensicBundleCaptureInput<'a> { function capture_doctor_forensic_bundle (line 16121) | fn capture_doctor_forensic_bundle( type DoctorSourceInventoryDbRow (line 16454) | struct DoctorSourceInventoryDbRow { type DoctorSourceInventoryReport (line 16464) | struct DoctorSourceInventoryReport { type DoctorProviderSourceInventory (line 16483) | struct DoctorProviderSourceInventory { type DoctorProviderPruneRisk (line 16498) | struct DoctorProviderPruneRisk { method default (line 16504) | fn default() -> Self { type DoctorSourceIdentityInventory (line 16510) | struct DoctorSourceIdentityInventory { type DoctorDetectedProviderRoot (line 16523) | struct DoctorDetectedProviderRoot { type DoctorRawMirrorBackfillCandidate (line 16532) | struct DoctorRawMirrorBackfillCandidate { type DoctorRawMirrorBackfillReport (line 16544) | struct DoctorRawMirrorBackfillReport { type DoctorRawMirrorBackfillReceipt (line 16572) | struct DoctorRawMirrorBackfillReceipt { type DoctorRawMirrorBackfillSourceStatSnapshot (line 16601) | struct DoctorRawMirrorBackfillSourceStatSnapshot { type DoctorCandidateLiveInventory (line 16611) | struct DoctorCandidateLiveInventory { type DoctorCandidateArtifact (line 16626) | struct DoctorCandidateArtifact { type DoctorCandidateManifest (line 16639) | struct DoctorCandidateManifest { type DoctorCandidateCoverageSnapshot (line 16671) | struct DoctorCandidateCoverageSnapshot { type DoctorCandidateSummary (line 16682) | struct DoctorCandidateSummary { type DoctorCandidateBuildReport (line 16703) | struct DoctorCandidateBuildReport { type DoctorCandidateStagingReport (line 16737) | struct DoctorCandidateStagingReport { type DoctorCandidatePromotionArtifact (line 16756) | struct DoctorCandidatePromotionArtifact { type DoctorCandidatePromotionReport (line 16772) | struct DoctorCandidatePromotionReport { type DoctorRawMirrorExistingEvidence (line 16820) | struct DoctorRawMirrorExistingEvidence { type DoctorCoverageSummary (line 16831) | struct DoctorCoverageSummary { type DoctorCoverageComparisonGateReport (line 16858) | struct DoctorCoverageComparisonGateReport { type DoctorSoleCopyWarning (line 16895) | struct DoctorSoleCopyWarning { type DoctorCoverageRiskSummary (line 16913) | struct DoctorCoverageRiskSummary { type DoctorProviderInventoryBuilder (line 16929) | struct DoctorProviderInventoryBuilder { type DoctorSourceIdentityInventoryBuilder (line 16939) | struct DoctorSourceIdentityInventoryBuilder { type DoctorSourceAuthorityKind (line 16952) | enum DoctorSourceAuthorityKind { type DoctorSourceAuthorityDecision (line 16966) | enum DoctorSourceAuthorityDecision { type DoctorSourceAuthorityPolicy (line 16974) | struct DoctorSourceAuthorityPolicy { type DoctorSourceAuthorityMatrixEntry (line 16984) | struct DoctorSourceAuthorityMatrixEntry { type DoctorSourceAuthorityCandidate (line 16994) | struct DoctorSourceAuthorityCandidate { type DoctorSourceAuthorityCoverageDelta (line 17006) | struct DoctorSourceAuthorityCoverageDelta { type DoctorSourceAuthorityFreshnessDelta (line 17018) | struct DoctorSourceAuthorityFreshnessDelta { type DoctorSourceAuthorityChecksumEvidence (line 17027) | struct DoctorSourceAuthorityChecksumEvidence { type DoctorSourceAuthorityReport (line 17040) | struct DoctorSourceAuthorityReport { type DoctorOperationLockKind (line 17055) | enum DoctorOperationLockKind { type DoctorOperationOwnerConfidence (line 17063) | enum DoctorOperationOwnerConfidence { type DoctorInterruptedOperationKind (line 17073) | enum DoctorInterruptedOperationKind { type DoctorInterruptedOperationDisposition (line 17089) | enum DoctorInterruptedOperationDisposition { type DoctorOperationOwnerReport (line 17095) | struct DoctorOperationOwnerReport { type DoctorLockDiagnosticReport (line 17119) | struct DoctorLockDiagnosticReport { type DoctorTimingSpanReport (line 17143) | struct DoctorTimingSpanReport { type DoctorSlowOperationReport (line 17156) | struct DoctorSlowOperationReport { type DoctorTimingSummaryReport (line 17168) | struct DoctorTimingSummaryReport { type DoctorRetryRecommendationReport (line 17180) | struct DoctorRetryRecommendationReport { type DoctorInterruptedOperationReport (line 17191) | struct DoctorInterruptedOperationReport { type DoctorOperationStateReport (line 17203) | struct DoctorOperationStateReport { type DoctorMutationLockGuard (line 17222) | struct DoctorMutationLockGuard { method drop (line 17227) | fn drop(&mut self) { type DoctorMutationLockObservation (line 17233) | enum DoctorMutationLockObservation { method path (line 17256) | fn path(&self) -> &Path { method blocks_mutation (line 17266) | fn blocks_mutation(&self) -> bool { constant DOCTOR_STORAGE_MIN_FREE_BYTES (line 17271) | const DOCTOR_STORAGE_MIN_FREE_BYTES: u64 = 1024 * 1024 * 1024; constant CASS_TEST_DOCTOR_STORAGE_AVAILABLE_BYTES (line 17272) | const CASS_TEST_DOCTOR_STORAGE_AVAILABLE_BYTES: &str = "CASS_TEST_DOCTOR... constant DOCTOR_SLOW_OPERATION_DEFAULT_THRESHOLD_MS (line 17273) | const DOCTOR_SLOW_OPERATION_DEFAULT_THRESHOLD_MS: u64 = 500; constant DOCTOR_LOCK_HEARTBEAT_STALE_AFTER_MS (line 17274) | const DOCTOR_LOCK_HEARTBEAT_STALE_AFTER_MS: u64 = 60 * 60 * 1000; type DoctorStoragePressureReport (line 17277) | struct DoctorStoragePressureReport { function doctor_storage_probe_path (line 17287) | fn doctor_storage_probe_path(data_dir: &Path) -> PathBuf { function doctor_available_space (line 17296) | fn doctor_available_space(probe_path: &Path) -> io::Result { function collect_doctor_storage_pressure (line 17308) | fn collect_doctor_storage_pressure(data_dir: &Path) -> DoctorStoragePres... function doctor_fallback_mode_from_state (line 17354) | fn doctor_fallback_mode_from_state(state: &serde_json::Value) -> String { function doctor_risk_level_for_reports (line 17372) | fn doctor_risk_level_for_reports( function doctor_recommended_action_for_reports (line 17403) | fn doctor_recommended_action_for_reports( function doctor_active_repair_report (line 17427) | fn doctor_active_repair_report(operation_state: &DoctorOperationStateRep... function doctor_check_scope_report (line 17441) | fn doctor_check_scope_report( function doctor_normalized_provider_slug (line 17497) | fn doctor_normalized_provider_slug(provider: &str) -> String { function doctor_normalized_source_path (line 17506) | fn doctor_normalized_source_path(path: Option<&str>) -> Option { function doctor_provider_prune_risk (line 17512) | fn doctor_provider_prune_risk(provider: &str) -> DoctorProviderPruneRisk { constant DOCTOR_AUTHORITY_ARCHIVE_REPAIRS (line 17537) | const DOCTOR_AUTHORITY_ARCHIVE_REPAIRS: &[DoctorAssetClass] = &[ constant DOCTOR_AUTHORITY_RAW_MIRROR_REPAIRS (line 17542) | const DOCTOR_AUTHORITY_RAW_MIRROR_REPAIRS: &[DoctorAssetClass] = &[ constant DOCTOR_AUTHORITY_BACKUP_REPAIRS (line 17546) | const DOCTOR_AUTHORITY_BACKUP_REPAIRS: &[DoctorAssetClass] = &[ constant DOCTOR_AUTHORITY_CANDIDATE_REPAIRS (line 17551) | const DOCTOR_AUTHORITY_CANDIDATE_REPAIRS: &[DoctorAssetClass] = &[ constant DOCTOR_AUTHORITY_LIVE_SOURCE_REPAIRS (line 17557) | const DOCTOR_AUTHORITY_LIVE_SOURCE_REPAIRS: &[DoctorAssetClass] = &[ constant DOCTOR_AUTHORITY_REMOTE_COPY_REPAIRS (line 17561) | const DOCTOR_AUTHORITY_REMOTE_COPY_REPAIRS: &[DoctorAssetClass] = &[ constant DOCTOR_AUTHORITY_NO_REPAIRS (line 17565) | const DOCTOR_AUTHORITY_NO_REPAIRS: &[DoctorAssetClass] = &[]; constant DOCTOR_SOURCE_AUTHORITY_POLICY_TABLE (line 17567) | const DOCTOR_SOURCE_AUTHORITY_POLICY_TABLE: &[DoctorSourceAuthorityPolic... function doctor_source_authority_policy (line 17697) | fn doctor_source_authority_policy( function doctor_source_authority_matrix_report (line 17706) | fn doctor_source_authority_matrix_report() -> Vec D... constant DOCTOR_RAW_MIRROR_ROOT_DIR (line 18060) | const DOCTOR_RAW_MIRROR_ROOT_DIR: &str = "raw-mirror"; constant DOCTOR_RAW_MIRROR_SCHEMA_VERSION (line 18061) | const DOCTOR_RAW_MIRROR_SCHEMA_VERSION: u32 = 1; constant DOCTOR_RAW_MIRROR_BACKFILL_GENERATION (line 18062) | const DOCTOR_RAW_MIRROR_BACKFILL_GENERATION: u32 = 1; constant DOCTOR_RAW_MIRROR_VERSION_DIR (line 18063) | const DOCTOR_RAW_MIRROR_VERSION_DIR: &str = "v1"; constant DOCTOR_RAW_MIRROR_MANIFEST_KIND (line 18064) | const DOCTOR_RAW_MIRROR_MANIFEST_KIND: &str = "cass_raw_session_mirror_v1"; constant DOCTOR_RAW_MIRROR_HASH_ALGORITHM (line 18065) | const DOCTOR_RAW_MIRROR_HASH_ALGORITHM: &str = "blake3"; constant DOCTOR_RAW_MIRROR_BLOB_EXTENSION (line 18066) | const DOCTOR_RAW_MIRROR_BLOB_EXTENSION: &str = "raw"; constant DOCTOR_RAW_MIRROR_DIR_MODE (line 18067) | const DOCTOR_RAW_MIRROR_DIR_MODE: &str = "0700"; constant DOCTOR_RAW_MIRROR_FILE_MODE (line 18068) | const DOCTOR_RAW_MIRROR_FILE_MODE: &str = "0600"; type DoctorRawMirrorReport (line 18071) | struct DoctorRawMirrorReport { type DoctorRawMirrorLayoutReport (line 18090) | struct DoctorRawMirrorLayoutReport { type DoctorRawMirrorPolicyReport (line 18106) | struct DoctorRawMirrorPolicyReport { type DoctorRawMirrorSensitiveOutputPolicyReport (line 18133) | struct DoctorRawMirrorSensitiveOutputPolicyReport { type DoctorRawMirrorCodecPolicyReport (line 18143) | struct DoctorRawMirrorCodecPolicyReport { type DoctorRawMirrorEncryptionPolicyReport (line 18152) | struct DoctorRawMirrorEncryptionPolicyReport { type DoctorRawMirrorBackupPolicyReport (line 18162) | struct DoctorRawMirrorBackupPolicyReport { type DoctorRawMirrorSupportBundlePolicyReport (line 18170) | struct DoctorRawMirrorSupportBundlePolicyReport { type DoctorRawMirrorPublicExportPolicyReport (line 18179) | struct DoctorRawMirrorPublicExportPolicyReport { type DoctorRawMirrorSummary (line 18188) | struct DoctorRawMirrorSummary { type DoctorRawMirrorManifestReport (line 18202) | struct DoctorRawMirrorManifestReport { type DoctorRawMirrorDbLink (line 18242) | struct DoctorRawMirrorDbLink { type DoctorRawMirrorCompressionEnvelope (line 18254) | struct DoctorRawMirrorCompressionEnvelope { type DoctorRawMirrorEncryptionEnvelope (line 18264) | struct DoctorRawMirrorEncryptionEnvelope { type DoctorRawMirrorVerificationRecord (line 18276) | struct DoctorRawMirrorVerificationRecord { type DoctorRawMirrorManifestFile (line 18288) | struct DoctorRawMirrorManifestFile { function doctor_raw_mirror_none_state (line 18335) | fn doctor_raw_mirror_none_state() -> String { function doctor_raw_mirror_root (line 18339) | fn doctor_raw_mirror_root(data_dir: &Path) -> PathBuf { function doctor_raw_mirror_root_relative_path (line 18345) | fn doctor_raw_mirror_root_relative_path() -> String { function doctor_raw_mirror_layout_report (line 18349) | fn doctor_raw_mirror_layout_report() -> DoctorRawMirrorLayoutReport { function doctor_raw_mirror_policy_report (line 18366) | fn doctor_raw_mirror_policy_report() -> DoctorRawMirrorPolicyReport { function doctor_raw_mirror_blob_relative_path (line 18483) | fn doctor_raw_mirror_blob_relative_path(blob_blake3: &str) -> Option String { function doctor_raw_mirror_original_path_blake3 (line 18501) | fn doctor_raw_mirror_original_path_blake3(original_path: &str) -> String { function doctor_raw_mirror_manifest_id (line 18509) | fn doctor_raw_mirror_manifest_id( function doctor_raw_mirror_manifest_blake3 (line 18530) | fn doctor_raw_mirror_manifest_blake3(manifest: &DoctorRawMirrorManifestF... function doctor_raw_mirror_validate_relative_path (line 18538) | fn doctor_raw_mirror_validate_relative_path( function doctor_raw_mirror_unique_db_links (line 18567) | fn doctor_raw_mirror_unique_db_links( function doctor_file_blake3 (line 18589) | fn doctor_file_blake3(path: &Path) -> io::Result { function doctor_raw_mirror_invalid_manifest_report (line 18603) | fn doctor_raw_mirror_invalid_manifest_report( function doctor_raw_mirror_loaded_invalid_manifest_report (line 18650) | fn doctor_raw_mirror_loaded_invalid_manifest_report( function doctor_verify_raw_mirror_manifest (line 18702) | fn doctor_verify_raw_mirror_manifest( function doctor_raw_mirror_count_interrupted_captures (line 18914) | fn doctor_raw_mirror_count_interrupted_captures(root: &Path) -> usize { function collect_doctor_raw_mirror_report (line 18925) | fn collect_doctor_raw_mirror_report(data_dir: &Path) -> DoctorRawMirrorR... function query_doctor_raw_mirror_backfill_candidates (line 19069) | fn query_doctor_raw_mirror_backfill_candidates( function doctor_raw_mirror_backfill_source_path_blake3 (line 19156) | fn doctor_raw_mirror_backfill_source_path_blake3(path: &str) -> String { function doctor_raw_mirror_backfill_source_key (line 19163) | fn doctor_raw_mirror_backfill_source_key( function doctor_raw_mirror_backfill_record_id (line 19182) | fn doctor_raw_mirror_backfill_record_id(candidate: &DoctorRawMirrorBackf... function doctor_raw_mirror_backfill_source_stat (line 19196) | fn doctor_raw_mirror_backfill_source_stat( function doctor_raw_mirror_manifest_is_verified (line 19234) | fn doctor_raw_mirror_manifest_is_verified(manifest: &DoctorRawMirrorMani... function doctor_raw_mirror_existing_evidence (line 19240) | fn doctor_raw_mirror_existing_evidence( function doctor_raw_mirror_existing_evidence_maps (line 19255) | fn doctor_raw_mirror_existing_evidence_maps( function doctor_raw_mirror_backfill_db_link (line 19302) | fn doctor_raw_mirror_backfill_db_link( function doctor_raw_mirror_backfill_receipt_base (line 19314) | fn doctor_raw_mirror_backfill_receipt_base( function doctor_raw_mirror_backfill_mark_existing_evidence (line 19341) | fn doctor_raw_mirror_backfill_mark_existing_evidence( function doctor_raw_mirror_backfill_live_source_changed (line 19358) | fn doctor_raw_mirror_backfill_live_source_changed( function doctor_raw_mirror_backfill_candidate_receipt (line 19375) | fn doctor_raw_mirror_backfill_candidate_receipt( function doctor_raw_mirror_backfill_receipt_would_mutate (line 19560) | fn doctor_raw_mirror_backfill_receipt_would_mutate( function accumulate_doctor_raw_mirror_backfill_receipt (line 19566) | fn accumulate_doctor_raw_mirror_backfill_receipt( function collect_doctor_raw_mirror_backfill_report (line 19614) | fn collect_doctor_raw_mirror_backfill_report( function doctor_coverage_confidence_tier (line 19791) | fn doctor_coverage_confidence_tier( function build_doctor_sole_copy_warnings (line 19819) | fn build_doctor_sole_copy_warnings( function build_doctor_coverage_summary (line 19874) | fn build_doctor_coverage_summary( function doctor_coverage_gate_delta (line 19990) | fn doctor_coverage_gate_delta(candidate: Option, baseline: usize)... function doctor_coverage_gate_test_fault (line 19994) | fn doctor_coverage_gate_test_fault() -> Option { function build_doctor_coverage_comparison_gate (line 19998) | fn build_doctor_coverage_comparison_gate( function doctor_coverage_risk_summary (line 20157) | fn doctor_coverage_risk_summary( function collect_doctor_coverage_risk_summary (line 20189) | fn collect_doctor_coverage_risk_summary( function doctor_fast_coverage_risk_unchecked (line 20216) | fn doctor_fast_coverage_risk_unchecked(db_exists: bool) -> DoctorCoverag... type DoctorRuntimeSummaryInput (line 20234) | struct DoctorRuntimeSummaryInput<'a> { function doctor_summary_coverage_state (line 20250) | fn doctor_summary_coverage_state(coverage_risk: &DoctorCoverageRiskSumma... function doctor_summary_source_mirror_state (line 20263) | fn doctor_summary_source_mirror_state(coverage_risk: &DoctorCoverageRisk... function doctor_summary_risk_level (line 20281) | fn doctor_summary_risk_level(coverage_risk: &DoctorCoverageRiskSummary) ... function doctor_summary_health_class (line 20300) | fn doctor_summary_health_class( function doctor_summary_failure_marker_path (line 20323) | fn doctor_summary_failure_marker_path(data_dir: &Path) -> Option { function build_doctor_runtime_summary (line 20331) | fn build_doctor_runtime_summary(input: DoctorRuntimeSummaryInput<'_>) ->... function doctor_raw_mirror_summary_checksum_status (line 20516) | fn doctor_raw_mirror_summary_checksum_status( function doctor_source_authority_candidate (line 20535) | fn doctor_source_authority_candidate( function doctor_source_authority_checksum_evidence (line 20557) | fn doctor_source_authority_checksum_evidence( function doctor_source_authority_coverage_delta (line 20577) | fn doctor_source_authority_coverage_delta( function doctor_source_authority_freshness_delta (line 20608) | fn doctor_source_authority_freshness_delta( function build_doctor_source_authority_report (line 20644) | fn build_doctor_source_authority_report( constant DOCTOR_CANDIDATE_SCHEMA_VERSION (line 20815) | const DOCTOR_CANDIDATE_SCHEMA_VERSION: u32 = 1; constant DOCTOR_CANDIDATE_MANIFEST_KIND (line 20816) | const DOCTOR_CANDIDATE_MANIFEST_KIND: &str = "cass_doctor_reconstruct_ca... function doctor_candidate_root (line 20818) | fn doctor_candidate_root(data_dir: &Path) -> PathBuf { function doctor_candidate_id (line 20822) | fn doctor_candidate_id(operation_id: &str, created_at_ms: i64) -> String { function doctor_candidate_root_is_safe (line 20834) | fn doctor_candidate_root_is_safe( function doctor_candidate_live_inventory (line 20883) | fn doctor_candidate_live_inventory( function doctor_candidate_relative_path (line 20920) | fn doctor_candidate_relative_path(candidate_dir: &Path, path: &Path) -> ... function doctor_candidate_artifact_class (line 20926) | fn doctor_candidate_artifact_class(relative_path: &str) -> DoctorAssetCl... function doctor_candidate_artifact_kind (line 20942) | fn doctor_candidate_artifact_kind(relative_path: &str) -> String { function doctor_candidate_artifact_for_path (line 20955) | fn doctor_candidate_artifact_for_path( function collect_doctor_candidate_artifacts (line 20995) | fn collect_doctor_candidate_artifacts( function doctor_candidate_checksum_set (line 21015) | fn doctor_candidate_checksum_set( function doctor_candidate_write_manifest_atomic (line 21029) | fn doctor_candidate_write_manifest_atomic( function doctor_candidate_write_bytes_to_staging (line 21123) | fn doctor_candidate_write_bytes_to_staging( function doctor_candidate_jsonl_bytes (line 21147) | fn doctor_candidate_jsonl_bytes(records: &[serde_json::Value]) -> Vec { type DoctorCandidateCopyContext (line 21158) | struct DoctorCandidateCopyContext<'a> { function doctor_candidate_copy_to_staging (line 21166) | fn doctor_candidate_copy_to_staging( function doctor_candidate_table_count (line 21192) | fn doctor_candidate_table_count(conn: &frankensqlite::Connection, table:... function doctor_candidate_probe_frankensqlite (line 21210) | fn doctor_candidate_probe_frankensqlite( function doctor_candidate_coverage_before_snapshot (line 21267) | fn doctor_candidate_coverage_before_snapshot( function doctor_candidate_coverage_after_snapshot (line 21281) | fn doctor_candidate_coverage_after_snapshot( function doctor_candidate_live_archive_copy_probe (line 21298) | fn doctor_candidate_live_archive_copy_probe( function doctor_candidate_verified_raw_mirror_db_link_count (line 21348) | fn doctor_candidate_verified_raw_mirror_db_link_count(raw_mirror: &Docto... function doctor_candidate_raw_mirror_key (line 21357) | fn doctor_candidate_raw_mirror_key(manifest: &DoctorRawMirrorManifestRep... function doctor_candidate_read_verified_raw_mirror_blob (line 21378) | fn doctor_candidate_read_verified_raw_mirror_blob( function doctor_candidate_message_role (line 21432) | fn doctor_candidate_message_role(value: &serde_json::Value) -> crate::mo... function doctor_candidate_json_message_content (line 21451) | fn doctor_candidate_json_message_content(value: &serde_json::Value) -> S... function doctor_candidate_json_message_timestamp (line 21465) | fn doctor_candidate_json_message_timestamp(value: &serde_json::Value) ->... function doctor_candidate_parse_raw_mirror_messages (line 21481) | fn doctor_candidate_parse_raw_mirror_messages( function doctor_candidate_conversation_from_raw_mirror (line 21575) | fn doctor_candidate_conversation_from_raw_mirror( function doctor_candidate_copy_raw_mirror_evidence_to_staging (line 21642) | fn doctor_candidate_copy_raw_mirror_evidence_to_staging( function doctor_candidate_reconstruct_archive_from_raw_mirror (line 21715) | fn doctor_candidate_reconstruct_archive_from_raw_mirror( function doctor_candidate_build_should_run (line 21827) | fn doctor_candidate_build_should_run( function build_doctor_reconstruct_candidate (line 21860) | fn build_doctor_reconstruct_candidate( function collect_doctor_candidate_staging_report (line 22419) | fn collect_doctor_candidate_staging_report( function doctor_candidate_promotion_root (line 22583) | fn doctor_candidate_promotion_root(data_dir: &Path) -> PathBuf { function doctor_candidate_promotion_id (line 22587) | fn doctor_candidate_promotion_id(candidate_id: &str, created_at_ms: i64)... function doctor_candidate_promotion_unique_location (line 22601) | fn doctor_candidate_promotion_unique_location( function doctor_candidate_promotion_set_location (line 22622) | fn doctor_candidate_promotion_set_location( function doctor_candidate_live_inventory_from_value (line 22641) | fn doctor_candidate_live_inventory_from_value( function doctor_candidate_manifest_checksum (line 22695) | fn doctor_candidate_manifest_checksum<'a>( function doctor_candidate_manifest_value (line 22706) | fn doctor_candidate_manifest_value(candidate_dir: &Path) -> Result { type DoctorCandidatePromotionBundleItem (line 22733) | struct DoctorCandidatePromotionBundleItem { function doctor_candidate_promotion_artifact (line 22752) | fn doctor_candidate_promotion_artifact( function doctor_candidate_live_inventory_component (line 22779) | fn doctor_candidate_live_inventory_component( function doctor_candidate_promotion_bundle_items (line 22791) | fn doctor_candidate_promotion_bundle_items( function doctor_candidate_promotion_record_metadata_artifact (line 22875) | fn doctor_candidate_promotion_record_metadata_artifact( function doctor_candidate_promotion_record_derived_metadata (line 22930) | fn doctor_candidate_promotion_record_derived_metadata( function doctor_candidate_promotion_derived_status (line 22950) | fn doctor_candidate_promotion_derived_status( function doctor_copy_regular_file_to_private_target (line 22973) | fn doctor_copy_regular_file_to_private_target( function doctor_write_private_json_artifact (line 23046) | fn doctor_write_private_json_artifact( function doctor_candidate_promotion_write_receipt (line 23073) | fn doctor_candidate_promotion_write_receipt( function doctor_candidate_promotion_finalize_report (line 23083) | fn doctor_candidate_promotion_finalize_report(report: &mut DoctorCandida... function doctor_candidate_promotion_restore_live_from_backup (line 23089) | fn doctor_candidate_promotion_restore_live_from_backup( function doctor_candidate_promotion_park_new_live_target (line 23128) | fn doctor_candidate_promotion_park_new_live_target( function doctor_candidate_promotion_restore_live_bundle_from_backups (line 23170) | fn doctor_candidate_promotion_restore_live_bundle_from_backups( function doctor_remove_candidate_replace_tmp (line 23206) | fn doctor_remove_candidate_replace_tmp(temp_path: &Path) -> Result<(), S... function doctor_candidate_promotion_replace_file (line 23217) | fn doctor_candidate_promotion_replace_file( function doctor_candidate_promotion_event_log (line 23310) | fn doctor_candidate_promotion_event_log( function doctor_candidate_promotion_write_audit_artifacts (line 23378) | fn doctor_candidate_promotion_write_audit_artifacts( function promote_doctor_reconstruct_candidate_bundle (line 23442) | fn promote_doctor_reconstruct_candidate_bundle( function doctor_mutation_lock_path (line 24001) | fn doctor_mutation_lock_path(data_dir: &Path) -> PathBuf { function doctor_parse_lock_metadata (line 24008) | fn doctor_parse_lock_metadata(raw: &str) -> BTreeMap { function doctor_read_lock_metadata (line 24021) | fn doctor_read_lock_metadata(file: &std::fs::File) -> BTreeMap, key: &s... function doctor_lock_metadata_i64 (line 24034) | fn doctor_lock_metadata_i64(metadata: &BTreeMap, key: &s... function doctor_redact_lock_command (line 24038) | fn doctor_redact_lock_command(command: Option<&String>, data_dir: &Path)... function doctor_probe_mutation_lock (line 24047) | fn doctor_probe_mutation_lock(data_dir: &Path) -> DoctorMutationLockObse... function doctor_acquire_mutation_lock (line 24078) | fn doctor_acquire_mutation_lock( function doctor_operation_owner_from_maintenance (line 24158) | fn doctor_operation_owner_from_maintenance( function doctor_operation_owner_from_doctor_lock (line 24241) | fn doctor_operation_owner_from_doctor_lock( function doctor_interrupted_kind_for_path (line 24340) | fn doctor_interrupted_kind_for_path(path: &Path) -> DoctorInterruptedOpe... function doctor_interrupted_report_for_path (line 24365) | fn doctor_interrupted_report_for_path( function doctor_push_interrupted_scan_entries (line 24393) | fn doctor_push_interrupted_scan_entries( function doctor_lexical_publish_in_progress_backup_path (line 24437) | fn doctor_lexical_publish_in_progress_backup_path(index_path: &Path) -> ... function collect_doctor_interrupted_operation_states (line 24442) | fn collect_doctor_interrupted_operation_states( function build_doctor_operation_state_report (line 24494) | fn build_doctor_operation_state_report( function doctor_elapsed_since_ms (line 24588) | fn doctor_elapsed_since_ms(now_ms: i64, timestamp_ms: Option) -> Op... function doctor_lock_pid_metadata_status (line 24593) | fn doctor_lock_pid_metadata_status(owner: &DoctorOperationOwnerReport) -... function doctor_lock_pid_reuse_ambiguous (line 24618) | fn doctor_lock_pid_reuse_ambiguous(owner: &DoctorOperationOwnerReport) -... function doctor_lock_stale_suspected (line 24628) | fn doctor_lock_stale_suspected( function doctor_lock_retry_policy (line 24643) | fn doctor_lock_retry_policy(owner: &DoctorOperationOwnerReport) -> (&'st... function build_doctor_lock_diagnostics (line 24653) | fn build_doctor_lock_diagnostics( function doctor_push_timing_span (line 24705) | fn doctor_push_timing_span( function build_doctor_slow_operations (line 24728) | fn build_doctor_slow_operations( function build_doctor_timing_summary (line 24761) | fn build_doctor_timing_summary( function build_doctor_retry_recommendation (line 24786) | fn build_doctor_retry_recommendation( function doctor_artifact_checksum_status (line 24843) | fn doctor_artifact_checksum_status( function doctor_action_status_label (line 24861) | fn doctor_action_status_label(status: DoctorActionStatus) -> String { function doctor_artifact_checksum_status_label (line 24868) | fn doctor_artifact_checksum_status_label(status: DoctorArtifactChecksumS... function doctor_serde_label (line 24875) | fn doctor_serde_label(value: T) -> String { function doctor_repair_failure_marker_dir (line 24882) | fn doctor_repair_failure_marker_dir(data_dir: &Path, repair_class: &str)... function doctor_current_repair_class (line 24889) | fn doctor_current_repair_class() -> String { function doctor_repair_class_for_execution (line 24893) | fn doctor_repair_class_for_execution( function doctor_command_line_mode (line 24906) | fn doctor_command_line_mode( function doctor_shell_quote_arg (line 24953) | fn doctor_shell_quote_arg(arg: &str) -> String { function doctor_repair_apply_argv (line 24966) | fn doctor_repair_apply_argv( function doctor_repair_apply_command (line 25000) | fn doctor_repair_apply_command(argv: &[String]) -> String { function doctor_source_authority_candidate_label (line 25007) | fn doctor_source_authority_candidate_label(candidate: &DoctorSourceAutho... function doctor_repair_lock_fingerprint_state (line 25015) | fn doctor_repair_lock_fingerprint_state( function doctor_repair_push_blocker (line 25028) | fn doctor_repair_push_blocker( function doctor_repair_completed_candidate_fingerprint (line 25043) | fn doctor_repair_completed_candidate_fingerprint( function doctor_repair_completed_candidate_fingerprints (line 25069) | fn doctor_repair_completed_candidate_fingerprints( function doctor_repair_select_completed_candidate_for_promotion (line 25080) | fn doctor_repair_select_completed_candidate_for_promotion( function doctor_repair_plan_has_action (line 25091) | fn doctor_repair_plan_has_action(plan: &DoctorRepairPlanPreviewReport, a... function build_doctor_repair_plan_preview (line 25098) | fn build_doctor_repair_plan_preview( function doctor_failure_marker_absent_report (line 25421) | fn doctor_failure_marker_absent_report(repair_class: &str) -> DoctorRepa... function doctor_failure_marker_corrupt_report (line 25441) | fn doctor_failure_marker_corrupt_report( function doctor_failure_marker_report_from_marker (line 25467) | fn doctor_failure_marker_report_from_marker( function collect_doctor_repair_failure_marker (line 25492) | fn collect_doctor_repair_failure_marker( function doctor_repair_failure_marker_refusal_reason (line 25576) | fn doctor_repair_failure_marker_refusal_reason( function doctor_failure_marker_file_stem (line 25593) | fn doctor_failure_marker_file_stem(operation_id: &str, failed_at_ms: i64... function write_doctor_repair_failure_marker (line 25607) | fn write_doctor_repair_failure_marker( function doctor_failure_marker_artifact_for_class (line 25667) | fn doctor_failure_marker_artifact_for_class( type DoctorRepairFailureMarkerBuildContext (line 25700) | struct DoctorRepairFailureMarkerBuildContext<'a> { function build_doctor_repair_failure_marker (line 25715) | fn build_doctor_repair_failure_marker( function doctor_artifact_descriptor_blake3 (line 25830) | fn doctor_artifact_descriptor_blake3( function doctor_artifact_from_cleanup_action (line 25847) | fn doctor_artifact_from_cleanup_action( function doctor_manifest_drift_status (line 25888) | fn doctor_manifest_drift_status(artifacts: &[DoctorArtifact]) -> DoctorD... function doctor_artifact_manifest (line 25910) | fn doctor_artifact_manifest(artifacts: Vec) -> DoctorArt... function doctor_cleanup_coverage_snapshot (line 25929) | fn doctor_cleanup_coverage_snapshot( function doctor_safety_gate_for_cleanup_action (line 25952) | fn doctor_safety_gate_for_cleanup_action( function doctor_cleanup_action_id (line 25991) | fn doctor_cleanup_action_id(action: &DiagCleanupApplyAction) -> String { function doctor_action_from_cleanup_action (line 26007) | fn doctor_action_from_cleanup_action( function doctor_sorted_cleanup_actions (line 26089) | fn doctor_sorted_cleanup_actions( function doctor_cleanup_plan_fingerprint (line 26112) | fn doctor_cleanup_plan_fingerprint(plan: &DoctorPlan) -> String { function build_cleanup_doctor_plan (line 26134) | fn build_cleanup_doctor_plan( function doctor_cleanup_action_status (line 26215) | fn doctor_cleanup_action_status(action: &DiagCleanupApplyAction) -> Doct... function doctor_action_status_counts (line 26225) | fn doctor_action_status_counts(actions: &[DoctorAction]) -> BTreeMap String { function doctor_event_log_checksum (line 26242) | fn doctor_event_log_checksum(events: &[DoctorEvent]) -> String { function doctor_event_identity_payload (line 26255) | fn doctor_event_identity_payload(event: &DoctorEvent) -> serde_json::Val... function doctor_event_log_from_events (line 26273) | fn doctor_event_log_from_events( function doctor_action_event_draft (line 26293) | fn doctor_action_event_draft( function doctor_status_event_draft (line 26328) | fn doctor_status_event_draft( function push_doctor_event (line 26353) | fn push_doctor_event(events: &mut Vec, draft: DoctorEventDr... function doctor_cleanup_event_log_for_actions (line 26376) | fn doctor_cleanup_event_log_for_actions( function doctor_check_event_phase (line 26436) | fn doctor_check_event_phase(status: &str) -> &'static str { function doctor_operation_event_log_for_checks (line 26445) | fn doctor_operation_event_log_for_checks( function doctor_post_repair_probe_fault (line 26512) | fn doctor_post_repair_probe_fault() -> Option { type DoctorPostRepairProbeTarget (line 26517) | struct DoctorPostRepairProbeTarget<'a> { type DoctorPostRepairProbeOutcome (line 26524) | struct DoctorPostRepairProbeOutcome { function doctor_post_repair_probe_outcome (line 26534) | fn doctor_post_repair_probe_outcome( function doctor_post_repair_probe_report (line 26554) | fn doctor_post_repair_probe_report( function doctor_post_repair_probe_duration_ms (line 26581) | fn doctor_post_repair_probe_duration_ms(start: Instant) -> u64 { function doctor_probe_table_name (line 26585) | fn doctor_probe_table_name(probe_id: &str, db_path: &Path) -> String { function run_doctor_archive_db_post_repair_probe (line 26604) | fn run_doctor_archive_db_post_repair_probe( function run_doctor_lexical_post_repair_probe (line 26905) | fn run_doctor_lexical_post_repair_probe( function run_doctor_semantic_post_repair_probe (line 27006) | fn run_doctor_semantic_post_repair_probe( function doctor_post_repair_probes_should_run (line 27099) | fn doctor_post_repair_probes_should_run( function write_doctor_post_repair_probe_artifacts (line 27116) | fn write_doctor_post_repair_probe_artifacts( type DoctorPostRepairProbeRunContext (line 27207) | struct DoctorPostRepairProbeRunContext<'a> { function collect_doctor_post_repair_probes (line 27218) | fn collect_doctor_post_repair_probes( function doctor_check_operation_id (line 27336) | fn doctor_check_operation_id( function cleanup_apply_outcome_kind (line 27370) | fn cleanup_apply_outcome_kind(result: &DiagCleanupApplyResult) -> Doctor... function cleanup_apply_retry_safety (line 27388) | fn cleanup_apply_retry_safety(result: &DiagCleanupApplyResult) -> Doctor... function cleanup_apply_operation_outcome (line 27401) | fn cleanup_apply_operation_outcome( function finalize_cleanup_apply_contract (line 27466) | fn finalize_cleanup_apply_contract( type DiagQuarantineArtifact (line 27581) | struct DiagQuarantineArtifact { type DiagQuarantinedGeneration (line 27593) | struct DiagQuarantinedGeneration { type DiagQuarantineInspectionArtifact (line 27612) | struct DiagQuarantineInspectionArtifact { type DiagQuarantineSummary (line 27629) | struct DiagQuarantineSummary { type DiagQuarantineReport (line 27655) | struct DiagQuarantineReport { type DiagCleanupApplyResult (line 27669) | struct DiagCleanupApplyResult { type DiagCleanupApplyInventory (line 27706) | struct DiagCleanupApplyInventory { type DiagCleanupApplyAction (line 27717) | struct DiagCleanupApplyAction { type DoctorFsMutationKind (line 27737) | enum DoctorFsMutationKind { method asset_operation (line 27754) | fn asset_operation(self) -> DoctorAssetOperation { type DoctorFsMutationRequest (line 27772) | struct DoctorFsMutationRequest<'a> { type DoctorFsWriteMutationRequest (line 27791) | struct DoctorFsWriteMutationRequest<'a> { type DoctorFsMutationReceipt (line 27805) | struct DoctorFsMutationReceipt { type DiagPathObservation (line 27837) | struct DiagPathObservation { type DiagLexicalManifestEntry (line 27845) | struct DiagLexicalManifestEntry { function collect_diag_quarantine_report (line 27852) | fn collect_diag_quarantine_report(data_dir: &Path, index_path: &Path) ->... function collect_diag_quarantine_report_without_cleanup_plan (line 27856) | fn collect_diag_quarantine_report_without_cleanup_plan( function collect_diag_quarantine_report_inner (line 27863) | fn collect_diag_quarantine_report_inner( function collect_diag_lexical_manifest_entries (line 28263) | fn collect_diag_lexical_manifest_entries( function diag_lexical_manifest_scan_root (line 28348) | fn diag_lexical_manifest_scan_root(index_path: &Path) -> PathBuf { function planned_cleanup_apply_actions (line 28352) | fn planned_cleanup_apply_actions( function cleanup_plan_has_mutating_actions (line 28435) | fn cleanup_plan_has_mutating_actions(actions: &[DiagCleanupApplyAction])... function apply_diag_quarantine_cleanup (line 28441) | fn apply_diag_quarantine_cleanup( function fill_cleanup_after_summary (line 28784) | fn fill_cleanup_after_summary(result: &mut DiagCleanupApplyResult, after... function cleanup_apply_inventory_from_report (line 28794) | fn cleanup_apply_inventory_from_report(report: &DiagQuarantineReport) ->... function doctor_fs_mutation_receipt_for_request (line 28811) | fn doctor_fs_mutation_receipt_for_request( function execute_doctor_fs_mutation (line 28850) | fn execute_doctor_fs_mutation(request: DoctorFsMutationRequest<'_>) -> D... function execute_doctor_fs_write_mutation (line 28883) | fn execute_doctor_fs_write_mutation( function execute_doctor_prune_cleanup_target (line 29087) | fn execute_doctor_prune_cleanup_target( function execute_doctor_remove_stale_legacy_index_lock (line 29162) | fn execute_doctor_remove_stale_legacy_index_lock( function execute_doctor_copy_file_to_staging (line 29247) | fn execute_doctor_copy_file_to_staging( function execute_doctor_promote_staged_file (line 29426) | fn execute_doctor_promote_staged_file( function execute_doctor_restore_staged_file (line 29643) | fn execute_doctor_restore_staged_file( function execute_doctor_move_file_to_quarantine (line 29860) | fn execute_doctor_move_file_to_quarantine( function doctor_fs_mutation_action_id (line 30079) | fn doctor_fs_mutation_action_id( function file_blake3_hex (line 30098) | fn file_blake3_hex(path: &Path) -> Result { type DoctorTestRenameFailure (line 30126) | enum DoctorTestRenameFailure { function doctor_test_inject_next_file_sync_failure (line 30132) | fn doctor_test_inject_next_file_sync_failure() { function doctor_test_inject_next_directory_sync_failure (line 30137) | fn doctor_test_inject_next_directory_sync_failure() { function doctor_test_inject_next_cross_device_rename_failure (line 30142) | fn doctor_test_inject_next_cross_device_rename_failure() { function doctor_test_inject_next_permission_denied_rename_failure (line 30149) | fn doctor_test_inject_next_permission_denied_rename_failure() { function doctor_test_take_next_file_sync_failure (line 30156) | fn doctor_test_take_next_file_sync_failure() -> bool { function doctor_test_take_next_file_sync_failure (line 30161) | fn doctor_test_take_next_file_sync_failure() -> bool { function doctor_test_take_next_directory_sync_failure (line 30166) | fn doctor_test_take_next_directory_sync_failure() -> bool { function doctor_test_take_next_rename_failure (line 30171) | fn doctor_test_take_next_rename_failure() -> Option bool { function doctor_test_take_next_rename_failure (line 30181) | fn doctor_test_take_next_rename_failure() -> Option<()> { function sync_file (line 30185) | fn sync_file(path: &Path, label: &str) -> Result<(), String> { function sync_directory (line 30197) | fn sync_directory(path: &Path) -> Result<(), String> { function doctor_rename_file (line 30209) | fn doctor_rename_file(source_path: &Path, target_path: &Path) -> io::Res... type DoctorFsMoveMethod (line 30231) | enum DoctorFsMoveMethod { function doctor_is_cross_device_rename_error (line 30236) | fn doctor_is_cross_device_rename_error(err: &io::Error) -> bool { function doctor_remove_partial_fallback_target (line 30240) | fn doctor_remove_partial_fallback_target(target_path: &Path) -> Result<(... function doctor_rollback_fallback_target_error (line 30261) | fn doctor_rollback_fallback_target_error(target_path: &Path, failure: St... function doctor_move_file_with_cross_device_fallback (line 30271) | fn doctor_move_file_with_cross_device_fallback( function cleanup_target_path_is_safe (line 30373) | fn cleanup_target_path_is_safe( function legacy_index_lock_path_is_safe (line 30435) | fn legacy_index_lock_path_is_safe(path: &Path, data_dir: &Path) -> bool { function doctor_copy_source_path_is_safe (line 30460) | fn doctor_copy_source_path_is_safe(path: &Path, data_dir: &Path) -> bool { function doctor_staging_target_path_is_safe (line 30479) | fn doctor_staging_target_path_is_safe(path: &Path, staging_root: &Path, ... function doctor_staged_source_path_is_safe (line 30520) | fn doctor_staged_source_path_is_safe(path: &Path, staging_root: &Path, d... function doctor_staged_rename_target_path_is_safe (line 30553) | fn doctor_staged_rename_target_path_is_safe( function doctor_quarantine_source_path_is_safe (line 30590) | fn doctor_quarantine_source_path_is_safe( function path_age_seconds (line 30649) | fn path_age_seconds(path: &Path) -> Option { function path_has_symlink_below_root (line 30657) | fn path_has_symlink_below_root(path: &Path, root: &Path) -> bool { function existing_path_has_symlink_below_root (line 30679) | fn existing_path_has_symlink_below_root(path: &Path, root: &Path) -> bool { constant ALL_DOCTOR_ASSET_CLASSES (line 30705) | const ALL_DOCTOR_ASSET_CLASSES: &[DoctorAssetClass] = &[ constant ALL_DOCTOR_HEALTH_CLASSES (line 30731) | const ALL_DOCTOR_HEALTH_CLASSES: &[DoctorHealth] = &[ constant ALL_DOCTOR_ANOMALIES (line 30740) | const ALL_DOCTOR_ANOMALIES: &[DoctorAnomaly] = &[ constant ALL_DOCTOR_OPERATION_OUTCOMES (line 30763) | const ALL_DOCTOR_OPERATION_OUTCOMES: &[DoctorOperationOutcomeKind] = &[ constant ALL_DOCTOR_SOURCE_AUTHORITIES (line 30780) | const ALL_DOCTOR_SOURCE_AUTHORITIES: &[DoctorSourceAuthorityKind] = &[ function doctor_asset_taxonomy_explicitly_covers_every_class_and_operation (line 30793) | fn doctor_asset_taxonomy_explicitly_covers_every_class_and_operation() { function precious_archive_evidence_is_never_pruneable_or_safe_to_gc (line 30818) | fn precious_archive_evidence_is_never_pruneable_or_safe_to_gc() { function quarantine_artifacts_remain_inspection_only (line 30857) | fn quarantine_artifacts_remain_inspection_only() { function support_bundle_policy_allows_redaction_but_not_pruning (line 30884) | fn support_bundle_policy_allows_redaction_but_not_pruning() { function only_derived_reclaimable_classes_can_be_safe_to_gc (line 30904) | fn only_derived_reclaimable_classes_can_be_safe_to_gc() { function unknown_asset_class_fails_closed (line 30943) | fn unknown_asset_class_fails_closed() { function doctor_anomaly_taxonomy_explicitly_covers_every_class (line 30961) | fn doctor_anomaly_taxonomy_explicitly_covers_every_class() { function doctor_anomaly_policy_fails_closed_for_precious_assets (line 31022) | fn doctor_anomaly_policy_fails_closed_for_precious_assets() { function doctor_check_report_serializes_stable_robot_fields (line 31061) | fn doctor_check_report_serializes_stable_robot_fields() { function doctor_check_report_auto_repair_is_gated_by_issue_and_fix_plan (line 31100) | fn doctor_check_report_auto_repair_is_gated_by_issue_and_fix_plan() { function doctor_root_cause_incidents_group_source_pruning_with_mirror_evidence (line 31125) | fn doctor_root_cause_incidents_group_source_pruning_with_mirror_evidence... function doctor_root_cause_incidents_collect_lock_paths_and_next_action (line 31191) | fn doctor_root_cause_incidents_collect_lock_paths_and_next_action() { function doctor_root_cause_incidents_sort_archive_candidate_recovery_before_derived_work (line 31272) | fn doctor_root_cause_incidents_sort_archive_candidate_recovery_before_de... function doctor_health_class_uses_highest_risk_report (line 31336) | fn doctor_health_class_uses_highest_risk_report() { function doctor_operation_outcome_contract_covers_every_kind (line 31376) | fn doctor_operation_outcome_contract_covers_every_kind() { function doctor_operation_outcome_report_serializes_branchable_fields (line 31418) | fn doctor_operation_outcome_report_serializes_branchable_fields() { function doctor_top_level_operation_outcome_distinguishes_read_only_and_autorun (line 31446) | fn doctor_top_level_operation_outcome_distinguishes_read_only_and_autoru... function doctor_archive_post_repair_probe_rolls_back_scratch_namespace (line 31544) | fn doctor_archive_post_repair_probe_rolls_back_scratch_namespace() { function doctor_archive_post_repair_probe_fails_closed_on_unopenable_db_path (line 31583) | fn doctor_archive_post_repair_probe_fails_closed_on_unopenable_db_path() { function doctor_post_repair_probe_suite_writes_failure_context_and_blocks_success (line 31605) | fn doctor_post_repair_probe_suite_writes_failure_context_and_blocks_succ... function doctor_post_repair_probe_failure_overrides_partial_success_outcome (line 31659) | fn doctor_post_repair_probe_failure_overrides_partial_success_outcome() { function test_failure_marker (line 31716) | fn test_failure_marker( function doctor_failure_marker_round_trips_and_preserves_collision_evidence (line 31747) | fn doctor_failure_marker_round_trips_and_preserves_collision_evidence() { function doctor_failure_marker_corrupt_json_fails_closed (line 31781) | fn doctor_failure_marker_corrupt_json_fails_closed() { function doctor_failure_markers_are_scoped_by_repair_class (line 31803) | fn doctor_failure_markers_are_scoped_by_repair_class() { function doctor_repeat_failure_marker_check_maps_to_repair_refused (line 31825) | fn doctor_repeat_failure_marker_check_maps_to_repair_refused() { function doctor_operation_state_blocks_mutation_for_active_index_lock (line 31851) | fn doctor_operation_state_blocks_mutation_for_active_index_lock() { function doctor_operation_state_classifies_interrupted_artifacts_without_gc (line 31913) | fn doctor_operation_state_classifies_interrupted_artifacts_without_gc() { function doctor_lock_diagnostics_report_active_owner_without_delete_advice (line 31975) | fn doctor_lock_diagnostics_report_active_owner_without_delete_advice() { function doctor_lock_diagnostics_keep_stale_metadata_advisory_only (line 32023) | fn doctor_lock_diagnostics_keep_stale_metadata_advisory_only() { function doctor_lock_diagnostics_handle_missing_pid_and_permission_denied (line 32059) | fn doctor_lock_diagnostics_handle_missing_pid_and_permission_denied() { function doctor_lock_diagnostics_no_lock_reports_retry_allowed_summary (line 32097) | fn doctor_lock_diagnostics_no_lock_reports_retry_allowed_summary() { function doctor_slow_operation_reports_sort_and_correlate_slow_phases (line 32122) | fn doctor_slow_operation_reports_sort_and_correlate_slow_phases() { function cleanup_apply_operation_outcome_distinguishes_fixed_partial_refused_and_noop (line 32177) | fn cleanup_apply_operation_outcome_distinguishes_fixed_partial_refused_a... function doctor_repair_mode_policy_covers_every_mode_and_asset_class (line 32227) | fn doctor_repair_mode_policy_covers_every_mode_and_asset_class() { function doctor_repair_mode_policy_is_operation_aware_for_non_prune_mutations (line 32257) | fn doctor_repair_mode_policy_is_operation_aware_for_non_prune_mutations() { function default_and_dry_run_modes_are_read_only (line 32360) | fn default_and_dry_run_modes_are_read_only() { function mutating_modes_require_approval_or_fail_closed_refusal (line 32383) | fn mutating_modes_require_approval_or_fail_closed_refusal() { function cleanup_apply_mode_only_mutates_derived_reclaimable_assets (line 32411) | fn cleanup_apply_mode_only_mutates_derived_reclaimable_assets() { function cleanup_apply_outcome_and_receipt_are_structured (line 32446) | fn cleanup_apply_outcome_and_receipt_are_structured() { function test_cleanup_action (line 32537) | fn test_cleanup_action(path: &str, planned_reclaimable_bytes: u64) -> Di... function doctor_plan_fingerprint_is_deterministic_and_action_sensitive (line 32556) | fn doctor_plan_fingerprint_is_deterministic_and_action_sensitive() { function doctor_plan_fingerprint_covers_paths_authorities_asset_classes_and_hash_fields (line 32596) | fn doctor_plan_fingerprint_covers_paths_authorities_asset_classes_and_ha... function doctor_cleanup_safety_gate_names_mode_taxonomy_and_path_blockers (line 32681) | fn doctor_cleanup_safety_gate_names_mode_taxonomy_and_path_blockers() { function doctor_fs_mutation_executor_prunes_allowed_cleanup_target_with_receipt (line 32734) | fn doctor_fs_mutation_executor_prunes_allowed_cleanup_target_with_receip... function doctor_fs_mutation_executor_refuses_precious_archive_unlink (line 32816) | fn doctor_fs_mutation_executor_refuses_precious_archive_unlink() { function doctor_fs_mutation_executor_blocks_missing_cleanup_target (line 32862) | fn doctor_fs_mutation_executor_blocks_missing_cleanup_target() { function doctor_fs_mutation_executor_removes_only_exact_legacy_index_lock (line 32911) | fn doctor_fs_mutation_executor_removes_only_exact_legacy_index_lock() { function doctor_fs_mutation_executor_requires_stale_age_when_requested (line 33003) | fn doctor_fs_mutation_executor_requires_stale_age_when_requested() { function doctor_fs_mutation_executor_copies_verified_source_to_staging_with_receipt (line 33050) | fn doctor_fs_mutation_executor_copies_verified_source_to_staging_with_re... function doctor_fs_mutation_executor_snapshots_archive_to_staging_without_deleting_source (line 33162) | fn doctor_fs_mutation_executor_snapshots_archive_to_staging_without_dele... function doctor_fs_write_mutation_writes_verified_payload_to_staging_with_receipt (line 33224) | fn doctor_fs_write_mutation_writes_verified_payload_to_staging_with_rece... function doctor_fs_write_mutation_refuses_payload_hash_mismatch (line 33306) | fn doctor_fs_write_mutation_refuses_payload_hash_mismatch() { function doctor_fs_write_mutation_refuses_planned_byte_mismatch_before_write (line 33346) | fn doctor_fs_write_mutation_refuses_planned_byte_mismatch_before_write() { function doctor_fs_write_mutation_refuses_existing_staging_target (line 33387) | fn doctor_fs_write_mutation_refuses_existing_staging_target() { function doctor_fs_write_mutation_reports_file_sync_failure_after_write (line 33429) | fn doctor_fs_write_mutation_reports_file_sync_failure_after_write() { function doctor_fs_write_mutation_reports_parent_sync_failure_after_file_sync (line 33487) | fn doctor_fs_write_mutation_reports_parent_sync_failure_after_file_sync() { function doctor_fs_mutation_executor_refuses_to_overwrite_staging_target (line 33544) | fn doctor_fs_mutation_executor_refuses_to_overwrite_staging_target() { function doctor_fs_mutation_executor_blocks_copy_with_missing_staging_parent (line 33605) | fn doctor_fs_mutation_executor_blocks_copy_with_missing_staging_parent() { function doctor_fs_mutation_executor_blocks_copy_when_source_hash_mismatches (line 33657) | fn doctor_fs_mutation_executor_blocks_copy_when_source_hash_mismatches() { function doctor_fs_mutation_executor_blocks_copy_target_outside_staging_root (line 33721) | fn doctor_fs_mutation_executor_blocks_copy_target_outside_staging_root() { function doctor_fs_mutation_executor_promotes_verified_staged_file_with_receipt (line 33782) | fn doctor_fs_mutation_executor_promotes_verified_staged_file_with_receip... function doctor_fs_mutation_executor_promote_cross_device_fallback_verifies_and_consumes_source (line 33868) | fn doctor_fs_mutation_executor_promote_cross_device_fallback_verifies_an... function doctor_fs_mutation_executor_promote_non_cross_device_rename_failure_does_not_fallback (line 33936) | fn doctor_fs_mutation_executor_promote_non_cross_device_rename_failure_d... function doctor_fs_mutation_executor_refuses_promote_over_existing_target (line 33998) | fn doctor_fs_mutation_executor_refuses_promote_over_existing_target() { function doctor_fs_mutation_executor_blocks_promote_without_verified_source_hash (line 34060) | fn doctor_fs_mutation_executor_blocks_promote_without_verified_source_ha... function doctor_fs_mutation_executor_blocks_promote_target_inside_staging_root (line 34110) | fn doctor_fs_mutation_executor_blocks_promote_target_inside_staging_root... function doctor_fs_mutation_executor_restores_verified_staged_archive_with_receipt (line 34164) | fn doctor_fs_mutation_executor_restores_verified_staged_archive_with_rec... function doctor_fs_mutation_executor_refuses_restore_over_existing_archive (line 34250) | fn doctor_fs_mutation_executor_refuses_restore_over_existing_archive() { function doctor_fs_mutation_executor_blocks_restore_without_verified_source_hash (line 34312) | fn doctor_fs_mutation_executor_blocks_restore_without_verified_source_ha... function doctor_fs_mutation_executor_reports_restore_file_sync_failure_after_rename (line 34363) | fn doctor_fs_mutation_executor_reports_restore_file_sync_failure_after_r... function doctor_fs_mutation_executor_reports_restore_parent_sync_failure_after_file_sync (line 34439) | fn doctor_fs_mutation_executor_reports_restore_parent_sync_failure_after... function doctor_fs_mutation_executor_restore_cross_device_fallback_rolls_back_target_on_sync_failure (line 34509) | fn doctor_fs_mutation_executor_restore_cross_device_fallback_rolls_back_... function doctor_fs_mutation_executor_quarantines_verified_derived_file_with_receipt (line 34573) | fn doctor_fs_mutation_executor_quarantines_verified_derived_file_with_re... function doctor_fs_mutation_executor_refuses_to_quarantine_precious_archive_db (line 34669) | fn doctor_fs_mutation_executor_refuses_to_quarantine_precious_archive_db... function doctor_fs_mutation_executor_blocks_quarantine_without_verified_source_hash (line 34728) | fn doctor_fs_mutation_executor_blocks_quarantine_without_verified_source... function doctor_fs_mutation_executor_refuses_quarantine_over_existing_target (line 34780) | fn doctor_fs_mutation_executor_refuses_quarantine_over_existing_target() { function doctor_fs_mutation_executor_refuses_quarantine_asset_path_mismatch (line 34832) | fn doctor_fs_mutation_executor_refuses_quarantine_asset_path_mismatch() { function doctor_cleanup_apply_cannot_bypass_fs_mutation_executor_for_pruning (line 34891) | fn doctor_cleanup_apply_cannot_bypass_fs_mutation_executor_for_pruning() { function run_doctor_stale_lock_removal_cannot_bypass_fs_mutation_executor (line 34928) | fn run_doctor_stale_lock_removal_cannot_bypass_fs_mutation_executor() { function doctor_forensic_bundle_captures_db_sidecars_and_metadata_reports (line 34954) | fn doctor_forensic_bundle_captures_db_sidecars_and_metadata_reports() { function test_doctor_raw_mirror_report_for_candidate (line 35072) | fn test_doctor_raw_mirror_report_for_candidate(data_dir: &Path) -> Docto... function seed_candidate_source_db (line 35182) | fn seed_candidate_source_db(db_path: &Path) { function doctor_candidate_staging_refuses_roots_overlapping_live_archive_or_index (line 35198) | fn doctor_candidate_staging_refuses_roots_overlapping_live_archive_or_in... function doctor_candidate_build_creates_manifest_logs_checksums_and_preserves_live_inventory (line 35225) | fn doctor_candidate_build_creates_manifest_logs_checksums_and_preserves_... function doctor_candidate_build_reconstructs_from_verified_raw_mirror_when_live_db_is_corrupt (line 35321) | fn doctor_candidate_build_reconstructs_from_verified_raw_mirror_when_liv... function doctor_candidate_raw_mirror_reconstruction_suppresses_duplicate_db_links (line 35440) | fn doctor_candidate_raw_mirror_reconstruction_suppresses_duplicate_db_li... function doctor_candidate_staging_reports_orphaned_and_interrupted_without_gc (line 35515) | fn doctor_candidate_staging_reports_orphaned_and_interrupted_without_gc() { function doctor_candidate_staging_target_guard_refuses_live_paths (line 35559) | fn doctor_candidate_staging_target_guard_refuses_live_paths() { function doctor_candidate_live_inventory_reports_wal_and_shm_sidecars (line 35588) | fn doctor_candidate_live_inventory_reports_wal_and_shm_sidecars() { function write_candidate_promotion_test_manifest (line 35609) | fn write_candidate_promotion_test_manifest( function write_candidate_promotion_test_manifest_with_sidecars (line 35628) | fn write_candidate_promotion_test_manifest_with_sidecars( function doctor_test_operation_state (line 35731) | fn doctor_test_operation_state( function doctor_test_repair_plan_for_candidate_staging (line 35747) | fn doctor_test_repair_plan_for_candidate_staging( function doctor_repair_plan_selects_single_completed_candidate_for_fingerprint_promotion (line 35779) | fn doctor_repair_plan_selects_single_completed_candidate_for_fingerprint... function doctor_repair_plan_blocks_ambiguous_completed_candidate_promotion (line 35837) | fn doctor_repair_plan_blocks_ambiguous_completed_candidate_promotion() { function doctor_repair_plan_does_not_replace_readable_archive_with_candidate (line 35890) | fn doctor_repair_plan_does_not_replace_readable_archive_with_candidate() { function doctor_candidate_promotion_preserves_backup_and_replaces_single_file_archive (line 35935) | fn doctor_candidate_promotion_preserves_backup_and_replaces_single_file_... function doctor_candidate_promotion_refuses_stale_live_inventory_without_mutation (line 36081) | fn doctor_candidate_promotion_refuses_stale_live_inventory_without_mutat... function doctor_candidate_promotion_promotes_sqlite_sidecar_bundle_together (line 36133) | fn doctor_candidate_promotion_promotes_sqlite_sidecar_bundle_together() { function doctor_candidate_promotion_reuses_live_derived_assets_when_archive_identity_is_unchanged (line 36196) | fn doctor_candidate_promotion_reuses_live_derived_assets_when_archive_id... function doctor_candidate_promotion_marks_derived_assets_stale_when_archive_identity_changes (line 36236) | fn doctor_candidate_promotion_marks_derived_assets_stale_when_archive_id... function doctor_candidate_promotion_refuses_incomplete_sqlite_sidecar_bundle_without_mutation (line 36285) | fn doctor_candidate_promotion_refuses_incomplete_sqlite_sidecar_bundle_w... function doctor_candidate_promotion_missing_manifest_writes_blocked_receipt_without_mutation (line 36329) | fn doctor_candidate_promotion_missing_manifest_writes_blocked_receipt_wi... function doctor_candidate_promotion_rolls_back_prior_live_on_post_replace_sync_failure (line 36370) | fn doctor_candidate_promotion_rolls_back_prior_live_on_post_replace_sync... function doctor_candidate_promotion_uses_cross_device_replace_fallback_with_receipt (line 36426) | fn doctor_candidate_promotion_uses_cross_device_replace_fallback_with_re... function doctor_candidate_promotion_rolls_back_permission_denied_rename_without_consuming_candidate (line 36473) | fn doctor_candidate_promotion_rolls_back_permission_denied_rename_withou... function doctor_forensic_bundle_copy_refuses_path_traversal_targets (line 36522) | fn doctor_forensic_bundle_copy_refuses_path_traversal_targets() { function doctor_forensic_bundle_copy_fails_when_required_artifact_is_missing (line 36560) | fn doctor_forensic_bundle_copy_fails_when_required_artifact_is_missing() { function doctor_forensic_bundle_capture_refuses_symlinked_bundle_root (line 36599) | fn doctor_forensic_bundle_capture_refuses_symlinked_bundle_root() { function doctor_cleanup_event_log_orders_hash_chain_and_correlates_receipts (line 36632) | fn doctor_cleanup_event_log_orders_hash_chain_and_correlates_receipts() { function doctor_operation_event_log_records_checks_without_sensitive_paths (line 36762) | fn doctor_operation_event_log_records_checks_without_sensitive_paths() { function doctor_artifact_manifest_reports_checksum_mismatch_and_missing_artifacts (line 36840) | fn doctor_artifact_manifest_reports_checksum_mismatch_and_missing_artifa... function doctor_redacted_path_hides_cass_data_dir_prefix (line 36882) | fn doctor_redacted_path_hides_cass_data_dir_prefix() { function doctor_source_inventory_counts_missing_sources_without_calling_them_lost (line 36898) | fn doctor_source_inventory_counts_missing_sources_without_calling_them_l... function doctor_coverage_summary_classifies_ledger_gaps_and_confidence_tiers (line 37030) | fn doctor_coverage_summary_classifies_ledger_gaps_and_confidence_tiers() { function doctor_test_source_authority_report (line 37249) | fn doctor_test_source_authority_report() -> DoctorSourceAuthorityReport { function doctor_coverage_comparison_gate_blocks_data_reducing_candidates (line 37275) | fn doctor_coverage_comparison_gate_blocks_data_reducing_candidates() { function doctor_coverage_comparison_gate_warns_on_derived_only_mismatches (line 37333) | fn doctor_coverage_comparison_gate_warns_on_derived_only_mismatches() { function doctor_source_authority_matrix_covers_every_kind_and_refuses_derived_outputs (line 37367) | fn doctor_source_authority_matrix_covers_every_kind_and_refuses_derived_... function doctor_source_authority_report_rejects_pruned_live_source_but_keeps_verified_mirror (line 37407) | fn doctor_source_authority_report_rejects_pruned_live_source_but_keeps_v... function doctor_source_authority_report_refuses_unverified_mirror_when_archive_missing (line 37473) | fn doctor_source_authority_report_refuses_unverified_mirror_when_archive... function raw_mirror_test_manifest (line 37494) | fn raw_mirror_test_manifest( function write_raw_mirror_test_manifest (line 37556) | fn write_raw_mirror_test_manifest( function raw_mirror_layout_rejects_hostile_paths_and_documents_permission_intent (line 37580) | fn raw_mirror_layout_rejects_hostile_paths_and_documents_permission_inte... function raw_mirror_interrupted_capture_count_ignores_empty_temp_dirs (line 37630) | fn raw_mirror_interrupted_capture_count_ignores_empty_temp_dirs() { function raw_mirror_report_serializes_redacted_manifest_metadata_only_by_default (line 37650) | fn raw_mirror_report_serializes_redacted_manifest_metadata_only_by_defau... function raw_mirror_manifest_identity_supports_dedup_and_distinguishes_byte_changes (line 37722) | fn raw_mirror_manifest_identity_supports_dedup_and_distinguishes_byte_ch... function raw_mirror_report_verifies_blobs_flags_manifest_drift_and_interrupted_captures (line 37781) | fn raw_mirror_report_verifies_blobs_flags_manifest_drift_and_interrupted... function raw_mirror_report_rejects_symlink_manifest_entries (line 37868) | fn raw_mirror_report_rejects_symlink_manifest_entries() { function raw_mirror_report_rejects_blob_paths_with_symlinked_ancestors (line 37891) | fn raw_mirror_report_rejects_blob_paths_with_symlinked_ancestors() { function raw_mirror_report_counts_missing_blob_without_relabeling_manifest_invalid (line 37950) | fn raw_mirror_report_counts_missing_blob_without_relabeling_manifest_inv... function doctor_plan_receipt_schema_report_names_required_contract_fields (line 37985) | fn doctor_plan_receipt_schema_report_names_required_contract_fields() { function doctor_verification_contract_covers_required_scenarios_and_logs (line 38007) | fn doctor_verification_contract_covers_required_scenarios_and_logs() { function cleanup_target_safety_rejects_symlinked_publish_backup_parent (line 38087) | fn cleanup_target_safety_rejects_symlinked_publish_backup_parent() { function doctor_fs_mutation_executor_rejects_symlinked_publish_backup_parent (line 38137) | fn doctor_fs_mutation_executor_rejects_symlinked_publish_backup_parent() { function doctor_fs_mutation_executor_rejects_symlinked_legacy_index_lock (line 38196) | fn doctor_fs_mutation_executor_rejects_symlinked_legacy_index_lock() { function doctor_fs_mutation_executor_rejects_symlinked_copy_source (line 38245) | fn doctor_fs_mutation_executor_rejects_symlinked_copy_source() { function doctor_fs_mutation_executor_rejects_symlinked_staging_root (line 38303) | fn doctor_fs_mutation_executor_rejects_symlinked_staging_root() { function doctor_fs_mutation_executor_rejects_symlinked_staging_parent (line 38358) | fn doctor_fs_mutation_executor_rejects_symlinked_staging_parent() { function doctor_fs_mutation_executor_rejects_symlinked_copy_target_even_when_broken (line 38415) | fn doctor_fs_mutation_executor_rejects_symlinked_copy_target_even_when_b... function doctor_fs_write_mutation_rejects_symlinked_target_even_when_broken (line 38490) | fn doctor_fs_write_mutation_rejects_symlinked_target_even_when_broken() { function doctor_fs_mutation_executor_rejects_symlinked_promote_source (line 38547) | fn doctor_fs_mutation_executor_rejects_symlinked_promote_source() { function doctor_fs_mutation_executor_rejects_symlinked_promote_target_even_when_broken (line 38605) | fn doctor_fs_mutation_executor_rejects_symlinked_promote_target_even_whe... function doctor_fs_mutation_executor_rejects_symlinked_restore_source (line 38674) | fn doctor_fs_mutation_executor_rejects_symlinked_restore_source() { function doctor_fs_mutation_executor_rejects_symlinked_restore_target_even_when_broken (line 38730) | fn doctor_fs_mutation_executor_rejects_symlinked_restore_target_even_whe... function doctor_fs_mutation_executor_rejects_symlinked_quarantine_source (line 38797) | fn doctor_fs_mutation_executor_rejects_symlinked_quarantine_source() { function doctor_fs_mutation_executor_rejects_symlinked_quarantine_target_even_when_broken (line 38859) | fn doctor_fs_mutation_executor_rejects_symlinked_quarantine_target_even_... function doctor_fs_mutation_executor_rejects_symlinked_quarantine_parent (line 38924) | fn doctor_fs_mutation_executor_rejects_symlinked_quarantine_parent() { function cleanup_target_safety_rejects_symlinked_manifest_generation_parent (line 38988) | fn cleanup_target_safety_rejects_symlinked_manifest_generation_parent() { function cleanup_target_safety_rejects_candidate_that_is_itself_a_symlink (line 39031) | fn cleanup_target_safety_rejects_candidate_that_is_itself_a_symlink() { function cleanup_target_safety_rejects_hardlink_alias_pointing_at_db_path (line 39070) | fn cleanup_target_safety_rejects_hardlink_alias_pointing_at_db_path() { function cleanup_target_safety_accepts_deep_nested_non_symlinked_candidate (line 39120) | fn cleanup_target_safety_accepts_deep_nested_non_symlinked_candidate() { function cleanup_helper_fails_closed_when_ancestor_metadata_read_fails (line 39164) | fn cleanup_helper_fails_closed_when_ancestor_metadata_read_fails() { function cleanup_helper_fails_closed_when_walk_exhausts_parents_past_root (line 39183) | fn cleanup_helper_fails_closed_when_walk_exhausts_parents_past_root() { function cleanup_helper_still_reports_clean_walk_when_root_is_reached (line 39203) | fn cleanup_helper_still_reports_clean_walk_when_root_is_reached() { function lexical_cleanup_disposition_label (line 39220) | fn lexical_cleanup_disposition_label( function diag_retained_publish_backup_limit (line 39249) | fn diag_retained_publish_backup_limit() -> usize { function observe_diag_path (line 39258) | fn observe_diag_path( function system_time_to_unix_ms (line 39293) | fn system_time_to_unix_ms(timestamp: std::time::SystemTime) -> Option) -> String { function format_optional_i64 (line 39306) | fn format_optional_i64(value: Option) -> String { function lexical_publish_state_label (line 39312) | fn lexical_publish_state_label( function lexical_generation_build_state_label (line 39325) | fn lexical_generation_build_state_label( function lexical_shard_state_label (line 39340) | fn lexical_shard_state_label( function lexical_generation_build_state_zero_counts (line 39357) | fn lexical_generation_build_state_zero_counts() -> BTreeMap BTreeMap u64 { function public_connector_slug (line 39399) | fn public_connector_slug(slug: &str) -> &str { function capabilities_connector_names (line 39407) | fn capabilities_connector_names() -> Vec { function diagnostics_connector_paths (line 39440) | fn diagnostics_connector_paths( function format_bytes (line 39464) | fn format_bytes(bytes: u64) -> String { function truncate_start (line 39482) | fn truncate_start(s: &str, max_chars: usize) -> String { function truncate_end (line 39497) | fn truncate_end(s: &str, max_chars: usize) -> String { function run_status (line 39512) | fn run_status( function run_health (line 39874) | fn run_health( function rebuild_tantivy_from_db (line 40184) | fn rebuild_tantivy_from_db( function wait_with_progress (line 40201) | fn wait_with_progress( type DoctorFtsTableState (line 40398) | enum DoctorFtsTableState { function probe_doctor_fts_table (line 40403) | fn probe_doctor_fts_table(conn: &frankensqlite::Connection) -> DoctorFts... function create_search_schema (line 40416) | fn create_search_schema( function doctor_fts_probe_accepts_frankensqlite_fts_table (line 40442) | fn doctor_fts_probe_accepts_frankensqlite_fts_table() -> Result<(), Box<... function doctor_fts_probe_reports_missing_fts_table (line 40479) | fn doctor_fts_probe_reports_missing_fts_table() -> Result<(), Box (TempDir, PathBuf) { function analytics_db_open_is_readonly (line 40515) | fn analytics_db_open_is_readonly() { function cli_read_db_hard_timeout_reports_open_timeout (line 40531) | fn cli_read_db_hard_timeout_reports_open_timeout() { function cli_read_db_refuses_corrupt_file_without_writable_fallback (line 40551) | fn cli_read_db_refuses_corrupt_file_without_writable_fallback() { function probe_state_db_reads_meta_without_count_scan (line 40584) | fn probe_state_db_reads_meta_without_count_scan() { function status_state_skips_open_for_large_regular_db_probe (line 40601) | fn status_state_skips_open_for_large_regular_db_probe() { function status_state_still_probes_malformed_non_file_db_path (line 40633) | fn status_state_still_probes_malformed_non_file_db_path() { function refresh_state_database_counts_keeps_large_db_counts_skipped (line 40662) | fn refresh_state_database_counts_keeps_large_db_counts_skipped() { function index_result_counts_from_progress_only_uses_exact_totals (line 40698) | fn index_result_counts_from_progress_only_uses_exact_totals() { function index_result_counts_fall_back_to_observed_totals_without_reopen (line 40726) | fn index_result_counts_fall_back_to_observed_totals_without_reopen() { type EnvGuard (line 40755) | struct EnvGuard { method drop (line 40761) | fn drop(&mut self) { function set_env (line 40774) | fn set_env(key: &'static str, value: &str) -> EnvGuard { function state_meta_json_reports_lexical_rebuild_pipeline_settings (line 40784) | fn state_meta_json_reports_lexical_rebuild_pipeline_settings() { function state_meta_json_reports_active_rebuild_pipeline_runtime (line 40902) | fn state_meta_json_reports_active_rebuild_pipeline_runtime() { function state_meta_json_hides_empty_active_rebuild_pipeline_runtime_before_first_heartbeat (line 41050) | fn state_meta_json_hides_empty_active_rebuild_pipeline_runtime_before_fi... function state_meta_json_reports_active_rebuild (line 41108) | fn state_meta_json_reports_active_rebuild() { function state_meta_json_prefers_pending_rebuild_progress_when_present (line 41168) | fn state_meta_json_prefers_pending_rebuild_progress_when_present() { function state_meta_json_matches_active_rebuild_for_equivalent_db_path_spellings (line 41233) | fn state_meta_json_matches_active_rebuild_for_equivalent_db_path_spellin... function state_meta_json_matches_active_rebuild_for_equivalent_missing_db_path_spellings (line 41272) | fn state_meta_json_matches_active_rebuild_for_equivalent_missing_db_path... function normalize_path_identity_resolves_existing_symlink_parent_for_missing_leaf (line 41311) | fn normalize_path_identity_resolves_existing_symlink_parent_for_missing_... function state_meta_json_reports_active_rebuild_before_lexical_snapshot_exists (line 41329) | fn state_meta_json_reports_active_rebuild_before_lexical_snapshot_exists... function state_meta_json_reports_watch_active_without_marking_rebuild (line 41369) | fn state_meta_json_reports_watch_active_without_marking_rebuild() { function state_meta_json_reports_orphaned_lock_metadata (line 41402) | fn state_meta_json_reports_orphaned_lock_metadata() { function state_meta_json_uses_latest_lock_heartbeat_when_asset_inspection_fails (line 41447) | fn state_meta_json_uses_latest_lock_heartbeat_when_asset_inspection_fail... function state_meta_json_does_not_infer_watch_activity_from_watch_state_file (line 41495) | fn state_meta_json_does_not_infer_watch_activity_from_watch_state_file() { function state_meta_json_marks_lexical_fingerprint_mismatch_stale (line 41512) | fn state_meta_json_marks_lexical_fingerprint_mismatch_stale() { function active_index_run_details_reads_matching_lock_metadata (line 41567) | fn active_index_run_details_reads_matching_lock_metadata() { function active_index_run_details_reports_owner_for_other_db_in_same_data_dir (line 41601) | fn active_index_run_details_reports_owner_for_other_db_in_same_data_dir() { function active_index_busy_cli_error_is_clean_and_structured (line 41630) | fn active_index_busy_cli_error_is_clean_and_structured() { function retryable_storage_contention_cli_error_is_lock_busy_shaped (line 41678) | fn retryable_storage_contention_cli_error_is_lock_busy_shaped() { function resume_detects_claude_code_from_path (line 41716) | fn resume_detects_claude_code_from_path() { function resume_detects_codex_from_path (line 41737) | fn resume_detects_codex_from_path() { function resume_detects_opencode_session_from_source_path (line 41752) | fn resume_detects_opencode_session_from_source_path() { function resume_rejects_opencode_path_outside_opencode_db_parent (line 41761) | fn resume_rejects_opencode_path_outside_opencode_db_parent() { function resume_allows_opencode_path_outside_parent_with_explicit_override (line 41786) | fn resume_allows_opencode_path_outside_parent_with_explicit_override() { function resume_detects_oh_my_pi_from_omp_path_and_reads_session_id (line 41798) | fn resume_detects_oh_my_pi_from_omp_path_and_reads_session_id() { function resume_detects_pi_mono_from_pi_path_and_reads_session_id (line 41820) | fn resume_detects_pi_mono_from_pi_path_and_reads_session_id() { function resume_detects_gemini_from_path_and_uses_path_argv (line 41838) | fn resume_detects_gemini_from_path_and_uses_path_argv() { function resume_honors_explicit_agent_override (line 41854) | fn resume_honors_explicit_agent_override() { function resume_rejects_unknown_agent_override (line 41895) | fn resume_rejects_unknown_agent_override() { function resume_errors_when_no_agent_detectable (line 41903) | fn resume_errors_when_no_agent_detectable() { function resume_does_not_false_positive_on_claude_code_substring (line 41911) | fn resume_does_not_false_positive_on_claude_code_substring() { function looks_like_session_uuid_accepts_canonical_form (line 41922) | fn looks_like_session_uuid_accepts_canonical_form() { function looks_like_session_uuid_rejects_bad_forms (line 41942) | fn looks_like_session_uuid_rejects_bad_forms() { function resume_rejects_non_uuid_claude_path_without_override (line 41967) | fn resume_rejects_non_uuid_claude_path_without_override() { function resume_allows_non_uuid_claude_path_with_explicit_override (line 41992) | fn resume_allows_non_uuid_claude_path_with_explicit_override() { function resume_rejects_non_uuid_codex_path_without_override (line 42005) | fn resume_rejects_non_uuid_codex_path_without_override() { function run_resume_rejects_exec_with_structured_output (line 42019) | fn run_resume_rejects_exec_with_structured_output() { function run_resume_rejects_shell_with_structured_output (line 42036) | fn run_resume_rejects_shell_with_structured_output() { function shell_quote_escapes_special_characters (line 42050) | fn shell_quote_escapes_special_characters() { function extract_pi_agent_session_id_errors_when_no_header (line 42062) | fn extract_pi_agent_session_id_errors_when_no_header() { function extract_pi_agent_session_id_prefers_sessionid_field_over_id (line 42086) | fn extract_pi_agent_session_id_prefers_sessionid_field_over_id() { function extract_pi_agent_session_id_uses_id_when_sessionid_absent (line 42109) | fn extract_pi_agent_session_id_uses_id_when_sessionid_absent() { function extract_pi_agent_session_id_skips_leading_blank_lines (line 42125) | fn extract_pi_agent_session_id_skips_leading_blank_lines() { function run_doctor_impl (line 42146) | pub(crate) fn run_doctor_impl( type SessionSummaryRecord (line 44432) | struct SessionSummaryRecord { type SessionSummaryEntry (line 44448) | struct SessionSummaryEntry { function normalize_session_filter_path (line 44461) | fn normalize_session_filter_path(path: &Path) -> CliResult { function workspace_match_distance (line 44472) | fn workspace_match_distance(candidate: Option<&Path>, target: &Path) -> ... function run_sessions (line 44492) | fn run_sessions( function find_context_source_conversation (line 44727) | fn find_context_source_conversation( function run_context (line 44802) | fn run_context( type CapabilitiesResponse (line 45102) | pub struct CapabilitiesResponse { type CapabilitiesLimits (line 45118) | pub struct CapabilitiesLimits { type IntrospectResponse (line 45135) | pub struct IntrospectResponse { type CommandSchema (line 45156) | pub struct CommandSchema { type ArgumentSchema (line 45169) | pub struct ArgumentSchema { function build_global_flag_schemas (line 45196) | fn build_global_flag_schemas() -> Vec { function run_capabilities (line 45310) | fn run_capabilities(output_format: Option) -> CliResult<()> { function run_introspect (line 45399) | fn run_introspect(output_format: Option) -> CliResult<()> { function run_config_based_export (line 45501) | fn run_config_based_export( function run_api_version (line 45736) | fn run_api_version(output_format: Option) -> CliResult<()> { function build_command_schemas (line 45765) | fn build_command_schemas() -> Vec { function command_schema_from_clap (line 45775) | fn command_schema_from_clap(cmd: &Command, global_robot_format: Option<&... function argument_schema_from_clap (line 45803) | fn argument_schema_from_clap(arg: &Arg) -> ArgumentSchema { constant INTEGER_ARG_NAMES (line 45856) | const INTEGER_ARG_NAMES: &[&str] = &[ function infer_value_type (line 45867) | fn infer_value_type(arg: &Arg) -> Option { function extract_enum_values (line 45891) | fn extract_enum_values(arg: &Arg) -> Option> { function infer_repeatable (line 45900) | fn infer_repeatable(arg: &Arg, num_args: clap::builder::ValueRange) -> O... function should_skip_arg (line 45911) | fn should_skip_arg(arg: &Arg) -> bool { function response_schema_index_state (line 45915) | fn response_schema_index_state() -> serde_json::Value { function response_schema_state_database (line 45954) | fn response_schema_state_database() -> serde_json::Value { function response_schema_status_database (line 45970) | fn response_schema_status_database() -> serde_json::Value { function response_schema_health_db (line 45980) | fn response_schema_health_db() -> serde_json::Value { function response_schema_pending_state (line 45995) | fn response_schema_pending_state() -> serde_json::Value { function response_schema_rebuild_state (line 46006) | fn response_schema_rebuild_state() -> serde_json::Value { function response_schema_rebuild_progress (line 46031) | fn response_schema_rebuild_progress() -> serde_json::Value { function response_schema_semantic_state (line 46059) | fn response_schema_semantic_state() -> serde_json::Value { function response_schema_policy_registry (line 46137) | fn response_schema_policy_registry() -> serde_json::Value { function response_schema_topology_budget (line 46177) | fn response_schema_topology_budget() -> serde_json::Value { function response_schema_state_meta (line 46246) | fn response_schema_state_meta() -> serde_json::Value { function response_schema_index_freshness (line 46268) | fn response_schema_index_freshness() -> serde_json::Value { function response_schema_object (line 46286) | fn response_schema_object( function response_schema_opaque_object (line 46303) | fn response_schema_opaque_object() -> serde_json::Value { function response_schema_opaque_object_array (line 46310) | fn response_schema_opaque_object_array() -> serde_json::Value { constant DOCTOR_V2_COMMON_BRANCH_FIELDS (line 46320) | const DOCTOR_V2_COMMON_BRANCH_FIELDS: &[&str] = &[ constant DOCTOR_V2_RESPONSE_SCHEMA_KEYS (line 46341) | const DOCTOR_V2_RESPONSE_SCHEMA_KEYS: &[&str] = &[ function response_schema_string_enum (line 46364) | fn response_schema_string_enum(values: &[&str]) -> serde_json::Value { function response_schema_doctor_v2_coverage_delta (line 46371) | fn response_schema_doctor_v2_coverage_delta() -> serde_json::Value { function response_schema_doctor_v2_common_properties (line 46399) | fn response_schema_doctor_v2_common_properties() -> serde_json::Map... function response_schema_doctor_v2_surface (line 46665) | fn response_schema_doctor_v2_surface( function response_schema_doctor_v2_summary (line 46685) | fn response_schema_doctor_v2_summary(surface: &'static str) -> serde_jso... function response_schema_doctor_v2_contract_summary (line 46791) | fn response_schema_doctor_v2_contract_summary() -> serde_json::Value { function response_schema_doctor_v2_error_envelope (line 46856) | fn response_schema_doctor_v2_error_envelope() -> serde_json::Value { function response_schema_doctor_coverage_snapshot (line 46921) | fn response_schema_doctor_coverage_snapshot() -> serde_json::Value { function response_schema_doctor_artifact (line 46935) | fn response_schema_doctor_artifact() -> serde_json::Value { function response_schema_doctor_artifact_manifest (line 46958) | fn response_schema_doctor_artifact_manifest() -> serde_json::Value { function response_schema_doctor_safety_gate (line 46977) | fn response_schema_doctor_safety_gate() -> serde_json::Value { function response_schema_doctor_action (line 46994) | fn response_schema_doctor_action() -> serde_json::Value { function response_schema_doctor_event_log_metadata (line 47025) | fn response_schema_doctor_event_log_metadata() -> serde_json::Value { function response_schema_doctor_forensic_bundle_metadata (line 47061) | fn response_schema_doctor_forensic_bundle_metadata() -> serde_json::Value { function response_schema_doctor_plan (line 47103) | fn response_schema_doctor_plan() -> serde_json::Value { function response_schema_doctor_repair_plan_preview (line 47129) | fn response_schema_doctor_repair_plan_preview() -> serde_json::Value { function response_schema_doctor_receipt (line 47164) | fn response_schema_doctor_receipt() -> serde_json::Value { function response_schema_doctor_operation_outcome (line 47205) | fn response_schema_doctor_operation_outcome() -> serde_json::Value { function response_schema_doctor_repair_failure_marker (line 47225) | fn response_schema_doctor_repair_failure_marker() -> serde_json::Value { function response_schema_doctor_operation_state (line 47250) | fn response_schema_doctor_operation_state() -> serde_json::Value { function response_schema_doctor_locks (line 47333) | fn response_schema_doctor_locks() -> serde_json::Value { function response_schema_doctor_timing_summary (line 47366) | fn response_schema_doctor_timing_summary() -> serde_json::Value { function response_schema_doctor_slow_operations (line 47383) | fn response_schema_doctor_slow_operations() -> serde_json::Value { function response_schema_doctor_retry_recommendation (line 47403) | fn response_schema_doctor_retry_recommendation() -> serde_json::Value { function response_schema_doctor_cleanup_apply (line 47419) | fn response_schema_doctor_cleanup_apply() -> serde_json::Value { function response_schema_doctor_source_inventory (line 47439) | fn response_schema_doctor_source_inventory() -> serde_json::Value { function response_schema_doctor_raw_mirror_backfill (line 47511) | fn response_schema_doctor_raw_mirror_backfill() -> serde_json::Value { function response_schema_doctor_coverage_summary (line 47594) | fn response_schema_doctor_coverage_summary() -> serde_json::Value { function response_schema_doctor_coverage_risk (line 47626) | fn response_schema_doctor_coverage_risk() -> serde_json::Value { function response_schema_doctor_candidate_live_inventory (line 47647) | fn response_schema_doctor_candidate_live_inventory() -> serde_json::Value { function response_schema_doctor_candidate_coverage_snapshot (line 47666) | fn response_schema_doctor_candidate_coverage_snapshot() -> serde_json::V... function response_schema_doctor_coverage_comparison_gate (line 47682) | fn response_schema_doctor_coverage_comparison_gate() -> serde_json::Value { function response_schema_doctor_candidate_staging (line 47724) | fn response_schema_doctor_candidate_staging() -> serde_json::Value { function response_schema_doctor_raw_mirror (line 47823) | fn response_schema_doctor_raw_mirror() -> serde_json::Value { function response_schema_doctor_source_authority (line 48017) | fn response_schema_doctor_source_authority() -> serde_json::Value { function response_schema_search_hit (line 48112) | fn response_schema_search_hit() -> serde_json::Value { function response_schema_search_cache_stats (line 48167) | fn response_schema_search_cache_stats() -> serde_json::Value { function response_schema_search_timing (line 48183) | fn response_schema_search_timing() -> serde_json::Value { function response_schema_query_plan (line 48191) | fn response_schema_query_plan() -> serde_json::Value { function response_schema_cursor_manifest (line 48264) | fn response_schema_cursor_manifest() -> serde_json::Value { function response_schema_explanation_cards (line 48345) | fn response_schema_explanation_cards() -> serde_json::Value { function response_schema_search_meta (line 48385) | fn response_schema_search_meta() -> serde_json::Value { function response_schema_search (line 48462) | fn response_schema_search() -> serde_json::Value { function build_response_schemas (line 48527) | fn build_response_schemas() -> std::collections::BTreeMap Str... function conversation_view_to_raw_messages (line 49820) | fn conversation_view_to_raw_messages( function canonical_followup_source_id (line 49841) | fn canonical_followup_source_id(source_id: Option<&str>) -> Option) -> bool { function normalized_provenance_origin_host (line 49858) | fn normalized_provenance_origin_host(origin_host: Option<&str>) -> Optio... function normalized_provenance_source_id (line 49865) | fn normalized_provenance_source_id( function normalized_provenance_origin_kind (line 49887) | fn normalized_provenance_origin_kind( function normalized_source_identity_sql_expr (line 49908) | fn normalized_source_identity_sql_expr(source_id_column: &str, origin_ho... function normalized_source_id_sql_expr (line 49916) | fn normalized_source_id_sql_expr(column: &str) -> String { function validate_followup_source_id (line 49923) | fn validate_followup_source_id(source_id: &str, command: &str) -> CliRes... function prefers_direct_view_file (line 49943) | fn prefers_direct_view_file(path: &Path, source_id: Option<&str>) -> bool { function prefers_direct_jsonl_file (line 49957) | fn prefers_direct_jsonl_file(path: &Path, source_id: Option<&str>) -> bo... function should_defer_indexed_lookup_for_direct_export (line 49971) | fn should_defer_indexed_lookup_for_direct_export(path: &Path, source_id:... function try_load_indexed_conversation_from_db_with_source (line 49978) | fn try_load_indexed_conversation_from_db_with_source( function serialize_indexed_view_lines (line 50005) | fn serialize_indexed_view_lines( function read_followup_file_lines (line 50025) | fn read_followup_file_lines(path: &Path) -> CliResult> { function parse_followup_jsonl_messages (line 50049) | fn parse_followup_jsonl_messages( function infer_followup_agent_and_workspace (line 50085) | fn infer_followup_agent_and_workspace(path: &Path) -> (Option, O... function try_load_indexed_conversation_from_db (line 50117) | fn try_load_indexed_conversation_from_db( function run_view (line 50124) | fn run_view( function index_result_counts_from_progress (line 50280) | fn index_result_counts_from_progress(progress: &indexer::IndexingProgres... function refresh_index_inline (line 50304) | fn refresh_index_inline(db_override: Option, data_dir_override:... function collect_stall_diagnostics (line 50410) | fn collect_stall_diagnostics(data_dir: &Path) -> serde_json::Value { function empty_data_dir_produces_null_checkpoint_and_no_lock (line 50534) | fn empty_data_dir_produces_null_checkpoint_and_no_lock() { function captures_checkpoint_contents_and_lock_when_present (line 50550) | fn captures_checkpoint_contents_and_lock_when_present() { function oversized_checkpoint_omits_content_but_records_size (line 50587) | fn oversized_checkpoint_omits_content_but_records_size() { function run_index_with_data (line 50606) | fn run_index_with_data( function default_db_path (line 51315) | pub fn default_db_path() -> PathBuf { function default_data_dir (line 51319) | pub fn default_data_dir() -> PathBuf { function read_session_paths (line 51334) | fn read_session_paths(source: &str) -> Result Result<()> { function detect_opencode_session (line 51402) | fn detect_opencode_session(path: &Path) -> bool { function detect_opencode_sqlite_session (line 51447) | fn detect_opencode_sqlite_session(path: &Path) -> bool { function path_exists_or_virtual_opencode_sqlite_session (line 51462) | fn path_exists_or_virtual_opencode_sqlite_session(path: &Path, allow_dir... function load_opencode_sqlite_session_for_export (line 51471) | fn load_opencode_sqlite_session_for_export( function load_opencode_session_for_export (line 51530) | fn load_opencode_session_for_export( type ResumeTarget (line 51724) | struct ResumeTarget { function shell_quote (line 51739) | fn shell_quote(arg: &str) -> String { type DetectedAgent (line 51767) | struct DetectedAgent { function detect_resume_agent (line 51787) | fn detect_resume_agent(path: &Path, agent_override: Option<&str>) -> Cli... function extract_filename_session_id (line 51902) | fn extract_filename_session_id(path: &Path) -> Option { function looks_like_session_uuid (line 51914) | fn looks_like_session_uuid(candidate: &str) -> bool { function extract_pi_agent_session_id (line 51948) | fn extract_pi_agent_session_id(path: &Path) -> CliResult { function extract_opencode_session_id (line 52035) | fn extract_opencode_session_id(path: &Path, strict: bool) -> CliResult) -> C... function run_upgrade (line 52238) | async fn run_upgrade( function run_resume (line 52390) | fn run_resume( function run_export (line 52520) | fn run_export( function copy_to_system_clipboard (line 52797) | fn copy_to_system_clipboard(text: &str) -> Result<&'static str, String> { function strip_stdin_line_ending (line 52889) | fn strip_stdin_line_ending(mut input: String) -> String { function stdin_password_preserves_significant_surrounding_space (line 52901) | fn stdin_password_preserves_significant_surrounding_space() { function returns_err_when_no_tool_is_available (line 52922) | fn returns_err_when_no_tool_is_available() { function run_export_html (line 52956) | fn run_export_html( function extract_tool_call (line 53701) | fn extract_tool_call(msg: &serde_json::Value) -> Option AgentFo... function classify_message (line 53910) | pub fn classify_message(msg: &html_export::Message, _format: AgentFormat... function extract_correlation_id (line 53963) | pub fn extract_correlation_id(msg: &html_export::Message, format: AgentF... function flush_group (line 53992) | fn flush_group( function group_messages_for_export (line 54030) | pub fn group_messages_for_export( function load_opencode_export_ignores_missing_message_timestamps (line 54176) | fn load_opencode_export_ignores_missing_message_timestamps() { function extract_message_timestamp_parses_multiple_shapes (line 54273) | fn extract_message_timestamp_parses_multiple_shapes() { function export_html_reports_file_read_errors_instead_of_truncating (line 54297) | fn export_html_reports_file_read_errors_instead_of_truncating() { function export_html_accepts_virtual_opencode_sqlite_session_paths (line 54335) | fn export_html_accepts_virtual_opencode_sqlite_session_paths() { function make_legacy_local_db (line 54374) | fn make_legacy_local_db() -> (TempDir, PathBuf, PathBuf) { function open_legacy_local_db_for_update (line 54456) | fn open_legacy_local_db_for_update(db_path: &Path) -> frankensqlite::Con... function source_filter_helpers_use_normalized_source_sql_for_local_semantics (line 54462) | fn source_filter_helpers_use_normalized_source_sql_for_local_semantics() { function stats_message_count_sql_skips_join_when_unfiltered (line 54495) | fn stats_message_count_sql_skips_join_when_unfiltered() { function source_filter_helpers_match_blank_remote_source_id_via_origin_host (line 54526) | fn source_filter_helpers_match_blank_remote_source_id_via_origin_host() { function source_filter_helpers_match_trimmed_local_source_id_in_db (line 54553) | fn source_filter_helpers_match_trimmed_local_source_id_in_db() { function find_context_source_conversation_treats_null_source_as_local (line 54580) | fn find_context_source_conversation_treats_null_source_as_local() { function find_context_source_conversation_normalizes_trimmed_source_id (line 54594) | fn find_context_source_conversation_normalizes_trimmed_source_id() { function find_context_source_conversation_matches_blank_remote_source_id_via_origin_host (line 54611) | fn find_context_source_conversation_matches_blank_remote_source_id_via_o... function find_context_source_conversation_matches_trimmed_local_source_id_in_db (line 54630) | fn find_context_source_conversation_matches_trimmed_local_source_id_in_d... function context_and_stats_queries_surface_null_source_id_as_local (line 54652) | fn context_and_stats_queries_surface_null_source_id_as_local() { function stats_source_grouping_uses_origin_host_when_remote_source_id_blank (line 54704) | fn stats_source_grouping_uses_origin_host_when_remote_source_id_blank() { function stats_source_grouping_normalizes_trimmed_local_source_id_in_db (line 54735) | fn stats_source_grouping_normalizes_trimmed_local_source_id_in_db() { function prefer_direct_helpers_allow_explicit_local_source (line 54781) | fn prefer_direct_helpers_allow_explicit_local_source() { function prefer_direct_helpers_allow_trimmed_explicit_local_source (line 54803) | fn prefer_direct_helpers_allow_trimmed_explicit_local_source() { function defer_index_lookup_for_direct_opencode_and_jsonl_paths (line 54821) | fn defer_index_lookup_for_direct_opencode_and_jsonl_paths() { function validate_followup_source_id_rejects_trimmed_ambiguous_keywords (line 54842) | fn validate_followup_source_id_rejects_trimmed_ambiguous_keywords() { function prefer_direct_helpers_reject_non_local_sources (line 54852) | fn prefer_direct_helpers_reject_non_local_sources() { function db_fallback_loads_virtual_source_path_and_converts_messages (line 54865) | fn db_fallback_loads_virtual_source_path_and_converts_messages() { function try_load_indexed_conversation_from_db_prefers_local_source_for_shared_path (line 54926) | fn try_load_indexed_conversation_from_db_prefers_local_source_for_shared... function try_load_indexed_conversation_from_db_falls_back_to_remote_when_local_missing (line 55023) | fn try_load_indexed_conversation_from_db_falls_back_to_remote_when_local... function run_export_uses_exact_source_id_for_shared_indexed_path (line 55088) | fn run_export_uses_exact_source_id_for_shared_indexed_path() { function run_export_prefers_local_jsonl_file_when_no_source_is_given (line 55192) | fn run_export_prefers_local_jsonl_file_when_no_source_is_given() { function run_export_html_prefers_local_jsonl_file_when_no_source_is_given (line 55268) | fn run_export_html_prefers_local_jsonl_file_when_no_source_is_given() { function run_export_html_infers_metadata_for_local_jsonl_without_index (line 55351) | fn run_export_html_infers_metadata_for_local_jsonl_without_index() { function run_export_html_infers_copilot_metadata_for_local_jsonl_without_index (line 55401) | fn run_export_html_infers_copilot_metadata_for_local_jsonl_without_index... function run_view_prefers_local_jsonl_file_when_no_source_is_given (line 55449) | fn run_view_prefers_local_jsonl_file_when_no_source_is_given() { function run_view_prefers_local_markdown_file_when_no_source_is_given (line 55512) | fn run_view_prefers_local_markdown_file_when_no_source_is_given() { function run_expand_prefers_local_jsonl_file_when_no_source_is_given (line 55575) | fn run_expand_prefers_local_jsonl_file_when_no_source_is_given() { function run_expand_prefers_indexed_conversation_for_local_markdown_file (line 55638) | fn run_expand_prefers_indexed_conversation_for_local_markdown_file() { function run_expand_requires_indexed_conversation_for_local_markdown_file (line 55714) | fn run_expand_requires_indexed_conversation_for_local_markdown_file() { function run_export_falls_back_to_indexed_conversation_when_local_jsonl_is_invalid (line 55743) | fn run_export_falls_back_to_indexed_conversation_when_local_jsonl_is_inv... function run_export_keeps_index_for_local_markdown_files (line 55806) | fn run_export_keeps_index_for_local_markdown_files() { function run_export_html_falls_back_to_indexed_conversation_when_local_jsonl_is_invalid (line 55880) | fn run_export_html_falls_back_to_indexed_conversation_when_local_jsonl_i... function run_export_html_keeps_index_for_local_markdown_files (line 55953) | fn run_export_html_keeps_index_for_local_markdown_files() { function run_view_falls_back_to_indexed_conversation_when_local_jsonl_is_unreadable (line 56037) | fn run_view_falls_back_to_indexed_conversation_when_local_jsonl_is_unrea... function run_expand_falls_back_to_indexed_conversation_when_local_jsonl_is_unreadable (line 56094) | fn run_expand_falls_back_to_indexed_conversation_when_local_jsonl_is_unr... function run_view_prefers_indexed_conversation_over_local_backing_file (line 56151) | fn run_view_prefers_indexed_conversation_over_local_backing_file() { function run_expand_prefers_indexed_conversation_over_local_backing_file (line 56209) | fn run_expand_prefers_indexed_conversation_over_local_backing_file() { function test_hit (line 56275) | fn test_hit(score: f32) -> SearchHit { function safe_robot_score_value_coerces_non_finite_scores (line 56297) | fn safe_robot_score_value_coerces_non_finite_scores() { function projected_hit_score_never_serializes_to_null (line 56311) | fn projected_hit_score_never_serializes_to_null() { function filter_hit_fields_supports_workspace_original_projection (line 56317) | fn filter_hit_fields_supports_workspace_original_projection() { function projected_hit_field_value_normalizes_blank_local_source_id (line 56331) | fn projected_hit_field_value_normalizes_blank_local_source_id() { function filter_hit_fields_normalizes_blank_local_source_id_in_full_output (line 56341) | fn filter_hit_fields_normalizes_blank_local_source_id_in_full_output() { function normalized_robot_hit_for_output_trims_remote_origin_host (line 56353) | fn normalized_robot_hit_for_output_trims_remote_origin_host() { function filter_hit_fields_normalizes_blank_local_origin_kind_in_full_output (line 56365) | fn filter_hit_fields_normalizes_blank_local_origin_kind_in_full_output() { function msg_user (line 56381) | fn msg_user(content: &str) -> Message { function msg_assistant (line 56393) | fn msg_assistant(content: &str) -> Message { function msg_assistant_with_tool (line 56405) | fn msg_assistant_with_tool(content: &str, tool_name: &str, tool_input: &... function msg_tool_result (line 56422) | fn msg_tool_result(tool_name: &str, output: &str, status: ToolStatus) ->... function msg_system (line 56439) | fn msg_system(content: &str) -> Message { function msg_empty (line 56451) | fn msg_empty() -> Message { function test_single_user_message (line 56467) | fn test_single_user_message() { function test_single_assistant_message (line 56476) | fn test_single_assistant_message() { function test_user_assistant_pair (line 56484) | fn test_user_assistant_pair() { function test_assistant_with_single_tool (line 56493) | fn test_assistant_with_single_tool() { function test_assistant_with_multiple_tools (line 56505) | fn test_assistant_with_multiple_tools() { function test_system_message_standalone (line 56522) | fn test_system_message_standalone() { function test_system_message_in_middle (line 56534) | fn test_system_message_in_middle() { function test_empty_messages_filtered (line 56551) | fn test_empty_messages_filtered() { function test_consecutive_user_messages (line 56563) | fn test_consecutive_user_messages() { function test_consecutive_assistant_messages (line 56581) | fn test_consecutive_assistant_messages() { function test_orphan_tool_result (line 56591) | fn test_orphan_tool_result() { function test_unicode_content (line 56603) | fn test_unicode_content() { function test_html_special_characters (line 56615) | fn test_html_special_characters() { function test_empty_input_returns_empty (line 56627) | fn test_empty_input_returns_empty() { function test_tool_success_status (line 56638) | fn test_tool_success_status() { function test_tool_error_status (line 56658) | fn test_tool_error_status() { function test_detect_claude_format (line 56682) | fn test_detect_claude_format() { function test_detect_generic_format (line 56689) | fn test_detect_generic_format() { function test_classify_user_content (line 56701) | fn test_classify_user_content() { function test_classify_assistant_content (line 56708) | fn test_classify_assistant_content() { function test_classify_system (line 56715) | fn test_classify_system() { function test_classify_empty (line 56722) | fn test_classify_empty() { function test_classify_tool_result (line 56729) | fn test_classify_tool_result() { function test_large_session_performance (line 56740) | fn test_large_session_performance() { function test_group_timestamps_captured (line 56767) | fn test_group_timestamps_captured() { function format_as_markdown (line 56782) | fn format_as_markdown( function format_as_text (line 56870) | fn format_as_text(messages: &[serde_json::Value], include_tools: bool) -... function format_as_html (line 56911) | fn format_as_html( function html_escape (line 57070) | fn html_escape(s: &str) -> String { function run_expand (line 57079) | fn run_expand( function extract_message_timestamp (line 57267) | fn extract_message_timestamp(msg: &serde_json::Value) -> Option { function extract_text_content (line 57282) | fn extract_text_content(msg: &serde_json::Value) -> String { function extract_role (line 57319) | fn extract_role(msg: &serde_json::Value) -> String { function strip_tool_marker (line 57350) | fn strip_tool_marker(content: &str) -> String { function smart_truncate (line 57374) | fn smart_truncate(s: &str, max_len: usize) -> String { function run_timeline (line 57407) | fn run_timeline( function run_sources_command (line 57753) | fn run_sources_command(cmd: SourcesCommand, cli: &Cli) -> CliResult<()> { function resolved_sources_artifact_manifest_index_path (line 57839) | fn resolved_sources_artifact_manifest_index_path( function sources_artifact_manifest_error (line 57849) | fn sources_artifact_manifest_error(e: anyhow::Error) -> CliError { function normalized_sources_artifact_manifest_format (line 57862) | fn normalized_sources_artifact_manifest_format(fmt: RobotFormat) -> Robo... function run_sources_verify_existing_artifact_manifest (line 57870) | fn run_sources_verify_existing_artifact_manifest( function run_sources_artifact_manifest (line 57985) | fn run_sources_artifact_manifest( function run_sources_list (line 58081) | fn run_sources_list(verbose: bool, output_format: Option) -... function run_sources_add (line 58232) | fn run_sources_add( function parse_source_url (line 58352) | fn parse_source_url(url: &str, name: Option<&str>) -> Result<(String, St... function test_ssh_connectivity (line 58399) | fn test_ssh_connectivity(host: &str) -> CliResult<()> { function run_sources_remove (line 58440) | fn run_sources_remove(name: &str, purge: bool, skip_confirm: bool) -> Cl... type DiagnosticCheck (line 58553) | struct DiagnosticCheck { type SourceDiagnostics (line 58562) | struct SourceDiagnostics { function run_sources_doctor (line 58571) | fn run_sources_doctor( function check_ssh_connectivity (line 58725) | fn check_ssh_connectivity(host: &str) -> DiagnosticCheck { function check_rsync_available (line 58770) | fn check_rsync_available(host: &str) -> DiagnosticCheck { function sh_quote (line 58817) | fn sh_quote(value: &str) -> String { function check_remote_path (line 58826) | fn check_remote_path(host: &str, path: &str) -> DiagnosticCheck { function check_local_storage (line 58920) | fn check_local_storage(source_name: &str) -> DiagnosticCheck { function run_sources_sync (line 58964) | fn run_sources_sync( function run_sources_discover (line 59307) | fn run_sources_discover( function run_sources_setup (line 59476) | fn run_sources_setup(opts: sources::setup::SetupOptions) -> CliResult<()> { function run_models_command (line 59535) | fn run_models_command(cmd: ModelsCommand, cli: &Cli) -> CliResult<()> { function run_models_status (line 59601) | fn run_models_status(output_format: Option) -> CliResult<()> { function resolve_cli_model_name (line 59869) | fn resolve_cli_model_name(model_name: &str) -> CliResult<&'static str> { function run_models_install (line 59891) | fn run_models_install( function run_models_verify (line 60213) | fn run_models_verify( function parse_models_backfill_tier (line 60374) | fn parse_models_backfill_tier(raw: &str) -> CliResult CliResult<()> { function archive_agent_slug_for_exclusion (line 60864) | fn archive_agent_slug_for_exclusion(agent: &str) -> String { function archive_data_dir_for_agents_command (line 60871) | fn archive_data_dir_for_agents_command(cli: &Cli) -> PathBuf { function purge_excluded_agent_archive_data (line 60878) | fn purge_excluded_agent_archive_data( function run_agents_list (line 60973) | fn run_agents_list(output_format: Option) -> CliResult<()> { function run_agents_exclude (line 61014) | fn run_agents_exclude(agent: &str, keep_indexed_data: bool, cli: &Cli) -... function run_agents_include (line 61081) | fn run_agents_include(agent: &str) -> CliResult<()> { function run_mappings_command (line 61128) | fn run_mappings_command(action: MappingsAction, cli: &Cli) -> CliResult<... function run_mappings_list (line 61157) | fn run_mappings_list(source_name: &str, output_format: Option CliResult<()> { function run_mappings_test (line 61344) | fn run_mappings_test(source_name: &str, path: &str, agent: Option<&str>)... function parse_datetime_flexible (line 61419) | fn parse_datetime_flexible(s: &str) -> Option { function resolved_daemon_config (line 61474) | fn resolved_daemon_config( function run_daemon (line 61501) | fn run_daemon( function with_env_vars (line 61530) | fn with_env_vars(vars: &[(&str, Option<&str>)], test: impl FnOnce()) { function daemon_cli_uses_env_defaults_when_flags_are_absent (line 61555) | fn daemon_cli_uses_env_defaults_when_flags_are_absent() { function daemon_cli_uses_one_hour_idle_default_without_env_or_flags (line 61580) | fn daemon_cli_uses_one_hour_idle_default_without_env_or_flags() { function daemon_cli_flags_override_env_selected_fields_only (line 61597) | fn daemon_cli_flags_override_env_selected_fields_only() { function run_on_large_stack (line 61632) | fn run_on_large_stack(f: F) function subcommand_json_flags_enable_robot_mode_and_structured_output (line 61653) | fn subcommand_json_flags_enable_robot_mode_and_structured_output() { function global_robot_format_overrides_subcommand_json_format (line 61716) | fn global_robot_format_overrides_subcommand_json_format() { function search_without_mode_uses_hybrid_preferred_default_intent (line 61736) | fn search_without_mode_uses_hybrid_preferred_default_intent() { function default_hybrid_fallback_meta_reports_lexical_realization (line 61758) | fn default_hybrid_fallback_meta_reports_lexical_realization() { function hybrid_search_intent_is_fail_open_even_when_explicit (line 61769) | fn hybrid_search_intent_is_fail_open_even_when_explicit() { function sparse_fallback_threshold_tracks_visible_search_limit_not_cursor_probe (line 61781) | fn sparse_fallback_threshold_tracks_visible_search_limit_not_cursor_prob... function refresh_catchup_flags_are_opt_in_for_search_and_tui (line 61790) | fn refresh_catchup_flags_are_opt_in_for_search_and_tui() { function resolve_cli_model_name_accepts_every_registered_embedder_alias (line 61845) | fn resolve_cli_model_name_accepts_every_registered_embedder_alias() { function resolve_cli_model_name_rejects_unknown_with_useful_hint (line 61874) | fn resolve_cli_model_name_rejects_unknown_with_useful_hint() { function every_resolved_canonical_name_has_manifest_and_dir_mapping (line 61907) | fn every_resolved_canonical_name_has_manifest_and_dir_mapping() { FILE: src/main.rs function env_requests_robot_output (line 1) | fn env_requests_robot_output() -> bool { function is_robot_mode_args (line 18) | fn is_robot_mode_args() -> bool { function handle_fatal_error (line 30) | fn handle_fatal_error(err: coding_agent_search::CliError) -> ! { constant DEFAULT_TANTIVY_MAX_WRITER_THREADS (line 59) | const DEFAULT_TANTIVY_MAX_WRITER_THREADS: usize = 26; function apply_default_tantivy_writer_thread_cap (line 61) | fn apply_default_tantivy_writer_thread_cap() { function main (line 80) | fn main() -> anyhow::Result<()> { FILE: src/model/cli_error_kind.rs type ErrorKind (line 59) | pub enum ErrorKind { method kind_str (line 159) | pub fn kind_str(self) -> &'static str { method from_kind_str (line 254) | pub fn from_kind_str(kind: &str) -> Option { method all_variants (line 349) | pub fn all_variants() -> &'static [Self] { function every_error_kind_round_trips_through_kind_str (line 451) | fn every_error_kind_round_trips_through_kind_str() { function every_kind_str_is_unique (line 473) | fn every_kind_str_is_unique() { function variant_count_matches_audited_lib_rs_kind_literals (line 495) | fn variant_count_matches_audited_lib_rs_kind_literals() { function snake_case_stragglers_preserve_legacy_wire_format (line 514) | fn snake_case_stragglers_preserve_legacy_wire_format() { function from_kind_str_returns_none_for_unknown_inputs (line 533) | fn from_kind_str_returns_none_for_unknown_inputs() { function error_kind_is_serde_compatible (line 555) | fn error_kind_is_serde_compatible() { FILE: src/model/conversation_packet.rs constant CONVERSATION_PACKET_VERSION (line 17) | pub const CONVERSATION_PACKET_VERSION: u32 = 1; type ConversationPacketBuilder (line 20) | pub enum ConversationPacketBuilder { type ConversationPacketVersionStatus (line 26) | pub enum ConversationPacketVersionStatus { type ConversationPacketDiagnostics (line 32) | pub struct ConversationPacketDiagnostics { method current (line 40) | pub fn current(builder: ConversationPacketBuilder) -> Self { method version_mismatch (line 49) | pub fn version_mismatch(builder: ConversationPacketBuilder, observed: ... type ConversationPacketProvenance (line 66) | pub struct ConversationPacketProvenance { method local (line 73) | pub fn local() -> Self { type ConversationPacketIdentity (line 83) | pub struct ConversationPacketIdentity { type ConversationPacketTimestamps (line 93) | pub struct ConversationPacketTimestamps { type ConversationPacketSnippet (line 101) | pub struct ConversationPacketSnippet { type ConversationPacketMessage (line 110) | pub struct ConversationPacketMessage { type ConversationPacketPayload (line 122) | pub struct ConversationPacketPayload { type ConversationPacketHashes (line 131) | pub struct ConversationPacketHashes { type ConversationPacketLexicalProjection (line 142) | pub struct ConversationPacketLexicalProjection { type ConversationPacketSemanticProjection (line 148) | pub struct ConversationPacketSemanticProjection { type ConversationPacketAnalyticsProjection (line 154) | pub struct ConversationPacketAnalyticsProjection { type ConversationPacketSinkProjections (line 163) | pub struct ConversationPacketSinkProjections { type ConversationPacket (line 170) | pub struct ConversationPacket { method from_normalized_conversation (line 329) | pub fn from_normalized_conversation( method from_canonical_replay (line 359) | pub fn from_canonical_replay( method semantically_equivalent_to (line 389) | pub fn semantically_equivalent_to(&self, other: &Self) -> bool { method text_slab (line 395) | pub fn text_slab(&self) -> ConversationPacketTextSlab { method owned_text_batch_fallback (line 399) | pub fn owned_text_batch_fallback( method from_payload (line 427) | fn from_payload( method sink_message_indices (line 442) | fn sink_message_indices(&self, sink: ConversationPacketTextSink) -> Co... method sink_total_content_bytes (line 456) | fn sink_total_content_bytes(&self, sink: ConversationPacketTextSink) -... type ConversationPacketTextSink (line 179) | pub enum ConversationPacketTextSink { type ConversationPacketTextBatchMode (line 186) | pub enum ConversationPacketTextBatchMode { type ConversationPacketProjectionError (line 192) | pub struct ConversationPacketProjectionError { method fmt (line 199) | fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Re... type ConversationPacketTextMessage (line 211) | pub struct ConversationPacketTextMessage<'a> { type ConversationPacketTextBatch (line 222) | pub struct ConversationPacketTextBatch<'a> { function messages (line 230) | pub fn messages(&self) -> &[ConversationPacketTextMessage<'a>] { function len (line 234) | pub fn len(&self) -> usize { function is_empty (line 238) | pub fn is_empty(&self) -> bool { type ConversationPacketTextSlab (line 244) | pub struct ConversationPacketTextSlab { method from_packet (line 250) | pub fn from_packet(packet: &ConversationPacket) -> Self { method text (line 265) | pub fn text(&self) -> &str { method message_count (line 269) | pub fn message_count(&self) -> usize { method is_empty (line 273) | pub fn is_empty(&self) -> bool { method message_content (line 277) | pub fn message_content(&self, message_index: usize) -> Option<&str> { method message_range (line 283) | pub fn message_range(&self, message_index: usize) -> Option( function fallback_sink_message_indices (line 467) | fn fallback_sink_message_indices( function packet_total_content_bytes (line 482) | fn packet_total_content_bytes(messages: &[ConversationPacketMessage]) ->... function path_to_packet_string (line 489) | fn path_to_packet_string(path: &Path) -> String { function normalize_role (line 493) | fn normalize_role(role: &str) -> String { function canonical_role (line 503) | fn canonical_role(role: &MessageRole) -> String { function packet_message_from_normalized (line 513) | fn packet_message_from_normalized(message: &NormalizedMessage) -> Conver... function packet_message_from_canonical (line 530) | fn packet_message_from_canonical(message: &Message) -> ConversationPacke... function packet_snippet_from_normalized (line 547) | fn packet_snippet_from_normalized(snippet: &NormalizedSnippet) -> Conver... function packet_snippet_from_canonical (line 557) | fn packet_snippet_from_canonical(snippet: &Snippet) -> ConversationPacke... function timestamps_from_parts (line 567) | fn timestamps_from_parts( function packet_projections (line 588) | fn packet_projections(messages: &[ConversationPacketMessage]) -> Convers... function packet_hashes (line 628) | fn packet_hashes(payload: &ConversationPacketPayload) -> ConversationPac... function update_identity_hash (line 647) | fn update_identity_hash(hasher: &mut blake3::Hasher, identity: &Conversa... function update_provenance_hash (line 655) | fn update_provenance_hash(hasher: &mut blake3::Hasher, provenance: &Conv... function update_timestamps_hash (line 661) | fn update_timestamps_hash(hasher: &mut blake3::Hasher, timestamps: &Conv... function update_messages_hash (line 668) | fn update_messages_hash(hasher: &mut blake3::Hasher, messages: &[Convers... function update_label (line 688) | fn update_label(hasher: &mut blake3::Hasher, label: &str) { function update_str (line 693) | fn update_str(hasher: &mut blake3::Hasher, label: &str, value: &str) { function update_opt_str (line 699) | fn update_opt_str(hasher: &mut blake3::Hasher, label: &str, value: Optio... function update_json (line 714) | fn update_json(hasher: &mut blake3::Hasher, label: &str, value: &Value) { function update_i64 (line 719) | fn update_i64(hasher: &mut blake3::Hasher, label: &str, value: i64) { function update_opt_i64 (line 724) | fn update_opt_i64(hasher: &mut blake3::Hasher, label: &str, value: Optio... function update_u32 (line 737) | fn update_u32(hasher: &mut blake3::Hasher, label: &str, value: u32) { function update_usize (line 742) | fn update_usize(hasher: &mut blake3::Hasher, label: &str, value: usize) { function raw_conversation (line 756) | fn raw_conversation() -> NormalizedConversation { function canonical_conversation (line 797) | fn canonical_conversation() -> Conversation { function raw_and_canonical_builders_produce_equivalent_packet_semantics (line 844) | fn raw_and_canonical_builders_produce_equivalent_packet_semantics() { function packet_hash_changes_when_normalized_content_changes (line 863) | fn packet_hash_changes_when_normalized_content_changes() { function text_slab_reuses_one_utf8_arena_for_packet_sinks (line 881) | fn text_slab_reuses_one_utf8_arena_for_packet_sinks() { function owned_text_batch_fallback_recovers_from_bad_projection (line 945) | fn owned_text_batch_fallback_recovers_from_bad_projection() { function version_mismatch_diagnostic_is_explicit (line 974) | fn version_mismatch_diagnostic_is_explicit() { FILE: src/model/packet_audit.rs constant PACKET_EQUIVALENCE_AUDIT_ENV (line 33) | pub const PACKET_EQUIVALENCE_AUDIT_ENV: &str = "CASS_INDEXER_PACKET_EQUI... function packet_equivalence_audit_enabled (line 37) | pub fn packet_equivalence_audit_enabled() -> bool { type PacketEquivalenceTolerance (line 51) | pub struct PacketEquivalenceTolerance { method strict (line 60) | pub fn strict() -> Self { method allow_redaction (line 64) | pub fn allow_redaction() -> Self { type PacketProjectionDifference (line 75) | pub enum PacketProjectionDifference { type PacketHashDifference (line 93) | pub enum PacketHashDifference { type PacketEquivalenceMismatch (line 103) | pub struct PacketEquivalenceMismatch { method is_hash_only (line 116) | pub fn is_hash_only(&self) -> bool { type PacketEquivalenceOutcome (line 126) | pub enum PacketEquivalenceOutcome { method is_match (line 132) | pub fn is_match(&self) -> bool { method is_mismatch (line 136) | pub fn is_mismatch(&self) -> bool { type PacketEquivalenceAuditor (line 146) | pub struct PacketEquivalenceAuditor; method new (line 149) | pub fn new() -> Self { method audit_pair (line 156) | pub fn audit_pair( type PacketSinkMigration (line 237) | pub struct PacketSinkMigration { constant PACKET_SINK_MIGRATIONS (line 264) | pub const PACKET_SINK_MIGRATIONS: &[PacketSinkMigration] = &[ function env_lock (line 301) | fn env_lock() -> MutexGuard<'static, ()> { function raw_conversation (line 308) | fn raw_conversation() -> NormalizedConversation { function canonical_conversation (line 349) | fn canonical_conversation() -> Conversation { function raw_and_canonical_packet_audit_matches_when_content_agrees (line 396) | fn raw_and_canonical_packet_audit_matches_when_content_agrees() { function role_count_drift_surfaces_as_analytics_projection_difference (line 415) | fn role_count_drift_surfaces_as_analytics_projection_difference() { function redaction_drift_is_excused_only_under_explicit_tolerance (line 456) | fn redaction_drift_is_excused_only_under_explicit_tolerance() { function audit_env_gate_is_off_by_default_and_respects_explicit_opt_in (line 512) | fn audit_env_gate_is_off_by_default_and_respects_explicit_opt_in() { function audit_outcome_serializes_with_outcome_tag (line 558) | fn audit_outcome_serializes_with_outcome_tag() { function packet_sink_migration_catalog_documents_every_consumer_sink (line 587) | fn packet_sink_migration_catalog_documents_every_consumer_sink() { function packet_sink_migration_catalog_serializes_as_json_array (line 648) | fn packet_sink_migration_catalog_serializes_as_json_array() { FILE: src/model/types.rs type MessageRole (line 8) | pub enum MessageRole { method fmt (line 17) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Agent (line 29) | pub struct Agent { type AgentKind (line 38) | pub enum AgentKind { type Workspace (line 45) | pub struct Workspace { type Conversation (line 52) | pub struct Conversation { function default_source_id (line 73) | fn default_source_id() -> String { type Message (line 78) | pub struct Message { type Snippet (line 90) | pub struct Snippet { type Tag (line 100) | pub struct Tag { function message_fixture (line 110) | fn message_fixture(content: impl Into) -> Message { function conversation_fixture (line 123) | fn conversation_fixture(agent_slug: &str, source_path: &str) -> Conversa... function message_role_display (line 146) | fn message_role_display() { function message_role_serde_roundtrip (line 164) | fn message_role_serde_roundtrip() { function message_role_equality (line 181) | fn message_role_equality() { function agent_kind_serde_roundtrip (line 199) | fn agent_kind_serde_roundtrip() { function agent_kind_equality (line 210) | fn agent_kind_equality() { function agent_serde_roundtrip (line 221) | fn agent_serde_roundtrip() { function agent_with_none_fields (line 241) | fn agent_with_none_fields() { function workspace_serde_roundtrip (line 262) | fn workspace_serde_roundtrip() { function workspace_with_unicode_path (line 278) | fn workspace_with_unicode_path() { function tag_serde_roundtrip (line 300) | fn tag_serde_roundtrip() { function tag_with_empty_name (line 314) | fn tag_with_empty_name() { function snippet_serde_roundtrip (line 331) | fn snippet_serde_roundtrip() { function snippet_all_none (line 353) | fn snippet_all_none() { function message_serde_roundtrip (line 379) | fn message_serde_roundtrip() { function message_with_snippets (line 405) | fn message_with_snippets() { function message_with_unicode_content (line 428) | fn message_with_unicode_content() { function conversation_serde_roundtrip (line 445) | fn conversation_serde_roundtrip() { function conversation_source_id_default (line 482) | fn conversation_source_id_default() { function conversation_with_remote_source (line 496) | fn conversation_with_remote_source() { function conversation_with_messages (line 509) | fn conversation_with_messages() { function empty_strings_are_valid (line 525) | fn empty_strings_are_valid() { function large_content_strings (line 547) | fn large_content_strings() { function special_characters_in_strings (line 559) | fn special_characters_in_strings() { function negative_line_numbers (line 570) | fn negative_line_numbers() { function complex_metadata_json (line 589) | fn complex_metadata_json() { FILE: src/pages/analytics.rs constant STOP_WORDS (line 38) | const STOP_WORDS: &[&str] = &[ type Statistics (line 53) | pub struct Statistics { method from_packets (line 93) | pub fn from_packets(packets: &[crate::model::conversation_packet::Conv... type AgentStats (line 71) | pub struct AgentStats { type TimeRange (line 171) | pub struct TimeRange { type Timeline (line 180) | pub struct Timeline { type AgentTimeline (line 191) | pub struct AgentTimeline { type DailyEntry (line 199) | pub struct DailyEntry { type WeeklyEntry (line 207) | pub struct WeeklyEntry { type MonthlyEntry (line 215) | pub struct MonthlyEntry { type WorkspaceSummary (line 223) | pub struct WorkspaceSummary { type WorkspaceEntry (line 229) | pub struct WorkspaceEntry { type AgentSummary (line 241) | pub struct AgentSummary { type AgentEntry (line 247) | pub struct AgentEntry { type TopTerms (line 258) | pub struct TopTerms { type AnalyticsBundle (line 264) | pub struct AnalyticsBundle { method write_to_dir (line 274) | pub fn write_to_dir(&self, dir: &Path) -> Result<()> { type AnalyticsGenerator (line 322) | pub struct AnalyticsGenerator<'a> { function new (line 328) | pub fn new(db: &'a Connection) -> Self { function generate_all (line 333) | pub fn generate_all(&self) -> Result { function generate_statistics (line 352) | fn generate_statistics(&self) -> Result { function generate_timeline (line 455) | fn generate_timeline(&self) -> Result { function generate_workspace_summary (line 582) | fn generate_workspace_summary(&self) -> Result { function generate_agent_summary (line 700) | fn generate_agent_summary(&self) -> Result { function generate_top_terms (line 794) | fn generate_top_terms(&self) -> Result { function aggregate_to_weekly (line 836) | pub fn aggregate_to_weekly(daily: &[DailyEntry]) -> Vec { function aggregate_to_monthly (line 861) | pub fn aggregate_to_monthly(daily: &[DailyEntry]) -> Vec { function create_test_db (line 891) | fn create_test_db() -> (TempDir, Connection) { function insert_test_data (line 924) | fn insert_test_data(conn: &Connection) { function test_statistics_generation (line 979) | fn test_statistics_generation() { function analytics_statistics_from_packets_matches_sql_for_canonical_corpus (line 1003) | fn analytics_statistics_from_packets_matches_sql_for_canonical_corpus() { function test_timeline_aggregation (line 1164) | fn test_timeline_aggregation() { function test_top_terms_extraction (line 1192) | fn test_top_terms_extraction() { function test_workspace_summary (line 1208) | fn test_workspace_summary() { function test_agent_summary (line 1227) | fn test_agent_summary() { function test_workspace_summary_distinct_agents_and_recent_titles (line 1243) | fn test_workspace_summary_distinct_agents_and_recent_titles() { function test_agent_summary_high_cardinality_distribution (line 1266) | fn test_agent_summary_high_cardinality_distribution() { function test_bundle_write (line 1348) | fn test_bundle_write() { function test_generate_all (line 1367) | fn test_generate_all() { function test_empty_database (line 1383) | fn test_empty_database() { FILE: src/pages/archive_config.rs type ArchiveConfig (line 12) | pub enum ArchiveConfig { method is_encrypted (line 21) | pub fn is_encrypted(&self) -> bool { method as_encrypted (line 26) | pub fn as_encrypted(&self) -> Option<&EncryptionConfig> { method as_unencrypted (line 34) | pub fn as_unencrypted(&self) -> Option<&UnencryptedConfig> { type UnencryptedConfig (line 45) | pub struct UnencryptedConfig { type UnencryptedPayload (line 60) | pub struct UnencryptedPayload { function make_unencrypted_payload (line 75) | fn make_unencrypted_payload() -> UnencryptedPayload { function make_unencrypted_config (line 84) | fn make_unencrypted_config() -> UnencryptedConfig { function make_encryption_config (line 94) | fn make_encryption_config() -> EncryptionConfig { function test_is_encrypted_returns_true_for_encrypted_variant (line 117) | fn test_is_encrypted_returns_true_for_encrypted_variant() { function test_is_encrypted_returns_false_for_unencrypted_variant (line 123) | fn test_is_encrypted_returns_false_for_unencrypted_variant() { function test_as_encrypted_returns_some_for_encrypted_variant (line 131) | fn test_as_encrypted_returns_some_for_encrypted_variant() { function test_as_encrypted_returns_none_for_unencrypted_variant (line 141) | fn test_as_encrypted_returns_none_for_unencrypted_variant() { function test_as_unencrypted_returns_some_for_unencrypted_variant (line 149) | fn test_as_unencrypted_returns_some_for_unencrypted_variant() { function test_as_unencrypted_returns_none_for_encrypted_variant (line 159) | fn test_as_unencrypted_returns_none_for_encrypted_variant() { function test_unencrypted_config_serialization_roundtrip (line 167) | fn test_unencrypted_config_serialization_roundtrip() { function test_unencrypted_config_with_optional_fields_roundtrip (line 180) | fn test_unencrypted_config_with_optional_fields_roundtrip() { function test_archive_config_unencrypted_roundtrip (line 200) | fn test_archive_config_unencrypted_roundtrip() { function test_archive_config_encrypted_roundtrip (line 213) | fn test_archive_config_encrypted_roundtrip() { function test_untagged_deserialize_encrypted_json (line 227) | fn test_untagged_deserialize_encrypted_json() { function test_untagged_deserialize_unencrypted_json (line 254) | fn test_untagged_deserialize_unencrypted_json() { function test_untagged_deserialize_rejects_unknown_top_level_field (line 272) | fn test_untagged_deserialize_rejects_unknown_top_level_field() { function test_untagged_deserialize_rejects_unknown_nested_payload_field (line 287) | fn test_untagged_deserialize_rejects_unknown_nested_payload_field() { function test_unencrypted_payload_minimal (line 304) | fn test_unencrypted_payload_minimal() { function test_unencrypted_payload_with_size (line 321) | fn test_unencrypted_payload_with_size() { function test_unencrypted_config_warning_skipped_when_none (line 339) | fn test_unencrypted_config_warning_skipped_when_none() { function test_unencrypted_config_warning_included_when_some (line 346) | fn test_unencrypted_config_warning_included_when_some() { function test_clone_preserves_all_fields (line 355) | fn test_clone_preserves_all_fields() { function test_archive_config_clone (line 376) | fn test_archive_config_clone() { function test_debug_impl_exists (line 383) | fn test_debug_impl_exists() { function test_archive_config_debug_impl (line 391) | fn test_archive_config_debug_impl() { FILE: src/pages/attachments.rs constant DEFAULT_MAX_FILE_SIZE (line 32) | pub const DEFAULT_MAX_FILE_SIZE: usize = 10 * 1024 * 1024; constant DEFAULT_MAX_TOTAL_SIZE (line 35) | pub const DEFAULT_MAX_TOTAL_SIZE: usize = 100 * 1024 * 1024; constant DEFAULT_ALLOWED_MIME_TYPES (line 38) | pub const DEFAULT_ALLOWED_MIME_TYPES: &[&str] = &[ constant BLOB_NONCE_DOMAIN (line 57) | const BLOB_NONCE_DOMAIN: &[u8] = b"cass-blob-nonce-v1"; type AttachmentConfig (line 61) | pub struct AttachmentConfig { method enabled (line 88) | pub fn enabled() -> Self { method with_max_file_size (line 96) | pub fn with_max_file_size(mut self, bytes: usize) -> Self { method with_max_total_size (line 102) | pub fn with_max_total_size(mut self, bytes: usize) -> Self { method is_mime_allowed (line 108) | pub fn is_mime_allowed(&self, mime_type: &str) -> bool { method default (line 73) | fn default() -> Self { type AttachmentData (line 117) | pub struct AttachmentData { type AttachmentEntry (line 128) | pub struct AttachmentEntry { type AttachmentManifest (line 143) | pub struct AttachmentManifest { method default (line 153) | fn default() -> Self { type AttachmentProcessor (line 163) | pub struct AttachmentProcessor { method new (line 175) | pub fn new(config: AttachmentConfig) -> Self { method is_enabled (line 186) | pub fn is_enabled(&self) -> bool { method total_size (line 191) | pub fn total_size(&self) -> usize { method count (line 196) | pub fn count(&self) -> usize { method skipped_count (line 201) | pub fn skipped_count(&self) -> usize { method process_attachments (line 210) | pub fn process_attachments( method write_encrypted_blobs (line 312) | pub fn write_encrypted_blobs( function compute_sha256_hex (line 400) | fn compute_sha256_hex(data: &[u8]) -> String { function derive_blob_nonce (line 408) | fn derive_blob_nonce(identifier: &str) -> [u8; 12] { function decrypt_blob (line 416) | pub fn decrypt_blob( function decrypt_manifest (line 448) | pub fn decrypt_manifest( function reencrypt_blobs_into_dir (line 475) | pub(crate) fn reencrypt_blobs_into_dir( function ensure_regular_ciphertext_file (line 606) | fn ensure_regular_ciphertext_file(path: &Path, label: &str) -> Result<()> { function test_default_config_disabled (line 627) | fn test_default_config_disabled() { function test_enabled_config (line 633) | fn test_enabled_config() { function test_mime_type_check (line 641) | fn test_mime_type_check() { function test_size_limit_per_file (line 652) | fn test_size_limit_per_file() { function test_total_size_limit (line 671) | fn test_total_size_limit() { function test_deduplication (line 692) | fn test_deduplication() { function test_sha256_hash (line 721) | fn test_sha256_hash() { function test_blob_nonce_deterministic (line 731) | fn test_blob_nonce_deterministic() { function test_blob_encryption_roundtrip (line 741) | fn test_blob_encryption_roundtrip() { function test_write_encrypted_blobs (line 772) | fn test_write_encrypted_blobs() { function test_manifest_encryption_roundtrip (line 817) | fn test_manifest_encryption_roundtrip() { function test_reencrypt_existing_blobs_roundtrip (line 856) | fn test_reencrypt_existing_blobs_roundtrip() { function test_reencrypt_existing_blobs_rejects_symlinked_blobs_directory (line 910) | fn test_reencrypt_existing_blobs_rejects_symlinked_blobs_directory() { function test_reencrypt_existing_blobs_rejects_symlinked_destination_directory (line 958) | fn test_reencrypt_existing_blobs_rejects_symlinked_destination_directory... FILE: src/pages/bundle.rs constant PAGES_ASSETS (line 22) | const PAGES_ASSETS: &[(&str, &[u8])] = &[ constant MASTER_KEY_BACKUP_NOTE (line 58) | const MASTER_KEY_BACKUP_NOTE: &str = type IntegrityEntry (line 63) | pub struct IntegrityEntry { type IntegrityManifest (line 72) | pub struct IntegrityManifest { type SiteMetadata (line 83) | pub struct SiteMetadata { type BundleConfig (line 93) | pub struct BundleConfig { method default (line 109) | fn default() -> Self { type BundleBuilder (line 123) | pub struct BundleBuilder { method new (line 129) | pub fn new() -> Self { method with_config (line 136) | pub fn with_config(config: BundleConfig) -> Self { method title (line 141) | pub fn title(mut self, title: impl Into) -> Self { method description (line 147) | pub fn description(mut self, description: impl Into) -> Self { method hide_metadata (line 153) | pub fn hide_metadata(mut self, hide: bool) -> Self { method recovery_secret (line 159) | pub fn recovery_secret(mut self, recovery_material: Option>) -... method generate_qr (line 167) | pub fn generate_qr(mut self, generate: bool) -> Self { method with_docs (line 173) | pub fn with_docs(mut self, docs: Vec) -> Self { method build (line 184) | pub fn build>( function unique_bundle_dir (line 377) | fn unique_bundle_dir(path: &Path, suffix: &str) -> Result { function unique_bundle_backup_dir (line 381) | fn unique_bundle_backup_dir(path: &Path) -> Result { function unique_bundle_sidecar_path (line 385) | fn unique_bundle_sidecar_path(path: &Path, suffix: &str, fallback_name: ... function bundle_sidecar_random_nonce (line 398) | fn bundle_sidecar_random_nonce() -> Result { function replace_dir_from_temp (line 406) | fn replace_dir_from_temp(temp_dir: &Path, final_dir: &Path) -> Result<()> { function sync_tree (line 461) | fn sync_tree(path: &Path) -> Result<()> { function sync_tree (line 467) | fn sync_tree(_path: &Path) -> Result<()> { function sync_tree_inner (line 472) | fn sync_tree_inner(path: &Path) -> Result<()> { function sync_parent_directory (line 502) | fn sync_parent_directory(path: &Path) -> Result<()> { function sync_parent_directory (line 513) | fn sync_parent_directory(_path: &Path) -> Result<()> { type BundleResult (line 519) | pub struct BundleResult { function copy_payload_chunks (line 538) | fn copy_payload_chunks( function copy_payload_file (line 574) | fn copy_payload_file( function resolve_generated_doc_path (line 605) | fn resolve_generated_doc_path(site_dir: &Path, doc: &GeneratedDoc) -> Re... function ensure_regular_copy_source_under_root (line 633) | fn ensure_regular_copy_source_under_root( function ensure_regular_copy_directory_under_root (line 670) | fn ensure_regular_copy_directory_under_root( function copy_blobs_directory (line 708) | fn copy_blobs_directory(src_root: &Path, src_dir: &Path, dest_dir: &Path... function generate_integrity_manifest (line 734) | pub(crate) fn generate_integrity_manifest(dir: &Path) -> Result Result { function compute_fingerprint (line 845) | pub(crate) fn compute_fingerprint(manifest: &IntegrityManifest) -> String { function write_private_fingerprint (line 863) | pub(crate) fn write_private_fingerprint(private_dir: &Path, fingerprint:... function write_private_artifacts_encrypted (line 880) | pub(crate) fn write_private_artifacts_encrypted( function master_key_backup_json (line 933) | fn master_key_backup_json( function remove_file_if_exists (line 945) | fn remove_file_if_exists(path: &Path) -> Result<()> { function write_private_unencrypted_notice (line 953) | fn write_private_unencrypted_notice(private_dir: &Path) -> Result<()> { function generate_qr_codes (line 967) | fn generate_qr_codes(private_dir: &Path, recovery_b64: &str) -> Result<(... function generate_public_readme (line 981) | fn generate_public_readme(title: &str, description: &str, is_encrypted: ... function write_unencrypted_source (line 1091) | fn write_unencrypted_source(root: &Path, payload_name: &str, body: &str) { function encrypted_config_for_files (line 1112) | fn encrypted_config_for_files(files: Vec<&str>) -> EncryptionConfig { function test_bundle_builder_default (line 1132) | fn test_bundle_builder_default() { function test_bundle_builder_fluent (line 1140) | fn test_bundle_builder_fluent() { function test_compute_fingerprint (line 1154) | fn test_compute_fingerprint() { function test_master_key_backup_json_shape (line 1179) | fn test_master_key_backup_json_shape() { function test_generate_public_readme (line 1205) | fn test_generate_public_readme() { function test_integrity_manifest_excludes_itself (line 1218) | fn test_integrity_manifest_excludes_itself() { function test_collect_file_hashes (line 1234) | fn test_collect_file_hashes() { function test_collect_file_hashes_includes_symlinked_files_within_site (line 1258) | fn test_collect_file_hashes_includes_symlinked_files_within_site() { function test_collect_file_hashes_rejects_symlinks_outside_site (line 1279) | fn test_collect_file_hashes_rejects_symlinks_outside_site() { function test_copy_payload_chunks_copies_only_manifest_files (line 1306) | fn test_copy_payload_chunks_copies_only_manifest_files() { function test_copy_payload_chunks_rejects_manifest_symlinked_chunk (line 1326) | fn test_copy_payload_chunks_rejects_manifest_symlinked_chunk() { function test_copy_payload_chunks_rejects_symlinked_source_directory (line 1353) | fn test_copy_payload_chunks_rejects_symlinked_source_directory() { function test_copy_unencrypted_payload_rejects_final_symlink (line 1380) | fn test_copy_unencrypted_payload_rejects_final_symlink() { function test_copy_unencrypted_payload_rejects_symlinked_parent_escape (line 1416) | fn test_copy_unencrypted_payload_rejects_symlinked_parent_escape() { function test_generated_docs_reject_path_traversal_filename (line 1446) | fn test_generated_docs_reject_path_traversal_filename() { function test_generated_docs_reject_backslash_separator_filename (line 1473) | fn test_generated_docs_reject_backslash_separator_filename() { function test_copy_blobs_directory_skips_symlinked_files (line 1489) | fn test_copy_blobs_directory_skips_symlinked_files() { function test_copy_blobs_directory_rejects_symlinked_source_directory (line 1512) | fn test_copy_blobs_directory_rejects_symlinked_source_directory() { function test_build_replaces_existing_bundle_without_stale_files (line 1532) | fn test_build_replaces_existing_bundle_without_stale_files() { function test_build_failure_preserves_existing_bundle (line 1565) | fn test_build_failure_preserves_existing_bundle() { function test_replace_dir_from_temp_overwrites_existing_bundle (line 1593) | fn test_replace_dir_from_temp_overwrites_existing_bundle() { FILE: src/pages/config_input.rs type ConfigError (line 51) | pub enum ConfigError { type ConfigValidationResult (line 70) | pub struct ConfigValidationResult { type ResolvedConfig (line 86) | pub struct ResolvedConfig { type ResolvedFilters (line 95) | pub struct ResolvedFilters { type ResolvedEncryption (line 105) | pub struct ResolvedEncryption { type ResolvedBundle (line 116) | pub struct ResolvedBundle { type ResolvedDeployment (line 124) | pub struct ResolvedDeployment { type PagesConfig (line 135) | pub struct PagesConfig { method normalized_path_mode (line 320) | fn normalized_path_mode(&self) -> Option { method normalized_target (line 329) | fn normalized_target(&self) -> String { method resolved_path_mode (line 333) | fn resolved_path_mode(&self) -> String { method resolved_compression (line 338) | fn resolved_compression(&self) -> String { method normalized_compression (line 343) | fn normalized_compression(&self) -> Option { method resolved_chunk_size (line 352) | fn resolved_chunk_size(&self) -> u64 { method resolved_time_range (line 356) | fn resolved_time_range(&self) -> Option { method load (line 368) | pub fn load(path: &str) -> Result { method from_reader (line 382) | pub fn from_reader(reader: R) -> Result { method resolve_env_vars (line 391) | pub fn resolve_env_vars(&mut self) -> Result<(), ConfigError> { method validate (line 419) | pub fn validate(&self) -> ConfigValidationResult { method to_resolved (line 579) | fn to_resolved(&self) -> ResolvedConfig { method to_wizard_state (line 613) | pub fn to_wizard_state(&self, db_path: PathBuf) -> Result PathMode { method since_ts (line 669) | pub fn since_ts(&self) -> Option { method until_ts (line 674) | pub fn until_ts(&self) -> Option { type FilterConfig (line 155) | pub struct FilterConfig { type EncryptionConfig (line 179) | pub struct EncryptionConfig { method default (line 214) | fn default() -> Self { type BundleConfig (line 229) | pub struct BundleConfig { method default (line 244) | fn default() -> Self { type DeploymentConfig (line 255) | pub struct DeploymentConfig { method default (line 282) | fn default() -> Self { function default_true (line 295) | fn default_true() -> bool { function default_title (line 298) | fn default_title() -> String { function default_description (line 301) | fn default_description() -> String { function default_target (line 304) | fn default_target() -> String { function default_output_dir (line 307) | fn default_output_dir() -> String { constant DEFAULT_PATH_MODE (line 311) | const DEFAULT_PATH_MODE: &str = "relative"; constant DEFAULT_COMPRESSION (line 312) | const DEFAULT_COMPRESSION: &str = "deflate"; constant DEFAULT_CHUNK_SIZE (line 313) | const DEFAULT_CHUNK_SIZE: u64 = 8 * 1024 * 1024; function resolve_env_var (line 315) | fn resolve_env_var(env_var: &str) -> Result { function example_config (line 680) | pub fn example_config() -> &'static str { function config_with_password (line 718) | fn config_with_password() -> PagesConfig { function test_parse_minimal_config (line 725) | fn test_parse_minimal_config() { function test_parse_full_config (line 733) | fn test_parse_full_config() { function test_validate_missing_password (line 747) | fn test_validate_missing_password() { function test_validate_no_encryption_without_ack (line 755) | fn test_validate_no_encryption_without_ack() { function test_validate_no_encryption_with_ack (line 770) | fn test_validate_no_encryption_with_ack() { function test_validate_github_without_repo (line 779) | fn test_validate_github_without_repo() { function test_validate_zero_chunk_size (line 788) | fn test_validate_zero_chunk_size() { function test_validate_oversized_chunk_size (line 798) | fn test_validate_oversized_chunk_size() { function test_validate_rejects_unsupported_compression (line 808) | fn test_validate_rejects_unsupported_compression() { function test_validate_compression_trims_and_normalizes (line 823) | fn test_validate_compression_trims_and_normalizes() { function test_env_var_resolution (line 834) | fn test_env_var_resolution() { function test_env_var_resolution_deployment_credentials (line 846) | fn test_env_var_resolution_deployment_credentials() { function test_env_var_not_found (line 869) | fn test_env_var_not_found() { function test_invalid_path_mode (line 877) | fn test_invalid_path_mode() { function test_invalid_deploy_target (line 886) | fn test_invalid_deploy_target() { function test_validate_partial_cloudflare_credentials (line 895) | fn test_validate_partial_cloudflare_credentials() { function test_path_mode_parsing (line 911) | fn test_path_mode_parsing() { function test_validate_path_mode_trims_whitespace (line 938) | fn test_validate_path_mode_trims_whitespace() { function test_resolved_config_applies_export_defaults (line 950) | fn test_resolved_config_applies_export_defaults() { function test_validate_target_trims_whitespace (line 963) | fn test_validate_target_trims_whitespace() { function test_to_wizard_state_target_trims_whitespace (line 976) | fn test_to_wizard_state_target_trims_whitespace() { function test_resolved_time_range_priority (line 988) | fn test_resolved_time_range_priority() { FILE: src/pages/confirmation.rs constant MIN_STRONG_PASSWORD_BITS (line 19) | pub const MIN_STRONG_PASSWORD_BITS: f64 = 60.0; constant SECRET_ACK_PHRASE (line 21) | const SECRET_ACK_PHRASE: &str = "I understand the risks"; constant SECRET_ACK_PHRASE_NORMALIZED (line 22) | const SECRET_ACK_PHRASE_NORMALIZED: &str = "i understand the risks"; type ConfirmationStep (line 26) | pub enum ConfirmationStep { method label (line 43) | pub fn label(self) -> &'static str { type StepValidation (line 57) | pub enum StepValidation { type ConfirmationResult (line 66) | pub enum ConfirmationResult { type PasswordStrengthAction (line 81) | pub enum PasswordStrengthAction { type ConfirmationConfig (line 92) | pub struct ConfirmationConfig { method default (line 114) | fn default() -> Self { type ConfirmationFlow (line 144) | pub struct ConfirmationFlow { method new (line 159) | pub fn new(config: ConfirmationConfig) -> Self { method current_step (line 171) | pub fn current_step(&self) -> ConfirmationStep { method config (line 176) | pub fn config(&self) -> &ConfirmationConfig { method password_action (line 181) | pub fn password_action(&self) -> Option { method determine_first_step (line 186) | fn determine_first_step(config: &ConfirmationConfig) -> ConfirmationSt... method should_skip_current (line 195) | pub fn should_skip_current(&self) -> bool { method validate_secret_ack (line 208) | pub fn validate_secret_ack(&self, input: &str) -> StepValidation { method validate_content_review (line 218) | pub fn validate_content_review(&self, input: &str) -> StepValidation { method validate_public_warning (line 230) | pub fn validate_public_warning(&self, input: &str) -> StepValidation { method parse_password_action (line 246) | pub fn parse_password_action(&self, input: &str) -> Option StepValidation { method process_final_enter (line 280) | pub fn process_final_enter(&mut self) -> bool { method reset_final_enter (line 286) | pub fn reset_final_enter(&mut self) { method final_enter_count (line 291) | pub fn final_enter_count(&self) -> u8 { method complete_current_step (line 296) | pub fn complete_current_step(&mut self) { method advance_to_next_step (line 302) | fn advance_to_next_step(&mut self) { method is_complete (line 345) | pub fn is_complete(&self) -> bool { method set_password_action (line 351) | pub fn set_password_action(&mut self, action: PasswordStrengthAction) { method completed_steps_summary (line 356) | pub fn completed_steps_summary(&self) -> Vec<(ConfirmationStep, &'stat... function estimate_password_entropy (line 421) | pub fn estimate_password_entropy(password: &str) -> f64 { function password_strength_label (line 456) | pub fn password_strength_label(entropy_bits: f64) -> &'static str { function count_required_steps (line 471) | pub fn count_required_steps(config: &ConfirmationConfig) -> usize { constant UNENCRYPTED_ACK_PHRASE (line 491) | pub const UNENCRYPTED_ACK_PHRASE: &str = "I UNDERSTAND AND ACCEPT THE RI... constant EXIT_CODE_UNENCRYPTED_NOT_CONFIRMED (line 494) | pub const EXIT_CODE_UNENCRYPTED_NOT_CONFIRMED: i32 = 3; constant UNENCRYPTED_BLOCKED_ERROR_KIND (line 496) | const UNENCRYPTED_BLOCKED_ERROR_KIND: &str = "unencrypted_blocked"; constant UNENCRYPTED_BLOCKED_MESSAGE (line 497) | const UNENCRYPTED_BLOCKED_MESSAGE: &str = "Unencrypted exports are not a... constant UNENCRYPTED_BLOCKED_SUGGESTION (line 498) | const UNENCRYPTED_BLOCKED_SUGGESTION: &str = type UnencryptedConfirmResult (line 503) | pub enum UnencryptedConfirmResult { function validate_unencrypted_ack (line 515) | pub fn validate_unencrypted_ack(input: &str) -> StepValidation { function check_robot_mode_unencrypted (line 531) | pub fn check_robot_mode_unencrypted( function robot_mode_blocked_error (line 543) | pub fn robot_mode_blocked_error() -> serde_json::Value { function unencrypted_warning_lines (line 553) | pub fn unencrypted_warning_lines() -> Vec<&'static str> { function make_basic_config (line 571) | fn make_basic_config() -> ConfirmationConfig { function basic_flow_with (line 585) | fn basic_flow_with(configure: impl FnOnce(&mut ConfirmationConfig)) -> C... function test_basic_flow_no_secrets (line 592) | fn test_basic_flow_no_secrets() { function test_flow_with_secrets (line 601) | fn test_flow_with_secrets() { function test_secret_ack_validation (line 615) | fn test_secret_ack_validation() { function test_public_warning_validation (line 638) | fn test_public_warning_validation() { function test_recovery_key_validation (line 658) | fn test_recovery_key_validation() { function test_final_confirmation_double_enter (line 675) | fn test_final_confirmation_double_enter() { function test_step_advancement (line 689) | fn test_step_advancement() { function test_password_entropy_estimation (line 723) | fn test_password_entropy_estimation() { function test_password_strength_label (line 737) | fn test_password_strength_label() { function test_count_required_steps (line 754) | fn test_count_required_steps() { function test_content_review_validation (line 767) | fn test_content_review_validation() { function test_password_action_parsing (line 785) | fn test_password_action_parsing() { function test_completed_steps_summary (line 800) | fn test_completed_steps_summary() { function test_unencrypted_ack_validation (line 821) | fn test_unencrypted_ack_validation() { function test_robot_mode_unencrypted_check (line 856) | fn test_robot_mode_unencrypted_check() { function test_robot_mode_blocked_error (line 877) | fn test_robot_mode_blocked_error() { function test_unencrypted_warning_lines (line 891) | fn test_unencrypted_warning_lines() { FILE: src/pages/deploy_cloudflare.rs constant MAX_RETRIES (line 23) | const MAX_RETRIES: u32 = 3; constant BASE_DELAY_MS (line 26) | const BASE_DELAY_MS: u64 = 1000; constant API_TIMEOUT_SECS (line 29) | const API_TIMEOUT_SECS: u64 = 30; constant ENV_CLOUDFLARE_ACCOUNT_ID (line 31) | const ENV_CLOUDFLARE_ACCOUNT_ID: &str = "CLOUDFLARE_ACCOUNT_ID"; constant ENV_CLOUDFLARE_API_TOKEN (line 32) | const ENV_CLOUDFLARE_API_TOKEN: &str = "CLOUDFLARE_API_TOKEN"; constant ENV_CLOUDFLARE_API_BASE_URL (line 33) | const ENV_CLOUDFLARE_API_BASE_URL: &str = "CLOUDFLARE_API_BASE_URL"; constant ENV_CF_API_BASE_URL (line 34) | const ENV_CF_API_BASE_URL: &str = "CF_API_BASE_URL"; type Prerequisites (line 38) | pub struct Prerequisites { method is_ready (line 58) | pub fn is_ready(&self) -> bool { method missing (line 64) | pub fn missing(&self) -> Vec<&'static str> { type DeployResult (line 86) | pub struct DeployResult { type CloudflareConfig (line 101) | pub struct CloudflareConfig { method default (line 117) | fn default() -> Self { type CloudflareDeployer (line 130) | pub struct CloudflareDeployer { method new (line 142) | pub fn new(config: CloudflareConfig) -> Self { method with_project_name (line 147) | pub fn with_project_name(project_name: impl Into) -> Self { method custom_domain (line 155) | pub fn custom_domain(mut self, domain: impl Into) -> Self { method create_if_missing (line 161) | pub fn create_if_missing(mut self, create: bool) -> Self { method branch (line 167) | pub fn branch(mut self, branch: impl Into) -> Self { method account_id (line 173) | pub fn account_id(mut self, account_id: impl Into) -> Self { method api_token (line 179) | pub fn api_token(mut self, api_token: impl Into) -> Self { method check_prerequisites (line 185) | pub fn check_prerequisites(&self) -> Result { method generate_headers_file (line 218) | pub fn generate_headers_file(&self, site_dir: &Path) -> Result<()> { method generate_redirects_file (line 245) | pub fn generate_redirects_file(&self, site_dir: &Path) -> Result<()> { method deploy (line 260) | pub fn deploy>( method default (line 135) | fn default() -> Self { type TempDeployDir (line 379) | struct TempDeployDir { method path (line 384) | fn path(&self) -> &Path { method drop (line 390) | fn drop(&mut self) { function create_temp_dir (line 396) | fn create_temp_dir() -> Result { function stage_deploy_dir (line 409) | fn stage_deploy_dir(source_path: &Path) -> Result { function resolve_deploy_site_dir (line 417) | fn resolve_deploy_site_dir(path: &Path) -> Result { function apply_api_credentials (line 442) | fn apply_api_credentials(cmd: &mut Command, account_id: Option<&str>, ap... function get_wrangler_version (line 452) | fn get_wrangler_version() -> Option { function check_wrangler_auth (line 468) | fn check_wrangler_auth() -> (bool, Option) { function get_available_space_mb (line 488) | fn get_available_space_mb() -> Option { function check_project_exists (line 515) | fn check_project_exists( function output_contains_project (line 536) | fn output_contains_project(stdout: &str, project_name: &str) -> bool { function create_project (line 566) | fn create_project( function retry_with_backoff (line 601) | fn retry_with_backoff(operation_name: &str, mut f: F) -> Result function deploy_with_wrangler (line 632) | fn deploy_with_wrangler( type ApiError (line 704) | struct ApiError { type ApiEnvelope (line 710) | struct ApiEnvelope { type UploadTokenResult (line 718) | struct UploadTokenResult { type DeploymentResult (line 723) | struct DeploymentResult { type AssetFile (line 731) | struct AssetFile { constant MAX_ASSET_COUNT_DEFAULT (line 738) | const MAX_ASSET_COUNT_DEFAULT: usize = 20_000; constant MAX_ASSET_SIZE_BYTES (line 739) | const MAX_ASSET_SIZE_BYTES: u64 = 25 * 1024 * 1024; constant MAX_BUCKET_SIZE_BYTES (line 740) | const MAX_BUCKET_SIZE_BYTES: u64 = 40 * 1024 * 1024; constant MAX_BUCKET_FILE_COUNT (line 741) | const MAX_BUCKET_FILE_COUNT: usize = if cfg!(windows) { 1000 } else { 20... function api_base_url (line 743) | fn api_base_url() -> String { function run_cloudflare_with_cx (line 749) | fn run_cloudflare_with_cx(f: F) -> Result function cloudflare_api_headers (line 781) | fn cloudflare_api_headers( function execute_cloudflare_request (line 796) | fn execute_cloudflare_request( function execute_cloudflare_multipart_request (line 828) | fn execute_cloudflare_multipart_request( function parse_api_response (line 859) | fn parse_api_response( function check_project_exists_api (line 897) | fn check_project_exists_api(project_name: &str, account_id: &str, api_to... function create_project_api (line 918) | fn create_project_api( function project_create_body (line 937) | fn project_create_body(project_name: &str, branch: &str) -> serde_json::... function deploy_with_api (line 948) | fn deploy_with_api( function fetch_upload_token (line 1009) | fn fetch_upload_token( function jwt_max_file_count (line 1030) | fn jwt_max_file_count(jwt: &str) -> Option { function collect_asset_files (line 1040) | fn collect_asset_files(root: &Path, max_files: usize) -> Result bool { function normalize_rel_path (line 1112) | fn normalize_rel_path(path: &Path) -> Result { function hash_asset_file (line 1133) | fn hash_asset_file(path: &Path) -> Result { function build_manifest (line 1144) | fn build_manifest(file_map: &HashMap) -> HashMap... function build_upload_buckets (line 1190) | fn build_upload_buckets<'a>(files: &[&'a AssetFile]) -> Vec( function upload_bucket (line 1251) | fn upload_bucket(base_url: &str, jwt: &str, bucket: &[&AssetFile]) -> Re... function upsert_hashes (line 1280) | fn upsert_hashes(base_url: &str, jwt: &str, hashes: &[String]) -> Result... function configure_custom_domain (line 1295) | fn configure_custom_domain( function copy_dir_recursive (line 1341) | fn copy_dir_recursive(src: &Path, dst: &Path) -> Result<()> { function copy_dir_recursive_inner (line 1351) | fn copy_dir_recursive_inner(src: &Path, dst: &Path, canonical_base: &Pat... function test_prerequisites_is_ready (line 1415) | fn test_prerequisites_is_ready() { function test_prerequisites_not_ready (line 1430) | fn test_prerequisites_not_ready() { function test_prerequisites_ready_with_api_only (line 1449) | fn test_prerequisites_ready_with_api_only() { function test_config_default (line 1464) | fn test_config_default() { function test_project_create_body_shape (line 1472) | fn test_project_create_body_shape() { function test_deployer_builder (line 1490) | fn test_deployer_builder() { function test_generate_headers_file (line 1504) | fn test_generate_headers_file() { function test_generate_redirects_file (line 1522) | fn test_generate_redirects_file() { function test_copy_dir_recursive (line 1538) | fn test_copy_dir_recursive() { function test_copy_dir_recursive_materializes_in_tree_symlinked_files (line 1557) | fn test_copy_dir_recursive_materializes_in_tree_symlinked_files() { function test_copy_dir_recursive_rejects_symlinks_outside_root (line 1581) | fn test_copy_dir_recursive_rejects_symlinks_outside_root() { function test_temp_deploy_dir_cleans_up_on_drop (line 1606) | fn test_temp_deploy_dir_cleans_up_on_drop() { function test_stage_deploy_dir_resolves_bundle_root_without_copying_private_artifacts (line 1619) | fn test_stage_deploy_dir_resolves_bundle_root_without_copying_private_ar... function test_resolve_deploy_site_dir_rejects_non_bundle_directory (line 1641) | fn test_resolve_deploy_site_dir_rejects_non_bundle_directory() { function test_resolve_deploy_site_dir_rejects_symlinked_site_directory (line 1655) | fn test_resolve_deploy_site_dir_rejects_symlinked_site_directory() { function test_output_contains_project_exact_match (line 1678) | fn test_output_contains_project_exact_match() { function test_select_missing_files_dedupes_by_hash (line 1692) | fn test_select_missing_files_dedupes_by_hash() { FILE: src/pages/deploy_github.rs constant MAX_RETRIES (line 14) | const MAX_RETRIES: u32 = 3; constant BASE_DELAY_MS (line 17) | const BASE_DELAY_MS: u64 = 1000; constant MAX_SITE_SIZE_BYTES (line 20) | const MAX_SITE_SIZE_BYTES: u64 = 1024 * 1024 * 1024; constant FILE_SIZE_WARNING_BYTES (line 23) | const FILE_SIZE_WARNING_BYTES: u64 = 50 * 1024 * 1024; constant MAX_FILE_SIZE_BYTES (line 26) | const MAX_FILE_SIZE_BYTES: u64 = 100 * 1024 * 1024; type Prerequisites (line 30) | pub struct Prerequisites { method is_ready (line 47) | pub fn is_ready(&self) -> bool { method missing (line 52) | pub fn missing(&self) -> Vec<&'static str> { type SizeCheck (line 69) | pub struct SizeCheck { type DeployResult (line 84) | pub struct DeployResult { type GitHubDeployer (line 96) | pub struct GitHubDeployer { method new (line 115) | pub fn new(repo_name: impl Into) -> Self { method description (line 125) | pub fn description(mut self, desc: impl Into) -> Self { method public (line 131) | pub fn public(mut self, public: bool) -> Self { method force (line 137) | pub fn force(mut self, force: bool) -> Self { method check_prerequisites (line 143) | pub fn check_prerequisites(&self) -> Result { method check_size (line 169) | pub fn check_size(&self, bundle_dir: &Path) -> Result { method deploy (line 212) | pub fn deploy>( method ensure_repository (line 319) | fn ensure_repository(&self, username: &str) -> Result { method default (line 108) | fn default() -> Self { function create_temp_dir (line 360) | fn create_temp_dir() -> Result { function get_gh_version (line 374) | fn get_gh_version() -> Option { function check_gh_auth (line 390) | fn check_gh_auth() -> (bool, Option) { function get_git_version (line 413) | fn get_git_version() -> Option { function get_available_space_mb (line 429) | fn get_available_space_mb() -> Option { function check_repo_exists (line 458) | fn check_repo_exists(repo_full_name: &str) -> bool { function retry_with_backoff (line 471) | fn retry_with_backoff(operation_name: &str, mut f: F) -> Result function clone_repo (line 502) | fn clone_repo(repo_url: &str, dest: &Path) -> Result<()> { function copy_bundle_to_repo (line 523) | fn copy_bundle_to_repo(bundle_dir: &Path, repo_dir: &Path) -> Result<()> { function copy_dir_recursive (line 556) | fn copy_dir_recursive(src: &Path, dst: &Path) -> Result<()> { function copy_dir_recursive_inner (line 566) | fn copy_dir_recursive_inner(src: &Path, dst: &Path, canonical_base: &Pat... function configure_git_identity (line 626) | fn configure_git_identity(repo_dir: &Path, username: &str) -> Result<()> { function push_gh_pages (line 646) | fn push_gh_pages(repo_dir: &Path) -> Result { function enable_github_pages (line 715) | fn enable_github_pages(username: &str, repo_name: &str) -> bool { function visit_files (line 751) | fn visit_files(dir: &Path, f: &mut impl FnMut(&Path, u64)) -> Result<()> { function visit_files_inner (line 761) | fn visit_files_inner( function test_prerequisites_is_ready (line 817) | fn test_prerequisites_is_ready() { function test_prerequisites_not_ready (line 832) | fn test_prerequisites_not_ready() { function test_deployer_builder (line 848) | fn test_deployer_builder() { function test_size_check (line 861) | fn test_size_check() { function test_size_check_resolves_bundle_root_without_counting_private_artifacts (line 881) | fn test_size_check_resolves_bundle_root_without_counting_private_artifac... function test_size_check_counts_in_tree_symlinked_files (line 901) | fn test_size_check_counts_in_tree_symlinked_files() { function test_resolve_site_dir_accepts_direct_site_directory (line 919) | fn test_resolve_site_dir_accepts_direct_site_directory() { function test_resolve_site_dir_rejects_symlinked_site_directory (line 931) | fn test_resolve_site_dir_rejects_symlinked_site_directory() { function test_copy_dir_recursive (line 954) | fn test_copy_dir_recursive() { function test_copy_bundle_to_repo_resolves_bundle_root_without_copying_private_artifacts (line 972) | fn test_copy_bundle_to_repo_resolves_bundle_root_without_copying_private... function test_copy_dir_recursive_materializes_in_tree_symlinked_files (line 996) | fn test_copy_dir_recursive_materializes_in_tree_symlinked_files() { function test_copy_dir_recursive_rejects_symlinks_outside_root (line 1020) | fn test_copy_dir_recursive_rejects_symlinks_outside_root() { function test_visit_files_counts_in_tree_symlinked_files (line 1046) | fn test_visit_files_counts_in_tree_symlinked_files() { function test_visit_files_rejects_symlink_paths_outside_root (line 1073) | fn test_visit_files_rejects_symlink_paths_outside_root() { function test_configure_git_identity_sets_local_commit_metadata (line 1101) | fn test_configure_git_identity_sets_local_commit_metadata() { FILE: src/pages/docs.rs constant CASS_VERSION (line 18) | const CASS_VERSION: &str = env!("CARGO_PKG_VERSION"); constant DOC_DATE_FORMAT (line 19) | const DOC_DATE_FORMAT: &str = "%Y-%m-%d"; function format_optional_doc_date (line 21) | fn format_optional_doc_date(value: Option>, fallback: &str... type DocLocation (line 29) | pub enum DocLocation { type GeneratedDoc (line 38) | pub struct GeneratedDoc { type DocConfig (line 49) | pub struct DocConfig { method new (line 64) | pub fn new() -> Self { method with_url (line 76) | pub fn with_url(mut self, url: impl Into) -> Self { method with_argon_params (line 82) | pub fn with_argon_params(mut self, memory_kb: u32, iterations: u32, pa... type DocumentationGenerator (line 91) | pub struct DocumentationGenerator { method new (line 98) | pub fn new(config: DocConfig, summary: PrePublishSummary) -> Self { method generate_all (line 103) | pub fn generate_all(&self) -> Vec { method target_url_display (line 113) | fn target_url_display(&self) -> &str { method generate_readme (line 121) | pub fn generate_readme(&self) -> GeneratedDoc { method generate_security_doc (line 167) | pub fn generate_security_doc(&self) -> GeneratedDoc { method generate_help_html (line 217) | pub fn generate_help_html(&self) -> GeneratedDoc { method generate_recovery_html (line 226) | pub fn generate_recovery_html(&self) -> GeneratedDoc { method generate_about_txt (line 249) | pub fn generate_about_txt(&self) -> GeneratedDoc { constant README_TEMPLATE (line 273) | const README_TEMPLATE: &str = r#"# Encrypted Coding Session Archive constant SECURITY_TEMPLATE (line 321) | const SECURITY_TEMPLATE: &str = r#"# Security Model constant HELP_HTML_TEMPLATE (line 404) | const HELP_HTML_TEMPLATE: &str = r#" constant RECOVERY_HTML_TEMPLATE (line 543) | const RECOVERY_HTML_TEMPLATE: &str = r#" constant RECOVERY_WITH_KEY_SECTION (line 639) | const RECOVERY_WITH_KEY_SECTION: &str = r#"

Using Your Recovery K... constant RECOVERY_NO_KEY_SECTION (line 657) | const RECOVERY_NO_KEY_SECTION: &str = r#"

Recovery Options

constant ABOUT_TXT_TEMPLATE (line 671) | const ABOUT_TXT_TEMPLATE: &str = r#"ENCRYPTED CODING SESSION ARCHIVE function create_test_summary (line 725) | fn create_test_summary() -> PrePublishSummary { function test_generate_readme (line 783) | fn test_generate_readme() { function test_generate_security_doc (line 801) | fn test_generate_security_doc() { function test_generate_help_html (line 822) | fn test_generate_help_html() { function test_generate_recovery_html_with_key (line 839) | fn test_generate_recovery_html_with_key() { function test_generate_recovery_html_without_key (line 854) | fn test_generate_recovery_html_without_key() { function test_generate_about_txt (line 873) | fn test_generate_about_txt() { function test_generate_all (line 888) | fn test_generate_all() { function test_doc_config_builder (line 918) | fn test_doc_config_builder() { function test_empty_key_slots (line 930) | fn test_empty_key_slots() { function test_readme_without_url (line 943) | fn test_readme_without_url() { function test_about_without_url (line 954) | fn test_about_without_url() { function test_no_placeholders_remain (line 965) | fn test_no_placeholders_remain() { FILE: src/pages/encrypt.rs type AeadSourceError (line 30) | struct AeadSourceError(aes_gcm::Error); constant DEFAULT_CHUNK_SIZE (line 33) | pub const DEFAULT_CHUNK_SIZE: usize = 8 * 1024 * 1024; constant MAX_CHUNK_SIZE (line 36) | pub const MAX_CHUNK_SIZE: usize = 32 * 1024 * 1024; constant ARGON2_MEMORY_KB (line 40) | const ARGON2_MEMORY_KB: u32 = 65536; constant ARGON2_MEMORY_KB (line 42) | const ARGON2_MEMORY_KB: u32 = 64; constant ARGON2_ITERATIONS (line 44) | const ARGON2_ITERATIONS: u32 = 3; constant ARGON2_ITERATIONS (line 46) | const ARGON2_ITERATIONS: u32 = 1; constant ARGON2_PARALLELISM (line 48) | const ARGON2_PARALLELISM: u32 = 4; constant ARGON2_PARALLELISM (line 50) | const ARGON2_PARALLELISM: u32 = 1; constant SCHEMA_VERSION (line 53) | pub(crate) const SCHEMA_VERSION: u8 = 2; type SecretKey (line 57) | pub struct SecretKey([u8; 32]); method random (line 60) | pub fn random() -> Self { method from_bytes (line 67) | pub fn from_bytes(bytes: [u8; 32]) -> Self { method as_bytes (line 71) | pub fn as_bytes(&self) -> &[u8; 32] { type SlotType (line 79) | pub enum SlotType { type KdfAlgorithm (line 87) | pub enum KdfAlgorithm { type KeySlot (line 95) | pub struct KeySlot { type Argon2Params (line 109) | pub struct Argon2Params { method default (line 116) | fn default() -> Self { type PayloadMeta (line 128) | pub struct PayloadMeta { type EncryptionConfig (line 139) | pub struct EncryptionConfig { function validate_supported_payload_format (line 149) | pub(crate) fn validate_supported_payload_format(config: &EncryptionConfi... type EncryptionEngine (line 199) | pub struct EncryptionEngine { method fmt (line 208) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 234) | pub fn new(chunk_size: usize) -> Result { method add_password_slot (line 257) | pub fn add_password_slot(&mut self, password: &str) -> Result { method add_recovery_slot (line 292) | pub fn add_recovery_slot(&mut self, secret: &[u8]) -> Result { method key_slot_count (line 320) | pub fn key_slot_count(&self) -> usize { method encrypt_file (line 325) | pub fn encrypt_file>( function key_slot_id_for_len (line 216) | fn key_slot_id_for_len(slot_count: usize) -> Result { method default (line 227) | fn default() -> Self { function sync_tree (line 450) | fn sync_tree(path: &Path) -> Result<()> { function sync_tree (line 463) | fn sync_tree(_path: &Path) -> Result<()> { function sync_tree_inner (line 472) | fn sync_tree_inner(path: &Path) -> Result<()> { function sync_parent_directory (line 497) | fn sync_parent_directory(path: &Path) -> Result<()> { function sync_parent_directory (line 518) | fn sync_parent_directory(_path: &Path) -> Result<()> { type DecryptionEngine (line 523) | pub struct DecryptionEngine { method unlock_with_password (line 530) | pub fn unlock_with_password(config: EncryptionConfig, password: &str) ... method unlock_with_recovery (line 557) | pub fn unlock_with_recovery(config: EncryptionConfig, secret: &[u8]) -... method decrypt_to_file (line 584) | pub fn decrypt_to_file>( function derive_kek_argon2id (line 677) | fn derive_kek_argon2id(password: &str, salt: &[u8]) -> Result { function derive_kek_hkdf (line 697) | fn derive_kek_hkdf(secret: &[u8], salt: &[u8]) -> Result { function wrap_key (line 711) | fn wrap_key( function unwrap_key (line 742) | fn unwrap_key( function derive_chunk_nonce (line 806) | fn derive_chunk_nonce(base_nonce: &[u8; 12], chunk_index: u32) -> [u8; 1... function build_chunk_aad (line 815) | fn build_chunk_aad(export_id: &[u8; 16], chunk_index: u32) -> Vec { function load_config (line 824) | pub fn load_config>(dir: P) -> Result { function assert_file_bytes (line 837) | fn assert_file_bytes(path: &Path, expected: &[u8]) { function encrypt_test_file (line 848) | fn encrypt_test_file() -> (TempDir, std::path::PathBuf, EncryptionConfig) { function test_argon2id_key_derivation (line 865) | fn test_argon2id_key_derivation() { function test_hkdf_key_derivation (line 881) | fn test_hkdf_key_derivation() { function test_key_wrap_unwrap (line 892) | fn test_key_wrap_unwrap() { function test_key_wrap_wrong_aad_fails (line 905) | fn test_key_wrap_wrong_aad_fails() { function test_chunk_nonce_derivation (line 921) | fn test_chunk_nonce_derivation() { function test_encryption_roundtrip (line 935) | fn test_encryption_roundtrip() { function test_multiple_key_slots (line 968) | fn test_multiple_key_slots() { function key_slot_id_for_len_rejects_overflow (line 1013) | fn key_slot_id_for_len_rejects_overflow() { function test_load_config_and_decrypt_accept_bundle_root (line 1024) | fn test_load_config_and_decrypt_accept_bundle_root() { function test_decrypt_rejects_unsupported_payload_compression_before_unlock (line 1050) | fn test_decrypt_rejects_unsupported_payload_compression_before_unlock() { function test_decrypt_rejects_unsupported_schema_version_before_unlock (line 1067) | fn test_decrypt_rejects_unsupported_schema_version_before_unlock() { function test_decrypt_rejects_mismatched_chunk_count_before_unlock (line 1084) | fn test_decrypt_rejects_mismatched_chunk_count_before_unlock() { function test_tampered_chunk_fails (line 1101) | fn test_tampered_chunk_fails() { function test_encryption_engine_rejects_zero_chunk_size (line 1132) | fn test_encryption_engine_rejects_zero_chunk_size() { function test_encryption_engine_rejects_oversized_chunk_size (line 1138) | fn test_encryption_engine_rejects_oversized_chunk_size() { function sync_tree_includes_parent_directory_fsync (line 1167) | fn sync_tree_includes_parent_directory_fsync() { function unwrap_key_chains_aead_source_error_into_diagnostic_message (line 1241) | fn unwrap_key_chains_aead_source_error_into_diagnostic_message() { function derive_kek_hkdf_error_message_pins_actual_kek_length (line 1316) | fn derive_kek_hkdf_error_message_pins_actual_kek_length() { FILE: src/pages/errors.rs type DecryptError (line 21) | pub enum DecryptError { method suggestion (line 47) | pub fn suggestion(&self) -> &'static str { method log_message (line 74) | pub fn log_message(&self) -> String { type DbError (line 89) | pub enum DbError { method suggestion (line 109) | pub fn suggestion(&self) -> &'static str { method log_message (line 126) | pub fn log_message(&self) -> String { type BrowserError (line 139) | pub enum BrowserError { method fmt (line 153) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method suggestion (line 182) | pub fn suggestion(&self) -> &'static str { type NetworkError (line 201) | pub enum NetworkError { method fmt (line 213) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method suggestion (line 235) | pub fn suggestion(&self) -> &'static str { type ExportError (line 252) | pub enum ExportError { method fmt (line 264) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method suggestion (line 286) | pub fn suggestion(&self) -> &'static str { type ErrorCode (line 301) | pub trait ErrorCode { method error_code (line 303) | fn error_code(&self) -> &'static str; method error_code (line 307) | fn error_code(&self) -> &'static str { method error_code (line 321) | fn error_code(&self) -> &'static str { method error_code (line 333) | fn error_code(&self) -> &'static str { method error_code (line 345) | fn error_code(&self) -> &'static str { method error_code (line 356) | fn error_code(&self) -> &'static str { function test_decrypt_error_display_is_user_friendly (line 371) | fn test_decrypt_error_display_is_user_friendly() { function test_decrypt_error_display_and_source_are_preserved (line 396) | fn test_decrypt_error_display_and_source_are_preserved() { function test_decrypt_error_no_technical_jargon (line 432) | fn test_decrypt_error_no_technical_jargon() { function test_all_errors_have_suggestions (line 459) | fn test_all_errors_have_suggestions() { function test_db_error_display_is_user_friendly (line 483) | fn test_db_error_display_is_user_friendly() { function test_db_error_display_and_source_are_preserved (line 505) | fn test_db_error_display_and_source_are_preserved() { function test_db_error_no_internal_details (line 533) | fn test_db_error_no_internal_details() { function test_error_codes_are_unique (line 551) | fn test_error_codes_are_unique() { function test_browser_error_suggestions (line 584) | fn test_browser_error_suggestions() { function test_network_error_suggestions (line 600) | fn test_network_error_suggestions() { FILE: src/pages/export.rs type ExportFilter (line 14) | pub struct ExportFilter { type PathMode (line 23) | pub enum PathMode { type ExportEngine (line 30) | pub struct ExportEngine { method new (line 50) | pub fn new(source_db_path: &Path, output_path: &Path, filter: ExportFi... method execute (line 58) | pub fn execute(&self, progress: F, running: Option>... method transform_path (line 439) | fn transform_path(&self, path: &str, workspace: &Option) -> St... type ExportStats (line 36) | pub struct ExportStats { type SnippetExportRow (line 41) | type SnippetExportRow = ( type MessageExportRow (line 470) | type MessageExportRow = ( function table_columns (line 482) | fn table_columns(conn: &Connection, table_name: &str) -> Result bool { function build_message_export_query (line 503) | fn build_message_export_query(columns: &[String]) -> String { function normalize_optional_text (line 533) | fn normalize_optional_text(value: Option) -> Option { function derive_message_model (line 544) | fn derive_message_model(extra_json: Option<&str>) -> Option { function derive_attachment_refs (line 563) | fn derive_attachment_refs(extra_json: Option<&str>) -> Option { function unique_replace_backup_path (line 589) | fn unique_replace_backup_path(path: &Path) -> PathBuf { function unique_atomic_sidecar_path (line 593) | fn unique_atomic_sidecar_path(path: &Path, suffix: &str, fallback_name: ... function cleanup_sqlite_temp_artifacts (line 614) | fn cleanup_sqlite_temp_artifacts(path: &Path) { function sidecar_path (line 620) | fn sidecar_path(path: &Path, suffix: &str) -> PathBuf { function replace_file_from_temp (line 628) | fn replace_file_from_temp(temp_path: &Path, final_path: &Path) -> Result... function sync_parent_directory (line 710) | fn sync_parent_directory(path: &Path) -> Result<()> { function sync_parent_directory (line 721) | fn sync_parent_directory(_path: &Path) -> Result<()> { function run_pages_export (line 726) | pub fn run_pages_export( function parse_export_time_arg (line 787) | fn parse_export_time_arg( function test_export_filter_default_values (line 812) | fn test_export_filter_default_values() { function test_export_filter_with_agents (line 829) | fn test_export_filter_with_agents() { function test_export_filter_with_workspaces (line 845) | fn test_export_filter_with_workspaces() { function test_export_filter_with_time_range (line 862) | fn test_export_filter_with_time_range() { function test_export_filter_clone (line 879) | fn test_export_filter_clone() { function test_path_mode_equality (line 897) | fn test_path_mode_equality() { function test_path_mode_inequality (line 905) | fn test_path_mode_inequality() { function test_path_mode_clone (line 912) | fn test_path_mode_clone() { function test_path_mode_copy (line 919) | fn test_path_mode_copy() { function test_path_mode_debug (line 926) | fn test_path_mode_debug() { function test_export_engine_new_stores_paths (line 934) | fn test_export_engine_new_stores_paths() { function test_export_engine_new_with_relative_paths (line 952) | fn test_export_engine_new_with_relative_paths() { function test_transform_path_full_mode (line 972) | fn test_transform_path_full_mode() { function test_transform_path_full_mode_with_workspace (line 987) | fn test_transform_path_full_mode_with_workspace() { function test_transform_path_basename_mode (line 1004) | fn test_transform_path_basename_mode() { function test_transform_path_basename_mode_nested (line 1019) | fn test_transform_path_basename_mode_nested() { function test_transform_path_basename_mode_no_extension (line 1034) | fn test_transform_path_basename_mode_no_extension() { function test_transform_path_relative_mode_with_workspace (line 1049) | fn test_transform_path_relative_mode_with_workspace() { function test_transform_path_relative_mode_without_workspace (line 1065) | fn test_transform_path_relative_mode_without_workspace() { function test_transform_path_relative_mode_path_not_under_workspace (line 1081) | fn test_transform_path_relative_mode_path_not_under_workspace() { function test_transform_path_relative_mode_strips_leading_slash (line 1098) | fn test_transform_path_relative_mode_strips_leading_slash() { function test_transform_path_hash_mode (line 1114) | fn test_transform_path_hash_mode() { function test_transform_path_hash_mode_deterministic (line 1131) | fn test_transform_path_hash_mode_deterministic() { function test_transform_path_hash_mode_different_paths_different_hashes (line 1158) | fn test_transform_path_hash_mode_different_paths_different_hashes() { function test_export_stats_default_values (line 1177) | fn test_export_stats_default_values() { function test_export_stats_with_values (line 1188) | fn test_export_stats_with_values() { function test_transform_path_empty_path (line 1201) | fn test_transform_path_empty_path() { function test_transform_path_basename_empty_returns_original (line 1216) | fn test_transform_path_basename_empty_returns_original() { function test_transform_path_with_special_characters (line 1232) | fn test_transform_path_with_special_characters() { function test_transform_path_hash_with_unicode (line 1247) | fn test_transform_path_hash_with_unicode() { function test_export_filter_empty_agents_list (line 1264) | fn test_export_filter_empty_agents_list() { function test_export_filter_empty_workspaces_list (line 1277) | fn test_export_filter_empty_workspaces_list() { function test_export_engine_new_with_tempdir (line 1292) | fn test_export_engine_new_with_tempdir() { function test_replace_file_from_temp_overwrites_existing_file (line 1312) | fn test_replace_file_from_temp_overwrites_existing_file() { FILE: src/pages/fts.rs function escape_fts5_query (line 27) | pub fn escape_fts5_query(query: &str) -> String { type Fts5SearchMode (line 38) | pub enum Fts5SearchMode { function detect_search_mode (line 84) | pub fn detect_search_mode(query: &str) -> Fts5SearchMode { function has_kebab_case (line 131) | fn has_kebab_case(s: &str) -> bool { function has_camel_case (line 142) | fn has_camel_case(s: &str) -> bool { function format_fts5_query (line 167) | pub fn format_fts5_query(query: &str, mode: Fts5SearchMode) -> (&'static... function build_fts5_search_sql (line 212) | pub fn build_fts5_search_sql( function validate_fts5_query (line 257) | pub fn validate_fts5_query(query: &str) -> Option { function test_escape_fts5_query_simple (line 271) | fn test_escape_fts5_query_simple() { function test_escape_fts5_query_with_quotes (line 277) | fn test_escape_fts5_query_with_quotes() { function test_escape_fts5_query_special_chars (line 291) | fn test_escape_fts5_query_special_chars() { function test_escape_fts5_query_empty (line 301) | fn test_escape_fts5_query_empty() { function test_escape_fts5_query_code_identifiers (line 307) | fn test_escape_fts5_query_code_identifiers() { function test_detect_search_mode_natural (line 317) | fn test_detect_search_mode_natural() { function test_detect_search_mode_code_underscore (line 330) | fn test_detect_search_mode_code_underscore() { function test_detect_search_mode_code_dot (line 336) | fn test_detect_search_mode_code_dot() { function test_detect_search_mode_code_camelcase (line 345) | fn test_detect_search_mode_code_camelcase() { function test_detect_search_mode_code_path (line 351) | fn test_detect_search_mode_code_path() { function test_detect_search_mode_code_namespace (line 357) | fn test_detect_search_mode_code_namespace() { function test_detect_search_mode_code_kebab (line 363) | fn test_detect_search_mode_code_kebab() { function test_detect_search_mode_code_special_chars (line 369) | fn test_detect_search_mode_code_special_chars() { function test_detect_search_mode_prose_questions (line 377) | fn test_detect_search_mode_prose_questions() { function test_detect_search_mode_prose_multiword (line 393) | fn test_detect_search_mode_prose_multiword() { function test_has_kebab_case (line 401) | fn test_has_kebab_case() { function test_format_fts5_query_auto (line 412) | fn test_format_fts5_query_auto() { function test_format_fts5_query_explicit (line 421) | fn test_format_fts5_query_explicit() { function test_build_fts5_search_sql (line 432) | fn test_build_fts5_search_sql() { function test_validate_fts5_query (line 446) | fn test_validate_fts5_query() { function test_has_camel_case (line 455) | fn test_has_camel_case() { FILE: src/pages/key_management.rs constant ARGON2_MEMORY_KB (line 42) | const ARGON2_MEMORY_KB: u32 = 65536; constant ARGON2_MEMORY_KB (line 44) | const ARGON2_MEMORY_KB: u32 = 64; constant ARGON2_ITERATIONS (line 46) | const ARGON2_ITERATIONS: u32 = 3; constant ARGON2_ITERATIONS (line 48) | const ARGON2_ITERATIONS: u32 = 1; constant ARGON2_PARALLELISM (line 50) | const ARGON2_PARALLELISM: u32 = 4; constant ARGON2_PARALLELISM (line 52) | const ARGON2_PARALLELISM: u32 = 1; constant SCHEMA_VERSION (line 55) | const SCHEMA_VERSION: u8 = 2; type KeyListResult (line 59) | pub struct KeyListResult { type KeySlotInfo (line 68) | pub struct KeySlotInfo { type AddKeyResult (line 80) | pub enum AddKeyResult { type RevokeResult (line 87) | pub struct RevokeResult { type RotateResult (line 94) | pub struct RotateResult { function key_list (line 102) | pub fn key_list(archive_dir: &Path) -> Result { function key_add_password (line 133) | pub fn key_add_password( function key_add_recovery (line 165) | pub fn key_add_recovery( function next_key_slot_id (line 204) | fn next_key_slot_id(key_slots: &[KeySlot]) -> Result { function key_revoke (line 214) | pub fn key_revoke( function key_rotate (line 281) | pub fn key_rotate( function unwrap_dek_with_password (line 410) | fn unwrap_dek_with_password(config: &EncryptionConfig, password: &str) -... function unwrap_dek_with_slot_id (line 434) | fn unwrap_dek_with_slot_id(config: &EncryptionConfig, password: &str) ->... function derive_kek_argon2id (line 458) | fn derive_kek_argon2id(password: &str, salt: &[u8]) -> Result Result [u8; 1... function build_chunk_aad (line 862) | fn build_chunk_aad(export_id: &[u8; 16], chunk_index: u32) -> Vec { function regenerate_integrity_manifest (line 871) | fn regenerate_integrity_manifest( function write_json_pretty_atomically (line 885) | fn write_json_pretty_atomically(path: &Path, value: &T) ->... function write_json_pretty (line 897) | fn write_json_pretty(path: &Path, value: &T) -> Result<()> { function replace_file_from_temp (line 906) | fn replace_file_from_temp(temp_path: &Path, final_path: &Path) -> Result... function sync_parent_directory (line 967) | fn sync_parent_directory(path: &Path) -> Result<()> { function sync_parent_directory (line 976) | fn sync_parent_directory(_path: &Path) -> Result<()> { function unique_atomic_temp_path (line 980) | fn unique_atomic_temp_path(path: &Path) -> std::path::PathBuf { function unique_atomic_backup_path (line 984) | fn unique_atomic_backup_path(path: &Path) -> std::path::PathBuf { function unique_atomic_sidecar_path (line 988) | fn unique_atomic_sidecar_path( function replace_dir_from_temp (line 1013) | fn replace_dir_from_temp(temp_dir: &Path, final_dir: &Path) -> Result<()> { function sync_tree (line 1066) | fn sync_tree(path: &Path) -> Result<()> { function sync_tree (line 1072) | fn sync_tree(_path: &Path) -> Result<()> { function sync_tree_inner (line 1077) | fn sync_tree_inner(path: &Path) -> Result<()> { function copy_site_except_runtime_state (line 1106) | fn copy_site_except_runtime_state(src: &Path, dst: &Path) -> Result<()> { function copy_site_except_runtime_state_recursive (line 1118) | fn copy_site_except_runtime_state_recursive( function refresh_private_artifacts (line 1199) | fn refresh_private_artifacts( function private_dir_for_archive (line 1229) | fn private_dir_for_archive(archive_dir: &Path) -> Option (TempDir, std::path::PathBuf) { function setup_test_archive_with_attachments (line 1294) | fn setup_test_archive_with_attachments() -> (TempDir, std::path::PathBuf) { function rewrite_test_config (line 1335) | fn rewrite_test_config(archive_dir: &Path, mutate: impl FnOnce(&mut Encr... function assert_unsupported_payload_format_error (line 1342) | fn assert_unsupported_payload_format_error(err: anyhow::Error, compressi... function test_decrypt_all_chunks_rejects_mismatched_chunk_count_before_progress (line 1351) | fn test_decrypt_all_chunks_rejects_mismatched_chunk_count_before_progres... function test_key_list (line 1385) | fn test_key_list() { function test_key_mutations_reject_unsupported_payload_compression (line 1396) | fn test_key_mutations_reject_unsupported_payload_compression() { function test_key_rotate_rejects_oversized_payload_chunk_size_before_rewriting (line 1425) | fn test_key_rotate_rejects_oversized_payload_chunk_size_before_rewriting... function test_key_add_password (line 1445) | fn test_key_add_password() { function test_key_add_recovery (line 1463) | fn test_key_add_recovery() { function test_key_add_wrong_password_fails (line 1479) | fn test_key_add_wrong_password_fails() { function test_key_revoke (line 1487) | fn test_key_revoke() { function test_key_revoke_last_slot_fails (line 1507) | fn test_key_revoke_last_slot_fails() { function test_key_revoke_auth_slot_fails (line 1516) | fn test_key_revoke_auth_slot_fails() { function test_key_rotate (line 1529) | fn test_key_rotate() { function test_key_rotate_with_recovery (line 1554) | fn test_key_rotate_with_recovery() { function test_key_add_after_revoke_no_id_collision (line 1571) | fn test_key_add_after_revoke_no_id_collision() { function test_next_key_slot_id_rejects_max_id (line 1604) | fn test_next_key_slot_id_rejects_max_id() { function test_key_add_password_preserves_valid_integrity_manifest (line 1618) | fn test_key_add_password_preserves_valid_integrity_manifest() { function test_key_rotate_preserves_valid_integrity_manifest (line 1629) | fn test_key_rotate_preserves_valid_integrity_manifest() { function test_key_add_password_preserves_in_tree_symlinked_required_asset (line 1641) | fn test_key_add_password_preserves_in_tree_symlinked_required_asset() { function test_key_rotate_materializes_in_tree_symlinked_required_asset (line 1659) | fn test_key_rotate_materializes_in_tree_symlinked_required_asset() { function test_key_rotate_rejects_payload_directory_symlink_escape (line 1679) | fn test_key_rotate_rejects_payload_directory_symlink_escape() { function test_key_add_password_updates_private_fingerprint_and_master_key (line 1699) | fn test_key_add_password_updates_private_fingerprint_and_master_key() { function test_key_add_recovery_writes_private_recovery_artifact (line 1719) | fn test_key_add_recovery_writes_private_recovery_artifact() { function test_key_revoke_recovery_removes_private_recovery_artifact (line 1734) | fn test_key_revoke_recovery_removes_private_recovery_artifact() { function test_key_revoke_one_of_multiple_recovery_slots_removes_stale_private_recovery_artifact (line 1749) | fn test_key_revoke_one_of_multiple_recovery_slots_removes_stale_private_... function test_key_rotate_refreshes_private_recovery_and_master_key (line 1774) | fn test_key_rotate_refreshes_private_recovery_and_master_key() { function test_key_rotate_without_recovery_removes_stale_private_recovery_artifact (line 1792) | fn test_key_rotate_without_recovery_removes_stale_private_recovery_artif... function test_key_rotate_reencrypts_attachment_blobs (line 1808) | fn test_key_rotate_reencrypts_attachment_blobs() { function test_key_rotate_failure_before_site_swap_preserves_live_archive (line 1845) | fn test_key_rotate_failure_before_site_swap_preserves_live_archive() { function test_write_json_pretty_atomically_overwrites_existing_file (line 1869) | fn test_write_json_pretty_atomically_overwrites_existing_file() { function test_replace_dir_from_temp_overwrites_existing_site (line 1883) | fn test_replace_dir_from_temp_overwrites_existing_site() { function unwrap_key_chains_aead_source_error_into_diagnostic_message (line 1926) | fn unwrap_key_chains_aead_source_error_into_diagnostic_message() { function derive_kek_hkdf_error_message_pins_actual_kek_length (line 1998) | fn derive_kek_hkdf_error_message_pins_actual_kek_length() { FILE: src/pages/mod.rs function ensure_real_directory (line 37) | fn ensure_real_directory(path: &Path, metadata: &Metadata, label: &str) ... function resolve_site_dir (line 48) | pub(crate) fn resolve_site_dir(path: &Path) -> Result { function open_existing_sqlite_db (line 82) | pub(crate) fn open_existing_sqlite_db(path: &Path) -> Result { function write_file_durably (line 105) | pub(crate) fn write_file_durably(path: &Path, data: &[u8]) -> Result<()> { function write_file_durably (line 135) | pub(crate) fn write_file_durably(path: &Path, data: &[u8]) -> Result<()> { function write_file_durably_writes_bytes_and_fsyncs (line 144) | fn write_file_durably_writes_bytes_and_fsyncs() { function write_file_durably_surfaces_parent_fsync_error (line 154) | fn write_file_durably_surfaces_parent_fsync_error() { FILE: src/pages/password.rs type PasswordStrength (line 20) | pub enum PasswordStrength { method visuals (line 36) | fn visuals(self) -> PasswordStrengthVisuals { method color (line 66) | pub fn color(&self) -> &'static str { method label (line 71) | pub fn label(&self) -> &'static str { method bar (line 76) | pub fn bar(&self) -> &'static str { method percent (line 81) | pub fn percent(&self) -> u8 { method fmt (line 87) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type PasswordStrengthVisuals (line 28) | struct PasswordStrengthVisuals { type PasswordValidation (line 94) | pub struct PasswordValidation { type PasswordChecks (line 109) | pub struct PasswordChecks { function validate_password (line 136) | pub fn validate_password(password: &str) -> PasswordValidation { function estimate_entropy (line 204) | fn estimate_entropy(password: &str) -> f64 { function display_strength (line 245) | pub fn display_strength(term: &mut Term, validation: &PasswordValidation... function format_strength_inline (line 282) | pub fn format_strength_inline(validation: &PasswordValidation) -> String { function test_empty_password (line 307) | fn test_empty_password() { function test_weak_password (line 314) | fn test_weak_password() { function test_fair_password (line 327) | fn test_fair_password() { function test_good_password (line 333) | fn test_good_password() { function test_strong_password (line 339) | fn test_strong_password() { function test_long_lowercase_only (line 346) | fn test_long_lowercase_only() { function test_strength_bar_rendering (line 356) | fn test_strength_bar_rendering() { function test_strength_color_and_label (line 370) | fn test_strength_color_and_label() { function test_strength_percent (line 386) | fn test_strength_percent() { function test_checks_populated (line 400) | fn test_checks_populated() { function test_entropy_calculation (line 411) | fn test_entropy_calculation() { function test_unicode_password (line 420) | fn test_unicode_password() { FILE: src/pages/patterns.rs type PatternCategory (line 14) | pub enum PatternCategory { method label (line 28) | pub fn label(self) -> &'static str { type PatternDef (line 41) | pub struct PatternDef { method to_custom_pattern (line 297) | pub fn to_custom_pattern(&self) -> Option { function patterns_for_public (line 311) | pub fn patterns_for_public() -> Vec { function patterns_for_team (line 350) | pub fn patterns_for_team() -> Vec { function patterns_for_personal (line 380) | pub fn patterns_for_personal() -> Vec { function patterns_by_category (line 400) | pub fn patterns_by_category(category: PatternCategory) -> Vec<&'static P... function test_all_patterns_compile (line 413) | fn test_all_patterns_compile() { function test_to_custom_pattern (line 426) | fn test_to_custom_pattern() { function test_public_has_most_patterns (line 435) | fn test_public_has_most_patterns() { function test_personal_has_critical_patterns (line 445) | fn test_personal_has_critical_patterns() { function test_patterns_by_category (line 456) | fn test_patterns_by_category() { function test_pattern_matches_aws_key (line 467) | fn test_pattern_matches_aws_key() { function test_pattern_matches_openai_key (line 474) | fn test_pattern_matches_openai_key() { function test_pattern_matches_email (line 481) | fn test_pattern_matches_email() { function test_email_pattern_uses_ascii_letter_classes (line 488) | fn test_email_pattern_uses_ascii_letter_classes() { function test_pattern_matches_database_url (line 498) | fn test_pattern_matches_database_url() { function test_pattern_matches_private_key (line 506) | fn test_pattern_matches_private_key() { FILE: src/pages/preview.rs type PreviewError (line 19) | pub enum PreviewError { type PreviewConfig (line 42) | pub struct PreviewConfig { method default (line 52) | fn default() -> Self { function resolve_site_dir (line 62) | fn resolve_site_dir(path: &std::path::Path) -> Result &'static str { function build_response (line 106) | fn build_response(status: u16, content_type: &str, body: Vec) -> Vec... function build_response_with_content_length (line 111) | fn build_response_with_content_length( type HeadLengthSource (line 147) | enum HeadLengthSource { function head_content_length_with_metadata_hint (line 155) | fn head_content_length_with_metadata_hint( function head_content_length (line 174) | fn head_content_length(file_path: &std::path::Path) -> std::io::Result<(... function head_content_length_from_hint_or_fs (line 179) | fn head_content_length_from_hint_or_fs( function handle_request_with_site_root (line 192) | fn handle_request_with_site_root(site_root_canonical: &std::path::Path, ... function handle_request (line 332) | fn handle_request(site_dir: &std::path::Path, request: &str) -> Vec { function handle_connection (line 343) | fn handle_connection(mut stream: std::net::TcpStream, site_dir: &std::pa... function start_preview_server (line 376) | pub async fn start_preview_server(config: PreviewConfig) -> Result<(), P... function open_browser (line 435) | fn open_browser(url: &str) -> Result<(), PreviewError> { function content_length (line 493) | fn content_length(resp: &str) -> Option { function temp_site_with_index (line 504) | fn temp_site_with_index(contents: impl AsRef<[u8]>) -> TempDir { function test_guess_mime_type (line 511) | fn test_guess_mime_type() { function test_preview_config_default (line 543) | fn test_preview_config_default() { function test_preview_error_display_and_source_are_preserved (line 550) | fn test_preview_error_display_and_source_are_preserved() { function test_resolve_site_dir_accepts_bundle_root (line 598) | fn test_resolve_site_dir_accepts_bundle_root() { function test_build_response_headers (line 608) | fn test_build_response_headers() { function test_handle_request_bad_method (line 620) | fn test_handle_request_bad_method() { function test_handle_request_bad_path (line 629) | fn test_handle_request_bad_path() { function test_handle_request_serves_index_with_coi_headers (line 637) | fn test_handle_request_serves_index_with_coi_headers() { function test_handle_request_head_preserves_content_length (line 663) | fn test_handle_request_head_preserves_content_length() { function test_head_content_length_prefers_metadata (line 682) | fn test_head_content_length_prefers_metadata() { function test_head_content_length_falls_back_when_metadata_missing (line 697) | fn test_head_content_length_falls_back_when_metadata_missing() { function test_handle_request_head_large_file_content_length (line 717) | fn test_handle_request_head_large_file_content_length() { function test_head_content_length_from_hint_or_fs_with_hint_skips_fs_lookup (line 733) | fn test_head_content_length_from_hint_or_fs_with_hint_skips_fs_lookup() { function test_handle_request_with_site_root_precanonicalized (line 742) | fn test_handle_request_with_site_root_precanonicalized() { function test_handle_request_wrapper_accepts_uncanonicalized_site_dir (line 754) | fn test_handle_request_wrapper_accepts_uncanonicalized_site_dir() { FILE: src/pages/profiles.rs type ShareProfile (line 24) | pub enum ShareProfile { method name (line 41) | pub fn name(self) -> &'static str { method description (line 51) | pub fn description(self) -> &'static str { method icon (line 67) | pub fn icon(self) -> &'static str { method label (line 77) | pub fn label(self) -> &'static str { method to_redaction_config (line 87) | pub fn to_redaction_config(self) -> RedactionConfig { method all (line 124) | pub fn all() -> &'static [Self] { type Err (line 130) | type Err = String; method from_str (line 132) | fn from_str(s: &str) -> Result { method fmt (line 143) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ProfilePreferences (line 150) | pub struct ProfilePreferences { method load (line 176) | pub fn load() -> Result { method save (line 189) | pub fn save(&self) -> Result<()> { method default_path (line 209) | fn default_path() -> Result { method set_last_used (line 215) | pub fn set_last_used(&mut self, profile: ShareProfile) { method effective_profile (line 220) | pub fn effective_profile(&self) -> ShareProfile { method default (line 165) | fn default() -> Self { function replace_file_from_temp (line 225) | fn replace_file_from_temp(temp_path: &std::path::Path, final_path: &std:... function sync_file_path (line 294) | fn sync_file_path(path: &std::path::Path) -> Result<()> { function sync_parent_directory (line 302) | fn sync_parent_directory(path: &std::path::Path) -> Result<()> { function sync_parent_directory (line 313) | fn sync_parent_directory(_path: &std::path::Path) -> Result<()> { function unique_atomic_temp_path (line 317) | fn unique_atomic_temp_path(path: &std::path::Path) -> PathBuf { function unique_atomic_backup_path (line 321) | fn unique_atomic_backup_path(path: &std::path::Path) -> PathBuf { function unique_atomic_sidecar_path (line 325) | fn unique_atomic_sidecar_path( type SerializableRedactionConfig (line 354) | pub struct SerializableRedactionConfig { method default (line 366) | fn default() -> Self { function render_profile_comparison (line 380) | pub fn render_profile_comparison() -> String { function render_profile_comparison_colored (line 399) | pub fn render_profile_comparison_colored() -> String { type ProfileInfo (line 447) | pub struct ProfileInfo { method from_profile (line 456) | pub fn from_profile(profile: ShareProfile) -> Self { method all (line 467) | pub fn all() -> Vec { function test_profile_configs_differ (line 480) | fn test_profile_configs_differ() { function test_profile_descriptions_not_empty (line 509) | fn test_profile_descriptions_not_empty() { function test_public_has_most_patterns (line 518) | fn test_public_has_most_patterns() { function test_profile_from_str (line 534) | fn test_profile_from_str() { function test_profile_labels_are_parse_spellings (line 548) | fn test_profile_labels_are_parse_spellings() { function test_profile_display (line 557) | fn test_profile_display() { function test_default_profile (line 563) | fn test_default_profile() { function test_effective_profile (line 570) | fn test_effective_profile() { function test_comparison_table_renders (line 579) | fn test_comparison_table_renders() { function test_profile_info_all (line 589) | fn test_profile_info_all() { function test_serializable_config_default (line 597) | fn test_serializable_config_default() { function test_profile_serialization (line 604) | fn test_profile_serialization() { function test_preferences_path_uses_default_data_dir (line 619) | fn test_preferences_path_uses_default_data_dir() { function test_unique_atomic_temp_path_changes_each_call (line 625) | fn test_unique_atomic_temp_path_changes_each_call() { function test_replace_file_from_temp_overwrites_existing_file (line 633) | fn test_replace_file_from_temp_overwrites_existing_file() { FILE: src/pages/qr.rs constant RECOVERY_SECRET_BYTES (line 34) | const RECOVERY_SECRET_BYTES: usize = 32; type RecoverySecret (line 41) | pub struct RecoverySecret { method fmt (line 49) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method generate (line 62) | pub fn generate() -> Self { method from_bytes (line 74) | pub fn from_bytes(bytes: Vec) -> Option { method from_encoded (line 83) | pub fn from_encoded(encoded: &str) -> Result { method as_bytes (line 97) | pub fn as_bytes(&self) -> &[u8] { method encoded (line 102) | pub fn encoded(&self) -> &str { method entropy_bits (line 107) | pub fn entropy_bits(&self) -> usize { method drop (line 113) | fn drop(&mut self) { type RecoveryArtifacts (line 123) | pub struct RecoveryArtifacts { method generate (line 151) | pub fn generate(archive_name: &str) -> Result { method write_to_dir (line 199) | pub fn write_to_dir(&self, dir: &Path) -> Result<()> { method drop (line 135) | fn drop(&mut self) { function generate_qr_png (line 227) | pub fn generate_qr_png(data: &str) -> Result> { function generate_qr_svg (line 257) | pub fn generate_qr_svg(data: &str) -> Result { type QrGenerator (line 282) | pub struct QrGenerator; method new (line 291) | pub fn new() -> Self { method generate (line 295) | pub fn generate(&self, data: &str, output_path: &Path) -> Result<()> { method default (line 285) | fn default() -> Self { function test_recovery_secret_generation (line 308) | fn test_recovery_secret_generation() { function test_recovery_secret_round_trip (line 322) | fn test_recovery_secret_round_trip() { function test_recovery_secret_minimum_entropy (line 331) | fn test_recovery_secret_minimum_entropy() { function test_recovery_secret_deterministic_encoding (line 342) | fn test_recovery_secret_deterministic_encoding() { function test_qr_png_generation (line 352) | fn test_qr_png_generation() { function test_qr_svg_generation (line 363) | fn test_qr_svg_generation() { function test_recovery_artifacts_generation (line 374) | fn test_recovery_artifacts_generation() { function test_recovery_artifacts_write_to_dir (line 396) | fn test_recovery_artifacts_write_to_dir() { function test_qr_code_encodes_exact_secret (line 420) | fn test_qr_code_encodes_exact_secret() { FILE: src/pages/redact.rs type RedactionConfig (line 8) | pub struct RedactionConfig { method default (line 30) | fn default() -> Self { type CustomPattern (line 46) | pub struct CustomPattern { type RedactionKind (line 54) | pub enum RedactionKind { method label (line 65) | pub fn label(self) -> &'static str { type RedactionChange (line 79) | pub struct RedactionChange { type RedactedString (line 86) | pub struct RedactedString { type RedactionReport (line 92) | pub struct RedactionReport { method new (line 284) | pub fn new(max_samples: usize) -> Self { method record (line 291) | pub fn record( type RedactionSample (line 103) | pub struct RedactionSample { type RedactionEngine (line 110) | pub struct RedactionEngine { method new (line 119) | pub fn new(config: RedactionConfig) -> Self { method redact_text (line 138) | pub fn redact_text(&self, input: &str) -> RedactedString { method redact_path (line 142) | pub fn redact_path(&self, input: &str) -> RedactedString { method redact_workspace (line 146) | pub fn redact_workspace(&self, input: &str) -> RedactedString { method redact_internal (line 150) | fn redact_internal(&self, input: &str, anonymize_project: bool) -> Red... method map_project_name (line 255) | fn map_project_name(&self, name: &str) -> String { function truncate_for_report (line 324) | fn truncate_for_report(input: &str, max: usize) -> String { function build_username_patterns (line 334) | fn build_username_patterns( function build_username_pattern (line 361) | fn build_username_pattern(username: &str, replacement: &str) -> Option<(... function anonymize_last_segment (line 374) | fn anonymize_last_segment(path: &str, map_name: F) -> Option function replace_home_path_prefixes (line 387) | fn replace_home_path_prefixes(input: &str, home_str: &str) -> Option Option<(char, usize)> { function engine_with_context (line 439) | fn engine_with_context(home: &str) -> RedactionEngine { function test_home_path_redaction (line 459) | fn test_home_path_redaction() { function test_home_path_redaction_respects_segment_boundaries (line 466) | fn test_home_path_redaction_respects_segment_boundaries() { function test_username_redaction_in_paths (line 475) | fn test_username_redaction_in_paths() { function test_custom_pattern_redaction (line 483) | fn test_custom_pattern_redaction() { function test_project_anonymization (line 497) | fn test_project_anonymization() { function test_email_redaction_enabled (line 511) | fn test_email_redaction_enabled() { function test_email_redaction_disabled (line 525) | fn test_email_redaction_disabled() { function test_hostname_redaction_in_urls (line 536) | fn test_hostname_redaction_in_urls() { function test_hostname_redaction_preserves_non_url_paths (line 554) | fn test_hostname_redaction_preserves_non_url_paths() { function test_report_records_changes (line 568) | fn test_report_records_changes() { FILE: src/pages/secret_scan.rs constant DEFAULT_ENTROPY_THRESHOLD (line 16) | const DEFAULT_ENTROPY_THRESHOLD: f64 = 4.0; constant DEFAULT_ENTROPY_MIN_LEN (line 17) | const DEFAULT_ENTROPY_MIN_LEN: usize = 20; constant DEFAULT_CONTEXT_BYTES (line 18) | const DEFAULT_CONTEXT_BYTES: usize = 120; constant DEFAULT_MAX_FINDINGS (line 19) | const DEFAULT_MAX_FINDINGS: usize = 500; type SecretSeverity (line 23) | pub enum SecretSeverity { method rank (line 31) | fn rank(self) -> u8 { method label (line 40) | pub fn label(self) -> &'static str { method styled (line 49) | fn styled(self, text: &str) -> String { type SecretLocation (line 61) | pub enum SecretLocation { method label (line 70) | fn label(&self) -> &'static str { type SecretFinding (line 82) | pub struct SecretFinding { type SecretScanSummary (line 98) | pub struct SecretScanSummary { type SecretScanReport (line 106) | pub struct SecretScanReport { type SecretScanFilters (line 112) | pub struct SecretScanFilters { type SecretScanConfig (line 120) | pub struct SecretScanConfig { method from_inputs (line 132) | pub fn from_inputs(allowlist: &[String], denylist: &[String]) -> Resul... method from_inputs_with_env (line 136) | pub fn from_inputs_with_env( type SecretPattern (line 165) | struct SecretPattern { type ScanContext (line 241) | struct ScanContext { type FindingCandidate (line 250) | struct FindingCandidate<'a> { function scan_database (line 261) | pub fn scan_database>( function table_exists (line 488) | fn table_exists(conn: &frankensqlite::Connection, table_name: &str) -> b... function print_human_report (line 502) | pub fn print_human_report( function print_cli_report (line 575) | pub fn print_cli_report(report: &SecretScanReport, json: bool) -> Result... function run_secret_scan_cli (line 586) | pub fn run_secret_scan_cli>( function wizard_secret_scan (line 614) | pub fn wizard_secret_scan>( function scan_text (line 633) | fn scan_text( function push_finding (line 772) | fn push_finding( function redact_token (line 817) | fn redact_token(token: &str) -> String { function redact_context (line 835) | fn redact_context( function adjust_to_char_boundary (line 868) | fn adjust_to_char_boundary(text: &str, idx: usize, forward: bool) -> usi... function shannon_entropy (line 892) | fn shannon_entropy(token: &str) -> f64 { function is_allowlisted (line 913) | fn is_allowlisted(matched: &str, config: &SecretScanConfig) -> bool { function build_where_clause (line 922) | fn build_where_clause(filters: &SecretScanFilters) -> Result<(String, Ve... function parse_env_regex_list (line 969) | fn parse_env_regex_list(var: &str) -> Result> { function compile_regexes (line 982) | fn compile_regexes(patterns: &[String], label: &str) -> Result>( method from_plaintext_size (line 130) | pub fn from_plaintext_size( method check_limits (line 168) | pub fn check_limits(&self) -> SizeLimitResult { method format_display (line 189) | pub fn format_display(&self) -> String { type SizeLimitResult (line 211) | pub enum SizeLimitResult { method is_ok (line 222) | pub fn is_ok(&self) -> bool { method is_warning (line 227) | pub fn is_warning(&self) -> bool { method is_error (line 232) | pub fn is_error(&self) -> bool { type SizeError (line 239) | pub enum SizeError { type SizeWarning (line 262) | pub enum SizeWarning { method fmt (line 274) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type BundleVerifier (line 297) | pub struct BundleVerifier; method verify (line 301) | pub fn verify>(site_dir: P) -> Result> { function visit_files (line 354) | fn visit_files(dir: &Path, f: &mut F) -> Result<()> function format_bytes (line 378) | fn format_bytes(bytes: u64) -> String { function test_size_estimate_from_plaintext (line 399) | fn test_size_estimate_from_plaintext() { function test_size_estimate_empty (line 415) | fn test_size_estimate_empty() { function test_size_limit_ok (line 423) | fn test_size_limit_ok() { function test_size_limit_warning (line 436) | fn test_size_limit_warning() { function test_size_limit_exceeded (line 451) | fn test_size_limit_exceeded() { function test_format_bytes (line 464) | fn test_format_bytes() { function test_format_display (line 473) | fn test_format_display() { function test_size_error_display (line 483) | fn test_size_error_display() { function test_size_error_display_and_source_are_preserved (line 496) | fn test_size_error_display_and_source_are_preserved() { function test_bundle_verifier (line 526) | fn test_bundle_verifier() { function test_chunk_count_ceiling_division (line 540) | fn test_chunk_count_ceiling_division() { function test_from_plaintext_size_handles_extremely_large_inputs (line 578) | fn test_from_plaintext_size_handles_extremely_large_inputs() { function test_visit_files_skips_symlink_paths (line 586) | fn test_visit_files_skips_symlink_paths() { FILE: src/pages/summary.rs type PrePublishSummary (line 37) | pub struct PrePublishSummary { method render_overview (line 1018) | pub fn render_overview(&self) -> String { method included_workspace_count (line 1095) | pub fn included_workspace_count(&self) -> usize { method included_agent_count (line 1100) | pub fn included_agent_count(&self) -> usize { method set_secret_scan (line 1105) | pub fn set_secret_scan(&mut self, report: &SecretScanReport) { method set_encryption_config (line 1110) | pub fn set_encryption_config(&mut self, key_slots: &[KeySlot]) { type DateHistogramEntry (line 76) | pub struct DateHistogramEntry { type WorkspaceSummaryItem (line 87) | pub struct WorkspaceSummaryItem { type AgentSummaryItem (line 106) | pub struct AgentSummaryItem { type DateRange (line 121) | pub struct DateRange { method from_timestamps (line 130) | pub fn from_timestamps(earliest: Option, latest: Option) -> ... method span_days (line 142) | pub fn span_days(&self) -> Option { type ScanReportSummary (line 151) | pub struct ScanReportSummary { method from_report (line 166) | pub fn from_report(report: &SecretScanReport) -> Self { method from_summary (line 192) | pub fn from_summary(summary: &SecretScanSummary) -> Self { type EncryptionSummary (line 219) | pub struct EncryptionSummary { method default (line 231) | fn default() -> Self { type KeySlotType (line 244) | pub enum KeySlotType { method from (line 251) | fn from(st: SlotType) -> Self { method label (line 261) | pub fn label(self) -> &'static str { type KeySlotSummary (line 272) | pub struct KeySlotSummary { method from_key_slot (line 285) | pub fn from_key_slot(slot: &KeySlot, index: usize) -> Self { type ExclusionSet (line 297) | pub struct ExclusionSet { method new (line 311) | pub fn new() -> Self { method exclude_workspace (line 316) | pub fn exclude_workspace(&mut self, workspace: &str) { method include_workspace (line 321) | pub fn include_workspace(&mut self, workspace: &str) { method exclude_conversation (line 326) | pub fn exclude_conversation(&mut self, conversation_id: i64) { method include_conversation (line 331) | pub fn include_conversation(&mut self, conversation_id: i64) { method is_workspace_excluded (line 336) | pub fn is_workspace_excluded(&self, workspace: &str) -> bool { method is_conversation_excluded (line 341) | pub fn is_conversation_excluded(&self, conversation_id: i64) -> bool { method is_excluded (line 346) | pub fn is_excluded(&self, title: &str) -> bool { method add_pattern (line 351) | pub fn add_pattern(&mut self, pattern: &str) -> Result<()> { method should_exclude (line 359) | pub fn should_exclude( method exclusion_counts (line 377) | pub fn exclusion_counts(&self) -> (usize, usize, usize) { method has_exclusions (line 386) | pub fn has_exclusions(&self) -> bool { method compile_patterns (line 393) | pub fn compile_patterns(&mut self) -> Result<()> { type SummaryFilters (line 406) | pub struct SummaryFilters { type SummaryGenerator (line 418) | pub struct SummaryGenerator<'a> { function new (line 424) | pub fn new(db: &'a Connection) -> Self { function generate (line 429) | pub fn generate(&self, filters: Option<&SummaryFilters>) -> Result (String, Vec<... function count_messages_for_conversation_ids (line 561) | fn count_messages_for_conversation_ids(&self, conversation_ids: &[i64]) ... function get_counts (line 581) | fn get_counts( function get_time_range (line 625) | fn get_time_range( function get_date_histogram (line 644) | fn get_date_histogram( function get_workspace_summary (line 712) | fn get_workspace_summary( function get_agent_summary (line 828) | fn get_agent_summary( function recalculate_with_exclusions (line 888) | fn recalculate_with_exclusions( function estimate_compressed_size (line 993) | pub fn estimate_compressed_size(char_count: usize) -> usize { function format_size (line 1000) | pub fn format_size(bytes: usize) -> String { function create_test_db (line 1131) | fn create_test_db() -> (TempDir, Connection) { function create_test_db_without_message_count (line 1173) | fn create_test_db_without_message_count() -> (TempDir, Connection) { function insert_test_data (line 1214) | fn insert_test_data(conn: &Connection) { function test_summary_generation (line 1272) | fn test_summary_generation() { function test_summary_generation_without_conversation_message_count_column (line 1287) | fn test_summary_generation_without_conversation_message_count_column() { function test_summary_with_filters (line 1315) | fn test_summary_with_filters() { function test_summary_with_empty_agent_filter_matches_nothing (line 1332) | fn test_summary_with_empty_agent_filter_matches_nothing() { function test_summary_with_empty_workspace_filter_matches_nothing (line 1351) | fn test_summary_with_empty_workspace_filter_matches_nothing() { function test_workspace_summary_message_counts_respect_time_filter (line 1370) | fn test_workspace_summary_message_counts_respect_time_filter() { function test_agent_summary_message_counts_respect_time_filter (line 1398) | fn test_agent_summary_message_counts_respect_time_filter() { function test_workspace_summary (line 1420) | fn test_workspace_summary() { function test_agent_summary (line 1439) | fn test_agent_summary() { function test_date_histogram (line 1454) | fn test_date_histogram() { function test_exclusion_set (line 1466) | fn test_exclusion_set() { function test_exclusion_should_exclude (line 1483) | fn test_exclusion_should_exclude() { function test_summary_with_exclusions (line 1500) | fn test_summary_with_exclusions() { function test_size_estimation (line 1522) | fn test_size_estimation() { function test_format_size (line 1530) | fn test_format_size() { function test_date_range (line 1538) | fn test_date_range() { function test_scan_report_summary (line 1546) | fn test_scan_report_summary() { function test_encryption_summary (line 1554) | fn test_encryption_summary() { function test_render_overview (line 1561) | fn test_render_overview() { function test_empty_database (line 1577) | fn test_empty_database() { function test_key_slot_summary (line 1592) | fn test_key_slot_summary() { function test_exclusion_compile_patterns (line 1611) | fn test_exclusion_compile_patterns() { function test_key_slot_type_label (line 1622) | fn test_key_slot_type_label() { function test_exclusion_recount_keeps_workspace_less_conversations (line 1629) | fn test_exclusion_recount_keeps_workspace_less_conversations() { function test_exclusion_recount_respects_active_filters (line 1661) | fn test_exclusion_recount_respects_active_filters() { FILE: src/pages/verify.rs constant MAX_CHUNK_SIZE (line 23) | const MAX_CHUNK_SIZE: u64 = 100 * 1024 * 1024; constant MAX_CONFIG_CHUNK_SIZE (line 26) | const MAX_CONFIG_CHUNK_SIZE: usize = 32 * 1024 * 1024; constant REQUIRED_FILES (line 29) | const REQUIRED_FILES: &[&str] = &[ constant SECRET_FILES (line 41) | const SECRET_FILES: &[&str] = &[ constant SECRET_DIRS (line 49) | const SECRET_DIRS: &[&str] = &["private"]; constant FORBIDDEN_CONFIG_KEYS (line 52) | const FORBIDDEN_CONFIG_KEYS: &[(&str, &str)] = &[ constant ENCRYPTED_CONFIG_KEYS (line 60) | const ENCRYPTED_CONFIG_KEYS: &[&str] = &[ constant UNENCRYPTED_CONFIG_KEYS (line 69) | const UNENCRYPTED_CONFIG_KEYS: &[&str] = &["encrypted", "version", "payl... constant ENCRYPTED_PAYLOAD_KEYS (line 70) | const ENCRYPTED_PAYLOAD_KEYS: &[&str] = &[ constant UNENCRYPTED_PAYLOAD_KEYS (line 77) | const UNENCRYPTED_PAYLOAD_KEYS: &[&str] = &["path", "format", "size_byte... constant ARGON2_PARAM_KEYS (line 78) | const ARGON2_PARAM_KEYS: &[&str] = &["memory_kb", "iterations", "paralle... constant KEY_SLOT_KEYS (line 79) | const KEY_SLOT_KEYS: &[&str] = &[ type CheckResult (line 91) | pub struct CheckResult { method pass (line 100) | fn pass() -> Self { method fail (line 107) | fn fail(details: impl Into) -> Self { type VerifyChecks (line 117) | pub struct VerifyChecks { method all_passed (line 128) | pub fn all_passed(&self) -> bool { type VerifyResult (line 140) | pub struct VerifyResult { function verify_bundle (line 159) | pub fn verify_bundle(path: &Path, verbose: bool) -> Result { function check_required_files (line 240) | fn check_required_files(site_dir: &Path) -> CheckResult { function check_config_schema (line 284) | fn check_config_schema(site_dir: &Path) -> CheckResult { function find_unknown_config_fields (line 320) | fn find_unknown_config_fields(value: &Value) -> Vec { function collect_unknown_fields (line 360) | fn collect_unknown_fields( function validate_encrypted_config (line 378) | fn validate_encrypted_config(config: &EncryptionConfig) -> Vec { function validate_unencrypted_config (line 480) | fn validate_unencrypted_config(config: &UnencryptedConfig) -> Vec { function validate_payload_path (line 509) | fn validate_payload_path(errors: &mut Vec, label: &str, path: &P... function check_payload_manifest (line 530) | fn check_payload_manifest(site_dir: &Path) -> CheckResult { function check_size_limits (line 652) | fn check_size_limits(site_dir: &Path) -> CheckResult { function check_integrity (line 775) | fn check_integrity(site_dir: &Path, verbose: bool) -> CheckResult { type PercentDecodeError (line 942) | enum PercentDecodeError { method fmt (line 949) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type DecodeOutcome (line 958) | struct DecodeOutcome { function percent_decode_once (line 963) | fn percent_decode_once(input: &str) -> Result bool { function is_absolute_like (line 1002) | fn is_absolute_like(input: &str) -> bool { function contains_unicode_path_attack (line 1014) | fn contains_unicode_path_attack(input: &str) -> bool { function detect_encoded_path_violation (line 1063) | fn detect_encoded_path_violation(rel_path: &str) -> Option { function check_no_secrets (line 1106) | fn check_no_secrets(site_dir: &Path) -> CheckResult { function find_forbidden_config_keys (line 1149) | fn find_forbidden_config_keys(value: &Value, current_path: &str, finding... function find_secrets_recursive (line 1187) | fn find_secrets_recursive(base: &Path, current: &Path, findings: &mut Ve... function compute_file_hash (line 1252) | fn compute_file_hash(path: &Path) -> Result { function collect_all_files (line 1272) | fn collect_all_files(dir: &Path) -> Result> { function collect_files_recursive (line 1278) | fn collect_files_recursive(base: &Path, current: &Path, files: &mut Vec<... function calculate_dir_size (line 1304) | fn calculate_dir_size(dir: &Path) -> Result { function print_result (line 1330) | pub fn print_result(result: &VerifyResult, verbose: bool) { function print_check (line 1368) | fn print_check(name: &str, result: &CheckResult, verbose: bool) { function fixtures_dir (line 1402) | fn fixtures_dir() -> PathBuf { function copy_fixture (line 1408) | fn copy_fixture(fixture_name: &str, dest: &Path) -> Result<()> { function copy_dir_recursive (line 1414) | fn copy_dir_recursive(src: &Path, dest: &Path) -> Result<()> { function assert_integrity_path_blocked (line 1431) | fn assert_integrity_path_blocked(rel_path: &str) { function test_collect_all_files_lists_symlink_without_recursing (line 1465) | fn test_collect_all_files_lists_symlink_without_recursing() { function test_calculate_dir_size_skips_symlink_targets (line 1488) | fn test_calculate_dir_size_skips_symlink_targets() { function test_integrity_rejects_symlink_manifest_entry_to_directory (line 1508) | fn test_integrity_rejects_symlink_manifest_entry_to_directory() { function test_verify_minimal_valid_site (line 1553) | fn test_verify_minimal_valid_site() { function test_config_schema_allows_zero_chunk_encrypted_archive (line 1603) | fn test_config_schema_allows_zero_chunk_encrypted_archive() { function test_verify_unencrypted_site (line 1642) | fn test_verify_unencrypted_site() { function test_verify_missing_required_files (line 1656) | fn test_verify_missing_required_files() { function test_verify_rejects_required_file_replaced_by_directory (line 1669) | fn test_verify_rejects_required_file_replaced_by_directory() { function test_verify_invalid_config (line 1706) | fn test_verify_invalid_config() { function test_verify_rejects_unsupported_encrypted_compression (line 1725) | fn test_verify_rejects_unsupported_encrypted_compression() { function test_verify_rejects_unsupported_encrypted_schema_version (line 1752) | fn test_verify_rejects_unsupported_encrypted_schema_version() { function test_verify_rejects_unknown_config_fields (line 1774) | fn test_verify_rejects_unknown_config_fields() { function test_verify_secret_leakage (line 1809) | fn test_verify_secret_leakage() { function test_check_no_secrets_flags_nested_config_secret_key_with_whitespace (line 1821) | fn test_check_no_secrets_flags_nested_config_secret_key_with_whitespace() { function test_check_no_secrets_flags_forbidden_config_key_inside_array (line 1854) | fn test_check_no_secrets_flags_forbidden_config_key_inside_array() { function test_check_no_secrets_does_not_follow_symlinked_directories (line 1888) | fn test_check_no_secrets_does_not_follow_symlinked_directories() { function test_check_no_secrets_flags_secret_named_symlink_without_recursing (line 1909) | fn test_check_no_secrets_flags_secret_named_symlink_without_recursing() { function test_check_no_secrets_flags_top_level_secret_file_broken_symlink (line 1936) | fn test_check_no_secrets_flags_top_level_secret_file_broken_symlink() { function test_check_no_secrets_flags_top_level_secret_dir_broken_symlink (line 1963) | fn test_check_no_secrets_flags_top_level_secret_dir_broken_symlink() { function test_verify_with_integrity (line 1989) | fn test_verify_with_integrity() { function test_verify_integrity_mismatch (line 2032) | fn test_verify_integrity_mismatch() { function test_resolve_site_dir (line 2071) | fn test_resolve_site_dir() { function test_resolve_site_dir_rejects_symlinked_site_directory (line 2088) | fn test_resolve_site_dir_rejects_symlinked_site_directory() { function test_chunk_size_limit (line 2110) | fn test_chunk_size_limit() { function test_payload_manifest_rejects_unexpected_high_chunk_index (line 2150) | fn test_payload_manifest_rejects_unexpected_high_chunk_index() { function test_payload_manifest_rejects_non_file_chunk_entry (line 2191) | fn test_payload_manifest_rejects_non_file_chunk_entry() { function test_payload_manifest_rejects_malformed_chunk_filename (line 2235) | fn test_payload_manifest_rejects_malformed_chunk_filename() { function test_payload_manifest_treats_six_digit_chunk_name_as_unexpected_not_malformed (line 2280) | fn test_payload_manifest_treats_six_digit_chunk_name_as_unexpected_not_m... function test_unencrypted_payload_must_be_regular_file (line 2321) | fn test_unencrypted_payload_must_be_regular_file() { function test_size_limits_rejects_non_file_chunk_entry (line 2360) | fn test_size_limits_rejects_non_file_chunk_entry() { function test_size_limits_rejects_symlinked_chunk (line 2405) | fn test_size_limits_rejects_symlinked_chunk() { function test_integrity_path_traversal_blocked (line 2458) | fn test_integrity_path_traversal_blocked() { function test_integrity_absolute_path_blocked (line 2495) | fn test_integrity_absolute_path_blocked() { function test_integrity_url_encoded_traversal_blocked_single (line 2532) | fn test_integrity_url_encoded_traversal_blocked_single() { function test_integrity_url_encoded_traversal_blocked_double (line 2537) | fn test_integrity_url_encoded_traversal_blocked_double() { function test_integrity_url_encoded_traversal_blocked_mixed (line 2542) | fn test_integrity_url_encoded_traversal_blocked_mixed() { function test_integrity_url_encoded_traversal_blocked_uppercase (line 2549) | fn test_integrity_url_encoded_traversal_blocked_uppercase() { function test_integrity_url_encoded_traversal_blocked_overlong_utf8 (line 2554) | fn test_integrity_url_encoded_traversal_blocked_overlong_utf8() { function test_integrity_url_encoded_traversal_blocked_null_byte (line 2559) | fn test_integrity_url_encoded_traversal_blocked_null_byte() { function test_integrity_url_encoded_traversal_blocked_backslash (line 2564) | fn test_integrity_url_encoded_traversal_blocked_backslash() { function test_integrity_url_encoded_traversal_blocked_separator_confusion (line 2570) | fn test_integrity_url_encoded_traversal_blocked_separator_confusion() { function test_integrity_unicode_fullwidth_dots_blocked (line 2577) | fn test_integrity_unicode_fullwidth_dots_blocked() { function test_integrity_unicode_fullwidth_slash_blocked (line 2584) | fn test_integrity_unicode_fullwidth_slash_blocked() { function test_integrity_unicode_fullwidth_backslash_blocked (line 2590) | fn test_integrity_unicode_fullwidth_backslash_blocked() { function test_integrity_unicode_small_full_stop_blocked (line 2596) | fn test_integrity_unicode_small_full_stop_blocked() { function test_integrity_unicode_one_dot_leader_blocked (line 2602) | fn test_integrity_unicode_one_dot_leader_blocked() { function test_integrity_unicode_halfwidth_ideographic_full_stop_blocked (line 2608) | fn test_integrity_unicode_halfwidth_ideographic_full_stop_blocked() { function test_integrity_unicode_mixed_fullwidth_and_ascii_blocked (line 2614) | fn test_integrity_unicode_mixed_fullwidth_and_ascii_blocked() { function test_integrity_percent_encoded_unicode_fullwidth_dot_blocked (line 2621) | fn test_integrity_percent_encoded_unicode_fullwidth_dot_blocked() { function test_integrity_windows_drive_letter_blocked (line 2629) | fn test_integrity_windows_drive_letter_blocked() { function test_integrity_windows_drive_letter_lowercase_blocked (line 2634) | fn test_integrity_windows_drive_letter_lowercase_blocked() { function test_integrity_windows_drive_letter_forward_slash_blocked (line 2639) | fn test_integrity_windows_drive_letter_forward_slash_blocked() { function test_integrity_windows_unc_path_blocked (line 2644) | fn test_integrity_windows_unc_path_blocked() { function test_integrity_symlink_traversal_blocked (line 2653) | fn test_integrity_symlink_traversal_blocked() { function test_integrity_symlink_within_site_dir_allowed (line 2706) | fn test_integrity_symlink_within_site_dir_allowed() { function test_integrity_legitimate_dotted_version_not_blocked (line 2762) | fn test_integrity_legitimate_dotted_version_not_blocked() { function test_integrity_legitimate_hidden_file_not_blocked (line 2798) | fn test_integrity_legitimate_hidden_file_not_blocked() { function test_integrity_legitimate_payload_subdir_not_blocked (line 2833) | fn test_integrity_legitimate_payload_subdir_not_blocked() { function test_integrity_legitimate_hyphens_underscores_not_blocked (line 2868) | fn test_integrity_legitimate_hyphens_underscores_not_blocked() { function test_contains_unicode_path_attack_detects_fullwidth_period (line 2905) | fn test_contains_unicode_path_attack_detects_fullwidth_period() { function test_contains_unicode_path_attack_detects_fullwidth_solidus (line 2911) | fn test_contains_unicode_path_attack_detects_fullwidth_solidus() { function test_contains_unicode_path_attack_detects_fullwidth_reverse_solidus (line 2916) | fn test_contains_unicode_path_attack_detects_fullwidth_reverse_solidus() { function test_contains_unicode_path_attack_detects_small_full_stop (line 2921) | fn test_contains_unicode_path_attack_detects_small_full_stop() { function test_contains_unicode_path_attack_detects_one_dot_leader (line 2926) | fn test_contains_unicode_path_attack_detects_one_dot_leader() { function test_contains_unicode_path_attack_allows_ascii (line 2931) | fn test_contains_unicode_path_attack_allows_ascii() { function test_detect_encoded_path_violation_unicode_attack (line 2938) | fn test_detect_encoded_path_violation_unicode_attack() { function test_detect_encoded_path_violation_percent_encoded_unicode (line 2944) | fn test_detect_encoded_path_violation_percent_encoded_unicode() { function test_integrity_unicode_combining_long_solidus_overlay_blocked (line 2956) | fn test_integrity_unicode_combining_long_solidus_overlay_blocked() { function test_integrity_unicode_combining_short_solidus_overlay_blocked (line 2962) | fn test_integrity_unicode_combining_short_solidus_overlay_blocked() { function test_integrity_unicode_rtl_override_blocked (line 2968) | fn test_integrity_unicode_rtl_override_blocked() { function test_integrity_unicode_ltr_override_blocked (line 2975) | fn test_integrity_unicode_ltr_override_blocked() { function test_integrity_unicode_rtl_embedding_blocked (line 2981) | fn test_integrity_unicode_rtl_embedding_blocked() { function test_integrity_unicode_rtl_isolate_blocked (line 2987) | fn test_integrity_unicode_rtl_isolate_blocked() { function test_integrity_unicode_zero_width_joiner_blocked (line 2993) | fn test_integrity_unicode_zero_width_joiner_blocked() { function test_integrity_unicode_zero_width_non_joiner_blocked (line 2999) | fn test_integrity_unicode_zero_width_non_joiner_blocked() { function test_integrity_unicode_zero_width_space_blocked (line 3005) | fn test_integrity_unicode_zero_width_space_blocked() { function test_integrity_unicode_bom_blocked (line 3011) | fn test_integrity_unicode_bom_blocked() { function test_integrity_unicode_fraction_slash_blocked (line 3017) | fn test_integrity_unicode_fraction_slash_blocked() { function test_integrity_unicode_division_slash_blocked (line 3023) | fn test_integrity_unicode_division_slash_blocked() { function test_integrity_unicode_big_solidus_blocked (line 3029) | fn test_integrity_unicode_big_solidus_blocked() { function test_integrity_unicode_vai_full_stop_blocked (line 3035) | fn test_integrity_unicode_vai_full_stop_blocked() { function test_integrity_unicode_syriac_full_stop_blocked (line 3041) | fn test_integrity_unicode_syriac_full_stop_blocked() { function test_integrity_unicode_nfd_decomposed_not_exploitable (line 3049) | fn test_integrity_unicode_nfd_decomposed_not_exploitable() { function test_contains_unicode_path_attack_detects_combining_overlay (line 3091) | fn test_contains_unicode_path_attack_detects_combining_overlay() { function test_contains_unicode_path_attack_detects_zero_width (line 3097) | fn test_contains_unicode_path_attack_detects_zero_width() { function test_contains_unicode_path_attack_detects_rtl_overrides (line 3105) | fn test_contains_unicode_path_attack_detects_rtl_overrides() { function test_contains_unicode_path_attack_detects_confusable_slashes (line 3113) | fn test_contains_unicode_path_attack_detects_confusable_slashes() { function test_contains_unicode_path_attack_detects_confusable_dots (line 3120) | fn test_contains_unicode_path_attack_detects_confusable_dots() { function test_detect_encoded_path_violation_rtl_override (line 3127) | fn test_detect_encoded_path_violation_rtl_override() { function test_detect_encoded_path_violation_zero_width_joiner (line 3133) | fn test_detect_encoded_path_violation_zero_width_joiner() { function test_detect_encoded_path_violation_fraction_slash (line 3139) | fn test_detect_encoded_path_violation_fraction_slash() { FILE: src/pages/wizard.rs type DeployTarget (line 34) | pub enum DeployTarget { method fmt (line 41) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type WizardState (line 52) | pub struct WizardState { method fmt (line 103) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 142) | fn default() -> Self { function truncate_sample_title (line 176) | fn truncate_sample_title(title: &str) -> String { type PagesWizard (line 184) | pub struct PagesWizard { method new (line 196) | pub fn new() -> Self { method set_db_path (line 204) | pub fn set_db_path(&mut self, db_path: PathBuf) { method set_no_encryption (line 209) | pub fn set_no_encryption(&mut self, no_encryption: bool) { method set_deploy_target (line 215) | pub fn set_deploy_target(&mut self, target: DeployTarget) { method set_repo_name (line 220) | pub fn set_repo_name(&mut self, name: String) { method set_cloudflare_branch (line 225) | pub fn set_cloudflare_branch(&mut self, branch: String) { method set_cloudflare_account_id (line 230) | pub fn set_cloudflare_account_id(&mut self, account_id: String) { method set_cloudflare_api_token (line 235) | pub fn set_cloudflare_api_token(&mut self, api_token: String) { method run (line 239) | pub fn run(&mut self) -> Result<()> { method step_unencrypted_warning (line 293) | fn step_unencrypted_warning(&mut self, term: &mut Term, theme: &Colorf... method print_header (line 370) | fn print_header(&self, term: &mut Term) -> Result<()> { method step_content_selection (line 384) | fn step_content_selection(&mut self, term: &mut Term, theme: &Colorful... method step_secret_scan (line 509) | fn step_secret_scan(&mut self, term: &mut Term, theme: &ColorfulTheme)... method step_security_config (line 567) | fn step_security_config(&mut self, term: &mut Term, theme: &ColorfulTh... method step_site_config (line 645) | fn step_site_config(&mut self, term: &mut Term, theme: &ColorfulTheme)... method step_deployment_target (line 682) | fn step_deployment_target(&mut self, term: &mut Term, theme: &Colorful... method step_summary (line 741) | fn step_summary(&mut self, term: &mut Term, theme: &ColorfulTheme) -> ... method generate_prepublish_summary (line 979) | fn generate_prepublish_summary(&self) -> Result { method edit_workspace_exclusions (line 1011) | fn edit_workspace_exclusions( method step_confirmation (line 1073) | fn step_confirmation(&mut self, term: &mut Term, theme: &ColorfulTheme... method confirm_secret_ack (line 1184) | fn confirm_secret_ack( method confirm_content_review (line 1242) | fn confirm_content_review( method confirm_public_warning (line 1288) | fn confirm_public_warning( method confirm_password_strength (line 1351) | fn confirm_password_strength( method confirm_recovery_key (line 1416) | fn confirm_recovery_key( method confirm_final (line 1458) | fn confirm_final( method step_export (line 1529) | fn step_export(&mut self, term: &mut Term) -> Result<()> { method deploy_site_dir (line 1834) | fn deploy_site_dir(&self) -> PathBuf { method deploy_project_name (line 1842) | fn deploy_project_name(&self) -> String { method step_deploy (line 1849) | fn step_deploy(&self, term: &mut Term) -> Result<()> { method default (line 190) | fn default() -> Self { function unencrypted_bundle_config (line 2088) | fn unencrypted_bundle_config(db_size: u64) -> serde_json::Value { function deploy_target_display (line 2110) | fn deploy_target_display() { function deploy_target_equality (line 2120) | fn deploy_target_equality() { function deploy_target_clone (line 2129) | fn deploy_target_clone() { function unencrypted_bundle_config_shape (line 2136) | fn unencrypted_bundle_config_shape() { function wizard_state_default_values (line 2159) | fn wizard_state_default_values() { function wizard_state_db_path_is_set (line 2206) | fn wizard_state_db_path_is_set() { function wizard_state_clone (line 2213) | fn wizard_state_clone() { function pages_wizard_new_initializes_default_state (line 2235) | fn pages_wizard_new_initializes_default_state() { function pages_wizard_default_impl (line 2242) | fn pages_wizard_default_impl() { function pages_wizard_set_no_encryption (line 2250) | fn pages_wizard_set_no_encryption() { function time_range_selection_mapping (line 2272) | fn time_range_selection_mapping() { function deploy_target_selection_mapping (line 2299) | fn deploy_target_selection_mapping() { function wizard_state_agents_modification (line 2320) | fn wizard_state_agents_modification() { function wizard_state_workspaces_modification (line 2336) | fn wizard_state_workspaces_modification() { function wizard_state_security_configuration (line 2352) | fn wizard_state_security_configuration() { function wizard_state_debug_redacts_sensitive_fields (line 2368) | fn wizard_state_debug_redacts_sensitive_fields() { function sample_title_truncation_is_utf8_boundary_safe (line 2387) | fn sample_title_truncation_is_utf8_boundary_safe() { function wizard_state_password_entropy (line 2402) | fn wizard_state_password_entropy() { function wizard_state_secret_scan_results (line 2411) | fn wizard_state_secret_scan_results() { function wizard_state_output_configuration (line 2425) | fn wizard_state_output_configuration() { function wizard_state_with_unicode_values (line 2441) | fn wizard_state_with_unicode_values() { function wizard_state_empty_strings (line 2455) | fn wizard_state_empty_strings() { FILE: src/pages_assets/attachments.js constant BLOB_NONCE_DOMAIN (line 14) | const BLOB_NONCE_DOMAIN = 'cass-blob-nonce-v1'; constant CACHE_CONFIG (line 17) | const CACHE_CONFIG = { function isCurrentEpoch (line 38) | function isCurrentEpoch(epoch) { function createAttachmentError (line 42) | function createAttachmentError(message, code) { function createInvalidationError (line 48) | function createInvalidationError() { function shouldCacheManifestAbsence (line 52) | function shouldCacheManifestAbsence(error) { function initAttachments (line 64) | async function initAttachments(dek, exportId) { function loadManifest (line 110) | async function loadManifest(dek, exportId) { function hasAttachments (line 166) | function hasAttachments() { function getManifest (line 174) | function getManifest() { function getMessageAttachments (line 183) | function getMessageAttachments(messageId) { function loadBlob (line 198) | async function loadBlob(hash, dek, exportId) { function loadBlobAsUrl (line 283) | async function loadBlobAsUrl(hash, mimeType, dek, exportId) { function deriveBlobNonce (line 351) | async function deriveBlobNonce(identifier) { function hexToBytes (line 384) | function hexToBytes(hex) { function normalizeBlobHash (line 392) | function normalizeBlobHash(hash) { function validateManifest (line 405) | function validateManifest(rawManifest) { function validateManifestEntry (line 426) | function validateManifestEntry(entry, index) { function cacheBlob (line 457) | function cacheBlob(hash, data) { function updateLru (line 485) | function updateLru(hash) { function evictOldest (line 496) | function evictOldest() { function clearCache (line 514) | function clearCache() { function reset (line 528) | function reset() { function getCacheStats (line 543) | function getCacheStats() { function createAttachmentElement (line 560) | function createAttachmentElement(entry, dek, exportId) { function createImageAttachment (line 579) | function createImageAttachment(entry, dek, exportId) { function loadImageAttachment (line 637) | async function loadImageAttachment(container, img, hash, mimeType, dek, ... function waitForImageLoad (line 662) | function waitForImageLoad(img, url) { function createPdfAttachment (line 690) | function createPdfAttachment(entry, dek, exportId) { function createDownloadAttachment (line 712) | function createDownloadAttachment(entry, dek, exportId) { function downloadAttachment (line 734) | async function downloadAttachment(entry, dek, exportId) { function escapeHtml (line 757) | function escapeHtml(text) { function formatSize (line 766) | function formatSize(bytes) { FILE: src/pages_assets/auth.js constant LEGACY_SESSION_KEYS (line 32) | const LEGACY_SESSION_KEYS = { function init (line 62) | async function init() { function cacheElements (line 120) | function cacheElements() { function setupEventListeners (line 146) | function setupEventListeners() { function allocateWorkerRequestId (line 186) | function allocateWorkerRequestId() { function beginAppInitAttempt (line 192) | function beginAppInitAttempt() { function isCurrentAppInitToken (line 197) | function isCurrentAppInitToken(token) { function invalidateAppInitAttempt (line 201) | function invalidateAppInitAttempt() { function beginQrScannerSession (line 205) | function beginQrScannerSession() { function invalidateQrScannerSession (line 210) | function invalidateQrScannerSession() { function isCurrentQrScannerSession (line 214) | function isCurrentQrScannerSession(sessionToken) { function clearWorkerKeys (line 218) | function clearWorkerKeys() { function clearActiveSessionExpiryTimer (line 226) | function clearActiveSessionExpiryTimer() { function clearActiveSessionExpiry (line 233) | function clearActiveSessionExpiry() { function expireActiveSession (line 238) | async function expireActiveSession() { function scheduleActiveSessionExpiry (line 248) | function scheduleActiveSessionExpiry(expiryTs) { function handleSessionVisibilityChange (line 270) | function handleSessionVisibilityChange() { function broadcastAuthLock (line 283) | function broadcastAuthLock(action = 'lock') { function isCurrentWorkerMessage (line 292) | function isCurrentWorkerMessage(type, requestId) { function loadConfig (line 315) | async function loadConfig() { function getSessionKeys (line 323) | function getSessionKeys() { function getTofuKey (line 332) | function getTofuKey() { function displayFingerprint (line 341) | async function displayFingerprint() { function setupUnencryptedMode (line 377) | function setupUnencryptedMode() { function verifyTofu (line 434) | async function verifyTofu(currentFingerprint, storageKey) { function displayTofuStatus (line 466) | function displayTofuStatus(result) { function showTofuWarning (line 492) | function showTofuWarning(result) { function acceptNewFingerprint (line 544) | function acceptNewFingerprint(newFingerprint) { function computeFingerprint (line 564) | async function computeFingerprint(data) { function formatFingerprint (line 575) | function formatFingerprint(bytes) { function handleUnlockClick (line 584) | async function handleUnlockClick(event) { function togglePasswordVisibility (line 629) | function togglePasswordVisibility() { function toggleFingerprintTooltip (line 645) | function toggleFingerprintTooltip() { function openQrScanner (line 652) | async function openQrScanner() { function closeQrScanner (line 705) | async function closeQrScanner() { function handleQrSuccess (line 723) | function handleQrSuccess(decodedText) { function handleQrError (line 757) | function handleQrError(error) { function handleWorkerMessage (line 767) | function handleWorkerMessage(event) { function handleWorkerError (line 820) | async function handleWorkerError(error) { function handleUnlockSuccess (line 851) | function handleUnlockSuccess(data) { function handleUnlockFailed (line 872) | function handleUnlockFailed(data) { function handleDecryptSuccess (line 889) | async function handleDecryptSuccess(data) { function handleDecryptFailed (line 950) | function handleDecryptFailed(data) { function handleDatabaseReady (line 972) | function handleDatabaseReady(data) { function recoverFromAppInitFailure (line 980) | async function recoverFromAppInitFailure(message, error, initToken = act... function transitionToApp (line 1010) | function transitionToApp() { function transitionToAppUnencrypted (line 1041) | async function transitionToAppUnencrypted() { function loadUnencryptedDatabase (line 1072) | async function loadUnencryptedDatabase(initToken = activeAppInitToken) { function getUnencryptedPayloadPath (line 1100) | function getUnencryptedPayloadPath() { function normalizeUnencryptedPayloadPath (line 1108) | function normalizeUnencryptedPayloadPath(rawPath) { function handleLockButtonClick (line 1166) | function handleLockButtonClick(event) { function handleExternalLockEvent (line 1176) | function handleExternalLockEvent(event) { function closeLiveDatabase (line 1189) | async function closeLiveDatabase() { function lockArchive (line 1201) | async function lockArchive(options = {}) { function loadQrScannerLibrary (line 1235) | async function loadQrScannerLibrary() { function waitForQrScannerTeardown (line 1262) | async function waitForQrScannerTeardown() { function finalizeQrScannerClose (line 1268) | async function finalizeQrScannerClose(scanner) { function checkExistingSession (line 1290) | function checkExistingSession() { function getPreferredSessionMode (line 1302) | function getPreferredSessionMode() { function getSessionStorage (line 1323) | function getSessionStorage(mode) { function persistSession (line 1337) | function persistSession(dekBase64, expiryTs = activeSessionExpiryTs) { function restoreSession (line 1362) | function restoreSession() { function clearStoredSession (line 1398) | function clearStoredSession() { function loadViewerModule (line 1424) | async function loadViewerModule(initToken = activeAppInitToken) { function showError (line 1435) | function showError(message) { function hideError (line 1446) | function hideError() { function showProgress (line 1453) | function showProgress(text) { function updateProgress (line 1462) | function updateProgress(phase, percent) { function hideProgress (line 1470) | function hideProgress() { function disableForm (line 1477) | function disableForm() { function enableForm (line 1486) | function enableForm() { function base64ToBytes (line 1495) | function base64ToBytes(base64) { function bootstrapCrossOriginIsolation (line 1504) | function bootstrapCrossOriginIsolation() { function startApp (line 1547) | function startApp() { FILE: src/pages_assets/coi-detector.js constant COI_STATE (line 16) | const COI_STATE = { function hashScopeId (line 28) | function hashScopeId(input) { function getSetupCompleteKey (line 37) | function getSetupCompleteKey() { function isSetupComplete (line 52) | function isSetupComplete() { function markSetupComplete (line 63) | function markSetupComplete() { function clearSetupComplete (line 74) | function clearSetupComplete() { function getCurrentServiceWorkerRegistration (line 82) | async function getCurrentServiceWorkerRegistration() { function isCrossOriginIsolated (line 98) | function isCrossOriginIsolated() { function isServiceWorkerActive (line 106) | async function isServiceWorkerActive() { function hasServiceWorkerRegistration (line 115) | async function hasServiceWorkerRegistration() { function isServiceWorkerSupported (line 123) | function isServiceWorkerSupported() { function isSharedArrayBufferAvailable (line 131) | function isSharedArrayBufferAvailable() { function getCOIState (line 144) | async function getCOIState() { function getArgon2Config (line 175) | function getArgon2Config() { function showInstallingUI (line 195) | function showInstallingUI(container) { function updateProgressStep (line 224) | function updateProgressStep(stepId, status) { function showReloadRequiredUI (line 255) | function showReloadRequiredUI(container, options = {}) { function showDegradedModeWarning (line 389) | function showDegradedModeWarning() { function hideStatusUI (line 415) | function hideStatusUI(container) { function initCOIDetection (line 434) | async function initCOIDetection({ function onServiceWorkerActivated (line 549) | function onServiceWorkerActivated(callback) { FILE: src/pages_assets/conversation.js constant VIRTUAL_CONFIG (line 20) | const VIRTUAL_CONFIG = { constant MEMORY_CONFIG (line 27) | const MEMORY_CONFIG = { constant SANITIZE_CONFIG (line 38) | const SANITIZE_CONFIG = { constant ALLOWED_TAGS (line 49) | const ALLOWED_TAGS = new Set(SANITIZE_CONFIG.ALLOWED_TAGS); constant ALLOWED_ATTR (line 50) | const ALLOWED_ATTR = new Set([...SANITIZE_CONFIG.ALLOWED_ATTR, 'target',... constant FORBID_TAGS (line 51) | const FORBID_TAGS = new Set(SANITIZE_CONFIG.FORBID_TAGS); constant FORBID_ATTR (line 52) | const FORBID_ATTR = new Set(SANITIZE_CONFIG.FORBID_ATTR); function initConversationViewer (line 76) | function initConversationViewer(container, backCallback) { function loadConversation (line 88) | async function loadConversation(conversationId, highlightMessageId = nul... function createAttachmentState (line 161) | function createAttachmentState() { function ensureAttachmentsReady (line 170) | async function ensureAttachmentsReady(loadId = activeConversationLoadId) { function render (line 221) | function render(conv, messages, highlightId) { function renderVirtualMessages (line 288) | function renderVirtualMessages(messages, highlightId) { function renderDirectMessages (line 320) | function renderDirectMessages(messages, highlightId) { function createMessageElement (line 333) | function createMessageElement(message, index, isHighlighted = false) { function highlightCodeInElement (line 373) | function highlightCodeInElement(element) { function destroyVirtualList (line 394) | function destroyVirtualList() { function renderMessage (line 404) | function renderMessage(message, index, isHighlighted = false) { function hydrateDirectMessageAttachments (line 432) | function hydrateDirectMessageAttachments(messages) { function appendAttachmentsToMessage (line 448) | function appendAttachmentsToMessage(messageElement, message) { function handleArchiveLock (line 480) | function handleArchiveLock() { function setupEventListeners (line 494) | function setupEventListeners() { function teardownDocumentListeners (line 520) | function teardownDocumentListeners() { function renderMarkdown (line 531) | function renderMarkdown(content) { function base64ToBytes (line 548) | function base64ToBytes(base64) { function sanitizeDestinationUrl (line 557) | function sanitizeDestinationUrl(value) { function simpleMarkdown (line 578) | function simpleMarkdown(text) { function sanitizeHtml (line 627) | function sanitizeHtml(html) { function applySyntaxHighlighting (line 674) | function applySyntaxHighlighting() { function scrollToMessage (line 695) | function scrollToMessage(messageId) { function copyConversation (line 711) | async function copyConversation() { function formatConversationAsText (line 731) | function formatConversationAsText(conv, messages) { function showCopyFeedback (line 758) | function showCopyFeedback(message) { function showError (line 784) | function showError(message) { function formatAgentName (line 809) | function formatAgentName(agent) { function formatDate (line 818) | function formatDate(timestamp) { function formatTime (line 835) | function formatTime(timestamp) { function formatDuration (line 848) | function formatDuration(ms) { function escapeHtml (line 867) | function escapeHtml(text) { function getCurrentConversationId (line 877) | function getCurrentConversationId() { function getCurrentConversation (line 884) | function getCurrentConversation() { function unloadOldestConversation (line 892) | function unloadOldestConversation() { function clearOldConversations (line 904) | function clearOldConversations(keepCount = 1) { function showMemoryWarning (line 920) | function showMemoryWarning() { function hideMemoryWarning (line 957) | function hideMemoryWarning() { function startMemoryMonitoring (line 967) | function startMemoryMonitoring() { function stopMemoryMonitoring (line 982) | function stopMemoryMonitoring() { function getCacheStats (line 994) | function getCacheStats() { function clearViewer (line 1008) | function clearViewer() { function cleanupConversationViewer (line 1019) | function cleanupConversationViewer() { function clearAllCache (line 1027) | function clearAllCache() { FILE: src/pages_assets/crypto_worker.js function hashScopeId (line 12) | function hashScopeId(input) { function getArchiveScopeId (line 21) | function getArchiveScopeId() { function getArchiveOpfsDbName (line 32) | function getArchiveOpfsDbName() { function getWorkerFailureMessageType (line 87) | function getWorkerFailureMessageType(type) { function handleUnlockPassword (line 102) | async function handleUnlockPassword(password, cfg, requestId) { function handleUnlockRecovery (line 141) | async function handleUnlockRecovery(recoverySecret, cfg, requestId) { function deriveKekFromPassword (line 193) | async function deriveKekFromPassword(password, slot) { function deriveKekFromRecovery (line 218) | async function deriveKekFromRecovery(secretBytes, slot) { function unwrapDek (line 249) | async function unwrapDek(kek, slot, exportId) { function handleDecryptDatabase (line 285) | async function handleDecryptDatabase(dekBase64, cfg, opfsEnabled, reques... function validateSupportedPayloadFormat (line 381) | function validateSupportedPayloadFormat(cfg) { function deriveChunkNonce (line 421) | function deriveChunkNonce(baseNonce, counter) { function buildChunkAad (line 439) | function buildChunkAad(exportId, chunkIndex) { function concatenateChunks (line 457) | function concatenateChunks(chunks) { function decompressDeflate (line 473) | async function decompressDeflate(compressed) { function initDatabase (line 506) | async function initDatabase(dbBytes, opfsEnabled, requestId) { function getConversationCount (line 557) | function getConversationCount(db) { function getMessageCount (line 569) | function getMessageCount(db) { function clearKeys (line 581) | function clearKeys() { function loadArgon2 (line 603) | async function loadArgon2() { function loadFflate (line 614) | async function loadFflate() { function loadSqlite (line 625) | async function loadSqlite() { function base64ToArray (line 636) | function base64ToArray(base64) { function normalizeBase64 (line 646) | function normalizeBase64(base64) { function arrayToBase64 (line 658) | function arrayToBase64(bytes) { FILE: src/pages_assets/database.js function initDatabase (line 20) | async function initDatabase(dbBytes) { function loadSqliteWasm (line 64) | async function loadSqliteWasm() { function writeBytesToOPFS (line 78) | async function writeBytesToOPFS(bytes) { function cleanupArchiveOpfsDatabaseFiles (line 86) | async function cleanupArchiveOpfsDatabaseFiles() { function withQuery (line 112) | function withQuery(sql, params = [], callback) { function queryAll (line 134) | function queryAll(sql, params = []) { function queryOne (line 150) | function queryOne(sql, params = []) { function queryValue (line 162) | function queryValue(sql, params = []) { function execute (line 174) | function execute(sql, params = []) { function getExportMeta (line 191) | function getExportMeta() { function getStatistics (line 204) | function getStatistics() { function getRecentConversations (line 218) | function getRecentConversations(limit = 50) { function getConversation (line 232) | function getConversation(convId) { function getConversationMessages (line 245) | function getConversationMessages(convId) { function isCodeQuery (line 279) | function isCodeQuery(query) { function escapeFts5Query (line 338) | function escapeFts5Query(query) { function searchConversations (line 360) | function searchConversations(query, options = {}) { function getConversationsByAgent (line 424) | function getConversationsByAgent(agent, limit = 50) { function getConversationsByWorkspace (line 440) | function getConversationsByWorkspace(workspace, limit = 50) { function getConversationsByTimeRange (line 457) | function getConversationsByTimeRange(since, until, limit = 50) { function getMemoryUsage (line 475) | function getMemoryUsage() { function checkMemoryPressure (line 494) | function checkMemoryPressure() { function closeDatabase (line 506) | function closeDatabase() { function isDatabaseReady (line 524) | function isDatabaseReady() { function detectSearchMode (line 535) | function detectSearchMode(query) { FILE: src/pages_assets/password-strength.js function validatePassword (line 43) | function validatePassword(password) { function estimateEntropy (line 125) | function estimateEntropy(password) { function getStrengthColor (line 155) | function getStrengthColor(strength) { function getStrengthPercent (line 171) | function getStrengthPercent(strength) { function getStrengthLabel (line 187) | function getStrengthLabel(strength) { function createStrengthMeter (line 202) | function createStrengthMeter(passwordInput, options = {}) { function escapeHtml (line 276) | function escapeHtml(str) { FILE: src/pages_assets/router.js constant ROUTES (line 17) | const ROUTES = { function parseRouteIdSegment (line 40) | function parseRouteIdSegment(segment) { function parseConversationRouteParts (line 49) | function parseConversationRouteParts(parts) { class Router (line 77) | class Router { method constructor (line 84) | constructor(options = {}) { method init (line 97) | init() { method destroy (line 110) | destroy() { method navigate (line 121) | navigate(path, options = {}) { method goHome (line 136) | goHome(query = null) { method goToConversation (line 149) | goToConversation(conversationId, messageId = null) { method goToSettings (line 160) | goToSettings() { method goToStats (line 167) | goToStats() { method back (line 174) | back() { method getCurrentRoute (line 182) | getCurrentRoute() { method _handleHashChange (line 190) | _handleHashChange() { method _parseHash (line 211) | _parseHash(hash) { method _matchRoute (line 243) | _matchRoute(path) { function createRouter (line 289) | function createRouter(options = {}) { function getRouter (line 303) | function getRouter() { function navigate (line 312) | function navigate(path, options = {}) { function getCurrentRoute (line 324) | function getCurrentRoute() { function buildConversationPath (line 334) | function buildConversationPath(conversationId, messageId = null) { function buildSearchPath (line 347) | function buildSearchPath(query = '', filters = {}) { function parseSearchParams (line 380) | function parseSearchParams(route) { FILE: src/pages_assets/search.js constant SEARCH_CONFIG (line 20) | const SEARCH_CONFIG = { function createEmptySearchFilters (line 32) | function createEmptySearchFilters() { function parseResultSelection (line 67) | function parseResultSelection(card) { function parseResultIndex (line 86) | function parseResultIndex(card) { function findRenderedResultCard (line 100) | function findRenderedResultCard(index) { function focusResultCardAtIndex (line 108) | function focusResultCardAtIndex(index, align = 'start') { function parseTimestampFilterValue (line 127) | function parseTimestampFilterValue(value) { function calculateTimeFilterRange (line 140) | function calculateTimeFilterRange(value) { function normalizeRouteFilters (line 158) | function normalizeRouteFilters(routeSearch = {}) { function syncAgentFilterControl (line 192) | function syncAgentFilterControl() { function syncTimeFilterControl (line 214) | function syncTimeFilterControl() { function syncFilterControls (line 240) | function syncFilterControls() { function buildResultCardId (line 245) | function buildResultCardId(result, index = 0) { function isCurrentSearchEpoch (line 255) | function isCurrentSearchEpoch(epoch) { function initSearch (line 264) | function initSearch(container, onSelect) { function renderSearchUI (line 284) | function renderSearchUI() { function cacheElements (line 354) | function cacheElements() { function setupEventListeners (line 370) | function setupEventListeners() { function populateFilters (line 506) | async function populateFilters() { function setSearchMode (line 531) | function setSearchMode(mode) { function updateSearchModeIndicator (line 547) | function updateSearchModeIndicator(query) { function updateTimeFilter (line 578) | function updateTimeFilter(value) { function handleSearch (line 589) | async function handleSearch(query) { function performSearch (line 621) | async function performSearch(epoch) { function loadRecentConversations (line 655) | async function loadRecentConversations(epoch = searchEpoch) { function renderResults (line 703) | function renderResults() { function renderVirtualResults (line 725) | function renderVirtualResults() { function renderDirectResults (line 751) | function renderDirectResults() { function sanitizeSnippet (line 762) | function sanitizeSnippet(html) { function createResultCard (line 777) | function createResultCard(result, index) { function createResultCardHtml (line 822) | function createResultCardHtml(result, index) { function getResultAriaLabel (line 851) | function getResultAriaLabel(result) { function destroyVirtualList (line 861) | function destroyVirtualList() { function resetResultsListLayout (line 868) | function resetResultsListLayout() { function destroyVirtualResultsView (line 878) | function destroyVirtualResultsView() { function updateResultCount (line 886) | function updateResultCount() { function announceToScreenReader (line 909) | function announceToScreenReader(message, epoch = searchEpoch) { function showLoading (line 927) | function showLoading() { function hideLoading (line 935) | function hideLoading() { function showNoResults (line 943) | function showNoResults() { function hideNoResults (line 952) | function hideNoResults() { function showError (line 959) | function showError(message) { function formatAgentName (line 974) | function formatAgentName(agent) { function formatWorkspace (line 985) | function formatWorkspace(workspace) { function formatTime (line 999) | function formatTime(timestamp) { function escapeHtml (line 1035) | function escapeHtml(text) { function setSearchQuery (line 1046) | async function setSearchQuery(query, options = {}) { function setSearchRoute (line 1072) | async function setSearchRoute(routeSearch = {}, options = {}) { function clearSearch (line 1096) | function clearSearch(options = {}) { function getSearchState (line 1142) | function getSearchState() { FILE: src/pages_assets/session.js constant SESSION_CONFIG (line 11) | const SESSION_CONFIG = { function getScopedSessionKeys (line 32) | function getScopedSessionKeys() { function encodeBytes (line 41) | function encodeBytes(bytes) { function decodeBytes (line 45) | function decodeBytes(base64) { function getPersistentStorages (line 49) | function getPersistentStorages() { class MemoryStorage (line 74) | class MemoryStorage { method constructor (line 75) | constructor() { method getItem (line 79) | getItem(key) { method setItem (line 83) | setItem(key, value) { method removeItem (line 87) | removeItem(key) { method clear (line 91) | clear() { class SessionManager (line 101) | class SessionManager { method constructor (line 102) | constructor(options = {}) { method startSession (line 126) | async startSession(dek, rememberMe = false) { method restoreSession (line 154) | async restoreSession() { method endSession (line 191) | endSession() { method extendSession (line 217) | extendSession(additionalMs = null) { method getDek (line 248) | getDek() { method isActive (line 256) | isActive() { method getRemainingTime (line 264) | getRemainingTime() { method setTimers (line 271) | setTimers(expiry) { method clearTimers (line 296) | clearTimers() { method getStorage (line 310) | getStorage() { method clearStorage (line 339) | clearStorage() { method setupCleanupHandlers (line 352) | setupCleanupHandlers() { method removeCleanupHandlers (line 364) | removeCleanupHandlers() { method handleVisibilityChange (line 376) | handleVisibilityChange() { method handleBeforeUnload (line 394) | handleBeforeUnload() { class ActivityMonitor (line 407) | class ActivityMonitor { method constructor (line 408) | constructor(sessionManager, options = {}) { method start (line 421) | start() { method stop (line 436) | stop() { method onActivity (line 451) | onActivity() { method getIdleTime (line 466) | getIdleTime() { function createSessionManager (line 474) | function createSessionManager(options = {}) { FILE: src/pages_assets/settings.js function getEffectiveStorageMode (line 35) | function getEffectiveStorageMode() { function initSettings (line 49) | async function initSettings(container, options = {}) { function render (line 61) | async function render() { function rerenderSettingsUI (line 277) | async function rerenderSettingsUI(reason) { function setupEventHandlers (line 288) | function setupEventHandlers(root) { function handleStorageModeChange (line 366) | async function handleStorageModeChange(e) { function handleOPFSToggle (line 400) | async function handleOPFSToggle(e) { function handleClearCurrentStorage (line 454) | async function handleClearCurrentStorage() { function handleClearOPFS (line 484) | async function handleClearOPFS() { function handleClearSWCache (line 510) | async function handleClearSWCache() { function handleClearAll (line 534) | async function handleClearAll() { function handleLockSession (line 578) | function handleLockSession() { function handleResetSession (line 596) | async function handleResetSession() { function applyTheme (line 650) | function applyTheme(theme) { function showNotification (line 663) | function showNotification(message, type = 'info') { function cleanupSettings (line 689) | function cleanupSettings() { FILE: src/pages_assets/share.js function getBaseUrl (line 18) | function getBaseUrl() { function getConversationLink (line 32) | function getConversationLink(conversationId, messageId = null) { function getSearchLink (line 44) | function getSearchLink(query, filters = {}) { function getSettingsLink (line 54) | function getSettingsLink() { function getStatsLink (line 63) | function getStatsLink() { function getHomeLink (line 72) | function getHomeLink() { function copyTextToClipboard (line 82) | async function copyTextToClipboard(text) { function copyLinkToClipboard (line 126) | async function copyLinkToClipboard(link) { function copyConversationLink (line 136) | async function copyConversationLink(conversationId, messageId = null) { function copySearchLink (line 148) | async function copySearchLink(query, filters = {}) { function shareLink (line 162) | async function shareLink(options) { function shareConversation (line 187) | async function shareConversation(conversationId, title, messageId = null) { function isWebShareAvailable (line 203) | function isWebShareAvailable() { function parseShareLink (line 212) | function parseShareLink(link) { FILE: src/pages_assets/stats.js function isCurrentAnalyticsEpoch (line 24) | function isCurrentAnalyticsEpoch(epoch) { function initStats (line 32) | function initStats(containerElement) { function loadAnalytics (line 40) | async function loadAnalytics() { function loadPrecomputedAnalytics (line 84) | async function loadPrecomputedAnalytics() { function computeAnalyticsFromDatabase (line 127) | function computeAnalyticsFromDatabase() { function renderStatsDashboard (line 305) | async function renderStatsDashboard() { function renderLoadingState (line 331) | function renderLoadingState() { function renderErrorState (line 351) | function renderErrorState(message) { function renderDashboard (line 381) | function renderDashboard(data) { function renderOverviewCard (line 547) | function renderOverviewCard(label, value, id) { function renderTimeSpan (line 561) | function renderTimeSpan(timeRange) { function getTimelineEntries (line 581) | function getTimelineEntries(timeline, view) { function getAvailableTimelineViews (line 588) | function getAvailableTimelineViews(timeline) { function getSelectedTimelineView (line 592) | function getSelectedTimelineView(timeline) { function formatTimelineViewLabel (line 600) | function formatTimelineViewLabel(view) { function renderTimelineChart (line 613) | function renderTimelineChart(timeline, view = currentTimelineView) { function getTimelineLabel (line 678) | function getTimelineLabel(d) { function renderTermsCloud (line 690) | function renderTermsCloud(terms) { function renderRoleBars (line 715) | function renderRoleBars(roles) { function applyDynamicStatsStyles (line 736) | function applyDynamicStatsStyles() { function setupTimelineControls (line 765) | function setupTimelineControls(timeline) { function formatAgentName (line 795) | function formatAgentName(agent) { function toCssSlug (line 801) | function toCssSlug(value, fallback = 'unknown') { function formatDate (line 815) | function formatDate(timestamp) { function formatRelativeTime (line 831) | function formatRelativeTime(timestamp) { function formatNumber (line 856) | function formatNumber(num) { function escapeHtml (line 866) | function escapeHtml(text) { function clearStatsCache (line 876) | function clearStatsCache() { function getAnalyticsData (line 891) | function getAnalyticsData() { FILE: src/pages_assets/storage.js constant STORAGE_PREFIX (line 25) | const STORAGE_PREFIX = 'cass-archive-'; constant ALL_ARCHIVE_DATA_PREFIX_RE (line 26) | const ALL_ARCHIVE_DATA_PREFIX_RE = /^cass-archive-[0-9a-f]{8}-data-/; constant ALL_ARCHIVE_PREF_PREFIX_RE (line 27) | const ALL_ARCHIVE_PREF_PREFIX_RE = /^cass-archive-[0-9a-f]{8}-pref-/; constant LEGACY_PREF_KEYS (line 28) | const LEGACY_PREF_KEYS = { constant KEYS (line 34) | const KEYS = { method MODE (line 35) | get MODE() { method OPFS_ENABLED (line 38) | get OPFS_ENABLED() { method LAST_UNLOCK (line 42) | get LAST_UNLOCK() { method DB_CACHED (line 45) | get DB_CACHED() { constant LEGACY_OPFS_DB_FILES (line 49) | const LEGACY_OPFS_DB_FILES = [ constant LEGACY_SESSION_KEYS (line 57) | const LEGACY_SESSION_KEYS = [ constant ALL_ARCHIVE_SESSION_KEY_RE (line 62) | const ALL_ARCHIVE_SESSION_KEY_RE = /^cass_(?:session_(?:dek|expiry)|unlo... constant ALL_ARCHIVE_TOFU_KEY_RE (line 63) | const ALL_ARCHIVE_TOFU_KEY_RE = /^cass_fingerprint_v2_[0-9a-f]{8}$/; function tryGetSessionStorage (line 75) | function tryGetSessionStorage() { function tryGetLocalStorage (line 86) | function tryGetLocalStorage() { function hashScopeId (line 97) | function hashScopeId(input) { function getArchiveScopeUrl (line 106) | function getArchiveScopeUrl() { function getArchiveScopeId (line 117) | function getArchiveScopeId() { function getArchivePreferencePrefix (line 121) | function getArchivePreferencePrefix() { function getArchiveDataPrefix (line 125) | function getArchiveDataPrefix() { function getArchiveDataKey (line 129) | function getArchiveDataKey(key) { function isArchiveDataEntryName (line 133) | function isArchiveDataEntryName(name) { function isArchivePreferenceKey (line 137) | function isArchivePreferenceKey(name) { function getCurrentArchiveSessionKeys (line 141) | function getCurrentArchiveSessionKeys() { function isArchiveSessionKey (line 151) | function isArchiveSessionKey(name) { function getCurrentArchiveTofuKey (line 155) | function getCurrentArchiveTofuKey() { function isArchiveTofuKey (line 159) | function isArchiveTofuKey(name) { function getServiceWorkerCachePrefix (line 163) | function getServiceWorkerCachePrefix() { function getArchiveOpfsDbFiles (line 167) | function getArchiveOpfsDbFiles() { function getArchiveOpfsPrimaryDbName (line 179) | function getArchiveOpfsPrimaryDbName() { function isCassOpfsDbFile (line 183) | function isCassOpfsDbFile(name) { function initStorage (line 194) | async function initStorage() { function getStorageMode (line 219) | function getStorageMode() { function getStoredMode (line 226) | function getStoredMode() { function getPersistedOpfsEnabled (line 238) | function getPersistedOpfsEnabled() { function isOpfsEnabled (line 249) | function isOpfsEnabled() { function setOpfsEnabled (line 256) | function setOpfsEnabled(enabled) { function setStorageMode (line 275) | async function setStorageMode(mode, migrate = false) { function isOPFSAvailable (line 310) | function isOPFSAvailable() { function initOPFS (line 317) | async function initOPFS() { function getOPFSRoot (line 330) | async function getOPFSRoot() { function setItem (line 342) | async function setItem(key, value) { function getItem (line 380) | async function getItem(key, defaultValue = null) { function removeItem (line 425) | async function removeItem(key) { function writeOPFSFile (line 460) | async function writeOPFSFile(filename, content) { function readOPFSFile (line 477) | async function readOPFSFile(filename) { function deleteOPFSFile (line 494) | async function deleteOPFSFile(filename) { function setBinaryItem (line 510) | async function setBinaryItem(key, data) { function getBinaryItem (line 538) | async function getBinaryItem(key) { function migrateStorage (line 561) | async function migrateStorage(fromMode, toMode) { function removeMapEntriesWithPrefix (line 640) | function removeMapEntriesWithPrefix(map, prefix) { function removeStorageEntriesWithPrefix (line 648) | function removeStorageEntriesWithPrefix(storage, prefix) { function removeStorageEntries (line 659) | function removeStorageEntries(storage, predicate) { function clearCurrentArchivePreferenceKeys (line 670) | function clearCurrentArchivePreferenceKeys(options = {}) { function clearCurrentArchiveSessionState (line 686) | function clearCurrentArchiveSessionState(currentSessionKeys, currentTofu... function clearCurrentStorage (line 704) | async function clearCurrentStorage() { function clearOPFS (line 749) | async function clearOPFS(options = {}) { function clearAllStorage (line 796) | async function clearAllStorage(options = {}) { function clearServiceWorkerCache (line 857) | async function clearServiceWorkerCache(options = {}) { function unregisterServiceWorker (line 891) | async function unregisterServiceWorker(options = {}) { function getStorageStats (line 919) | async function getStorageStats() { function isDatabaseCached (line 1023) | async function isDatabaseCached() { function formatBytes (line 1043) | function formatBytes(bytes) { FILE: src/pages_assets/sw-register.js constant DEFAULT_SW_MESSAGE_TIMEOUT_MS (line 10) | const DEFAULT_SW_MESSAGE_TIMEOUT_MS = 3000; function getCurrentScopeUrl (line 14) | function getCurrentScopeUrl() { function resolveRegistration (line 18) | async function resolveRegistration() { function postMessageWithReply (line 34) | async function postMessageWithReply(message, { timeoutMs = DEFAULT_SW_ME... function waitForControllerChange (line 62) | function waitForControllerChange({ timeoutMs = DEFAULT_SW_MESSAGE_TIMEOU... function registerServiceWorker (line 88) | async function registerServiceWorker() { function hasSharedArrayBuffer (line 128) | function hasSharedArrayBuffer() { function setupUpdateListener (line 140) | function setupUpdateListener(reg) { function showUpdateNotification (line 179) | function showUpdateNotification() { function applyUpdate (line 247) | async function applyUpdate() { function isUpdateAvailable (line 263) | function isUpdateAvailable() { function getRegistration (line 271) | async function getRegistration() { function unregisterServiceWorker (line 278) | async function unregisterServiceWorker() { function clearCache (line 303) | async function clearCache(options = {}) { function getVersion (line 318) | async function getVersion(options = {}) { method isSupported (line 325) | get isSupported() { method isRegistered (line 328) | get isRegistered() { method isActive (line 332) | get isActive() { method hasSharedArrayBuffer (line 336) | get hasSharedArrayBuffer() { method updateAvailable (line 339) | get updateAvailable() { FILE: src/pages_assets/sw.js constant CACHE_VERSION (line 8) | const CACHE_VERSION = 'v3'; constant STATIC_ASSETS (line 9) | const STATIC_ASSETS = [ constant LOG (line 26) | const LOG = { function hashScopeId (line 35) | function hashScopeId(input) { function getCacheScopeUrl (line 44) | function getCacheScopeUrl() { function getCacheName (line 52) | function getCacheName() { function getCachePrefix (line 56) | function getCachePrefix() { function log (line 60) | function log(level, ...args) { function handleFetch (line 158) | async function handleFetch(request) { function addSecurityHeaders (line 224) | function addSecurityHeaders(response) { FILE: src/pages_assets/viewer.js function init (line 68) | function init() { function ensureDatabaseReadyListener (line 99) | function ensureDatabaseReadyListener() { function handleDatabaseReady (line 111) | function handleDatabaseReady(event) { function initializeViews (line 127) | function initializeViews() { function refreshAfterDatabaseReady (line 173) | function refreshAfterDatabaseReady() { function createViewContainers (line 215) | function createViewContainers() { function setupNavLinks (line 250) | function setupNavLinks() { function updateActiveNavLink (line 263) | function updateActiveNavLink(activeView) { function handleRouteChange (line 277) | function handleRouteChange(route) { function handleSearchRoute (line 322) | function handleSearchRoute(route = { query: {} }) { function handleConversationRoute (line 359) | function handleConversationRoute(conversationId, messageId = null) { function handleSettingsRoute (line 387) | function handleSettingsRoute() { function handleStatsRoute (line 410) | function handleStatsRoute() { function handleNotFoundRoute (line 433) | function handleNotFoundRoute(path) { function showViewContainer (line 454) | function showViewContainer(viewName) { function displayStats (line 486) | function displayStats() { function renderSettingsPanel (line 516) | function renderSettingsPanel() { function initializeSettingsAfterStorageReady (line 529) | async function initializeSettingsAfterStorageReady(result, lifecycleEpoc... function renderSettingsPanelAfterStorageReady (line 556) | async function renderSettingsPanelAfterStorageReady(result) { function renderSettingsPanelNow (line 571) | async function renderSettingsPanelNow() { function applyTheme (line 583) | function applyTheme(theme) { function applyStoredTheme (line 593) | function applyStoredTheme() { function renderStatsPanel (line 606) | function renderStatsPanel() { function renderNotFoundPanel (line 614) | function renderNotFoundPanel(path) { function renderSettingsErrorPanel (line 627) | function renderSettingsErrorPanel(message) { function handleResultSelect (line 647) | function handleResultSelect(conversationId, messageId = null) { function handleBackToSearch (line 657) | function handleBackToSearch() { function syncLockedViewerState (line 667) | function syncLockedViewerState() { function handleSessionReset (line 690) | function handleSessionReset(action) { function handleGlobalLock (line 698) | function handleGlobalLock(event) { function navigateToConversation (line 710) | function navigateToConversation(conversationId, messageId = null) { function navigateToSearch (line 719) | function navigateToSearch(query = null, filters = {}) { function getCurrentShareLink (line 728) | function getCurrentShareLink() { function copyCurrentLink (line 738) | async function copyCurrentLink() { function shareCurrentConversation (line 754) | async function shareCurrentConversation() { function showNotification (line 767) | function showNotification(message, type = 'info') { function formatAgentName (line 796) | function formatAgentName(agent) { function formatDate (line 806) | function formatDate(timestamp) { function escapeHtml (line 822) | function escapeHtml(text) { function cleanup (line 832) | function cleanup() { function getState (line 859) | function getState() { function getViewerRouter (line 866) | function getViewerRouter() { FILE: src/pages_assets/virtual-list.js class VirtualList (line 22) | class VirtualList { method constructor (line 33) | constructor({ container, itemHeight, totalCount, renderItem, overscan ... method _init (line 61) | _init() { method _createThrottledHandler (line 93) | _createThrottledHandler(fn, wait) { method _onResize (line 117) | _onResize() { method _onScroll (line 129) | _onScroll() { method _isNearEnd (line 146) | _isNearEnd() { method _getVisibleRange (line 156) | _getVisibleRange() { method _render (line 170) | _render() { method updateTotalCount (line 221) | updateTotalCount(newCount) { method scrollToIndex (line 235) | scrollToIndex(index, align = 'start') { method refresh (line 252) | refresh() { method getVisibleRange (line 266) | getVisibleRange() { method getMetrics (line 274) | getMetrics() { method destroy (line 281) | destroy() { class VariableHeightVirtualList (line 322) | class VariableHeightVirtualList { method constructor (line 332) | constructor({ container, totalCount, estimatedItemHeight, renderItem, ... method _init (line 360) | _init() { method _calculatePositions (line 409) | _calculatePositions() { method _updateTotalHeight (line 423) | _updateTotalHeight() { method _getItemHeight (line 432) | _getItemHeight(index) { method _getItemPosition (line 440) | _getItemPosition(index) { method _findIndexAtPosition (line 448) | _findIndexAtPosition(scrollTop) { method _onResize (line 468) | _onResize() { method _onScroll (line 480) | _onScroll() { method _getVisibleRange (line 492) | _getVisibleRange() { method _render (line 505) | _render() { method _measureItem (line 559) | _measureItem(index, element) { method scrollToIndex (line 591) | scrollToIndex(index, align = 'start') { method updateTotalCount (line 610) | updateTotalCount(newCount) { method refresh (line 621) | refresh() { method destroy (line 633) | destroy() { FILE: src/perf_evidence.rs constant PERF_EVIDENCE_SCHEMA_VERSION (line 16) | pub const PERF_EVIDENCE_SCHEMA_VERSION: &str = "1"; type PerfWorkloadKind (line 20) | pub enum PerfWorkloadKind { type PerfPhaseKind (line 34) | pub enum PerfPhaseKind { type PerfProofStatus (line 48) | pub enum PerfProofStatus { type PerfCountPrecision (line 58) | pub enum PerfCountPrecision { type PerfEvidenceLedger (line 67) | pub struct PerfEvidenceLedger { method new (line 93) | pub fn new(run_id: impl Into, workload: PerfWorkload, recorded... method validate (line 111) | pub fn validate(&self) -> Result<(), PerfEvidenceValidationError> { type PerfWorkload (line 189) | pub struct PerfWorkload { method new (line 201) | pub fn new(kind: PerfWorkloadKind, name: impl Into) -> Self { type PerfCount (line 213) | pub struct PerfCount { type PerfMachineProfile (line 220) | pub struct PerfMachineProfile { type PerfPhaseTiming (line 232) | pub struct PerfPhaseTiming { method new (line 247) | pub fn new(name: impl Into, kind: PerfPhaseKind, elapsed_ms: u... type PerfResourceSnapshot (line 261) | pub struct PerfResourceSnapshot { type PerfCacheSnapshot (line 277) | pub struct PerfCacheSnapshot { type PerfSearchSnapshot (line 291) | pub struct PerfSearchSnapshot { type PerfRebuildSnapshot (line 306) | pub struct PerfRebuildSnapshot { type PerfProofSummary (line 320) | pub struct PerfProofSummary { type PerfArtifactRef (line 334) | pub struct PerfArtifactRef { type PerfEvidenceValidationError (line 343) | pub enum PerfEvidenceValidationError { method fmt (line 376) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function quantile_order_violated (line 440) | fn quantile_order_violated(lower: Option, upper: Option) -> bo... type PerfEvidenceIoError (line 445) | pub enum PerfEvidenceIoError { method fmt (line 452) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method from (line 472) | fn from(err: io::Error) -> Self { method from (line 478) | fn from(err: serde_json::Error) -> Self { method from (line 484) | fn from(err: PerfEvidenceValidationError) -> Self { method source (line 462) | fn source(&self) -> Option<&(dyn Error + 'static)> { function read_perf_evidence_ledger (line 489) | pub fn read_perf_evidence_ledger( function write_perf_evidence_ledger (line 498) | pub fn write_perf_evidence_ledger( type PerfEvidenceRecorderError (line 521) | pub enum PerfEvidenceRecorderError { method fmt (line 528) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method from (line 551) | fn from(err: PerfEvidenceValidationError) -> Self { method source (line 542) | fn source(&self) -> Option<&(dyn Error + 'static)> { type ActivePerfPhase (line 557) | struct ActivePerfPhase { type PerfEvidenceRecorder (line 570) | pub struct PerfEvidenceRecorder { method new (line 576) | pub fn new(run_id: impl Into, workload: PerfWorkload, recorded... method start (line 583) | pub fn start(run_id: impl Into, workload: PerfWorkload) -> Self { method ledger (line 587) | pub fn ledger(&self) -> &PerfEvidenceLedger { method machine (line 591) | pub fn machine(&mut self, machine: PerfMachineProfile) -> &mut Self { method resource_snapshot (line 596) | pub fn resource_snapshot(&mut self, resources: PerfResourceSnapshot) -... method cache_snapshot (line 601) | pub fn cache_snapshot(&mut self, cache: PerfCacheSnapshot) -> &mut Self { method search_snapshot (line 606) | pub fn search_snapshot(&mut self, search: PerfSearchSnapshot) -> &mut ... method rebuild_snapshot (line 611) | pub fn rebuild_snapshot(&mut self, rebuild: PerfRebuildSnapshot) -> &m... method proof_summary (line 616) | pub fn proof_summary(&mut self, proof: PerfProofSummary) -> &mut Self { method env_kv (line 621) | pub fn env_kv(&mut self, key: impl Into, value: impl Into &mut Self { method record_phase (line 631) | pub fn record_phase( method begin_phase (line 640) | pub fn begin_phase( method finish_phase (line 658) | pub fn finish_phase(&mut self) -> Result<&mut Self, PerfEvidenceRecord... method finish (line 670) | pub fn finish(mut self) -> Result bool { method max (line 692) | fn max(self, other: Self) -> Self { type PerfReplayMetric (line 703) | pub enum PerfReplayMetric { type PerfReplayFinding (line 713) | pub struct PerfReplayFinding { type PerfReplayLogEvent (line 728) | pub struct PerfReplayLogEvent { type PerfReplayReport (line 741) | pub struct PerfReplayReport { method should_fail_build (line 753) | pub fn should_fail_build(&self) -> bool { method new (line 757) | fn new(current: &PerfEvidenceLedger, baseline: Option<&PerfEvidenceLed... method add_finding (line 767) | fn add_finding(&mut self, finding: PerfReplayFinding) { method log (line 772) | fn log( type PerfReplayThresholds (line 792) | pub struct PerfReplayThresholds { method defaults (line 800) | pub fn defaults() -> Self { method try_new (line 809) | pub fn try_new( method default (line 835) | fn default() -> Self { type PerfReplayGate (line 841) | pub struct PerfReplayGate { method new (line 846) | pub fn new(thresholds: PerfReplayThresholds) -> Self { method replay (line 850) | pub fn replay( method replay_with_artifact (line 858) | pub fn replay_with_artifact( method replay_files (line 968) | pub fn replay_files

( method evaluate_measurement_coverage (line 985) | fn evaluate_measurement_coverage( method evaluate_proof_status (line 1022) | fn evaluate_proof_status(&self, current: &PerfEvidenceLedger, report: ... method evaluate_proof_p99 (line 1046) | fn evaluate_proof_p99(&self, current: &PerfEvidenceLedger, report: &mu... method evaluate_composed_p99 (line 1062) | fn evaluate_composed_p99( method evaluate_total_elapsed (line 1089) | fn evaluate_total_elapsed( method add_threshold_finding (line 1113) | fn add_threshold_finding( function validate_phase (line 1144) | fn validate_phase( function composed_p99_ms (line 1160) | fn composed_p99_ms(ledger: &PerfEvidenceLedger) -> Option { function total_elapsed_ms (line 1170) | fn total_elapsed_ms(ledger: &PerfEvidenceLedger) -> i64 { function basis_points_delta (line 1179) | fn basis_points_delta(baseline: i64, current: i64) -> Option { function validate_threshold_pair (line 1194) | fn validate_threshold_pair( function now_unix_ms (line 1216) | fn now_unix_ms() -> i64 { function sha256_hex (line 1223) | fn sha256_hex(bytes: &[u8]) -> String { function representative_ledger (line 1235) | fn representative_ledger() -> PerfEvidenceLedger { function phase (line 1317) | fn phase( function recorder_accumulates_phases_snapshots_and_artifacts (line 1340) | fn recorder_accumulates_phases_snapshots_and_artifacts() { function recorder_rejects_overlapping_or_missing_active_phase (line 1406) | fn recorder_rejects_overlapping_or_missing_active_phase() { function replay_gate_detects_p99_and_elapsed_regressions (line 1429) | fn replay_gate_detects_p99_and_elapsed_regressions() { function replay_gate_warns_on_inconclusive_proof_and_fails_on_failed_proof (line 1467) | fn replay_gate_warns_on_inconclusive_proof_and_fails_on_failed_proof() { function replay_gate_uses_proof_reported_p99_without_baseline (line 1497) | fn replay_gate_uses_proof_reported_p99_without_baseline() { function replay_gate_warns_when_current_ledger_has_no_measurements (line 1515) | fn replay_gate_warns_when_current_ledger_has_no_measurements() { function replay_thresholds_reject_unreachable_warning_bands (line 1536) | fn replay_thresholds_reject_unreachable_warning_bands() { function replay_log_events_include_command_shape_and_artifact_context (line 1550) | fn replay_log_events_include_command_shape_and_artifact_context() { function representative_ledger_validates_and_round_trips_json (line 1584) | fn representative_ledger_validates_and_round_trips_json() { function future_top_level_fields_are_ignored_by_old_readers (line 1603) | fn future_top_level_fields_are_ignored_by_old_readers() { function validation_rejects_missing_identity_fields (line 1624) | fn validation_rejects_missing_identity_fields() { function validation_rejects_unsupported_schema_and_negative_time (line 1642) | fn validation_rejects_unsupported_schema_and_negative_time() { function validation_rejects_bad_phase_and_artifact_entries (line 1663) | fn validation_rejects_bad_phase_and_artifact_entries() { function validation_rejects_empty_nested_snapshot_fields (line 1703) | fn validation_rejects_empty_nested_snapshot_fields() { function representative_ledger_covers_tail_decomposition_phase_kinds (line 1756) | fn representative_ledger_covers_tail_decomposition_phase_kinds() { function enum_serialization_is_stable_snake_case (line 1781) | fn enum_serialization_is_stable_snake_case() { FILE: src/policy_registry.rs constant POLICY_REGISTRY_SCHEMA_VERSION (line 14) | pub const POLICY_REGISTRY_SCHEMA_VERSION: &str = "1"; type PolicyRegistrySnapshot (line 17) | pub struct PolicyRegistrySnapshot { method new (line 23) | pub fn new(mut controllers: Vec) -> Self { method controller_ids (line 31) | pub fn controller_ids(&self) -> BTreeSet<&str> { type PolicyControllerSnapshot (line 40) | pub struct PolicyControllerSnapshot { type PolicyControllerStatus (line 54) | pub enum PolicyControllerStatus { type PolicyFallbackState (line 62) | pub enum PolicyFallbackState { function policy_registry_snapshot (line 68) | pub fn policy_registry_snapshot( function semantic_policy_controller_snapshot (line 84) | pub fn semantic_policy_controller_snapshot( function lexical_rebuild_policy_controller_snapshot (line 208) | pub fn lexical_rebuild_policy_controller_snapshot(pipeline: &Value) -> P... function insert_json_input (line 258) | fn insert_json_input(inputs: &mut BTreeMap, key: &str, v... function json_input_string (line 267) | fn json_input_string(value: &Value) -> String { function registry_snapshot_is_deterministic_and_sorted (line 284) | fn registry_snapshot_is_deterministic_and_sorted() { function semantic_policy_snapshot_reports_lexical_fallback_without_changing_policy (line 304) | fn semantic_policy_snapshot_reports_lexical_fallback_without_changing_po... function semantic_policy_snapshot_reports_disabled_lexical_only_policy (line 317) | fn semantic_policy_snapshot_reports_disabled_lexical_only_policy() { function lexical_rebuild_snapshot_uses_only_supplied_pipeline_json (line 333) | fn lexical_rebuild_snapshot_uses_only_supplied_pipeline_json() { function pipeline_fixture (line 346) | fn pipeline_fixture() -> Value { FILE: src/query_cost_planner.rs constant QUERY_COST_PLAN_SCHEMA_VERSION (line 9) | pub const QUERY_COST_PLAN_SCHEMA_VERSION: &str = "1"; type QueryCostPlan (line 12) | pub struct QueryCostPlan { type QueryPhasePlan (line 23) | pub struct QueryPhasePlan { type QueryPhase (line 33) | pub enum QueryPhase { type PhaseBudget (line 42) | pub struct PhaseBudget { type BudgetExhaustion (line 50) | pub struct BudgetExhaustion { type BudgetExhaustionKind (line 57) | pub enum BudgetExhaustionKind { type ResultIdentityContinuity (line 64) | pub struct ResultIdentityContinuity { type CachePlan (line 77) | pub struct CachePlan { type QueryCostPlanInput (line 86) | pub struct QueryCostPlanInput { function build_query_cost_plan (line 112) | pub fn build_query_cost_plan(input: QueryCostPlanInput) -> QueryCostPlan { function budget_exhaustion (line 209) | fn budget_exhaustion(input: &QueryCostPlanInput) -> Option ResultIdent... function cache_plan (line 265) | fn cache_plan(input: &QueryCostPlanInput) -> CachePlan { function lexical_reason (line 287) | fn lexical_reason(input: &QueryCostPlanInput, realized: bool) -> String { function semantic_reason (line 297) | fn semantic_reason(input: &QueryCostPlanInput, realized: bool) -> String { function output_reason (line 312) | fn output_reason(input: &QueryCostPlanInput) -> String { function base_input (line 330) | fn base_input() -> QueryCostPlanInput { function no_limit_token_budget_reports_token_exhaustion (line 359) | fn no_limit_token_budget_reports_token_exhaustion() { function huge_snippet_projection_keeps_budget_reason_explicit (line 381) | fn huge_snippet_projection_keeps_budget_reason_explicit() { function semantic_unavailable_records_planned_but_unrealized_semantic_phase (line 400) | fn semantic_unavailable_records_planned_but_unrealized_semantic_phase() { function cache_hit_and_miss_stats_stay_truthful (line 420) | fn cache_hit_and_miss_stats_stay_truthful() { function cursor_continuation_preserves_identity_window (line 435) | fn cursor_continuation_preserves_identity_window() { function empty_offset_page_still_realizes_output_phase (line 458) | fn empty_offset_page_still_realizes_output_phase() { FILE: src/raw_mirror.rs constant RAW_MIRROR_SCHEMA_VERSION (line 12) | const RAW_MIRROR_SCHEMA_VERSION: u32 = 1; constant RAW_MIRROR_ROOT_DIR (line 13) | const RAW_MIRROR_ROOT_DIR: &str = "raw-mirror"; constant RAW_MIRROR_VERSION_DIR (line 14) | const RAW_MIRROR_VERSION_DIR: &str = "v1"; constant RAW_MIRROR_MANIFEST_KIND (line 15) | const RAW_MIRROR_MANIFEST_KIND: &str = "cass_raw_session_mirror_v1"; constant RAW_MIRROR_HASH_ALGORITHM (line 16) | const RAW_MIRROR_HASH_ALGORITHM: &str = "blake3"; constant RAW_MIRROR_BLOB_EXTENSION (line 17) | const RAW_MIRROR_BLOB_EXTENSION: &str = "raw"; type RawMirrorCaptureInput (line 25) | pub(crate) struct RawMirrorCaptureInput<'a> { type RawMirrorCaptureRecord (line 36) | pub(crate) struct RawMirrorCaptureRecord { type RawMirrorDbLink (line 48) | pub(crate) struct RawMirrorDbLink { type RawMirrorBlobCacheKey (line 56) | struct RawMirrorBlobCacheKey { type RawMirrorBlobRecord (line 65) | struct RawMirrorBlobRecord { type RawMirrorCompressionEnvelope (line 71) | struct RawMirrorCompressionEnvelope { type RawMirrorEncryptionEnvelope (line 78) | struct RawMirrorEncryptionEnvelope { type RawMirrorVerificationRecord (line 86) | struct RawMirrorVerificationRecord { type RawMirrorManifestFile (line 94) | struct RawMirrorManifestFile { function capture_source_file (line 119) | pub(crate) fn capture_source_file( function merge_manifest_db_links (line 258) | pub(crate) fn merge_manifest_db_links( type CopyToTempResult (line 271) | struct CopyToTempResult { function copy_source_to_private_temp (line 277) | fn copy_source_to_private_temp( function open_stable_source_file (line 321) | fn open_stable_source_file(source_path: &Path, expected_metadata: &fs::M... function same_source_identity (line 351) | fn same_source_identity(expected: &fs::Metadata, actual: &fs::Metadata) ... function same_source_identity (line 357) | fn same_source_identity(_expected: &fs::Metadata, actual: &fs::Metadata)... function source_identity_token (line 362) | fn source_identity_token(metadata: &fs::Metadata) -> Option { function source_identity_token (line 368) | fn source_identity_token(_metadata: &fs::Metadata) -> Option { function source_file_changed_during_capture (line 372) | fn source_file_changed_during_capture( function publish_content_addressed_temp (line 385) | fn publish_content_addressed_temp( function publish_manifest_bytes_create_new (line 421) | fn publish_manifest_bytes_create_new( function merge_raw_mirror_manifest_db_links (line 468) | fn merge_raw_mirror_manifest_db_links( function replace_manifest_bytes (line 508) | fn replace_manifest_bytes(root: &Path, manifest_path: &Path, manifest_by... function raw_mirror_manifest_path_from_relative (line 546) | fn raw_mirror_manifest_path_from_relative(root: &Path, relative_path: &s... function verify_existing_file (line 581) | fn verify_existing_file(path: &Path, expected_blake3: &str) -> Result<()> { function verify_existing_manifest (line 595) | fn verify_existing_manifest(path: &Path, expected_blob_blake3: &str) -> ... function read_raw_mirror_manifest (line 609) | fn read_raw_mirror_manifest(path: &Path) -> Result { function raw_mirror_root (line 630) | fn raw_mirror_root(data_dir: &Path) -> PathBuf { function raw_mirror_blob_cache_key (line 636) | fn raw_mirror_blob_cache_key( function cached_raw_mirror_blob_record (line 649) | fn cached_raw_mirror_blob_record( function cache_raw_mirror_blob_record (line 672) | fn cache_raw_mirror_blob_record(key: RawMirrorBlobCacheKey, record: RawM... function raw_mirror_blob_relative_path (line 679) | fn raw_mirror_blob_relative_path(blob_blake3: &str) -> Option { function raw_mirror_manifest_relative_path (line 693) | fn raw_mirror_manifest_relative_path(manifest_id: &str) -> String { function raw_mirror_original_path_blake3 (line 697) | fn raw_mirror_original_path_blake3(original_path: &str) -> String { function raw_mirror_manifest_id (line 705) | fn raw_mirror_manifest_id( function raw_mirror_manifest_blake3 (line 726) | fn raw_mirror_manifest_blake3(manifest: &RawMirrorManifestFile) -> String { function canonical_blake3 (line 734) | fn canonical_blake3(prefix: &str, value: Value) -> String { function canonical_json_value (line 743) | fn canonical_json_value(value: Value) -> Value { function unique_db_links (line 759) | fn unique_db_links(links: &[RawMirrorDbLink]) -> Vec { function file_blake3 (line 779) | fn file_blake3(path: &Path) -> Result { function ensure_private_dir (line 795) | fn ensure_private_dir(path: &Path) -> Result<()> { function private_create_new_file (line 802) | fn private_create_new_file(path: &Path) -> Result { function create_private_dir_all (line 814) | fn create_private_dir_all(path: &Path) -> std::io::Result<()> { function create_private_dir_all (line 822) | fn create_private_dir_all(path: &Path) -> std::io::Result<()> { function set_private_create_file_mode (line 827) | fn set_private_create_file_mode(options: &mut OpenOptions) { function set_private_create_file_mode (line 834) | fn set_private_create_file_mode(_options: &mut OpenOptions) {} function sync_file (line 836) | fn sync_file(path: &Path) -> Result<()> { function sync_parent (line 842) | fn sync_parent(path: &Path) -> Result<()> { function unique_temp_path (line 851) | fn unique_temp_path(dir: &Path, label: &str) -> PathBuf { function unique_capture_temp_dir (line 865) | fn unique_capture_temp_dir(root: &Path) -> PathBuf { function remove_temp_best_effort (line 879) | fn remove_temp_best_effort(path: &Path) { function remove_empty_temp_dir_best_effort (line 889) | fn remove_empty_temp_dir_best_effort(path: &Path) { function redacted_original_path (line 899) | fn redacted_original_path(provider: &str, source_path: &Path) -> String { function now_ms (line 907) | fn now_ms() -> i64 { function system_time_to_ms (line 911) | fn system_time_to_ms(time: SystemTime) -> Option { function system_time_to_ns (line 917) | fn system_time_to_ns(time: SystemTime) -> Option { function set_private_dir_permissions (line 924) | fn set_private_dir_permissions(path: &Path) -> Result<()> { function set_private_dir_permissions (line 931) | fn set_private_dir_permissions(_path: &Path) -> Result<()> { function set_private_file_permissions (line 936) | fn set_private_file_permissions(path: &Path) -> Result<()> { function set_private_file_permissions (line 943) | fn set_private_file_permissions(_path: &Path) -> Result<()> { function capture_source_file_writes_doctor_compatible_manifest_idempotently (line 952) | fn capture_source_file_writes_doctor_compatible_manifest_idempotently() { function capture_source_file_merges_db_links_into_existing_manifest (line 1070) | fn capture_source_file_merges_db_links_into_existing_manifest() { function merge_manifest_db_links_rejects_hostile_relative_paths (line 1129) | fn merge_manifest_db_links_rejects_hostile_relative_paths() { function merge_manifest_db_links_rejects_symlink_manifest_path (line 1157) | fn merge_manifest_db_links_rejects_symlink_manifest_path() { function capture_source_file_deduplicates_blob_for_distinct_source_paths (line 1186) | fn capture_source_file_deduplicates_blob_for_distinct_source_paths() { function capture_source_file_rejects_non_file_sources (line 1236) | fn capture_source_file_rejects_non_file_sources() { function capture_source_file_rejects_unreadable_sources_without_manifest (line 1264) | fn capture_source_file_rejects_unreadable_sources_without_manifest() { function capture_source_file_rejects_symlink_sources (line 1298) | fn capture_source_file_rejects_symlink_sources() { FILE: src/search/ann_index.rs type AnnSearchStats (line 15) | pub struct AnnSearchStats { function hnsw_index_path (line 39) | pub fn hnsw_index_path(data_dir: &Path, embedder_id: &str) -> PathBuf { function hnsw_index_path_uses_expected_layout (line 50) | fn hnsw_index_path_uses_expected_layout() { FILE: src/search/asset_state.rs type SearchMaintenanceMode (line 41) | pub(crate) enum SearchMaintenanceMode { method as_lock_value (line 49) | pub(crate) fn as_lock_value(self) -> &'static str { method parse_lock_value (line 58) | pub(crate) fn parse_lock_value(raw: &str) -> Option { method watch_active (line 68) | pub(crate) fn watch_active(self) -> bool { method rebuild_active (line 72) | pub(crate) fn rebuild_active(self) -> bool { type SearchMaintenanceJobKind (line 78) | pub(crate) enum SearchMaintenanceJobKind { method as_lock_value (line 84) | pub(crate) fn as_lock_value(self) -> &'static str { method parse_lock_value (line 91) | pub(crate) fn parse_lock_value(raw: &str) -> Option { type SearchMaintenanceSnapshot (line 101) | pub(crate) struct SearchMaintenanceSnapshot { function read_search_maintenance_snapshot (line 114) | pub(crate) fn read_search_maintenance_snapshot(data_dir: &Path) -> Searc... type SemanticPreference (line 230) | pub(crate) enum SemanticPreference { type SearchAssetSnapshot (line 236) | pub(crate) struct SearchAssetSnapshot { type LexicalAssetState (line 242) | pub(crate) struct LexicalAssetState { type LexicalFingerprintState (line 263) | pub(crate) struct LexicalFingerprintState { type LexicalCheckpointState (line 270) | pub(crate) struct LexicalCheckpointState { type SemanticAssetState (line 280) | pub(crate) struct SemanticAssetState { type SemanticRuntimeSurface (line 301) | struct SemanticRuntimeSurface { type SemanticRuntimeInputs (line 314) | struct SemanticRuntimeInputs<'a> { type SemanticPreferenceSurface (line 328) | struct SemanticPreferenceSurface { type SemanticTierAssetState (line 334) | pub(crate) struct SemanticTierAssetState { type SemanticBacklogProgressState (line 348) | pub(crate) struct SemanticBacklogProgressState { type SemanticCheckpointProgressState (line 360) | pub(crate) struct SemanticCheckpointProgressState { type InspectSearchAssetsInput (line 373) | pub(crate) struct InspectSearchAssetsInput<'a> { constant LEXICAL_STORAGE_FINGERPRINT_MTIME_TOLERANCE_MS (line 386) | const LEXICAL_STORAGE_FINGERPRINT_MTIME_TOLERANCE_MS: i64 = 1_000; type ParsedLexicalStorageFingerprint (line 389) | struct ParsedLexicalStorageFingerprint { function parse_lexical_storage_fingerprint (line 396) | fn parse_lexical_storage_fingerprint(raw: &str) -> Option bool { function inspect_search_assets (line 426) | pub(crate) fn inspect_search_assets( function semantic_state_not_inspected (line 468) | fn semantic_state_not_inspected( function inspect_semantic_assets (line 502) | pub(crate) fn inspect_semantic_assets( function semantic_state_from_availability (line 529) | pub(crate) fn semantic_state_from_availability( function semantic_preference_surface (line 617) | fn semantic_preference_surface( function semantic_runtime_surface (line 633) | fn semantic_runtime_surface(inputs: SemanticRuntimeInputs<'_>) -> Semant... function semantic_tier_queryable (line 795) | fn semantic_tier_queryable( function semantic_embedder_is_hash (line 823) | fn semantic_embedder_is_hash(embedder_id: &str) -> bool { function semantic_manifest_progress (line 827) | fn semantic_manifest_progress( function semantic_tier_asset_state (line 846) | fn semantic_tier_asset_state( function resolve_semantic_artifact_path (line 868) | fn resolve_semantic_artifact_path(data_dir: &Path, recorded_path: &str) ... function complete_shard_records_for_state (line 872) | fn complete_shard_records_for_state( function promote_complete_shard_generation_state (line 914) | fn promote_complete_shard_generation_state( function semantic_backlog_progress_state (line 960) | fn semantic_backlog_progress_state( function semantic_checkpoint_progress_state (line 982) | fn semantic_checkpoint_progress_state( type InspectLexicalAssetsInput (line 1004) | struct InspectLexicalAssetsInput<'a> { function inspect_lexical_assets (line 1015) | fn inspect_lexical_assets(input: InspectLexicalAssetsInput<'_>) -> Resul... type LexicalObservationInput (line 1054) | struct LexicalObservationInput<'a> { function lexical_state_from_observations (line 1065) | fn lexical_state_from_observations(input: LexicalObservationInput<'_>) -... function semantic_embedder_id (line 1211) | fn semantic_embedder_id( function semantic_vector_index_path (line 1229) | fn semantic_vector_index_path( function semantic_progressive_assets_ready (line 1241) | fn semantic_progressive_assets_ready(data_dir: &Path) -> bool { function semantic_availability_code (line 1246) | fn semantic_availability_code(availability: &SemanticAvailability) -> &'... function semantic_status_from_availability (line 1264) | fn semantic_status_from_availability(availability: &SemanticAvailability... function semantic_hint (line 1282) | fn semantic_hint( constant HEARTBEAT_STALE_THRESHOLD_MS (line 1329) | const HEARTBEAT_STALE_THRESHOLD_MS: i64 = 30_000; constant BOUNDED_WAIT_DEFAULT (line 1331) | const BOUNDED_WAIT_DEFAULT: Duration = Duration::from_secs(5); constant POLL_INTERVAL_DEFAULT (line 1333) | const POLL_INTERVAL_DEFAULT: Duration = Duration::from_millis(250); type MaintenanceCoordinationOutcome (line 1337) | pub(crate) enum MaintenanceCoordinationOutcome { type MaintenanceDecision (line 1354) | pub(crate) enum MaintenanceDecision { function evaluate_maintenance_coordination (line 1368) | pub(crate) fn evaluate_maintenance_coordination( function evaluate_maintenance_coordination_from_snapshot (line 1379) | pub(crate) fn evaluate_maintenance_coordination_from_snapshot( function decide_maintenance_action (line 1414) | pub(crate) fn decide_maintenance_action(data_dir: &Path, now_ms: i64) ->... function decide_maintenance_action_from_snapshot (line 1419) | pub(crate) fn decide_maintenance_action_from_snapshot( function decide_search_failopen (line 1443) | pub(crate) fn decide_search_failopen( type PollResult (line 1479) | pub(crate) struct PollResult { function poll_maintenance_until_idle (line 1487) | pub(crate) fn poll_maintenance_until_idle( constant MAINTENANCE_EVENTS_FILE (line 1532) | const MAINTENANCE_EVENTS_FILE: &str = ".maintenance-events.jsonl"; constant YIELD_SIGNAL_FILE (line 1534) | const YIELD_SIGNAL_FILE: &str = "maintenance-yield.signal"; constant MAX_EVENT_LOG_ENTRIES (line 1536) | const MAX_EVENT_LOG_ENTRIES: usize = 500; type MaintenanceEvent (line 1540) | pub(crate) struct MaintenanceEvent { type MaintenanceEventKind (line 1549) | pub(crate) enum MaintenanceEventKind { function append_maintenance_event (line 1562) | pub(crate) fn append_maintenance_event(data_dir: &Path, event: &Maintena... function read_maintenance_events (line 1577) | pub(crate) fn read_maintenance_events( function truncate_maintenance_event_log (line 1601) | pub(crate) fn truncate_maintenance_event_log(data_dir: &Path) -> Result<... type YieldRequest (line 1629) | pub(crate) struct YieldRequest { function request_yield (line 1636) | pub(crate) fn request_yield(data_dir: &Path, reason: &str) -> Result<()> { function check_yield_requested (line 1650) | pub(crate) fn check_yield_requested(data_dir: &Path) -> Option Result<()> { type UnifiedMaintenanceView (line 1672) | pub(crate) struct UnifiedMaintenanceView { function unified_maintenance_view (line 1681) | pub(crate) fn unified_maintenance_view( function maintenance_mode_round_trips_lock_values (line 1725) | fn maintenance_mode_round_trips_lock_values() { function maintenance_job_kind_round_trips_lock_values (line 1740) | fn maintenance_job_kind_round_trips_lock_values() { function stale_lock_metadata_from_dead_owner_is_reaped_on_read (line 1753) | fn stale_lock_metadata_from_dead_owner_is_reaped_on_read() { function live_owner_metadata_is_preserved_when_flock_is_held (line 1806) | fn live_owner_metadata_is_preserved_when_flock_is_held() { function lexical_storage_fingerprint_matching_handles_jitter_and_size_drift (line 1861) | fn lexical_storage_fingerprint_matching_handles_jitter_and_size_drift() { function lexical_state_marks_fingerprint_mismatch_stale (line 1887) | fn lexical_state_marks_fingerprint_mismatch_stale() { function lexical_state_missing_index_is_not_marked_stale_until_initialized (line 1941) | fn lexical_state_missing_index_is_not_marked_stale_until_initialized() { function lexical_state_keeps_progress_visible_during_active_rebuild_despite_fingerprint_drift (line 1970) | fn lexical_state_keeps_progress_visible_during_active_rebuild_despite_fi... function lexical_state_hides_progress_for_incompatible_page_size_checkpoint (line 2030) | fn lexical_state_hides_progress_for_incompatible_page_size_checkpoint() { function lexical_state_prefers_newer_maintenance_heartbeat_over_stale_checkpoint_timestamp (line 2080) | fn lexical_state_prefers_newer_maintenance_heartbeat_over_stale_checkpoi... function lexical_state_ignores_rebuild_lock_for_different_database (line 2128) | fn lexical_state_ignores_rebuild_lock_for_different_database() { function lexical_state_ignores_watch_lock_for_different_database (line 2193) | fn lexical_state_ignores_watch_lock_for_different_database() { function inspect_search_assets_preserves_semantic_database_unavailable_signal (line 2234) | fn inspect_search_assets_preserves_semantic_database_unavailable_signal() { function inspect_search_assets_can_skip_semantic_db_open_for_fast_paths (line 2270) | fn inspect_search_assets_can_skip_semantic_db_open_for_fast_paths() { function inspect_search_assets_trusts_db_probe_for_semantic_metadata_probe (line 2305) | fn inspect_search_assets_trusts_db_probe_for_semantic_metadata_probe() { function semantic_state_reports_hash_fallback_as_searchable (line 2339) | fn semantic_state_reports_hash_fallback_as_searchable() { function semantic_preference_surface_preserves_backend_and_model_dir_projection (line 2355) | fn semantic_preference_surface_preserves_backend_and_model_dir_projectio... function semantic_state_detects_progressive_and_hnsw_assets (line 2375) | fn semantic_state_detects_progressive_and_hnsw_assets() { function semantic_state_reports_backfill_when_manifest_only_has_stale_assets (line 2404) | fn semantic_state_reports_backfill_when_manifest_only_has_stale_assets() { function semantic_state_prefers_current_hash_tier_over_missing_model (line 2467) | fn semantic_state_prefers_current_hash_tier_over_missing_model() { function semantic_state_promotes_complete_current_shard_generation (line 2518) | fn semantic_state_promotes_complete_current_shard_generation() { function semantic_state_rejects_complete_shard_generation_with_unsafe_path (line 2582) | fn semantic_state_rejects_complete_shard_generation_with_unsafe_path() { function make_active_snapshot (line 2642) | fn make_active_snapshot(now_ms: i64) -> SearchMaintenanceSnapshot { function coordination_no_active_job_when_snapshot_inactive (line 2658) | fn coordination_no_active_job_when_snapshot_inactive() { function coordination_no_active_job_when_no_job_id (line 2665) | fn coordination_no_active_job_when_no_job_id() { function coordination_active_job_with_fresh_heartbeat (line 2677) | fn coordination_active_job_with_fresh_heartbeat() { function coordination_stale_job_with_old_heartbeat (line 2698) | fn coordination_stale_job_with_old_heartbeat() { function coordination_stale_job_when_no_heartbeat_timestamp (line 2721) | fn coordination_stale_job_when_no_heartbeat_timestamp() { function decision_launch_when_no_job (line 2735) | fn decision_launch_when_no_job() { function decision_launch_when_no_lock_file (line 2742) | fn decision_launch_when_no_lock_file() { function decision_launch_when_stale_job (line 2749) | fn decision_launch_when_stale_job() { function decision_attach_when_active_fresh_job (line 2760) | fn decision_attach_when_active_fresh_job() { function poll_returns_immediately_when_no_active_job (line 2781) | fn poll_returns_immediately_when_no_active_job() { function poll_returns_active_on_timeout_when_lock_held (line 2802) | fn poll_returns_active_on_timeout_when_lock_held() { function poll_detects_release_mid_wait (line 2844) | fn poll_detects_release_mid_wait() { function failopen_returns_failopen_when_lexical_available_and_job_active (line 2885) | fn failopen_returns_failopen_when_lexical_available_and_job_active() { function event_log_append_and_read (line 2937) | fn event_log_append_and_read() { function event_log_filters_by_timestamp (line 2960) | fn event_log_filters_by_timestamp() { function event_log_respects_limit (line 2981) | fn event_log_respects_limit() { function event_log_returns_empty_when_missing (line 2999) | fn event_log_returns_empty_when_missing() { function event_log_truncation_retains_tail (line 3006) | fn event_log_truncation_retains_tail() { function yield_signal_round_trip (line 3027) | fn yield_signal_round_trip() { function clear_yield_signal_is_idempotent (line 3046) | fn clear_yield_signal_is_idempotent() { function unified_view_idle_no_events (line 3053) | fn unified_view_idle_no_events() { function unified_view_active_with_lexical_fails_open (line 3066) | fn unified_view_active_with_lexical_fails_open() { function unified_view_includes_yield_signal (line 3115) | fn unified_view_includes_yield_signal() { function event_kinds_serialize_round_trip (line 3125) | fn event_kinds_serialize_round_trip() { FILE: src/search/canonicalize.rs constant MAX_EMBED_CHARS (line 23) | pub const MAX_EMBED_CHARS: usize = 2000; constant CODE_HEAD_LINES (line 26) | pub const CODE_HEAD_LINES: usize = 20; constant CODE_TAIL_LINES (line 29) | pub const CODE_TAIL_LINES: usize = 10; constant LOW_SIGNAL_CONTENT (line 42) | const LOW_SIGNAL_CONTENT: &[&str] = &[ function canonicalize_fast_path (line 70) | fn canonicalize_fast_path(text: &str) -> Option { function canonicalize_for_embedding (line 133) | pub fn canonicalize_for_embedding(text: &str) -> String { function content_hash (line 144) | pub fn content_hash(text: &str) -> [u8; 32] { function content_hash_hex (line 154) | pub fn content_hash_hex(text: &str) -> String { function role_is (line 159) | fn role_is(role: Option<&str>, expected: &str) -> bool { function is_short_acknowledgement (line 163) | fn is_short_acknowledgement(lower: &str) -> bool { function is_tool_acknowledgement (line 192) | pub fn is_tool_acknowledgement(role: Option<&str>, text: &str) -> bool { function is_system_prompt_text (line 233) | pub fn is_system_prompt_text(text: &str) -> bool { function query_requests_system_prompt (line 256) | pub fn query_requests_system_prompt(query: &str) -> bool { function is_hard_message_noise (line 279) | pub fn is_hard_message_noise(role: Option<&str>, text: &str) -> bool { function is_search_noise_text (line 284) | pub fn is_search_noise_text(text: &str, query: &str) -> bool { function canonicalize_fast_path_matches_slow_path_for_pure_ascii_inputs (line 296) | fn canonicalize_fast_path_matches_slow_path_for_pure_ascii_inputs() { function canonicalize_fast_path_truncates_to_max_embed_chars (line 346) | fn canonicalize_fast_path_truncates_to_max_embed_chars() { function test_unicode_nfc_normalization (line 353) | fn test_unicode_nfc_normalization() { function test_unicode_nfc_hash_stability (line 363) | fn test_unicode_nfc_hash_stability() { function test_canonicalize_deterministic (line 372) | fn test_canonicalize_deterministic() { function test_strip_markdown_bold_italic (line 380) | fn test_strip_markdown_bold_italic() { function test_strip_markdown_links (line 390) | fn test_strip_markdown_links() { function test_strip_markdown_headers (line 398) | fn test_strip_markdown_headers() { function test_code_block_short (line 407) | fn test_code_block_short() { function test_code_block_collapse_long (line 415) | fn test_code_block_collapse_long() { function test_whitespace_normalization (line 432) | fn test_whitespace_normalization() { function test_low_signal_filtered (line 441) | fn test_low_signal_filtered() { function test_truncation (line 449) | fn test_truncation() { function test_empty_input (line 456) | fn test_empty_input() { function test_content_hash_deterministic (line 461) | fn test_content_hash_deterministic() { function test_content_hash_different_for_different_input (line 469) | fn test_content_hash_different_for_different_input() { function test_content_hash_hex (line 476) | fn test_content_hash_hex() { function test_is_tool_acknowledgement_detects_short_replies (line 483) | fn test_is_tool_acknowledgement_detects_short_replies() { function test_is_tool_acknowledgement_detects_tool_write_confirmations (line 491) | fn test_is_tool_acknowledgement_detects_tool_write_confirmations() { function test_is_system_prompt_text_detects_instruction_blocks (line 504) | fn test_is_system_prompt_text_detects_instruction_blocks() { function test_query_requests_system_prompt_matches_prompt_terms (line 517) | fn test_query_requests_system_prompt_matches_prompt_terms() { function test_list_markers_stripped (line 526) | fn test_list_markers_stripped() { function test_numbers_not_list_markers_preserved (line 535) | fn test_numbers_not_list_markers_preserved() { function test_blockquote (line 542) | fn test_blockquote() { function test_inline_code (line 549) | fn test_inline_code() { function test_emoji_preserved (line 557) | fn test_emoji_preserved() { function test_mixed_content (line 565) | fn test_mixed_content() { function test_unbalanced_link_preserves_content (line 588) | fn test_unbalanced_link_preserves_content() { FILE: src/search/embedder.rs type EmbedderInfo (line 25) | pub struct EmbedderInfo { method from_embedder (line 36) | pub fn from_embedder(embedder: &dyn Embedder) -> Self { method fmt (line 46) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function fastembed_fixture_dir (line 63) | fn fastembed_fixture_dir() -> PathBuf { function load_fastembed_fixture (line 68) | fn load_fastembed_fixture() -> FastEmbedder { function test_embedder_trait_basic (line 74) | fn test_embedder_trait_basic() { function test_embedder_trait_semantic (line 83) | fn test_embedder_trait_semantic() { function test_embedder_batch (line 91) | fn test_embedder_batch() { function test_embedder_empty_input_error (line 103) | fn test_embedder_empty_input_error() { function test_embedder_info (line 110) | fn test_embedder_info() { function test_embedder_error_display (line 127) | fn test_embedder_error_display() { FILE: src/search/embedder_registry.rs constant DEFAULT_EMBEDDER (line 47) | pub const DEFAULT_EMBEDDER: &str = "minilm"; constant HASH_EMBEDDER (line 50) | pub const HASH_EMBEDDER: &str = "hash"; type RegisteredEmbedder (line 56) | pub struct RegisteredEmbedder { method is_available (line 93) | pub fn is_available(&self, data_dir: &Path) -> bool { method model_dir (line 108) | pub fn model_dir(&self, data_dir: &Path) -> Option { method required_files (line 124) | pub fn required_files(&self) -> &'static [&'static str] { method missing_files (line 133) | pub fn missing_files(&self, data_dir: &Path) -> Vec { method is_bakeoff_eligible (line 150) | pub fn is_bakeoff_eligible(&self) -> bool { method to_model_metadata (line 158) | pub fn to_model_metadata(&self) -> crate::bakeoff::ModelMetadata { constant REQUIRED_ONNX_FILES (line 80) | pub const REQUIRED_ONNX_FILES: &[&str] = &[ constant BAKEOFF_ELIGIBILITY_CUTOFF (line 89) | pub const BAKEOFF_ELIGIBILITY_CUTOFF: &str = "2025-11-01"; type EmbedderRegistry (line 234) | pub struct EmbedderRegistry { method new (line 240) | pub fn new(data_dir: &Path) -> Self { method all (line 247) | pub fn all(&self) -> &'static [RegisteredEmbedder] { method available (line 252) | pub fn available(&self) -> Vec<&'static RegisteredEmbedder> { method get (line 260) | pub fn get(&self, name: &str) -> Option<&'static RegisteredEmbedder> { method is_available (line 270) | pub fn is_available(&self, name: &str) -> bool { method default_embedder (line 277) | pub fn default_embedder(&self) -> &'static RegisteredEmbedder { method best_available (line 283) | pub fn best_available(&self) -> &'static RegisteredEmbedder { method bakeoff_eligible (line 295) | pub fn bakeoff_eligible(&self) -> Vec<&'static RegisteredEmbedder> { method available_bakeoff_candidates (line 303) | pub fn available_bakeoff_candidates(&self) -> Vec<&'static RegisteredE... method baseline_embedder (line 311) | pub fn baseline_embedder(&self) -> Option<&'static RegisteredEmbedder> { method validate (line 318) | pub fn validate(&self, name: &str) -> EmbedderResult<&'static Register... function get_embedder (line 364) | pub fn get_embedder(data_dir: &Path, name: Option<&str>) -> EmbedderResu... function load_embedder_by_name (line 376) | fn load_embedder_by_name(data_dir: &Path, name: &str) -> EmbedderResult<... function embedder_unavailable (line 391) | fn embedder_unavailable(model: &str, reason: impl Into) -> Embed... function get_embedder_info (line 399) | pub fn get_embedder_info(data_dir: &Path, name: Option<&str>) -> Option<... function registry_fixture (line 419) | fn registry_fixture() -> (TempDir, EmbedderRegistry) { function test_registry_all (line 426) | fn test_registry_all() { function test_registry_get_by_name (line 432) | fn test_registry_get_by_name() { function test_registry_get_by_id (line 448) | fn test_registry_get_by_id() { function test_hash_always_available (line 461) | fn test_hash_always_available() { function test_minilm_unavailable_without_files (line 470) | fn test_minilm_unavailable_without_files() { function test_embedder_unavailable_helper_shape (line 483) | fn test_embedder_unavailable_helper_shape() { function test_best_available_fallback (line 495) | fn test_best_available_fallback() { function test_get_embedder_hash (line 504) | fn test_get_embedder_hash() { function test_get_embedder_default_no_models (line 512) | fn test_get_embedder_default_no_models() { function test_validate_unknown_embedder (line 520) | fn test_validate_unknown_embedder() { function test_registered_embedder_missing_files (line 531) | fn test_registered_embedder_missing_files() { function test_get_embedder_info (line 541) | fn test_get_embedder_info() { function test_bakeoff_eligible_count (line 556) | fn test_bakeoff_eligible_count() { function test_baseline_embedder (line 592) | fn test_baseline_embedder() { function test_bakeoff_eligibility_by_date (line 604) | fn test_bakeoff_eligibility_by_date() { function test_bakeoff_model_metadata_conversion (line 626) | fn test_bakeoff_model_metadata_conversion() { function test_eligible_embedder_metadata (line 642) | fn test_eligible_embedder_metadata() { function test_all_embedders_have_required_fields (line 663) | fn test_all_embedders_have_required_fields() { function test_model_dir_for_all_embedders (line 687) | fn test_model_dir_for_all_embedders() { FILE: src/search/fastembed_embedder.rs constant MINILM_MODEL_ID (line 27) | const MINILM_MODEL_ID: &str = "all-minilm-l6-v2"; constant MINILM_DIR_NAME (line 28) | const MINILM_DIR_NAME: &str = "all-MiniLM-L6-v2"; constant MINILM_EMBEDDER_ID (line 29) | const MINILM_EMBEDDER_ID: &str = "minilm-384"; constant MINILM_DIMENSION (line 30) | const MINILM_DIMENSION: usize = 384; constant MODEL_ONNX_SUBDIR (line 33) | pub const MODEL_ONNX_SUBDIR: &str = "onnx/model.onnx"; constant MODEL_ONNX_LEGACY (line 34) | pub const MODEL_ONNX_LEGACY: &str = "model.onnx"; constant TOKENIZER_JSON (line 35) | const TOKENIZER_JSON: &str = "tokenizer.json"; constant CONFIG_JSON (line 36) | const CONFIG_JSON: &str = "config.json"; constant SPECIAL_TOKENS_JSON (line 37) | const SPECIAL_TOKENS_JSON: &str = "special_tokens_map.json"; constant TOKENIZER_CONFIG_JSON (line 38) | const TOKENIZER_CONFIG_JSON: &str = "tokenizer_config.json"; type OnnxEmbedderConfig (line 42) | pub struct OnnxEmbedderConfig { method default (line 54) | fn default() -> Self { type FastEmbedder (line 67) | pub struct FastEmbedder { method embedder_id_static (line 76) | pub fn embedder_id_static() -> &'static str { method model_id_static (line 81) | pub fn model_id_static() -> &'static str { method required_model_files (line 89) | pub fn required_model_files() -> &'static [&'static str] { method model_file_candidates (line 99) | pub fn model_file_candidates() -> &'static [&'static str] { method select_model_file (line 104) | pub fn select_model_file(model_dir: &Path) -> Option { method default_model_dir (line 115) | pub fn default_model_dir(data_dir: &Path) -> PathBuf { method model_dir_for (line 120) | pub fn model_dir_for(data_dir: &Path, embedder_name: &str) -> Option Option { method load_from_dir (line 156) | pub fn load_from_dir(model_dir: &Path) -> EmbedderResult { method load_with_config (line 161) | pub fn load_with_config(model_dir: &Path, config: OnnxEmbedderConfig) ... method load_by_name (line 250) | pub fn load_by_name(data_dir: &Path, embedder_name: &str) -> EmbedderR... method model_id (line 267) | pub fn model_id(&self) -> &str { method read_required (line 271) | fn read_required(path: PathBuf, label: &str, model_id: &str) -> Embedd... method unavailable_error (line 280) | fn unavailable_error(model: impl Into, reason: impl Into EmbedderResult> { method embed_batch_sync (line 354) | fn embed_batch_sync(&self, texts: &[&str]) -> EmbedderResult usize { method id (line 410) | fn id(&self) -> &str { method model_name (line 414) | fn model_name(&self) -> &str { method is_semantic (line 418) | fn is_semantic(&self) -> bool { method category (line 422) | fn category(&self) -> ModelCategory { method tier (line 426) | fn tier(&self) -> ModelTier { function fastembed_missing_files_returns_unavailable (line 436) | fn fastembed_missing_files_returns_unavailable() { function unavailable_error_preserves_shape (line 448) | fn unavailable_error_preserves_shape() { function select_model_file_prefers_modern_onnx_layout (line 461) | fn select_model_file_prefers_modern_onnx_layout() { function select_model_file_falls_back_to_legacy (line 475) | fn select_model_file_falls_back_to_legacy() { function select_model_file_returns_none_for_empty_dir (line 487) | fn select_model_file_returns_none_for_empty_dir() { function config_for_known_models (line 493) | fn config_for_known_models() { FILE: src/search/hash_embedder.rs constant DEFAULT_DIMENSION (line 41) | pub const DEFAULT_DIMENSION: usize = 384; constant MIN_TOKEN_LEN (line 44) | const MIN_TOKEN_LEN: usize = 2; type HashEmbedder (line 52) | pub struct HashEmbedder { method new (line 69) | pub fn new(dimension: usize) -> Self { method default_dimension (line 79) | pub fn default_dimension() -> Self { method tokenize (line 88) | fn tokenize(text: &str) -> Vec { method uniform_fallback (line 96) | fn uniform_fallback(&self) -> Vec { method default (line 107) | fn default() -> Self { method embed_sync (line 113) | fn embed_sync(&self, text: &str) -> EmbedderResult> { method embed_batch_sync (line 146) | fn embed_batch_sync(&self, texts: &[&str]) -> EmbedderResult usize { method id (line 154) | fn id(&self) -> &str { method is_semantic (line 158) | fn is_semantic(&self) -> bool { method category (line 162) | fn category(&self) -> ModelCategory { method tier (line 166) | fn tier(&self) -> ModelTier { function test_hash_embedder_basic (line 176) | fn test_hash_embedder_basic() { function test_hash_embedder_default (line 186) | fn test_hash_embedder_default() { function test_hash_embedder_deterministic (line 194) | fn test_hash_embedder_deterministic() { function test_hash_embedder_l2_normalized (line 206) | fn test_hash_embedder_l2_normalized() { function test_hash_embedder_different_texts_different_embeddings (line 221) | fn test_hash_embedder_different_texts_different_embeddings() { function test_hash_embedder_empty_input_error (line 232) | fn test_hash_embedder_empty_input_error() { function test_hash_embedder_punctuation_only (line 240) | fn test_hash_embedder_punctuation_only() { function test_hash_embedder_batch (line 256) | fn test_hash_embedder_batch() { function test_hash_embedder_batch_empty_error (line 276) | fn test_hash_embedder_batch_empty_error() { function test_tokenize (line 285) | fn test_tokenize() { function test_tokenize_includes_len_2 (line 304) | fn test_tokenize_includes_len_2() { function test_case_insensitivity (line 314) | fn test_case_insensitivity() { function test_whitespace_insensitivity (line 327) | fn test_whitespace_insensitivity() { function test_zero_dimension_panics (line 341) | fn test_zero_dimension_panics() { function test_large_dimension (line 346) | fn test_large_dimension() { function test_unicode_text (line 361) | fn test_unicode_text() { function test_embedding_similarity (line 377) | fn test_embedding_similarity() { function test_sync_embedder_adapter_bridge (line 397) | fn test_sync_embedder_adapter_bridge() { FILE: src/search/model_download.rs type ModelState (line 54) | pub enum ModelState { method is_ready (line 89) | pub fn is_ready(&self) -> bool { method is_downloading (line 94) | pub fn is_downloading(&self) -> bool { method needs_consent (line 99) | pub fn needs_consent(&self) -> bool { method summary (line 104) | pub fn summary(&self) -> String { type ModelAcquisitionPolicy (line 132) | pub struct ModelAcquisitionPolicy { method from_semantic_policy (line 168) | pub fn from_semantic_policy(policy: &SemanticPolicy) -> Self { method default (line 152) | fn default() -> Self { type ModelCacheState (line 184) | pub enum ModelCacheState { method code (line 233) | pub fn code(&self) -> &'static str { method summary (line 250) | pub fn summary(&self) -> String { method next_step (line 310) | pub fn next_step(&self) -> Option<&'static str> { method is_usable (line 340) | pub fn is_usable(&self) -> bool { type ModelCacheReport (line 350) | pub struct ModelCacheReport { method state_code (line 361) | pub fn state_code(&self) -> &'static str { method is_usable (line 366) | pub fn is_usable(&self) -> bool { type ModelFile (line 375) | pub struct ModelFile { method local_name (line 389) | pub fn local_name(&self) -> &str { type ModelManifest (line 400) | pub struct ModelManifest { method has_verified_checksums (line 470) | pub fn has_verified_checksums(&self) -> bool { method has_pinned_revision (line 478) | pub fn has_pinned_revision(&self) -> bool { method is_production_ready (line 487) | pub fn is_production_ready(&self) -> bool { method minilm_v2 (line 495) | pub fn minilm_v2() -> Self { method snowflake_arctic_s (line 554) | pub fn snowflake_arctic_s() -> Self { method nomic_embed (line 602) | pub fn nomic_embed() -> Self { method msmarco_reranker (line 649) | pub fn msmarco_reranker() -> Self { method jina_reranker_turbo (line 696) | pub fn jina_reranker_turbo() -> Self { method for_embedder (line 740) | pub fn for_embedder(name: &str) -> Option { method for_reranker (line 750) | pub fn for_reranker(name: &str) -> Option { method bakeoff_embedder_candidates (line 761) | pub fn bakeoff_embedder_candidates() -> Vec { method bakeoff_reranker_candidates (line 768) | pub fn bakeoff_reranker_candidates() -> Vec { method bakeoff_candidates (line 775) | pub fn bakeoff_candidates() -> Vec { method total_size (line 782) | pub fn total_size(&self) -> u64 { method download_url_with_base (line 787) | pub fn download_url_with_base(&self, file: &ModelFile, base_url: Optio... method download_url (line 799) | pub fn download_url(&self, file: &ModelFile) -> String { method air_gap_bash_script (line 809) | pub fn air_gap_bash_script(&self, base_url: Option<&str>) -> String { method air_gap_powershell_script (line 853) | pub fn air_gap_powershell_script(&self, base_url: Option<&str>) -> Str... constant PLACEHOLDER_CHECKSUM (line 417) | pub const PLACEHOLDER_CHECKSUM: &str = "PLACEHOLDER_VERIFY_AFTER_DOWNLOAD"; function normalize_mirror_base_url (line 423) | pub fn normalize_mirror_base_url(base_url: &str) -> Result, reason: impl Into)... type ProgressCallback (line 895) | pub type ProgressCallback = Arc; type DownloadProgress (line 899) | pub struct DownloadProgress { type DownloadError (line 920) | pub enum DownloadError { method is_retryable (line 969) | fn is_retryable(&self) -> bool { method should_discard_temp (line 984) | fn should_discard_temp(&self) -> bool { function run_download_with_cx (line 989) | fn run_download_with_cx(f: F) -> Result type ModelDownloader (line 1029) | pub struct ModelDownloader { method new (line 1046) | pub fn new(target_dir: PathBuf) -> Self { method cancellation_handle (line 1070) | pub fn cancellation_handle(&self) -> Arc { method cancel (line 1075) | pub fn cancel(&self) { method is_cancelled (line 1080) | pub fn is_cancelled(&self) -> bool { method download (line 1100) | pub fn download( method download_with_mirror (line 1109) | pub fn download_with_mirror( method prepare_temp_dir (line 1224) | fn prepare_temp_dir(&self, manifest: &ModelManifest) -> Result<(), Dow... method download_file (line 1259) | fn download_file( method atomic_install (line 1439) | fn atomic_install(&self) -> Result<(), DownloadError> { method write_verified_marker (line 1493) | fn write_verified_marker( method cleanup_temp (line 1518) | fn cleanup_temp(&self) { method cleanup_temp_for_error (line 1522) | fn cleanup_temp_for_error(&self, err: &DownloadError) { method fail_if_cancelled (line 1528) | fn fail_if_cancelled(&self) -> Result<(), DownloadError> { function compute_sha256 (line 1538) | pub fn compute_sha256(path: &Path) -> Result { function classify_model_cache (line 1561) | pub fn classify_model_cache( function classify_model_cache_metadata (line 1575) | pub(crate) fn classify_model_cache_metadata( type ModelCacheIntegrity (line 1584) | enum ModelCacheIntegrity { function classify_model_cache_with_integrity (line 1589) | fn classify_model_cache_with_integrity( function classify_model_cache_state (line 1610) | fn classify_model_cache_state( function check_model_installed (line 1746) | pub fn check_model_installed(model_dir: &Path, manifest: &ModelManifest)... function check_version_mismatch (line 1769) | pub fn check_version_mismatch(model_dir: &Path, manifest: &ModelManifest... function model_download_temp_dir (line 1792) | fn model_download_temp_dir(target_dir: &Path) -> PathBuf { function model_file_path (line 1808) | pub fn model_file_path(model_dir: &Path, file: &ModelFile) -> Option... function installed_manifest_size (line 1831) | fn installed_manifest_size(model_dir: &Path, manifest: &ModelManifest) -... function directory_size_bytes (line 1841) | fn directory_size_bytes(path: &Path) -> u64 { function marker_field (line 1861) | fn marker_field(content: &str, field: &str) -> Option { function unique_model_backup_dir (line 1870) | fn unique_model_backup_dir(path: &Path) -> PathBuf { function unique_model_sidecar_path (line 1874) | fn unique_model_sidecar_path(path: &Path, suffix: &str, fallback_name: &... function replace_file_from_temp (line 1895) | fn replace_file_from_temp(temp_path: &Path, final_path: &Path) -> Result... function sync_tree (line 1954) | fn sync_tree(path: &Path) -> Result<(), DownloadError> { function sync_tree_inner (line 1960) | fn sync_tree_inner(path: &Path) -> Result<(), DownloadError> { function sync_tree (line 1975) | fn sync_tree(_path: &Path) -> Result<(), DownloadError> { function sync_parent_directory (line 1980) | fn sync_parent_directory(path: &Path) -> Result<(), DownloadError> { function sync_parent_directory (line 1989) | fn sync_parent_directory(_path: &Path) -> Result<(), DownloadError> { function copy_model_fixtures (line 2007) | fn copy_model_fixtures(target_dir: &Path) -> std::io::Result<()> { type MirrorRequest (line 2031) | struct MirrorRequest { type MirrorRoute (line 2037) | struct MirrorRoute { type MirrorFixtureServer (line 2044) | struct MirrorFixtureServer { method requests (line 2053) | fn requests(&self) -> Vec { method drop (line 2059) | fn drop(&mut self) { function start_mirror_fixture_server (line 2070) | fn start_mirror_fixture_server(routes: Vec<(String, MirrorRoute)>) -> Mi... function handle_mirror_request (line 2105) | fn handle_mirror_request( function parse_range_start_header (line 2187) | fn parse_range_start_header(line: &str) -> Option { function build_test_manifest (line 2198) | fn build_test_manifest(repo: &str, revision: &str, files: &[(&str, &[u8]... function mirror_route_path (line 2215) | fn mirror_route_path(prefix: &str, manifest: &ModelManifest, file: &Mode... function test_model_state_summary (line 2226) | fn test_model_state_summary() { function test_model_state_is_ready (line 2242) | fn test_model_state_is_ready() { function test_model_manifest_total_size (line 2257) | fn test_model_manifest_total_size() { function test_model_manifest_download_url (line 2263) | fn test_model_manifest_download_url() { function test_model_manifest_download_url_with_mirror_base (line 2272) | fn test_model_manifest_download_url_with_mirror_base() { function air_gap_bash_script_uses_explicit_output_filenames (line 2286) | fn air_gap_bash_script_uses_explicit_output_filenames() { function air_gap_bash_script_quotes_urls_with_single_quotes (line 2310) | fn air_gap_bash_script_quotes_urls_with_single_quotes() { function air_gap_powershell_script_forces_tls12_and_basic_parsing (line 2319) | fn air_gap_powershell_script_forces_tls12_and_basic_parsing() { function air_gap_scripts_honor_mirror_base_url (line 2344) | fn air_gap_scripts_honor_mirror_base_url() { function test_normalize_mirror_base_url_trims_trailing_slash (line 2356) | fn test_normalize_mirror_base_url_trims_trailing_slash() { function test_normalize_mirror_base_url_rejects_invalid_values (line 2362) | fn test_normalize_mirror_base_url_rejects_invalid_values() { function test_invalid_mirror_url_helper_shape (line 2383) | fn test_invalid_mirror_url_helper_shape() { function test_check_model_installed_missing (line 2399) | fn test_check_model_installed_missing() { function test_check_model_installed_no_marker (line 2409) | fn test_check_model_installed_no_marker() { function test_check_model_installed_ready (line 2423) | fn test_check_model_installed_ready() { function classify_cache_policy_disabled_takes_precedence_over_missing (line 2436) | fn classify_cache_policy_disabled_takes_precedence_over_missing() { function classify_cache_detects_resume_stage_before_missing (line 2455) | fn classify_cache_detects_resume_stage_before_missing() { function classify_cache_distinguishes_offline_and_budget_blocks (line 2477) | fn classify_cache_distinguishes_offline_and_budget_blocks() { function classify_cache_accepts_preseeded_local_manifest_files (line 2497) | fn classify_cache_accepts_preseeded_local_manifest_files() { function classify_cache_detects_checksum_mismatch (line 2516) | fn classify_cache_detects_checksum_mismatch() { function classify_cache_metadata_trusts_verified_marker_without_hashing_payload (line 2533) | fn classify_cache_metadata_trusts_verified_marker_without_hashing_payloa... function classify_cache_detects_incompatible_revision (line 2559) | fn classify_cache_detects_incompatible_revision() { function classify_cache_reports_mirror_sourced_marker (line 2580) | fn classify_cache_reports_mirror_sourced_marker() { function classify_cache_reports_quarantine_marker (line 2605) | fn classify_cache_reports_quarantine_marker() { function test_compute_sha256 (line 2622) | fn test_compute_sha256() { function test_check_version_mismatch_none (line 2635) | fn test_check_version_mismatch_none() { function test_model_file_local_name (line 2652) | fn test_model_file_local_name() { function test_check_version_mismatch_found (line 2679) | fn test_check_version_mismatch_found() { function test_atomic_install_preserves_preexisting_legacy_backup_dir (line 2691) | fn test_atomic_install_preserves_preexisting_legacy_backup_dir() { function test_write_verified_marker_overwrites_existing_marker (line 2718) | fn test_write_verified_marker_overwrites_existing_marker() { function test_download_error_display (line 2735) | fn test_download_error_display() { function test_manifest_production_ready_minilm (line 2802) | fn test_manifest_production_ready_minilm() { function test_all_bakeoff_candidates_production_ready (line 2811) | fn test_all_bakeoff_candidates_production_ready() { function test_downloader_cancellation (line 2857) | fn test_downloader_cancellation() { function test_prepare_temp_dir_prunes_stale_entries (line 2867) | fn test_prepare_temp_dir_prunes_stale_entries() { function test_prepare_temp_dir_removes_symlink_entries (line 2891) | fn test_prepare_temp_dir_removes_symlink_entries() { function test_retryable_error_classification (line 2914) | fn test_retryable_error_classification() { function test_cleanup_temp_for_error_preserves_partial_downloads_on_cancelled (line 2953) | fn test_cleanup_temp_for_error_preserves_partial_downloads_on_cancelled() { function test_fail_if_cancelled_preserves_partial_downloads (line 2969) | fn test_fail_if_cancelled_preserves_partial_downloads() { function test_cleanup_temp_for_error_discards_temp_after_verification_failure (line 2987) | fn test_cleanup_temp_for_error_discards_temp_after_verification_failure() { function test_download_with_mirror_installs_verified_model_from_http_mirror (line 3007) | fn test_download_with_mirror_installs_verified_model_from_http_mirror() { function test_download_with_mirror_reports_missing_artifact_from_http_mirror (line 3078) | fn test_download_with_mirror_reports_missing_artifact_from_http_mirror() { function test_download_with_mirror_discards_corrupt_payload_from_http_mirror (line 3107) | fn test_download_with_mirror_discards_corrupt_payload_from_http_mirror() { function test_download_with_mirror_resumes_after_cancelled_partial_download (line 3146) | fn test_download_with_mirror_resumes_after_cancelled_partial_download() { FILE: src/search/model_manager.rs type SemanticAvailability (line 40) | pub enum SemanticAvailability { method is_ready (line 113) | pub fn is_ready(&self) -> bool { method has_update (line 118) | pub fn has_update(&self) -> bool { method is_building (line 123) | pub fn is_building(&self) -> bool { method is_downloading (line 128) | pub fn is_downloading(&self) -> bool { method needs_consent (line 133) | pub fn needs_consent(&self) -> bool { method is_hash_fallback (line 138) | pub fn is_hash_fallback(&self) -> bool { method is_disabled (line 143) | pub fn is_disabled(&self) -> bool { method is_not_installed (line 148) | pub fn is_not_installed(&self) -> bool { method is_error (line 156) | pub fn is_error(&self) -> bool { method can_search (line 165) | pub fn can_search(&self) -> bool { method download_progress (line 173) | pub fn download_progress(&self) -> Option<(u8, u64, u64)> { method index_progress (line 185) | pub fn index_progress(&self) -> Option<(Option, u64, u64)> { method status_label (line 198) | pub fn status_label(&self) -> &'static str { method summary (line 217) | pub fn summary(&self) -> String { type SemanticContext (line 273) | pub struct SemanticContext { type SemanticSetup (line 281) | pub struct SemanticSetup { function semantic_sidecar_path (line 286) | fn semantic_sidecar_path(data_dir: &Path, recorded_path: &str) -> Option... function matching_complete_shard_records (line 290) | fn matching_complete_shard_records( function load_complete_shard_indexes (line 343) | fn load_complete_shard_indexes( function load_complete_shard_indexes_for_current_db (line 384) | fn load_complete_shard_indexes_for_current_db( function load_semantic_context (line 421) | pub fn load_semantic_context(data_dir: &Path, db_path: &Path) -> Semanti... function probe_semantic_availability (line 428) | pub(crate) fn probe_semantic_availability(data_dir: &Path) -> SemanticAv... function probe_hash_semantic_availability (line 452) | pub(crate) fn probe_hash_semantic_availability(data_dir: &Path) -> Seman... function load_hash_semantic_context (line 463) | pub fn load_hash_semantic_context(data_dir: &Path, db_path: &Path) -> Se... function load_semantic_context_no_version_check (line 541) | pub fn load_semantic_context_no_version_check(data_dir: &Path, db_path: ... function load_semantic_context_inner (line 545) | fn load_semantic_context_inner( function semantic_availability_from_cache_state (line 650) | fn semantic_availability_from_cache_state( function needs_index_rebuild (line 742) | pub fn needs_index_rebuild(data_dir: &Path) -> bool { function delete_vector_index_for_rebuild (line 775) | pub fn delete_vector_index_for_rebuild(data_dir: &Path) -> std::io::Resu... function default_model_dir (line 787) | pub fn default_model_dir(data_dir: &Path) -> PathBuf { function default_model_manifest (line 792) | pub fn default_model_manifest() -> ModelManifest { type AvailabilityTuiCase (line 801) | type AvailabilityTuiCase = ( function test_semantic_availability_ready (line 808) | fn test_semantic_availability_ready() { function semantic_sidecar_path_rejects_paths_outside_data_dir (line 820) | fn semantic_sidecar_path_rejects_paths_outside_data_dir() { function test_semantic_availability_update (line 846) | fn test_semantic_availability_update() { function test_semantic_availability_index_building (line 859) | fn test_semantic_availability_index_building() { function test_semantic_availability_downloading (line 878) | fn test_semantic_availability_downloading() { function test_semantic_availability_tui_states (line 896) | fn test_semantic_availability_tui_states() { function test_semantic_availability_error_states (line 930) | fn test_semantic_availability_error_states() { function test_needs_index_rebuild_no_index (line 946) | fn test_needs_index_rebuild_no_index() { function test_delete_vector_index_no_file (line 952) | fn test_delete_vector_index_no_file() { function write_hash_vector_index (line 959) | fn write_hash_vector_index(path: &Path, record_count: usize) { function load_hash_context_prefers_current_complete_shards_over_monolithic_file (line 983) | fn load_hash_context_prefers_current_complete_shards_over_monolithic_fil... FILE: src/search/policy.rs type SemanticMode (line 59) | pub enum SemanticMode { method fmt (line 70) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method as_str (line 76) | pub fn as_str(self) -> &'static str { method parse (line 85) | pub fn parse(s: &str) -> Option { method should_build_semantic (line 95) | pub fn should_build_semantic(&self) -> bool { method requires_semantic (line 100) | pub fn requires_semantic(&self) -> bool { type ModelDownloadPolicy (line 110) | pub enum ModelDownloadPolicy { method fmt (line 121) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method as_str (line 127) | pub fn as_str(self) -> &'static str { method parse (line 135) | pub fn parse(s: &str) -> Option { constant DEFAULT_FAST_TIER_EMBEDDER (line 148) | pub const DEFAULT_FAST_TIER_EMBEDDER: &str = "hash"; constant DEFAULT_QUALITY_TIER_EMBEDDER (line 151) | pub const DEFAULT_QUALITY_TIER_EMBEDDER: &str = "minilm"; constant DEFAULT_RERANKER (line 154) | pub const DEFAULT_RERANKER: &str = "ms-marco-minilm"; constant DEFAULT_FAST_DIMENSION (line 159) | pub const DEFAULT_FAST_DIMENSION: usize = 256; constant DEFAULT_QUALITY_DIMENSION (line 162) | pub const DEFAULT_QUALITY_DIMENSION: usize = 384; constant DEFAULT_QUALITY_WEIGHT (line 165) | pub const DEFAULT_QUALITY_WEIGHT: f32 = 0.7; constant DEFAULT_MAX_REFINEMENT_DOCS (line 168) | pub const DEFAULT_MAX_REFINEMENT_DOCS: usize = 100; constant DEFAULT_SEMANTIC_BUDGET_MB (line 178) | pub const DEFAULT_SEMANTIC_BUDGET_MB: u64 = 500; constant MIN_FREE_DISK_MB (line 184) | pub const MIN_FREE_DISK_MB: u64 = 200; constant MAX_MODEL_SIZE_MB (line 187) | pub const MAX_MODEL_SIZE_MB: u64 = 300; constant DEFAULT_MAX_BACKFILL_THREADS (line 193) | pub const DEFAULT_MAX_BACKFILL_THREADS: usize = 1; constant DEFAULT_MAX_BACKFILL_RSS_MB (line 197) | pub const DEFAULT_MAX_BACKFILL_RSS_MB: u64 = 256; constant DEFAULT_IDLE_DELAY_SECONDS (line 202) | pub const DEFAULT_IDLE_DELAY_SECONDS: u64 = 30; constant DEFAULT_CHUNK_TIMEOUT_SECONDS (line 206) | pub const DEFAULT_CHUNK_TIMEOUT_SECONDS: u64 = 120; constant SEMANTIC_SCHEMA_VERSION (line 213) | pub const SEMANTIC_SCHEMA_VERSION: u32 = 1; constant CHUNKING_STRATEGY_VERSION (line 217) | pub const CHUNKING_STRATEGY_VERSION: u32 = 1; type SemanticPolicy (line 226) | pub struct SemanticPolicy { method compiled_defaults (line 296) | pub fn compiled_defaults() -> Self { method with_env_lookup (line 319) | fn with_env_lookup(mut self, mut lookup: impl FnMut(&str) -> Option Self { method with_cli_overrides (line 432) | pub fn with_cli_overrides(mut self, overrides: &CliSemanticOverrides) ... method resolve (line 449) | pub fn resolve(cli: &CliSemanticOverrides) -> Self { method check_budget (line 877) | pub fn check_budget( method default (line 289) | fn default() -> Self { type CliSemanticOverrides (line 458) | pub struct CliSemanticOverrides { type SettingSource (line 470) | pub enum SettingSource { method fmt (line 482) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method as_str (line 488) | pub fn as_str(self) -> &'static str { type EffectiveSetting (line 500) | pub struct EffectiveSetting { type EffectiveSettings (line 515) | pub struct EffectiveSettings { method resolve_with_env_lookup (line 529) | fn resolve_with_env_lookup( method resolve (line 671) | pub fn resolve(cli: &CliSemanticOverrides) -> Self { method get (line 676) | pub fn get(&self, name: &str) -> Option<&EffectiveSetting> { method source_counts (line 681) | pub fn source_counts(&self) -> std::collections::HashMap) -> Eff... type SemanticCapability (line 695) | pub enum SemanticCapability { method can_search_semantic (line 710) | pub fn can_search_semantic(&self) -> bool { method has_quality_tier (line 718) | pub fn has_quality_tier(&self) -> bool { method status_label (line 723) | pub fn status_label(&self) -> &'static str { method summary (line 734) | pub fn summary(&self) -> String { type InvalidationAction (line 756) | pub enum InvalidationAction { type SemanticAssetManifest (line 769) | pub struct SemanticAssetManifest { method invalidation_action (line 791) | pub fn invalidation_action( type BudgetDecision (line 850) | pub enum BudgetDecision { method is_allowed (line 862) | pub fn is_allowed(&self) -> bool { type SemanticCapabilityReport (line 916) | pub struct SemanticCapabilityReport { method from_policy (line 935) | pub fn from_policy( constant EVICTION_ORDER (line 963) | pub const EVICTION_ORDER: &[SemanticArtifactKind] = &[ type SemanticArtifactKind (line 973) | pub enum SemanticArtifactKind { method required_for (line 982) | pub fn required_for(&self, capability: &SemanticCapability) -> bool { function compiled_defaults_are_hybrid_preferred (line 1002) | fn compiled_defaults_are_hybrid_preferred() { function cli_overrides_beat_defaults (line 1020) | fn cli_overrides_beat_defaults() { function cli_overrides_beat_env_overrides (line 1038) | fn cli_overrides_beat_env_overrides() { function semantic_mode_parsing (line 1053) | fn semantic_mode_parsing() { function download_policy_parsing (line 1081) | fn download_policy_parsing() { function display_spellings_delegate_to_as_str (line 1103) | fn display_spellings_delegate_to_as_str() { function mode_behaviour_flags (line 1139) | fn mode_behaviour_flags() { function capability_classification (line 1159) | fn capability_classification() { function budget_decisions (line 1193) | fn budget_decisions() { function invalidation_decisions (line 1270) | fn invalidation_decisions() { function eviction_order_hnsw_first_model_last (line 1345) | fn eviction_order_hnsw_first_model_last() { function artifact_required_for_capability (line 1353) | fn artifact_required_for_capability() { function fixture_no_model_state (line 1388) | fn fixture_no_model_state() { function fixture_fast_tier_only_state (line 1405) | fn fixture_fast_tier_only_state() { function fixture_full_quality_state (line 1416) | fn fixture_full_quality_state() { function policy_json_round_trip (line 1433) | fn policy_json_round_trip() { function asset_manifest_json_round_trip (line 1441) | fn asset_manifest_json_round_trip() { function effective_settings_all_defaults (line 1458) | fn effective_settings_all_defaults() { function effective_settings_cli_overrides_show_cli_source (line 1491) | fn effective_settings_cli_overrides_show_cli_source() { function effective_settings_lookup_by_name (line 1513) | fn effective_settings_lookup_by_name() { function effective_settings_environment_overrides_show_environment_source (line 1523) | fn effective_settings_environment_overrides_show_environment_source() { function effective_settings_download_policy_uses_snake_case_value (line 1543) | fn effective_settings_download_policy_uses_snake_case_value() { function effective_settings_json_round_trip (line 1558) | fn effective_settings_json_round_trip() { function effective_settings_source_counts (line 1571) | fn effective_settings_source_counts() { function effective_settings_version_fields_always_compiled (line 1586) | fn effective_settings_version_fields_always_compiled() { FILE: src/search/query.rs type SendConnection (line 61) | struct SendConnection(Connection); type Target (line 96) | type Target = Connection; method deref (line 97) | fn deref(&self) -> &Connection { type TantivyContentExactKey (line 63) | type TantivyContentExactKey = (i64, i64); type TantivyContentFallbackKey (line 64) | type TantivyContentFallbackKey = (String, String, i64); type TantivyHydratedContentMaps (line 65) | type TantivyHydratedContentMaps = ( type SqliteFtsHydratedRow (line 69) | type SqliteFtsHydratedRow = ( constant SQLITE_FTS5_HYDRATE_PARAM_CHUNK (line 87) | const SQLITE_FTS5_HYDRATE_PARAM_CHUNK: usize = 30_000; constant SQLITE_MAX_VARIABLE_NUMBER (line 88) | const SQLITE_MAX_VARIABLE_NUMBER: usize = 32_766; constant SEARCH_SQLITE_HYDRATION_CACHE_KIB (line 89) | const SEARCH_SQLITE_HYDRATION_CACHE_KIB: i64 = 4_096; function open_search_hydration_sqlite (line 102) | fn open_search_hydration_sqlite(path: &Path, timeout: Duration) -> Resul... function nfc_sanitize_query (line 119) | fn nfc_sanitize_query(raw: &str) -> String { function franken_query_map_collect_retry (line 125) | fn franken_query_map_collect_retry( function hydrate_message_content_by_conversation (line 156) | fn hydrate_message_content_by_conversation( function semantic_message_id_from_db (line 204) | fn semantic_message_id_from_db(message_id: i64) -> std::io::Result { function semantic_doc_component_id_from_db (line 208) | fn semantic_doc_component_id_from_db(raw: Option) -> u32 { type StringInterner (line 231) | pub struct StringInterner { method new (line 237) | pub fn new(capacity: usize) -> Self { method intern (line 250) | pub fn intern(&self, s: &str) -> Arc { method len (line 278) | pub fn len(&self) -> usize { method is_empty (line 284) | pub fn is_empty(&self) -> bool { function intern_cache_key (line 295) | fn intern_cache_key(s: &str) -> Arc { function sql_placeholders (line 315) | pub fn sql_placeholders(count: usize) -> String { type SearchFilters (line 332) | pub struct SearchFilters { type SearchMode (line 347) | pub enum SearchMode { method next (line 358) | pub fn next(self) -> Self { type SemanticTierMode (line 375) | pub enum SemanticTierMode { method wants_two_tier (line 384) | const fn wants_two_tier(self) -> bool { method to_frankensearch_config (line 388) | fn to_frankensearch_config(self) -> FsTwoTierConfig { constant PROGRESSIVE_EMBEDDING_CACHE_CAPACITY (line 404) | const PROGRESSIVE_EMBEDDING_CACHE_CAPACITY: usize = 64; constant ANN_CANDIDATE_MULTIPLIER (line 405) | const ANN_CANDIDATE_MULTIPLIER: usize = 4; constant HYBRID_NO_LIMIT_PLANNING_WINDOW (line 406) | const HYBRID_NO_LIMIT_PLANNING_WINDOW: usize = 64; constant HYBRID_NO_LIMIT_SEMANTIC_CAP (line 407) | const HYBRID_NO_LIMIT_SEMANTIC_CAP: usize = 2048; constant AUTOMATIC_WILDCARD_FALLBACK_MAX_TOKEN_CHARS (line 408) | const AUTOMATIC_WILDCARD_FALLBACK_MAX_TOKEN_CHARS: usize = 16; constant NO_LIMIT_RESULT_MIN (line 430) | pub const NO_LIMIT_RESULT_MIN: usize = 1_000; constant NO_LIMIT_RESULT_MAX (line 431) | pub const NO_LIMIT_RESULT_MAX: usize = 1_000_000; constant AVG_HIT_BYTES (line 437) | const AVG_HIT_BYTES: u64 = 80 * 1024; constant NO_LIMIT_BYTES_CEILING (line 444) | const NO_LIMIT_BYTES_CEILING: u64 = 16 * 1024 * 1024 * 1024; constant NO_LIMIT_BYTES_FLOOR (line 449) | const NO_LIMIT_BYTES_FLOOR: u64 = 256 * 1024 * 1024; constant NO_LIMIT_RAM_DIVISOR (line 454) | const NO_LIMIT_RAM_DIVISOR: u64 = 16; function available_memory_bytes (line 456) | fn available_memory_bytes() -> Option { function no_limit_result_cap (line 467) | fn no_limit_result_cap() -> usize { function compute_no_limit_result_cap_from (line 484) | fn compute_no_limit_result_cap_from( function no_limit_budget_bytes (line 504) | fn no_limit_budget_bytes(bytes_env: Option, available_bytes: Opt... function no_limit_available_memory_budget (line 512) | fn no_limit_available_memory_budget(available_bytes: Option) -> Opt... function frankensearch_two_tier_config (line 521) | fn frankensearch_two_tier_config() -> FsTwoTierConfig { function progressive_phase_fetch_limit (line 526) | const fn progressive_phase_fetch_limit(limit: usize) -> usize { type HybridCandidateBudget (line 532) | struct HybridCandidateBudget { function hybrid_stage_multipliers (line 538) | const fn hybrid_stage_multipliers(query_class: FsQueryClass) -> (usize, ... function hybrid_candidate_budget (line 552) | fn hybrid_candidate_budget( type QueryType (line 610) | pub enum QueryType { type IndexStrategy (line 628) | pub enum IndexStrategy { type QueryCost (line 644) | pub enum QueryCost { type ParsedSubTerm (line 655) | pub struct ParsedSubTerm { type ParsedTerm (line 662) | pub struct ParsedTerm { type ParsedQuery (line 673) | pub struct ParsedQuery { type QueryExplanation (line 686) | pub struct QueryExplanation { method analyze (line 722) | pub fn analyze(query: &str, filters: &SearchFilters) -> Self { method classify_query (line 823) | fn classify_query(parsed: &ParsedQuery, filters: &SearchFilters, sanit... method determine_strategy (line 862) | fn determine_strategy(parsed: &ParsedQuery, sanitized: &str) -> IndexS... method estimate_cost (line 894) | fn estimate_cost( method summarize_filters (line 928) | fn summarize_filters(filters: &SearchFilters) -> FiltersSummary { method generate_warnings (line 966) | fn generate_warnings( method with_wildcard_fallback (line 1023) | pub fn with_wildcard_fallback(mut self, applied: bool) -> Self { type FiltersSummary (line 709) | pub struct FiltersSummary { type MatchType (line 1044) | pub enum MatchType { method quality_factor (line 1062) | pub fn quality_factor(self) -> f32 { type SuggestionKind (line 1077) | pub enum SuggestionKind { type QuerySuggestion (line 1092) | pub struct QuerySuggestion { method spelling (line 1106) | fn spelling(_query: &str, corrected: &str) -> Self { method wildcard (line 1116) | fn wildcard(query: &str) -> Self { method remove_agent_filter (line 1127) | fn remove_agent_filter(current_agent: &str, current_filters: &SearchFi... method try_agent (line 1141) | fn try_agent(agent_slug: &str) -> Self { method with_shortcut (line 1153) | fn with_shortcut(mut self, key: u8) -> Self { type FieldMask (line 1160) | pub struct FieldMask { constant CONTENT (line 1166) | const CONTENT: u8 = 1 << 0; constant SNIPPET (line 1167) | const SNIPPET: u8 = 1 << 1; constant TITLE (line 1168) | const TITLE: u8 = 1 << 2; constant CACHE (line 1169) | const CACHE: u8 = 1 << 3; constant FULL (line 1171) | pub const FULL: Self = Self { method new (line 1176) | pub fn new( method with_preview_content_limit (line 1201) | pub fn with_preview_content_limit(mut self, max_chars: Option) ... method needs_content (line 1209) | pub fn needs_content(self) -> bool { method wants_snippet (line 1213) | pub fn wants_snippet(self) -> bool { method wants_title (line 1217) | pub fn wants_title(self) -> bool { method allows_cache (line 1221) | pub fn allows_cache(self) -> bool { method preview_content_limit (line 1225) | pub fn preview_content_limit(self) -> Option { type SearchHit (line 1231) | pub struct SearchHit { function default_source_id (line 1271) | fn default_source_id() -> String { function effective_field_mask (line 1275) | fn effective_field_mask(field_mask: FieldMask) -> FieldMask { function execute_query_with_lazy_exact_count (line 1283) | fn execute_query_with_lazy_exact_count( type SearchResult (line 1311) | pub struct SearchResult { type ProgressivePhaseKind (line 1331) | pub enum ProgressivePhaseKind { type ProgressiveSearchEvent (line 1340) | pub enum ProgressiveSearchEvent { type ProgressiveSearchRequest (line 1353) | pub(crate) struct ProgressiveSearchRequest<'a> { type SearchHitKey (line 1364) | struct SearchHitKey { method from_hit (line 1462) | fn from_hit(hit: &SearchHit) -> Self { function normalized_search_source_id_sql_expr (line 1374) | fn normalized_search_source_id_sql_expr( function normalize_search_source_filter_value (line 1399) | fn normalize_search_source_filter_value(source_id: &str) -> String { function normalized_search_hit_source_id_parts (line 1408) | fn normalized_search_hit_source_id_parts( function normalized_search_hit_origin_kind (line 1435) | fn normalized_search_hit_origin_kind(source_id: &str, origin_kind: Optio... function normalized_search_hit_source_id (line 1453) | fn normalized_search_hit_source_id(hit: &SearchHit) -> String { method cmp (line 1480) | fn cmp(&self, other: &Self) -> CmpOrdering { method partial_cmp (line 1493) | fn partial_cmp(&self, other: &Self) -> Option { constant FEDERATED_RRF_K (line 1498) | const FEDERATED_RRF_K: f32 = 60.0; type FederatedRankedHit (line 1501) | struct FederatedRankedHit { function federated_rrf_score (line 1508) | fn federated_rrf_score(shard_rank: usize) -> f32 { function merge_federated_ranked_hits (line 1512) | fn merge_federated_ranked_hits(mut ranked_hits: Vec)... type HybridScore (line 1532) | struct HybridScore { type FusedHit (line 1543) | struct FusedHit { function stable_content_hash (line 1558) | pub(crate) fn stable_content_hash(content: &str) -> u64 { function stable_hit_hash (line 1572) | fn stable_hit_hash( function search_hit_key_doc_id (line 1600) | fn search_hit_key_doc_id(key: &SearchHitKey) -> String { function search_hit_doc_id (line 1640) | fn search_hit_doc_id(hit: &SearchHit) -> String { function cmp_fused_hit_desc (line 1646) | fn cmp_fused_hit_desc(a: &FusedHit, b: &FusedHit) -> CmpOrdering { constant QUICKSELECT_THRESHOLD (line 1665) | const QUICKSELECT_THRESHOLD: usize = 64; function top_k_fused (line 1677) | fn top_k_fused(mut hits: Vec, k: usize) -> Vec { function rrf_fuse_hits (line 1710) | pub fn rrf_fuse_hits( type QueryCache (line 1928) | struct QueryCache { method new (line 1934) | fn new(embedder_id: &str, capacity: NonZeroUsize) -> Self { method align_embedder (line 1941) | fn align_embedder(&mut self, embedder: &dyn Embedder) { method get_cached (line 1948) | fn get_cached(&mut self, embedder: &dyn Embedder, canonical: &str) -> ... method store (line 1953) | fn store(&mut self, embedder: &dyn Embedder, canonical: &str, embeddin... function semantic_filter_as_search_filter (line 1961) | fn semantic_filter_as_search_filter(filter: &SemanticFilter) -> Option<&... function open_fs_semantic_ann_index (line 1971) | fn open_fs_semantic_ann_index(fs_index: &FsVectorIndex, ann_path: &Path)... type SemanticSearchState (line 1994) | struct SemanticSearchState { type InMemoryTwoTierUnavailable (line 2011) | struct InMemoryTwoTierUnavailable { method is_known_unavailable (line 2017) | fn is_known_unavailable(self, tier_mode: SemanticTierMode) -> bool { method mark_unavailable (line 2025) | fn mark_unavailable(&mut self, tier_mode: SemanticTierMode) { type ProgressiveTwoTierContext (line 2038) | struct ProgressiveTwoTierContext { type SemanticCandidateContext (line 2046) | struct SemanticCandidateContext { type SemanticCandidateSearchRequest (line 2053) | struct SemanticCandidateSearchRequest<'a> { type SemanticQueryEmbedding (line 2061) | struct SemanticQueryEmbedding { type SharedCassSyncEmbedder (line 2066) | struct SharedCassSyncEmbedder { method new (line 2072) | fn new(inner: Arc) -> Self { method embed_sync (line 2083) | fn embed_sync(&self, text: &str) -> crate::search::embedder::EmbedderRes... method embed_batch_sync (line 2097) | fn embed_batch_sync( method dimension (line 2104) | fn dimension(&self) -> usize { method id (line 2108) | fn id(&self) -> &str { method model_name (line 2112) | fn model_name(&self) -> &str { method is_ready (line 2116) | fn is_ready(&self) -> bool { method is_semantic (line 2120) | fn is_semantic(&self) -> bool { method category (line 2124) | fn category(&self) -> frankensearch::ModelCategory { method tier (line 2128) | fn tier(&self) -> frankensearch::ModelTier { method supports_mrl (line 2132) | fn supports_mrl(&self) -> bool { function build_in_memory_two_tier_index (line 2137) | fn build_in_memory_two_tier_index( function two_tier_index_supports_mode (line 2183) | fn two_tier_index_supports_mode( type ResolvedSemanticDocId (line 2194) | struct ResolvedSemanticDocId { type ProgressiveLookupKey (line 2199) | type ProgressiveLookupKey = (String, String, Option, String, i64, O... type ProgressiveExactQueryKey (line 2200) | type ProgressiveExactQueryKey = (i64, i64); type ProgressiveFallbackQueryKey (line 2201) | type ProgressiveFallbackQueryKey = (String, String, i64); type ResolvedSemanticLookupRow (line 2202) | type ResolvedSemanticLookupRow = Option<(ProgressiveLookupKey, ResolvedS... type ProgressiveLexicalHit (line 2205) | struct ProgressiveLexicalHit { method from_search_hit (line 2224) | fn from_search_hit(hit: &SearchHit, field_mask: FieldMask) -> Self { method to_search_hit (line 2256) | fn to_search_hit(&self, score: f32) -> SearchHit { type ProgressiveLexicalCache (line 2279) | struct ProgressiveLexicalCache { type ProgressivePhaseContext (line 2286) | struct ProgressivePhaseContext<'a> { type ProgressiveLexicalSnapshot (line 2295) | type ProgressiveLexicalSnapshot = Arc; type CassProgressiveLexicalAdapter (line 2297) | struct CassProgressiveLexicalAdapter { method new (line 2306) | fn new( method search (line 2324) | fn search<'a>( method index_document (line 2399) | fn index_document<'a>( method commit (line 2412) | fn commit<'a>(&'a self, _cx: &'a FsCx) -> FsSearchFuture<'a, ()> { method doc_count (line 2416) | fn doc_count(&self) -> usize { type SearchClient (line 2421) | pub struct SearchClient { method open (line 3263) | pub fn open(index_path: &Path, db_path: Option<&Path>) -> Result Result Result<()> { method semantic_context_matches (line 3773) | fn semantic_context_matches(&self, context_token: &Arc<()>) -> Result<... method semantic_query_embedding (line 3783) | fn semantic_query_embedding(&self, canonical: &str) -> Result Result> { method collapse_semantic_results (line 3957) | fn collapse_semantic_results( method record_fs_semantic_hit (line 3973) | fn record_fs_semantic_hit( method search_exact_semantic_indexes (line 3995) | fn search_exact_semantic_indexes( method search_semantic_candidates (line 4042) | fn search_semantic_candidates( method can_progressively_refine (line 4197) | pub fn can_progressively_refine(&self) -> bool { method progressive_context (line 4207) | fn progressive_context(&self) -> Result Result Searcher { method federated_readers (line 5643) | fn federated_readers(&self) -> Option>> { method maybe_reload_federated_readers (line 5650) | fn maybe_reload_federated_readers( method federated_generation_signature (line 5685) | fn federated_generation_signature(&self, readers: &[FederatedIndexRead... method track_generation (line 5697) | fn track_generation(&self, generation: u64) { method hydrate_tantivy_hit_contents (line 5711) | fn hydrate_tantivy_hit_contents( method search_tantivy (line 5848) | fn search_tantivy( method search_tantivy_federated (line 6161) | fn search_tantivy_federated( method sqlite_fts_uses_message_id_column (line 6212) | fn sqlite_fts_uses_message_id_column(conn: &Connection) -> Result { method sqlite_fts5_rank_query (line 6230) | fn sqlite_fts5_rank_query( method sqlite_fts5_hydrate_query (line 6310) | fn sqlite_fts5_hydrate_query( method sqlite_fts5_hydrate_row_chunks (line 6356) | fn sqlite_fts5_hydrate_row_chunks( method search_sqlite_fts5 (line 6363) | fn search_sqlite_fts5( method browse_by_date (line 6550) | pub fn browse_by_date( method browse_by_date_sqlite (line 6566) | fn browse_by_date_sqlite( method total_docs (line 7363) | pub fn total_docs(&self) -> usize { method has_tantivy (line 7378) | pub fn has_tantivy(&self) -> bool { method maybe_reload_reader (line 7382) | fn maybe_reload_reader(&self, reader: &IndexReader) -> Result<()> { method maybe_log_cache_metrics (line 7408) | fn maybe_log_cache_metrics(&self, event: &str) { method cache_key (line 7434) | fn cache_key(&self, query: &str, filters: &SearchFilters) -> Arc { method shard_name (line 7444) | fn shard_name(&self, filters: &SearchFilters) -> String { method cached_prefix_key_exists_in_shard (line 7469) | fn cached_prefix_key_exists_in_shard( method maybe_schedule_adaptive_query_prewarm (line 7490) | fn maybe_schedule_adaptive_query_prewarm(&self, query: &str, filters: ... method cached_prefix_hits (line 7535) | fn cached_prefix_hits(&self, query: &str, filters: &SearchFilters) -> ... method put_cache (line 7558) | fn put_cache(&self, query: &str, filters: &SearchFilters, hits: &[Sear... method cache_stats (line 7570) | pub fn cache_stats(&self) -> CacheStats { type SearchClientOptions (line 2442) | pub struct SearchClientOptions { method default (line 2448) | fn default() -> Self { method drop (line 2457) | fn drop(&mut self) { type CacheStats (line 2465) | pub struct CacheStats { method default (line 2494) | fn default() -> Self { constant DEFAULT_CACHE_BYTE_CAP_FALLBACK (line 2552) | const DEFAULT_CACHE_BYTE_CAP_FALLBACK: usize = 64 * 1024 * 1024; constant DEFAULT_CACHE_BYTE_CAP_MEMORY_FRACTION_DENOMINATOR (line 2553) | const DEFAULT_CACHE_BYTE_CAP_MEMORY_FRACTION_DENOMINATOR: u64 = 128; constant DEFAULT_CACHE_BYTE_CAP_CEILING (line 2554) | const DEFAULT_CACHE_BYTE_CAP_CEILING: u64 = 2 * 1024 * 1024 * 1024; constant S3_FIFO_GHOST_CAP_MULTIPLIER (line 2555) | const S3_FIFO_GHOST_CAP_MULTIPLIER: usize = 2; constant S3_FIFO_LARGE_ENTRY_FRACTION_DENOMINATOR (line 2556) | const S3_FIFO_LARGE_ENTRY_FRACTION_DENOMINATOR: usize = 4; constant PREWARM_ENTRY_PRESSURE_NUMERATOR (line 2557) | const PREWARM_ENTRY_PRESSURE_NUMERATOR: usize = 9; constant PREWARM_ENTRY_PRESSURE_DENOMINATOR (line 2558) | const PREWARM_ENTRY_PRESSURE_DENOMINATOR: usize = 10; constant PREWARM_BYTE_PRESSURE_NUMERATOR (line 2559) | const PREWARM_BYTE_PRESSURE_NUMERATOR: usize = 4; constant PREWARM_BYTE_PRESSURE_DENOMINATOR (line 2560) | const PREWARM_BYTE_PRESSURE_DENOMINATOR: usize = 5; constant CACHE_KEY_VERSION (line 2562) | const CACHE_KEY_VERSION: &str = "1"; function default_cache_byte_cap (line 2573) | fn default_cache_byte_cap() -> usize { function cache_byte_cap_from_env_value (line 2577) | fn cache_byte_cap_from_env_value(value: Option<&str>, available_bytes: O... function default_cache_byte_cap_for_available (line 2585) | fn default_cache_byte_cap_for_available(available_bytes: Option) ->... type CacheEvictionPolicy (line 2597) | enum CacheEvictionPolicy { method label (line 2603) | fn label(self) -> &'static str { function cache_eviction_policy_from_env_value (line 2611) | fn cache_eviction_policy_from_env_value(value: Option<&str>) -> CacheEvi... type CachedHit (line 2621) | struct CachedHit { method approx_bytes (line 2631) | fn approx_bytes(&self) -> usize { type CacheShards (line 2660) | struct CacheShards { method new (line 2680) | fn new(total_cap: usize, byte_cap: usize) -> Self { method new_with_policy (line 2684) | fn new_with_policy(total_cap: usize, byte_cap: usize, policy: CacheEvi... method shard_mut (line 2699) | fn shard_mut(&mut self, name: &str) -> &mut LruCache, Vec Option<&LruCache, Vec, value: Vec, cost: usize, bytes: usize) -> b... method is_s3_fifo_large_candidate (line 2791) | fn is_s3_fifo_large_candidate(&self, cost: usize, bytes: usize) -> bool { method record_ghost (line 2804) | fn record_ghost(&mut self, key: Arc) { method remove_ghost (line 2824) | fn remove_ghost(&mut self, key: &Arc) { method clear (line 2829) | fn clear(&mut self) { method total_cost (line 2838) | fn total_cost(&self) -> usize { method total_cap (line 2842) | fn total_cap(&self) -> usize { method eviction_count (line 2846) | fn eviction_count(&self) -> u64 { method total_bytes (line 2850) | fn total_bytes(&self) -> usize { method byte_cap (line 2854) | fn byte_cap(&self) -> usize { method policy_label (line 2858) | fn policy_label(&self) -> &'static str { method ghost_entries (line 2862) | fn ghost_entries(&self) -> usize { method admission_rejects (line 2866) | fn admission_rejects(&self) -> u64 { method prewarm_pressure (line 2870) | fn prewarm_pressure(&self) -> bool { function shard_cached_bytes (line 2888) | fn shard_cached_bytes(shard: &LruCache, Vec>) -> usi... type WarmJob (line 2896) | struct WarmJob { type AdaptivePrewarmDecision (line 2903) | enum AdaptivePrewarmDecision { type SearcherCacheEntry (line 2910) | struct SearcherCacheEntry { type FederatedIndexReader (line 2921) | struct FederatedIndexReader { function levenshtein_distance (line 2932) | fn levenshtein_distance(a: &str, b: &str) -> usize { function normalize_term_parts (line 2967) | fn normalize_term_parts(raw: &str) -> Vec { function normalize_phrase_terms (line 2992) | fn normalize_phrase_terms(raw: &str) -> Vec { function render_fts5_term_part (line 3000) | fn render_fts5_term_part(part: &str) -> Option { function dominant_match_type (line 3016) | fn dominant_match_type(query: &str) -> MatchType { function is_tool_invocation_noise (line 3037) | pub(crate) fn is_tool_invocation_noise(content: &str) -> bool { function hit_content_for_noise_check (line 3072) | fn hit_content_for_noise_check(hit: &SearchHit) -> &str { function hit_is_noise (line 3080) | fn hit_is_noise(hit: &SearchHit, query: &str) -> bool { function snippet_from_content (line 3097) | fn snippet_from_content(content: &str) -> String { function deduplicate_hits (line 3116) | pub(crate) fn deduplicate_hits(hits: Vec) -> Vec { function deduplicate_hits_with_query (line 3120) | pub(crate) fn deduplicate_hits_with_query(hits: Vec, query: &... function should_try_wildcard_fallback (line 3208) | fn should_try_wildcard_fallback( function should_skip_automatic_wildcard_fallback_for_long_zero_hit_query (line 3227) | fn should_skip_automatic_wildcard_fallback_for_long_zero_hit_query( function snippet_from_preview_without_full_content (line 3244) | fn snippet_from_preview_without_full_content( function stored_preview_is_complete_content (line 3256) | fn stored_preview_is_complete_content(stored_preview: &str) -> bool { function fuzz_transpile_to_fts5 (line 6726) | pub fn fuzz_transpile_to_fts5(raw_query: &str) -> Option { function transpile_to_fts5 (line 6733) | fn transpile_to_fts5(raw_query: &str) -> Option { type Metrics (line 6903) | struct Metrics { method inc_cache_hits (line 6914) | fn inc_cache_hits(&self) { method inc_cache_miss (line 6917) | fn inc_cache_miss(&self) { method inc_cache_shortfall (line 6920) | fn inc_cache_shortfall(&self) { method inc_prewarm_scheduled (line 6923) | fn inc_prewarm_scheduled(&self) { method inc_prewarm_skipped_pressure (line 6926) | fn inc_prewarm_skipped_pressure(&self) { method inc_reload (line 6930) | fn inc_reload(&self) { method record_reload (line 6933) | fn record_reload(&self, duration: Duration) { method snapshot_all (line 6939) | fn snapshot_all(&self) -> (u64, u64, u64, u64, u128) { method snapshot_prewarm (line 6949) | fn snapshot_prewarm(&self) -> (u64, u64) { method reset (line 6958) | fn reset(&self) { function maybe_spawn_warm_worker (line 6969) | fn maybe_spawn_warm_worker( function cached_hit_from (line 7036) | fn cached_hit_from(hit: &SearchHit) -> CachedHit { function bloom_from_text (line 7054) | fn bloom_from_text(content: &str, title: &Option) -> u64 { function token_stream (line 7067) | fn token_stream(text: &str) -> impl Iterator { function hash_token (line 7072) | fn hash_token(tok: &str) -> u64 { type QueryTermsLower (line 7090) | struct QueryTermsLower { method from_query (line 7101) | fn from_query(query: &str) -> Self { method is_empty (line 7143) | fn is_empty(&self) -> bool { method tokens (line 7149) | fn tokens(&self) -> impl Iterator { method bloom_mask (line 7157) | fn bloom_mask(&self) -> u64 { function hit_matches_query_cached_precomputed (line 7164) | fn hit_matches_query_cached_precomputed(hit: &CachedHit, terms: &QueryTe... function hit_matches_query_cached (line 7193) | fn hit_matches_query_cached(hit: &CachedHit, query: &str) -> bool { function is_prefix_only (line 7198) | fn is_prefix_only(query: &str) -> bool { function quick_prefix_snippet (line 7208) | fn quick_prefix_snippet(content: &str, query: &str, max_chars: usize) ->... function cached_prefix_snippet (line 7277) | fn cached_prefix_snippet(content: &str, query: &str, max_chars: usize) -... function filters_fingerprint (line 7327) | fn filters_fingerprint(filters: &SearchFilters) -> String { function search_hit_key_doc_id_reference_v0 (line 7633) | fn search_hit_key_doc_id_reference_v0(key: &SearchHitKey) -> String { function stable_hit_hash_reference_v0 (line 7649) | fn stable_hit_hash_reference_v0( function stable_hit_hash_matches_reference_and_is_deterministic (line 7675) | fn stable_hit_hash_matches_reference_and_is_deterministic() { function semantic_message_id_from_db_rejects_negative_values (line 7716) | fn semantic_message_id_from_db_rejects_negative_values() { function semantic_doc_component_id_from_db_clamps_bounds (line 7726) | fn semantic_doc_component_id_from_db_clamps_bounds() { function search_hit_key_doc_id_matches_reference_byte_for_byte (line 7738) | fn search_hit_key_doc_id_matches_reference_byte_for_byte() { type FixedTestEmbedder (line 7817) | struct FixedTestEmbedder { method new (line 7823) | fn new(id: &str, vector: &[f32]) -> Self { method embed_sync (line 7888) | fn embed_sync(&self, _text: &str) -> crate::search::embedder::Embedder... method dimension (line 7892) | fn dimension(&self) -> usize { method id (line 7896) | fn id(&self) -> &str { method is_semantic (line 7900) | fn is_semantic(&self) -> bool { method category (line 7904) | fn category(&self) -> frankensearch::ModelCategory { type BlockingTestEmbedder (line 7832) | struct BlockingTestEmbedder { method new (line 7840) | fn new( method embed_sync (line 7856) | fn embed_sync(&self, _text: &str) -> crate::search::embedder::Embedder... method dimension (line 7870) | fn dimension(&self) -> usize { method id (line 7874) | fn id(&self) -> &str { method is_semantic (line 7878) | fn is_semantic(&self) -> bool { method category (line 7882) | fn category(&self) -> frankensearch::ModelCategory { type SemanticTestFixture (line 7909) | struct SemanticTestFixture { type ProgressiveHybridFixture (line 7916) | struct ProgressiveHybridFixture { function projected_minimal_fields_search_hit (line 7927) | fn projected_minimal_fields_search_hit(title: &str, source_path: &str) -... function hit_is_noise_returns_false_for_projected_minimal_fields_hit (line 7958) | fn hit_is_noise_returns_false_for_projected_minimal_fields_hit() { function hit_is_noise_still_suppresses_real_tool_invocation_noise_when_content_present (line 7978) | fn hit_is_noise_still_suppresses_real_tool_invocation_noise_when_content... function hit_is_noise_uses_snippet_when_content_empty_but_snippet_populated (line 8005) | fn hit_is_noise_uses_snippet_when_content_empty_but_snippet_populated() { function search_client_is_send_sync_without_phantom_filters (line 8021) | fn search_client_is_send_sync_without_phantom_filters() { function semantic_embedding_releases_semantic_lock_while_embedding (line 8027) | fn semantic_embedding_releases_semantic_lock_while_embedding() -> Result... function semantic_embedding_ignores_stale_same_id_context_after_swap (line 8091) | fn semantic_embedding_ignores_stale_same_id_context_after_swap() -> Resu... function quality_mode_does_not_reuse_fast_only_two_tier_cache (line 8154) | fn quality_mode_does_not_reuse_fast_only_two_tier_cache() -> Result<()> { function failed_quality_probe_does_not_block_fast_only_two_tier_load (line 8202) | fn failed_quality_probe_does_not_block_fast_only_two_tier_load() -> Resu... function progressive_context_error_does_not_poison_future_attempts (line 8251) | fn progressive_context_error_does_not_poison_future_attempts() -> Result... function build_semantic_test_fixture (line 8308) | fn build_semantic_test_fixture() -> Result { function build_sharded_semantic_test_fixture (line 8312) | fn build_sharded_semantic_test_fixture() -> Result { function build_semantic_test_fixture_with_shards (line 8316) | fn build_semantic_test_fixture_with_shards(sharded: bool) -> Result Result { function sanitize_query (line 8694) | fn sanitize_query(raw: &str) -> String { function parse_boolean_query (line 8698) | fn parse_boolean_query(query: &str) -> Vec { function sqlite_master_name_count (line 8702) | fn sqlite_master_name_count(db_path: &Path, name: &str) -> Result { type QueryToken (line 8711) | type QueryToken = FsCassQueryToken; type WildcardPattern (line 8712) | type WildcardPattern = FsCassWildcardPattern; type QueryTokenList (line 8713) | type QueryTokenList = Vec; function progressive_hybrid_profile_harness (line 8717) | fn progressive_hybrid_profile_harness() -> Result<()> { function interner_returns_same_arc_for_same_string (line 8801) | fn interner_returns_same_arc_for_same_string() { function interner_different_strings_return_different_arcs (line 8813) | fn interner_different_strings_return_different_arcs() { function interner_handles_empty_string (line 8825) | fn interner_handles_empty_string() { function interner_handles_unicode (line 8836) | fn interner_handles_unicode() { function interner_respects_lru_eviction (line 8848) | fn interner_respects_lru_eviction() { function interner_concurrent_access (line 8868) | fn interner_concurrent_access() { function query_terms_lower_basic (line 8906) | fn query_terms_lower_basic() { function query_terms_lower_empty (line 8915) | fn query_terms_lower_empty() { function query_terms_lower_single_term (line 8923) | fn query_terms_lower_single_term() { function query_terms_lower_with_punctuation (line 8931) | fn query_terms_lower_with_punctuation() { function query_terms_lower_unicode (line 8939) | fn query_terms_lower_unicode() { function query_terms_lower_bloom_mask (line 8948) | fn query_terms_lower_bloom_mask() { function hit_matches_with_precomputed_terms (line 8960) | fn hit_matches_with_precomputed_terms() { function make_fused_hit (line 8993) | fn make_fused_hit( function make_federated_merge_hit (line 9037) | fn make_federated_merge_hit(id: &str, agent: &str) -> SearchHit { function make_federated_ranked_hit (line 9058) | fn make_federated_ranked_hit( function federated_merge_orders_equal_rank_hits_by_stable_hit_key (line 9072) | fn federated_merge_orders_equal_rank_hits_by_stable_hit_key() { function federated_merge_keeps_rrf_rank_ahead_of_stable_key (line 9093) | fn federated_merge_keeps_rrf_rank_ahead_of_stable_key() { function federated_merge_uses_shard_index_as_duplicate_final_tiebreak (line 9108) | fn federated_merge_uses_shard_index_as_duplicate_final_tiebreak() { function top_k_fused_basic (line 9129) | fn top_k_fused_basic() { function top_k_fused_empty (line 9147) | fn top_k_fused_empty() { function top_k_fused_k_zero (line 9154) | fn top_k_fused_k_zero() { function top_k_fused_k_larger_than_n (line 9164) | fn top_k_fused_k_larger_than_n() { function top_k_fused_k_equals_n (line 9178) | fn top_k_fused_k_equals_n() { function top_k_fused_k_one (line 9194) | fn top_k_fused_k_one() { function top_k_fused_duplicate_scores (line 9209) | fn top_k_fused_duplicate_scores() { function top_k_fused_dual_source_tiebreaker (line 9226) | fn top_k_fused_dual_source_tiebreaker() { function top_k_fused_large_input_uses_quickselect (line 9242) | fn top_k_fused_large_input_uses_quickselect() { function top_k_fused_equivalence_with_full_sort (line 9259) | fn top_k_fused_equivalence_with_full_sort() { function cmp_fused_hit_desc_basic_ordering (line 9300) | fn cmp_fused_hit_desc_basic_ordering() { function cache_enforces_prefix_matching (line 9315) | fn cache_enforces_prefix_matching() { function search_deduplication_across_pages_repro (line 9354) | fn search_deduplication_across_pages_repro() { function cache_skips_complex_queries (line 9432) | fn cache_skips_complex_queries() { function cache_prefix_lookup_handles_utf8_boundaries (line 9482) | fn cache_prefix_lookup_handles_utf8_boundaries() { function bloom_gate_rejects_missing_terms (line 9529) | fn bloom_gate_rejects_missing_terms() { function progressive_lexical_hit_omits_unused_content (line 9562) | fn progressive_lexical_hit_omits_unused_content() { function progressive_phase_reuses_lexical_cache_without_db_hydration (line 9602) | fn progressive_phase_reuses_lexical_cache_without_db_hydration() -> Resu... function search_returns_results_with_filters_and_pagination (line 9684) | fn search_returns_results_with_filters_and_pagination() -> Result<()> { function search_honors_created_range_and_workspace (line 9728) | fn search_honors_created_range_and_workspace() -> Result<()> { function pagination_skips_results (line 9802) | fn pagination_skips_results() -> Result<()> { function search_matches_hyphenated_term (line 9850) | fn search_matches_hyphenated_term() -> Result<()> { function search_matches_prefix_edge_ngram (line 9890) | fn search_matches_prefix_edge_ngram() -> Result<()> { function search_matches_snake_case (line 9931) | fn search_matches_snake_case() -> Result<()> { function search_matches_symbols_stripped (line 9977) | fn search_matches_symbols_stripped() -> Result<()> { function search_sets_match_type_for_wildcards (line 10017) | fn search_sets_match_type_for_wildcards() -> Result<()> { function search_with_fallback_marks_implicit_wildcard (line 10063) | fn search_with_fallback_marks_implicit_wildcard() -> Result<()> { function sqlite_backend_skips_wildcard_queries (line 10109) | fn sqlite_backend_skips_wildcard_queries() -> Result<()> { function sqlite_backend_handles_null_workspace (line 10139) | fn sqlite_backend_handles_null_workspace() -> Result<()> { function sqlite_backend_supports_legacy_fts_message_id_schema (line 10218) | fn sqlite_backend_supports_legacy_fts_message_id_schema() -> Result<()> { function tantivy_reader_skips_sqlite_fallback_on_empty_lexical_results (line 10305) | fn tantivy_reader_skips_sqlite_fallback_on_empty_lexical_results() -> Re... function sqlite_guard_does_not_repair_fts_when_generation_key_stale (line 10418) | fn sqlite_guard_does_not_repair_fts_when_generation_key_stale() -> Resul... function sqlite_path_rusqlite_fallback_matches_hyphenated_ids_with_workspace_filter (line 10535) | fn sqlite_path_rusqlite_fallback_matches_hyphenated_ids_with_workspace_f... function sqlite_backend_orders_hits_by_bm25_score (line 10705) | fn sqlite_backend_orders_hits_by_bm25_score() -> Result<()> { function sqlite_fts5_ranked_phase_defers_content_decode_until_after_limit (line 10811) | fn sqlite_fts5_ranked_phase_defers_content_decode_until_after_limit() { function sqlite_fts5_hydration_chunks_stay_below_bind_variable_limit (line 10836) | fn sqlite_fts5_hydration_chunks_stay_below_bind_variable_limit() { function tantivy_fallback_hydration_narrows_by_normalized_source_before_message_lookup (line 10869) | fn tantivy_fallback_hydration_narrows_by_normalized_source_before_messag... function exact_content_hydration_returns_only_requested_message_indices (line 10939) | fn exact_content_hydration_returns_only_requested_message_indices() -> R... function sqlite_backend_generates_snippet_from_content (line 10984) | fn sqlite_backend_generates_snippet_from_content() -> Result<()> { function sqlite_backend_respects_source_filter (line 11065) | fn sqlite_backend_respects_source_filter() -> Result<()> { function sqlite_backend_remote_source_filter_matches_blank_source_id_with_origin_host (line 11184) | fn sqlite_backend_remote_source_filter_matches_blank_source_id_with_orig... function sqlite_backend_workspace_filter_matches_null_workspace_as_empty_string (line 11290) | fn sqlite_backend_workspace_filter_matches_null_workspace_as_empty_strin... function browse_by_date_treats_null_workspace_and_source_as_local (line 11397) | fn browse_by_date_treats_null_workspace_and_source_as_local() -> Result<... function hydrate_semantic_hits_with_ids_snippet_only_uses_full_content_for_snippets_and_identity (line 11467) | fn hydrate_semantic_hits_with_ids_snippet_only_uses_full_content_for_sni... function hydrate_semantic_hits_with_ids_normalizes_trimmed_local_source_metadata (line 11563) | fn hydrate_semantic_hits_with_ids_normalizes_trimmed_local_source_metada... function hydrate_semantic_hits_with_ids_preserves_remote_origin_without_source_row (line 11635) | fn hydrate_semantic_hits_with_ids_preserves_remote_origin_without_source... function resolve_semantic_doc_ids_for_hits_distinguishes_same_source_path_line_by_content_hash (line 11708) | fn resolve_semantic_doc_ids_for_hits_distinguishes_same_source_path_line... function hydrate_semantic_hits_with_ids_keeps_missing_title_empty (line 11839) | fn hydrate_semantic_hits_with_ids_keeps_missing_title_empty() -> Result<... function resolve_semantic_doc_ids_for_hits_prefers_conversation_id_over_ambiguous_provenance (line 11910) | fn resolve_semantic_doc_ids_for_hits_prefers_conversation_id_over_ambigu... function resolve_semantic_doc_ids_for_hits_treats_null_source_as_local (line 12017) | fn resolve_semantic_doc_ids_for_hits_treats_null_source_as_local() -> Re... function resolve_semantic_doc_ids_for_hits_matches_trimmed_local_source_id (line 12099) | fn resolve_semantic_doc_ids_for_hits_matches_trimmed_local_source_id() -... function resolve_semantic_doc_ids_for_hits_normalizes_blank_local_source_id (line 12181) | fn resolve_semantic_doc_ids_for_hits_normalizes_blank_local_source_id() ... function resolve_semantic_doc_ids_for_hits_infers_remote_source_from_origin_host_when_source_id_blank (line 12263) | fn resolve_semantic_doc_ids_for_hits_infers_remote_source_from_origin_ho... function browse_by_date_snippet_only_uses_full_content_for_hit_identity (line 12346) | fn browse_by_date_snippet_only_uses_full_content_for_hit_identity() -> R... function cache_invalidates_on_new_data (line 12431) | fn cache_invalidates_on_new_data() -> Result<()> { function track_generation_clears_cache_on_change (line 12522) | fn track_generation_clears_cache_on_change() { function cache_total_cap_evicts_across_shards (line 12580) | fn cache_total_cap_evicts_across_shards() { function cache_stats_reflect_metrics (line 12634) | fn cache_stats_reflect_metrics() { function adaptive_query_prewarm_schedules_only_after_hot_prefix_cache_entry (line 12671) | fn adaptive_query_prewarm_schedules_only_after_hot_prefix_cache_entry() { function adaptive_query_prewarm_skips_when_cache_byte_cap_is_under_pressure (line 12728) | fn adaptive_query_prewarm_skips_when_cache_byte_cap_is_under_pressure() { function cache_eviction_count_tracks_evictions (line 12775) | fn cache_eviction_count_tracks_evictions() { function default_cache_byte_cap_scales_with_available_memory (line 12840) | fn default_cache_byte_cap_scales_with_available_memory() { function malformed_cache_byte_cap_env_uses_default_instead_of_disabling_guard (line 12865) | fn malformed_cache_byte_cap_env_uses_default_instead_of_disabling_guard() { function cache_eviction_policy_env_defaults_to_lru_and_accepts_s3_fifo (line 12881) | fn cache_eviction_policy_env_defaults_to_lru_and_accepts_s3_fifo() { function s3_fifo_admission_rejects_one_off_byte_heavy_entries_then_admits_ghost_replay (line 12902) | fn s3_fifo_admission_rejects_one_off_byte_heavy_entries_then_admits_ghos... function lru_policy_keeps_admitting_large_entries_under_existing_caps (line 12953) | fn lru_policy_keeps_admitting_large_entries_under_existing_caps() { function cache_byte_cap_triggers_eviction (line 12986) | fn cache_byte_cap_triggers_eviction() { function cache_byte_pressure_evicts_byte_heavy_shard_before_small_entries (line 13041) | fn cache_byte_pressure_evicts_byte_heavy_shard_before_small_entries() { function wildcard_pattern_parse_exact (line 13114) | fn wildcard_pattern_parse_exact() { function wildcard_pattern_parse_prefix (line 13131) | fn wildcard_pattern_parse_prefix() { function wildcard_pattern_parse_suffix (line 13148) | fn wildcard_pattern_parse_suffix() { function wildcard_pattern_parse_substring (line 13165) | fn wildcard_pattern_parse_substring() { function wildcard_pattern_parse_edge_cases (line 13182) | fn wildcard_pattern_parse_edge_cases() { function wildcard_pattern_to_regex_suffix (line 13219) | fn wildcard_pattern_to_regex_suffix() { function wildcard_pattern_to_regex_substring (line 13226) | fn wildcard_pattern_to_regex_substring() { function wildcard_pattern_to_regex_exact_prefix_none (line 13232) | fn wildcard_pattern_to_regex_exact_prefix_none() { function match_type_quality_factors (line 13242) | fn match_type_quality_factors() { function dominant_match_type_single_terms (line 13256) | fn dominant_match_type_single_terms() { function dominant_match_type_multiple_terms (line 13265) | fn dominant_match_type_multiple_terms() { function dominant_match_type_empty_query (line 13276) | fn dominant_match_type_empty_query() { function wildcard_pattern_to_regex_escapes_special_chars (line 13282) | fn wildcard_pattern_to_regex_escapes_special_chars() { function wildcard_pattern_to_regex_escapes_complex_patterns (line 13294) | fn wildcard_pattern_to_regex_escapes_complex_patterns() { function is_tool_invocation_noise_detects_noise (line 13314) | fn is_tool_invocation_noise_detects_noise() { function is_tool_invocation_noise_allows_useful_content (line 13333) | fn is_tool_invocation_noise_allows_useful_content() { function is_tool_invocation_noise_detects_tool_markers (line 13340) | fn is_tool_invocation_noise_detects_tool_markers() { function deduplicate_hits_removes_exact_dupes (line 13354) | fn deduplicate_hits_removes_exact_dupes() { function deduplicate_hits_keeps_higher_score (line 13401) | fn deduplicate_hits_keeps_higher_score() { function deduplicate_hits_keeps_repeated_same_content_at_different_lines (line 13448) | fn deduplicate_hits_keeps_repeated_same_content_at_different_lines() { function deduplicate_hits_keeps_distinct_conversation_ids_with_same_title_path_and_content (line 13477) | fn deduplicate_hits_keeps_distinct_conversation_ids_with_same_title_path... function deduplicate_hits_coalesces_same_conversation_id_despite_title_drift (line 13496) | fn deduplicate_hits_coalesces_same_conversation_id_despite_title_drift() { function deduplicate_hits_keeps_distinct_titles_with_same_source_path_and_content (line 13514) | fn deduplicate_hits_keeps_distinct_titles_with_same_source_path_and_cont... function deduplicate_hits_normalizes_whitespace (line 13561) | fn deduplicate_hits_normalizes_whitespace() { function deduplicate_hits_normalizes_blank_local_source_id (line 13606) | fn deduplicate_hits_normalizes_blank_local_source_id() { function deduplicate_hits_filters_tool_noise (line 13652) | fn deduplicate_hits_filters_tool_noise() { function deduplicate_hits_filters_acknowledgement_noise (line 13698) | fn deduplicate_hits_filters_acknowledgement_noise() { function deduplicate_hits_hides_system_prompts_unless_query_requests_them (line 13744) | fn deduplicate_hits_hides_system_prompts_unless_query_requests_them() { function deduplicate_hits_preserves_unique_content (line 13778) | fn deduplicate_hits_preserves_unique_content() { function deduplicate_hits_respects_source_boundaries (line 13843) | fn deduplicate_hits_respects_source_boundaries() { function wildcard_fallback_sparse_check_uses_effective_limit (line 13894) | fn wildcard_fallback_sparse_check_uses_effective_limit() { function snippet_preview_fast_path_requires_snippet_only_match (line 13922) | fn snippet_preview_fast_path_requires_snippet_only_match() { function search_with_fallback_returns_exact_when_sufficient (line 13953) | fn search_with_fallback_returns_exact_when_sufficient() -> Result<()> { function search_with_fallback_triggers_on_sparse_results (line 14003) | fn search_with_fallback_triggers_on_sparse_results() -> Result<()> { function search_with_fallback_skips_when_query_has_wildcards (line 14051) | fn search_with_fallback_skips_when_query_has_wildcards() -> Result<()> { function search_with_fallback_prefers_wildcards_when_they_add_hits (line 14095) | fn search_with_fallback_prefers_wildcards_when_they_add_hits() -> Result... function automatic_wildcard_fallback_skips_long_zero_hit_token (line 14164) | fn automatic_wildcard_fallback_skips_long_zero_hit_token() -> Result<()> { function nohit_suggestions_do_not_lazy_open_sqlite_when_tantivy_is_present (line 14227) | fn nohit_suggestions_do_not_lazy_open_sqlite_when_tantivy_is_present() -... function search_with_fallback_emits_wildcard_suggestion_on_zero_hits (line 14306) | fn search_with_fallback_emits_wildcard_suggestion_on_zero_hits() -> Resu... function search_with_fallback_skips_empty_query (line 14353) | fn search_with_fallback_skips_empty_query() -> Result<()> { function search_with_fallback_skips_for_nonzero_offset (line 14397) | fn search_with_fallback_skips_for_nonzero_offset() -> Result<()> { function generate_suggestions_limits_and_sets_shortcuts (line 14441) | fn generate_suggestions_limits_and_sets_shortcuts() -> Result<()> { function generate_suggestions_includes_recent_alternate_agents (line 14506) | fn generate_suggestions_includes_recent_alternate_agents() -> Result<()> { function sanitize_query_preserves_wildcards (line 14581) | fn sanitize_query_preserves_wildcards() { function sanitize_query_strips_other_special_chars (line 14590) | fn sanitize_query_strips_other_special_chars() { function sanitize_query_combined (line 14599) | fn sanitize_query_combined() { function parse_boolean_query_simple_terms (line 14608) | fn parse_boolean_query_simple_terms() { function parse_boolean_query_and_operator (line 14617) | fn parse_boolean_query_and_operator() { function parse_boolean_query_or_operator (line 14631) | fn parse_boolean_query_or_operator() { function parse_boolean_query_not_operator (line 14645) | fn parse_boolean_query_not_operator() { function parse_boolean_query_quoted_phrase (line 14654) | fn parse_boolean_query_quoted_phrase() { function parse_boolean_query_complex (line 14666) | fn parse_boolean_query_complex() { function has_boolean_operators_detection (line 14680) | fn has_boolean_operators_detection() { function parse_boolean_query_case_insensitive_operators (line 14691) | fn parse_boolean_query_case_insensitive_operators() { function parse_boolean_query_with_wildcards (line 14701) | fn parse_boolean_query_with_wildcards() { function tantivy_search_hydrates_long_content_when_content_field_is_not_stored (line 14715) | fn tantivy_search_hydrates_long_content_when_content_field_is_not_stored... function filter_fidelity_agent_filter_respected (line 14882) | fn filter_fidelity_agent_filter_respected() -> Result<()> { function filter_fidelity_workspace_filter_respected (line 14961) | fn filter_fidelity_workspace_filter_respected() -> Result<()> { function filter_fidelity_date_range_respected (line 15043) | fn filter_fidelity_date_range_respected() -> Result<()> { function filter_fidelity_combined_filters_respected (line 15154) | fn filter_fidelity_combined_filters_respected() -> Result<()> { function lexical_hits_normalize_trimmed_local_source_metadata (line 15222) | fn lexical_hits_normalize_trimmed_local_source_metadata() -> Result<()> { function lexical_hits_normalize_remote_origin_kind_without_source_id (line 15267) | fn lexical_hits_normalize_remote_origin_kind_without_source_id() -> Resu... function lexical_hits_infer_remote_origin_from_host_without_kind (line 15314) | fn lexical_hits_infer_remote_origin_from_host_without_kind() -> Result<(... function filter_fidelity_source_filter_respected (line 15360) | fn filter_fidelity_source_filter_respected() -> Result<()> { function filter_fidelity_cache_key_isolation (line 15434) | fn filter_fidelity_cache_key_isolation() { function sanitize_query_preserves_unicode_alphanumeric (line 15493) | fn sanitize_query_preserves_unicode_alphanumeric() { function sanitize_query_handles_multiple_consecutive_special_chars (line 15501) | fn sanitize_query_handles_multiple_consecutive_special_chars() { function wildcard_pattern_empty_after_trim_returns_exact_empty (line 15510) | fn wildcard_pattern_empty_after_trim_returns_exact_empty() { function wildcard_pattern_to_regex_generation (line 15526) | fn wildcard_pattern_to_regex_generation() { function parse_boolean_query_prefix_minus_not (line 15545) | fn parse_boolean_query_prefix_minus_not() { function parse_boolean_query_empty_quoted_phrase_ignored (line 15565) | fn parse_boolean_query_empty_quoted_phrase_ignored() { function parse_boolean_query_unclosed_quote (line 15578) | fn parse_boolean_query_unclosed_quote() { function transpile_to_fts5_rejects_leading_unary_not_queries (line 15586) | fn transpile_to_fts5_rejects_leading_unary_not_queries() { function transpile_to_fts5_rejects_or_not_forms_it_cannot_represent (line 15592) | fn transpile_to_fts5_rejects_or_not_forms_it_cannot_represent() { function transpile_to_fts5_ignores_leading_or (line 15598) | fn transpile_to_fts5_ignores_leading_or() { function transpile_to_fts5_splits_hyphenated_subterms_for_sqlite_fts (line 15607) | fn transpile_to_fts5_splits_hyphenated_subterms_for_sqlite_fts() { function transpile_to_fts5_preserves_supported_binary_not (line 15619) | fn transpile_to_fts5_preserves_supported_binary_not() { function search_sqlite_fts5_returns_empty_when_sqlite_is_unavailable (line 15631) | fn search_sqlite_fts5_returns_empty_when_sqlite_is_unavailable() { function search_sqlite_fts5_rank_and_hydrate_split_preserves_limit_prefix_invariant (line 15687) | fn search_sqlite_fts5_rank_and_hydrate_split_preserves_limit_prefix_inva... function levenshtein_distance_identical_strings (line 15878) | fn levenshtein_distance_identical_strings() { function levenshtein_distance_insertions (line 15884) | fn levenshtein_distance_insertions() { function levenshtein_distance_deletions (line 15890) | fn levenshtein_distance_deletions() { function levenshtein_distance_substitutions (line 15896) | fn levenshtein_distance_substitutions() { function levenshtein_distance_mixed_operations (line 15902) | fn levenshtein_distance_mixed_operations() { function is_tool_invocation_noise_allows_real_content (line 15910) | fn is_tool_invocation_noise_allows_real_content() { function is_tool_invocation_noise_handles_short_tool_markers (line 15921) | fn is_tool_invocation_noise_handles_short_tool_markers() { function search_boolean_and_filters_results (line 15929) | fn search_boolean_and_filters_results() -> Result<()> { function search_boolean_or_expands_results (line 16006) | fn search_boolean_or_expands_results() -> Result<()> { function search_boolean_not_excludes_results (line 16070) | fn search_boolean_not_excludes_results() -> Result<()> { function search_phrase_query_matches_exact_sequence (line 16153) | fn search_phrase_query_matches_exact_sequence() -> Result<()> { function search_dot_punctuation_splits_terms_but_hyphens_preserve_compound_semantics (line 16228) | fn search_dot_punctuation_splits_terms_but_hyphens_preserve_compound_sem... function explanation_classifies_simple_query (line 16271) | fn explanation_classifies_simple_query() { function explanation_classifies_wildcard_query (line 16283) | fn explanation_classifies_wildcard_query() { function explanation_classifies_boolean_query (line 16298) | fn explanation_classifies_boolean_query() { function explanation_classifies_phrase_query (line 16306) | fn explanation_classifies_phrase_query() { function explanation_handles_filtered_query (line 16313) | fn explanation_handles_filtered_query() { function explanation_handles_empty_query (line 16331) | fn explanation_handles_empty_query() { function explanation_warns_short_terms (line 16340) | fn explanation_warns_short_terms() { function explanation_with_wildcard_fallback (line 16346) | fn explanation_with_wildcard_fallback() { function explanation_complex_query_has_higher_cost (line 16355) | fn explanation_complex_query_has_higher_cost() { function explanation_preserves_original_query (line 16369) | fn explanation_preserves_original_query() { function explanation_detects_not_operator (line 16379) | fn explanation_detects_not_operator() { function explanation_implicit_and (line 16392) | fn explanation_implicit_and() { function explanation_serializes_to_json (line 16399) | fn explanation_serializes_to_json() { function search_multi_filter_agent_workspace_time (line 16414) | fn search_multi_filter_agent_workspace_time() -> Result<()> { function search_multi_agent_filter (line 16476) | fn search_multi_agent_filter() -> Result<()> { function cache_metrics_incremented_on_operations (line 16529) | fn cache_metrics_incremented_on_operations() { function cache_shard_name_deterministic (line 16566) | fn cache_shard_name_deterministic() { function wildcard_fallback_respects_filter_constraints (line 16619) | fn wildcard_fallback_respects_filter_constraints() -> Result<()> { function wildcard_fallback_short_query_triggers_prefix (line 16685) | fn wildcard_fallback_short_query_triggers_prefix() -> Result<()> { function search_real_fixture_multiple_messages (line 16737) | fn search_real_fixture_multiple_messages() -> Result<()> { function search_deduplication_with_similar_content (line 16841) | fn search_deduplication_with_similar_content() -> Result<()> { function search_session_paths_filter (line 16894) | fn search_session_paths_filter() -> Result<()> { function search_session_paths_empty_filter_returns_all (line 16966) | fn search_session_paths_empty_filter_returns_all() -> Result<()> { function search_client_reads_federated_lexical_bundle_as_one_corpus (line 17007) | fn search_client_reads_federated_lexical_bundle_as_one_corpus() -> Resul... function semantic_search_session_paths_filter_retries_past_initial_candidates (line 17134) | fn semantic_search_session_paths_filter_retries_past_initial_candidates(... function semantic_search_offsets_after_session_paths_filtering (line 17168) | fn semantic_search_offsets_after_session_paths_filtering() -> Result<()> { function semantic_search_merges_sharded_vector_indexes (line 17201) | fn semantic_search_merges_sharded_vector_indexes() -> Result<()> { function progressive_phase_overfetches_before_session_paths_filtering (line 17225) | fn progressive_phase_overfetches_before_session_paths_filtering() -> Res... function sql_placeholders_empty (line 17301) | fn sql_placeholders_empty() { function sql_placeholders_single (line 17306) | fn sql_placeholders_single() { function sql_placeholders_multiple (line 17311) | fn sql_placeholders_multiple() { function sql_placeholders_capacity_efficient (line 17317) | fn sql_placeholders_capacity_efficient() { function sql_placeholders_large_count (line 17330) | fn sql_placeholders_large_count() { function hybrid_budget_identifier_biases_lexical (line 17339) | fn hybrid_budget_identifier_biases_lexical() { function hybrid_budget_natural_language_biases_semantic (line 17349) | fn hybrid_budget_natural_language_biases_semantic() { function hybrid_budget_no_limit_caps_both_lexical_and_semantic (line 17364) | fn hybrid_budget_no_limit_caps_both_lexical_and_semantic() { function compute_no_limit_result_cap_clamps_explicit_over_ceiling_env_override (line 17402) | fn compute_no_limit_result_cap_clamps_explicit_over_ceiling_env_override... function compute_no_limit_result_cap_clamps_tiny_explicit_override_up_to_floor (line 17417) | fn compute_no_limit_result_cap_clamps_tiny_explicit_override_up_to_floor... function compute_no_limit_result_cap_uses_meminfo_when_no_env_override (line 17424) | fn compute_no_limit_result_cap_uses_meminfo_when_no_env_override() { function compute_no_limit_result_cap_falls_back_to_floor_when_meminfo_unavailable (line 17436) | fn compute_no_limit_result_cap_falls_back_to_floor_when_meminfo_unavaila... function compute_no_limit_result_cap_bytes_env_takes_priority_over_meminfo (line 17446) | fn compute_no_limit_result_cap_bytes_env_takes_priority_over_meminfo() { function no_limit_budget_bytes_preserves_fallback_priority (line 17463) | fn no_limit_budget_bytes_preserves_fallback_priority() { function compute_no_limit_result_cap_ignores_malformed_env (line 17479) | fn compute_no_limit_result_cap_ignores_malformed_env() { function make_test_hit (line 17496) | fn make_test_hit(id: &str, score: f32) -> SearchHit { function test_rrf_fusion_ordering (line 17518) | fn test_rrf_fusion_ordering() { function test_rrf_handles_disjoint_sets (line 17542) | fn test_rrf_handles_disjoint_sets() { function test_rrf_tie_breaking_deterministic (line 17559) | fn test_rrf_tie_breaking_deterministic() { function test_rrf_both_lists_bonus (line 17584) | fn test_rrf_both_lists_bonus() { function test_rrf_respects_limit_and_offset (line 17608) | fn test_rrf_respects_limit_and_offset() { function test_rrf_empty_inputs (line 17630) | fn test_rrf_empty_inputs() { function test_rrf_coalesces_empty_title_hits_across_search_modes (line 17649) | fn test_rrf_coalesces_empty_title_hits_across_search_modes() { function test_rrf_coalesces_blank_local_source_id_hits_across_search_modes (line 17665) | fn test_rrf_coalesces_blank_local_source_id_hits_across_search_modes() { function test_rrf_keeps_repeated_same_content_at_different_lines (line 17684) | fn test_rrf_keeps_repeated_same_content_at_different_lines() { function test_rrf_coalesces_present_and_missing_conversation_id_for_same_message (line 17705) | fn test_rrf_coalesces_present_and_missing_conversation_id_for_same_messa... function test_rrf_coalesces_present_and_missing_conversation_id_despite_blank_local_source_id (line 17725) | fn test_rrf_coalesces_present_and_missing_conversation_id_despite_blank_... function test_rrf_keeps_distinct_conversation_ids_for_shared_path_and_content (line 17749) | fn test_rrf_keeps_distinct_conversation_ids_for_shared_path_and_content() { function test_rrf_coalesces_same_conversation_id_despite_title_drift (line 17768) | fn test_rrf_coalesces_same_conversation_id_despite_title_drift() { function test_rrf_keeps_distinct_titles_for_shared_path_and_content (line 17786) | fn test_rrf_keeps_distinct_titles_for_shared_path_and_content() { function test_rrf_candidate_depth (line 17805) | fn test_rrf_candidate_depth() { function query_token_list_parses_small_queries (line 17831) | fn query_token_list_parses_small_queries() { function query_token_list_parses_large_queries (line 17846) | fn query_token_list_parses_large_queries() { function query_token_list_handles_quoted_phrases (line 17852) | fn query_token_list_handles_quoted_phrases() { function query_token_list_handles_operators (line 17864) | fn query_token_list_handles_operators() { function query_token_list_empty_query (line 17872) | fn query_token_list_empty_query() { function query_token_list_iteration_works (line 17878) | fn query_token_list_iteration_works() { function unicode_emoji_treated_as_separator (line 17900) | fn unicode_emoji_treated_as_separator() { function unicode_emoji_splits_terms (line 17907) | fn unicode_emoji_splits_terms() { function unicode_multiple_emoji_become_spaces (line 17914) | fn unicode_multiple_emoji_become_spaces() { function unicode_emoji_query_parses_without_panic (line 17924) | fn unicode_emoji_query_parses_without_panic() { function unicode_emoji_query_terms_lower (line 17942) | fn unicode_emoji_query_terms_lower() { function unicode_cjk_chinese_preserved (line 17955) | fn unicode_cjk_chinese_preserved() { function unicode_cjk_japanese_preserved (line 17961) | fn unicode_cjk_japanese_preserved() { function unicode_cjk_korean_preserved (line 17968) | fn unicode_cjk_korean_preserved() { function unicode_cjk_parsed_as_terms (line 17974) | fn unicode_cjk_parsed_as_terms() { function unicode_cjk_query_terms_lower (line 17987) | fn unicode_cjk_query_terms_lower() { function unicode_hebrew_preserved (line 17996) | fn unicode_hebrew_preserved() { function unicode_arabic_preserved (line 18001) | fn unicode_arabic_preserved() { function unicode_hebrew_parsed_as_terms (line 18006) | fn unicode_hebrew_parsed_as_terms() { function unicode_arabic_query_terms_lower (line 18019) | fn unicode_arabic_query_terms_lower() { function unicode_mixed_scripts_preserved (line 18029) | fn unicode_mixed_scripts_preserved() { function unicode_mixed_scripts_parsed (line 18035) | fn unicode_mixed_scripts_parsed() { function unicode_mixed_scripts_with_emoji (line 18048) | fn unicode_mixed_scripts_with_emoji() { function unicode_latin_cyrillic_arabic_query (line 18055) | fn unicode_latin_cyrillic_arabic_query() { function unicode_zero_width_joiner_removed (line 18064) | fn unicode_zero_width_joiner_removed() { function unicode_zero_width_non_joiner_removed (line 18071) | fn unicode_zero_width_non_joiner_removed() { function unicode_zero_width_space_removed (line 18078) | fn unicode_zero_width_space_removed() { function unicode_bom_removed (line 18085) | fn unicode_bom_removed() { function unicode_precomposed_accent_preserved (line 18094) | fn unicode_precomposed_accent_preserved() { function unicode_combining_accent_becomes_separator (line 18101) | fn unicode_combining_accent_becomes_separator() { function unicode_nfc_and_nfd_produce_same_sanitized_query (line 18111) | fn unicode_nfc_and_nfd_produce_same_sanitized_query() { function unicode_combining_marks_do_not_panic (line 18129) | fn unicode_combining_marks_do_not_panic() { function unicode_mathematical_bold_letters_preserved (line 18141) | fn unicode_mathematical_bold_letters_preserved() { function unicode_supplementary_ideograph_preserved (line 18152) | fn unicode_supplementary_ideograph_preserved() { function unicode_supplementary_emoji_removed (line 18163) | fn unicode_supplementary_emoji_removed() { function unicode_bidi_mixed_ltr_rtl_no_panic (line 18173) | fn unicode_bidi_mixed_ltr_rtl_no_panic() { function unicode_bidi_override_chars_removed (line 18191) | fn unicode_bidi_override_chars_removed() { function unicode_bidi_rtl_mark_removed (line 18200) | fn unicode_bidi_rtl_mark_removed() { function unicode_full_pipeline_cjk_query (line 18210) | fn unicode_full_pipeline_cjk_query() { function unicode_full_pipeline_mixed_script_boolean (line 18218) | fn unicode_full_pipeline_mixed_script_boolean() { function unicode_full_pipeline_emoji_query_type (line 18229) | fn unicode_full_pipeline_emoji_query_type() { function unicode_full_pipeline_phrase_with_cjk (line 18245) | fn unicode_full_pipeline_phrase_with_cjk() { function unicode_full_pipeline_wildcard_with_unicode (line 18254) | fn unicode_full_pipeline_wildcard_with_unicode() { function unicode_query_terms_lower_case_folding (line 18272) | fn unicode_query_terms_lower_case_folding() { function unicode_normalize_term_parts_cjk (line 18284) | fn unicode_normalize_term_parts_cjk() { function unicode_normalize_term_parts_strips_emoji (line 18290) | fn unicode_normalize_term_parts_strips_emoji() { function special_char_unbalanced_quote_no_panic (line 18302) | fn special_char_unbalanced_quote_no_panic() { function special_char_unbalanced_trailing_quote (line 18313) | fn special_char_unbalanced_trailing_quote() { function special_char_multiple_unbalanced_quotes (line 18324) | fn special_char_multiple_unbalanced_quotes() { function special_char_empty_quotes (line 18333) | fn special_char_empty_quotes() { function special_char_unbalanced_via_sanitize (line 18344) | fn special_char_unbalanced_via_sanitize() { function special_char_backslash_quote_sanitize (line 18355) | fn special_char_backslash_quote_sanitize() { function special_char_backslash_quote_parse (line 18362) | fn special_char_backslash_quote_parse() { function special_char_inner_escaped_quotes (line 18368) | fn special_char_inner_escaped_quotes() { function special_char_windows_path_sanitize (line 18379) | fn special_char_windows_path_sanitize() { function special_char_unc_path_sanitize (line 18385) | fn special_char_unc_path_sanitize() { function special_char_windows_path_terms (line 18393) | fn special_char_windows_path_terms() { function special_char_regex_dot_star (line 18405) | fn special_char_regex_dot_star() { function special_char_regex_char_class (line 18411) | fn special_char_regex_char_class() { function special_char_regex_anchors (line 18419) | fn special_char_regex_anchors() { function special_char_regex_pipe_groups (line 18425) | fn special_char_regex_pipe_groups() { function special_char_sql_injection_or (line 18434) | fn special_char_sql_injection_or() { function special_char_sql_injection_drop (line 18444) | fn special_char_sql_injection_drop() { function special_char_sql_injection_union (line 18454) | fn special_char_sql_injection_union() { function special_char_sql_parse_as_literal (line 18465) | fn special_char_sql_parse_as_literal() { function special_char_shell_subshell (line 18476) | fn special_char_shell_subshell() { function special_char_shell_backticks (line 18483) | fn special_char_shell_backticks() { function special_char_shell_pipe_rm (line 18490) | fn special_char_shell_pipe_rm() { function special_char_shell_semicolon_chain (line 18501) | fn special_char_shell_semicolon_chain() { function special_char_null_byte_mid_string (line 18513) | fn special_char_null_byte_mid_string() { function special_char_null_byte_leading (line 18520) | fn special_char_null_byte_leading() { function special_char_null_byte_trailing (line 18526) | fn special_char_null_byte_trailing() { function special_char_null_byte_parse (line 18532) | fn special_char_null_byte_parse() { function special_char_control_newline (line 18543) | fn special_char_control_newline() { function special_char_control_tab_cr (line 18550) | fn special_char_control_tab_cr() { function special_char_control_parse_whitespace (line 18557) | fn special_char_control_parse_whitespace() { function special_char_control_bell_escape (line 18570) | fn special_char_control_bell_escape() { function special_char_html_entity_lt (line 18580) | fn special_char_html_entity_lt() { function special_char_html_numeric_entity (line 18587) | fn special_char_html_numeric_entity() { function special_char_html_tags_stripped (line 18596) | fn special_char_html_tags_stripped() { function special_char_html_attribute (line 18605) | fn special_char_html_attribute() { function special_char_url_percent_encoding (line 18616) | fn special_char_url_percent_encoding() { function special_char_url_null_byte_encoded (line 18623) | fn special_char_url_null_byte_encoded() { function special_char_url_full_query_string (line 18630) | fn special_char_url_full_query_string() { function special_char_explain_sql_injection (line 18639) | fn special_char_explain_sql_injection() { function special_char_explain_shell_injection (line 18649) | fn special_char_explain_shell_injection() { function special_char_explain_html_xss (line 18659) | fn special_char_explain_html_xss() { function special_char_terms_lower_injection (line 18669) | fn special_char_terms_lower_injection() { function special_char_terms_lower_null_bytes (line 18681) | fn special_char_terms_lower_null_bytes() { function special_char_boolean_with_injection (line 18689) | fn special_char_boolean_with_injection() { function stress_query_100k_chars_completes_quickly (line 18707) | fn stress_query_100k_chars_completes_quickly() { function stress_query_1000_terms (line 18734) | fn stress_query_1000_terms() { function stress_query_1000_identical_terms (line 18762) | fn stress_query_1000_identical_terms() { function stress_query_10k_char_single_term (line 18799) | fn stress_query_10k_char_single_term() { function stress_deeply_nested_parentheses (line 18821) | fn stress_deeply_nested_parentheses() { function stress_many_boolean_operators (line 18847) | fn stress_many_boolean_operators() { function stress_many_or_operators (line 18876) | fn stress_many_or_operators() { function stress_mixed_boolean_operators (line 18899) | fn stress_mixed_boolean_operators() { function stress_memory_bounds_large_query (line 18919) | fn stress_memory_bounds_large_query() { function stress_concurrent_queries (line 18944) | fn stress_concurrent_queries() { function stress_many_quoted_phrases (line 18971) | fn stress_many_quoted_phrases() { function stress_alternating_quotes (line 18996) | fn stress_alternating_quotes() { function stress_many_wildcards (line 19033) | fn stress_many_wildcards() { function stress_query_explanation_large_query (line 19058) | fn stress_query_explanation_large_query() { function stress_very_long_single_quoted_phrase (line 19080) | fn stress_very_long_single_quoted_phrase() { function stress_not_prefix_many (line 19103) | fn stress_not_prefix_many() { function stress_unicode_large_cjk_query (line 19126) | fn stress_unicode_large_cjk_query() { function stress_unicode_many_emoji (line 19144) | fn stress_unicode_many_emoji() { function stress_mixed_content_large (line 19166) | fn stress_mixed_content_large() { function unicode_emoji_mixed_with_alphanumeric (line 19199) | fn unicode_emoji_mixed_with_alphanumeric() { function unicode_emoji_with_boolean_operators (line 19213) | fn unicode_emoji_with_boolean_operators() { function unicode_emoji_at_word_boundaries (line 19230) | fn unicode_emoji_at_word_boundaries() { function unicode_arabic_text_preserved (line 19250) | fn unicode_arabic_text_preserved() { function unicode_hebrew_text_preserved (line 19264) | fn unicode_hebrew_text_preserved() { function unicode_mixed_rtl_and_ltr (line 19278) | fn unicode_mixed_rtl_and_ltr() { function unicode_rtl_with_boolean_operators (line 19293) | fn unicode_rtl_with_boolean_operators() { function special_chars_backslash_stripped (line 19310) | fn special_chars_backslash_stripped() { function special_chars_escaped_quotes_handling (line 19318) | fn special_chars_escaped_quotes_handling() { function special_chars_windows_paths (line 19327) | fn special_chars_windows_paths() { function boolean_deeply_nested_operators (line 19337) | fn boolean_deeply_nested_operators() { function boolean_consecutive_operators_degenerate (line 19360) | fn boolean_consecutive_operators_degenerate() { function boolean_operator_at_start (line 19375) | fn boolean_operator_at_start() { function boolean_operator_at_end (line 19387) | fn boolean_operator_at_end() { function numeric_query_digits_only (line 19397) | fn numeric_query_digits_only() { function numeric_query_with_text (line 19408) | fn numeric_query_with_text() { function numeric_versions_with_dots (line 19420) | fn numeric_versions_with_dots() { function whitespace_tabs_treated_as_separators (line 19429) | fn whitespace_tabs_treated_as_separators() { function whitespace_newlines_treated_as_separators (line 19439) | fn whitespace_newlines_treated_as_separators() { function whitespace_mixed_types (line 19449) | fn whitespace_mixed_types() { function stress_very_long_single_term (line 19461) | fn stress_very_long_single_term() { function stress_very_long_term_with_wildcard (line 19482) | fn stress_very_long_term_with_wildcard() { function query_explanation_empty_query (line 19505) | fn query_explanation_empty_query() { function search_mode_default_is_hybrid_preferred (line 19511) | fn search_mode_default_is_hybrid_preferred() { function query_explanation_whitespace_only_query (line 19516) | fn query_explanation_whitespace_only_query() { function query_explanation_unicode_query (line 19522) | fn query_explanation_unicode_query() { function query_terms_lower_unicode_normalization (line 19531) | fn query_terms_lower_unicode_normalization() { function query_terms_lower_mixed_case_unicode (line 19538) | fn query_terms_lower_mixed_case_unicode() { function query_terms_lower_preserves_numbers (line 19547) | fn query_terms_lower_preserves_numbers() { function wildcard_pattern_internal_asterisk (line 19555) | fn wildcard_pattern_internal_asterisk() { function wildcard_pattern_multiple_internal_asterisks (line 19565) | fn wildcard_pattern_multiple_internal_asterisks() { function wildcard_pattern_regex_escapes_special_chars (line 19575) | fn wildcard_pattern_regex_escapes_special_chars() { function wildcard_pattern_complex_regex_generation (line 19588) | fn wildcard_pattern_complex_regex_generation() { function test_transpile_to_fts5 (line 19601) | fn test_transpile_to_fts5() { function semantic_doc_id_roundtrip_from_query (line 19676) | fn semantic_doc_id_roundtrip_from_query() { function semantic_filter_applies_all_constraints (line 19690) | fn semantic_filter_applies_all_constraints() { function fs_semantic_index_runs_filtered_search (line 19709) | fn fs_semantic_index_runs_filtered_search() -> Result<()> { function hit_is_noise_returns_false_when_content_and_snippet_both_empty (line 19772) | fn hit_is_noise_returns_false_when_content_and_snippet_both_empty() { function hit_is_noise_still_drops_tool_acknowledgement_when_content_present (line 19810) | fn hit_is_noise_still_drops_tool_acknowledgement_when_content_present() { FILE: src/search/readiness.rs type LexicalReadinessState (line 51) | pub(crate) enum LexicalReadinessState { method is_searchable (line 74) | pub(crate) fn is_searchable(self) -> bool { type SemanticReadinessState (line 84) | pub(crate) enum SemanticReadinessState { method can_refine (line 104) | pub(crate) fn can_refine(self) -> bool { type SearchRefinementLevel (line 115) | pub(crate) enum SearchRefinementLevel { type RecommendedAction (line 127) | pub(crate) enum RecommendedAction { type ReadinessSnapshot (line 150) | pub(crate) struct ReadinessSnapshot { method new (line 161) | pub(crate) fn new(lexical: LexicalReadinessState, semantic: SemanticRe... method with_last_search_refinement (line 169) | pub(crate) fn with_last_search_refinement(mut self, level: SearchRefin... method recommended_action (line 178) | pub(crate) fn recommended_action(&self) -> RecommendedAction { method is_searchable (line 207) | pub(crate) fn is_searchable(&self) -> bool { function lexical_states_serialize_as_snake_case (line 217) | fn lexical_states_serialize_as_snake_case() { function semantic_states_serialize_as_snake_case (line 240) | fn semantic_states_serialize_as_snake_case() { function refinement_levels_serialize_as_snake_case (line 257) | fn refinement_levels_serialize_as_snake_case() { function is_searchable_distinguishes_lexical_failure_modes (line 275) | fn is_searchable_distinguishes_lexical_failure_modes() { function semantic_can_refine_only_when_at_least_fast_tier_ready (line 290) | fn semantic_can_refine_only_when_at_least_fast_tier_ready() { function recommended_actions_serialize_as_snake_case (line 305) | fn recommended_actions_serialize_as_snake_case() { function recommended_action_missing_lexical_always_repair_now (line 339) | fn recommended_action_missing_lexical_always_repair_now() { function recommended_action_corrupt_lexical_always_repair_now (line 356) | fn recommended_action_corrupt_lexical_always_repair_now() { function recommended_action_active_lexical_repair_dominates_semantic_state (line 368) | fn recommended_action_active_lexical_repair_dominates_semantic_state() { function recommended_action_stale_lexical_requests_refresh (line 386) | fn recommended_action_stale_lexical_requests_refresh() { function recommended_action_ready_plus_hybrid_is_nothing_required (line 400) | fn recommended_action_ready_plus_hybrid_is_nothing_required() { function recommended_action_ready_plus_policy_disabled_acknowledges_policy (line 412) | fn recommended_action_ready_plus_policy_disabled_acknowledges_policy() { function recommended_action_ready_plus_semantic_converging_waits (line 424) | fn recommended_action_ready_plus_semantic_converging_waits() { function snapshot_with_last_search_refinement_round_trips_through_json (line 438) | fn snapshot_with_last_search_refinement_round_trips_through_json() { function snapshot_defaults_last_search_refinement_to_none (line 455) | fn snapshot_defaults_last_search_refinement_to_none() { FILE: src/search/reranker.rs function rerank_texts (line 28) | pub fn rerank_texts( type RerankerInfo (line 58) | pub struct RerankerInfo { method from_reranker (line 67) | pub fn from_reranker(reranker: &dyn Reranker) -> Self { method fmt (line 76) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function fastembed_fixture_dir (line 92) | fn fastembed_fixture_dir() -> PathBuf { function load_fastembed_fixture (line 97) | fn load_fastembed_fixture() -> FastEmbedReranker { function test_reranker_trait_basic (line 103) | fn test_reranker_trait_basic() { function test_reranker_unavailable (line 119) | fn test_reranker_unavailable() { function test_reranker_empty_query_error (line 134) | fn test_reranker_empty_query_error() { function test_reranker_empty_documents_error (line 141) | fn test_reranker_empty_documents_error() { function test_reranker_info (line 148) | fn test_reranker_info() { function test_reranker_error_display (line 161) | fn test_reranker_error_display() { FILE: src/search/reranker_registry.rs constant DEFAULT_RERANKER (line 25) | pub const DEFAULT_RERANKER: &str = "ms-marco"; constant BAKEOFF_ELIGIBILITY_CUTOFF (line 28) | pub const BAKEOFF_ELIGIBILITY_CUTOFF: &str = "2025-11-01"; constant REQUIRED_ONNX_FILES (line 31) | pub const REQUIRED_ONNX_FILES: &[&str] = &[ type RegisteredReranker (line 41) | pub struct RegisteredReranker { method is_available (line 62) | pub fn is_available(&self, data_dir: &Path) -> bool { method model_dir (line 77) | pub fn model_dir(&self, data_dir: &Path) -> Option { method required_files (line 94) | pub fn required_files(&self) -> &'static [&'static str] { method missing_files (line 102) | pub fn missing_files(&self, data_dir: &Path) -> Vec { method is_bakeoff_eligible (line 119) | pub fn is_bakeoff_eligible(&self) -> bool { method to_model_metadata (line 127) | pub fn to_model_metadata(&self) -> crate::bakeoff::ModelMetadata { type RerankerRegistry (line 195) | pub struct RerankerRegistry { method new (line 201) | pub fn new(data_dir: &Path) -> Self { method all (line 208) | pub fn all(&self) -> &'static [RegisteredReranker] { method available (line 213) | pub fn available(&self) -> Vec<&'static RegisteredReranker> { method get (line 221) | pub fn get(&self, name: &str) -> Option<&'static RegisteredReranker> { method is_available (line 231) | pub fn is_available(&self, name: &str) -> bool { method default_reranker (line 238) | pub fn default_reranker(&self) -> &'static RegisteredReranker { method best_available (line 244) | pub fn best_available(&self) -> Option<&'static RegisteredReranker> { method bakeoff_eligible (line 250) | pub fn bakeoff_eligible(&self) -> Vec<&'static RegisteredReranker> { method available_bakeoff_candidates (line 258) | pub fn available_bakeoff_candidates(&self) -> Vec<&'static RegisteredR... method baseline_reranker (line 266) | pub fn baseline_reranker(&self) -> Option<&'static RegisteredReranker> { method validate (line 273) | pub fn validate(&self, name: &str) -> RerankerResult<&'static Register... function get_reranker (line 321) | pub fn get_reranker(data_dir: &Path, name: Option<&str>) -> RerankerResu... function rerank_failed (line 354) | fn rerank_failed(model: &str, source: impl Into) -> RerankerError { function registry_fixture (line 366) | fn registry_fixture() -> (TempDir, RerankerRegistry) { function test_registry_all (line 373) | fn test_registry_all() { function test_registry_get_by_name (line 379) | fn test_registry_get_by_name() { function test_registry_get_by_id (line 400) | fn test_registry_get_by_id() { function test_rerankers_unavailable_without_files (line 409) | fn test_rerankers_unavailable_without_files() { function test_best_available_none (line 423) | fn test_best_available_none() { function test_validate_unknown_reranker (line 432) | fn test_validate_unknown_reranker() { function test_rerank_failed_preserves_display_and_source (line 443) | fn test_rerank_failed_preserves_display_and_source() { function test_registered_reranker_missing_files (line 459) | fn test_registered_reranker_missing_files() { function test_bakeoff_eligible_count (line 471) | fn test_bakeoff_eligible_count() { function test_baseline_reranker (line 490) | fn test_baseline_reranker() { function test_bakeoff_eligibility_by_date (line 502) | fn test_bakeoff_eligibility_by_date() { function test_bakeoff_model_metadata_conversion (line 524) | fn test_bakeoff_model_metadata_conversion() { function test_eligible_reranker_metadata (line 540) | fn test_eligible_reranker_metadata() { function test_all_rerankers_have_required_fields (line 556) | fn test_all_rerankers_have_required_fields() { function test_model_dir_for_all_rerankers (line 577) | fn test_model_dir_for_all_rerankers() { FILE: src/search/semantic_manifest.rs constant MANIFEST_FORMAT_VERSION (line 43) | pub const MANIFEST_FORMAT_VERSION: u32 = 1; constant MANIFEST_FILENAME (line 46) | pub const MANIFEST_FILENAME: &str = "semantic_manifest.json"; constant SHARD_MANIFEST_FILENAME (line 49) | pub const SHARD_MANIFEST_FILENAME: &str = "semantic_shards.json"; function semantic_shard_artifact_path_is_safe (line 51) | pub(crate) fn semantic_shard_artifact_path_is_safe(recorded_path: &str) ... type TierKind (line 68) | pub enum TierKind { method as_str (line 74) | pub fn as_str(&self) -> &'static str { type TierReadiness (line 87) | pub enum TierReadiness { method is_ready (line 101) | pub fn is_ready(&self) -> bool { method is_usable (line 105) | pub fn is_usable(&self) -> bool { type ArtifactRecord (line 114) | pub struct ArtifactRecord { method to_policy_manifest (line 147) | pub fn to_policy_manifest(&self) -> PolicyManifest { method readiness (line 167) | pub fn readiness( type HnswRecord (line 208) | pub struct HnswRecord { type SemanticShardRecord (line 235) | pub struct SemanticShardRecord { method to_policy_manifest (line 281) | pub fn to_policy_manifest(&self) -> PolicyManifest { method matches_generation (line 292) | pub fn matches_generation( type SemanticShardSummary (line 306) | pub struct SemanticShardSummary { type SemanticShardManifest (line 319) | pub struct SemanticShardManifest { method path (line 336) | pub fn path(data_dir: &Path) -> PathBuf { method load (line 340) | pub fn load(data_dir: &Path) -> Result, ManifestError> { method load_or_default (line 368) | pub fn load_or_default(data_dir: &Path) -> Result { method save (line 380) | pub fn save(&mut self, data_dir: &Path) -> Result<(), ManifestError> { method replace_shards_for_generation (line 422) | pub fn replace_shards_for_generation( method summary (line 448) | pub fn summary( method invalidate_incompatible (line 536) | pub fn invalidate_incompatible( method total_size_bytes (line 555) | pub fn total_size_bytes(&self) -> u64 { method default (line 326) | fn default() -> Self { type BuildCheckpoint (line 567) | pub struct BuildCheckpoint { method progress_pct (line 592) | pub fn progress_pct(&self) -> u8 { method is_complete (line 601) | pub fn is_complete(&self) -> bool { method is_valid (line 606) | pub fn is_valid(&self, current_db_fingerprint: &str) -> bool { type BacklogLedger (line 617) | pub struct BacklogLedger { method fast_tier_remaining (line 632) | pub fn fast_tier_remaining(&self) -> u64 { method quality_tier_remaining (line 638) | pub fn quality_tier_remaining(&self) -> u64 { method has_pending_work (line 644) | pub fn has_pending_work(&self) -> bool { method is_current (line 649) | pub fn is_current(&self, current_db_fingerprint: &str) -> bool { type SemanticManifest (line 661) | pub struct SemanticManifest { method path (line 702) | pub fn path(data_dir: &Path) -> PathBuf { method load (line 710) | pub fn load(data_dir: &Path) -> Result, ManifestError> { method load_or_default (line 745) | pub fn load_or_default(data_dir: &Path) -> Result { method save (line 760) | pub fn save(&mut self, data_dir: &Path) -> Result<(), ManifestError> { method fast_tier_readiness (line 810) | pub fn fast_tier_readiness( method quality_tier_readiness (line 837) | pub fn quality_tier_readiness( method can_hybrid_search (line 863) | pub fn can_hybrid_search( method refresh_backlog (line 876) | pub fn refresh_backlog(&mut self, total_conversations: u64, current_db... method save_checkpoint (line 898) | pub fn save_checkpoint(&mut self, checkpoint: BuildCheckpoint) { method clear_checkpoint (line 903) | pub fn clear_checkpoint(&mut self) { method publish_artifact (line 908) | pub fn publish_artifact(&mut self, artifact: ArtifactRecord) { method publish_hnsw (line 925) | pub fn publish_hnsw(&mut self, hnsw: HnswRecord) { method adopt_legacy_artifact (line 932) | pub fn adopt_legacy_artifact( method invalidate_incompatible (line 977) | pub fn invalidate_incompatible( method total_size_bytes (line 1030) | pub fn total_size_bytes(&self) -> u64 { method total_size_mb (line 1038) | pub fn total_size_mb(&self) -> u64 { method default (line 679) | fn default() -> Self { type ManifestError (line 1046) | pub enum ManifestError { method fmt (line 1054) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function now_ms (line 1078) | fn now_ms() -> i64 { function unique_manifest_temp_path (line 1085) | fn unique_manifest_temp_path(path: &Path) -> PathBuf { function unique_manifest_backup_path (line 1102) | fn unique_manifest_backup_path(path: &Path) -> PathBuf { function replace_file_from_temp (line 1118) | fn replace_file_from_temp(temp_path: &Path, final_path: &Path) -> std::i... function sync_parent_directory (line 1181) | fn sync_parent_directory(path: &Path) -> std::io::Result<()> { function sync_parent_directory (line 1190) | fn sync_parent_directory(_path: &Path) -> std::io::Result<()> { function test_policy (line 1201) | fn test_policy() -> SemanticPolicy { function test_artifact (line 1205) | fn test_artifact(tier: TierKind, ready: bool) -> ArtifactRecord { function test_hnsw (line 1233) | fn test_hnsw() -> HnswRecord { function test_shard (line 1245) | fn test_shard(shard_index: u32, shard_count: u32, ready: bool) -> Semant... function test_checkpoint (line 1271) | fn test_checkpoint(tier: TierKind) -> BuildCheckpoint { type ExpectedTierReadiness (line 1287) | enum ExpectedTierReadiness { function no_artifact_mutation (line 1294) | fn no_artifact_mutation(_: &mut ArtifactRecord) {} type TierReadinessCase (line 1296) | type TierReadinessCase = ( function set_schema_version_to_zero (line 1306) | fn set_schema_version_to_zero(artifact: &mut ArtifactRecord) { function assert_tier_readiness (line 1310) | fn assert_tier_readiness(actual: TierReadiness, expected: ExpectedTierRe... function manifest_round_trip_via_disk (line 1336) | fn manifest_round_trip_via_disk() { function manifest_save_overwrites_existing_file (line 1366) | fn manifest_save_overwrites_existing_file() { function manifest_load_missing_returns_none (line 1394) | fn manifest_load_missing_returns_none() { function manifest_load_or_default_returns_defaults (line 1401) | fn manifest_load_or_default_returns_defaults() { function manifest_load_corrupt_returns_parse_error (line 1410) | fn manifest_load_corrupt_returns_parse_error() { function manifest_load_future_version_returns_error (line 1421) | fn manifest_load_future_version_returns_error() { function tier_readiness_cases (line 1443) | fn tier_readiness_cases() { function manifest_tier_readiness_missing (line 1509) | fn manifest_tier_readiness_missing() { function manifest_tier_readiness_with_checkpoint (line 1523) | fn manifest_tier_readiness_with_checkpoint() { function manifest_tier_readiness_checkpoint_invalid_db (line 1543) | fn manifest_tier_readiness_checkpoint_invalid_db() { function can_hybrid_search_requires_usable_fast_tier (line 1560) | fn can_hybrid_search_requires_usable_fast_tier() { function backlog_remaining_and_pending (line 1580) | fn backlog_remaining_and_pending() { function backlog_no_pending_when_fully_processed (line 1597) | fn backlog_no_pending_when_fully_processed() { function checkpoint_progress_and_completion (line 1614) | fn checkpoint_progress_and_completion() { function checkpoint_zero_total_gives_zero_pct (line 1629) | fn checkpoint_zero_total_gives_zero_pct() { function publish_artifact_clears_matching_checkpoint (line 1639) | fn publish_artifact_clears_matching_checkpoint() { function publish_artifact_keeps_non_matching_checkpoint (line 1651) | fn publish_artifact_keeps_non_matching_checkpoint() { function refresh_backlog_computes_from_ready_artifacts (line 1665) | fn refresh_backlog_computes_from_ready_artifacts() { function refresh_backlog_ignores_stale_artifacts (line 1679) | fn refresh_backlog_ignores_stale_artifacts() { function invalidate_incompatible_removes_schema_mismatch (line 1693) | fn invalidate_incompatible_removes_schema_mismatch() { function invalidate_incompatible_keeps_compatible (line 1711) | fn invalidate_incompatible_keeps_compatible() { function adopt_legacy_artifact (line 1729) | fn adopt_legacy_artifact() { function total_size_accounts_for_all_artifacts (line 1758) | fn total_size_accounts_for_all_artifacts() { function total_size_empty_is_zero (line 1771) | fn total_size_empty_is_zero() { function manifest_json_round_trip (line 1780) | fn manifest_json_round_trip() { function shard_manifest_round_trip_via_sidecar (line 1800) | fn shard_manifest_round_trip_via_sidecar() { function shard_summary_requires_every_ready_shard (line 1821) | fn shard_summary_requires_every_ready_shard() { function shard_summary_rejects_non_mmap_ready_or_inconsistent_shards (line 1854) | fn shard_summary_rejects_non_mmap_ready_or_inconsistent_shards() { function shard_sidecar_does_not_make_main_manifest_ready (line 2067) | fn shard_sidecar_does_not_make_main_manifest_ready() { function shard_manifest_invalidates_incompatible_shards (line 2091) | fn shard_manifest_invalidates_incompatible_shards() { FILE: src/search/tantivy.rs function normalized_index_source_id (line 29) | pub(crate) fn normalized_index_source_id( function normalized_index_origin_kind (line 56) | pub(crate) fn normalized_index_origin_kind(source_id: &str, origin_kind:... function normalized_index_origin_host (line 74) | pub(crate) fn normalized_index_origin_host(origin_host: Option<&str>) ->... constant SCHEMA_HASH (line 81) | pub const SCHEMA_HASH: &str = CASS_SCHEMA_HASH; constant ENV_TANTIVY_ADD_BATCH_MAX_CHARS (line 82) | const ENV_TANTIVY_ADD_BATCH_MAX_CHARS: &str = "CASS_TANTIVY_ADD_BATCH_MA... constant ENV_TANTIVY_ADD_BATCH_MAX_MESSAGES (line 83) | const ENV_TANTIVY_ADD_BATCH_MAX_MESSAGES: &str = "CASS_TANTIVY_ADD_BATCH... constant ENV_TANTIVY_MAX_WRITER_THREADS (line 84) | const ENV_TANTIVY_MAX_WRITER_THREADS: &str = "CASS_TANTIVY_MAX_WRITER_TH... constant DEFAULT_TANTIVY_MAX_WRITER_THREADS (line 85) | const DEFAULT_TANTIVY_MAX_WRITER_THREADS: usize = 26; function positive_usize_env (line 87) | fn positive_usize_env(name: &str) -> Option { function tantivy_writer_parallelism_hint_for_available (line 94) | pub(crate) fn tantivy_writer_parallelism_hint_for_available(available_pa... function tantivy_writer_parallelism_hint_for_available_governed (line 106) | pub(crate) fn tantivy_writer_parallelism_hint_for_available_governed( function tantivy_writer_parallelism_hint (line 113) | pub(crate) fn tantivy_writer_parallelism_hint() -> usize { function tantivy_add_batch_max_messages (line 121) | fn tantivy_add_batch_max_messages() -> usize { function tantivy_add_batch_max_chars (line 126) | fn tantivy_add_batch_max_chars() -> usize { function tantivy_prebuilt_add_batch_max_messages (line 132) | fn tantivy_prebuilt_add_batch_max_messages() -> usize { function map_fs_err (line 137) | fn map_fs_err(err: frankensearch::SearchError) -> Error { type CassDocContext (line 142) | struct CassDocContext { function cass_doc_context (line 155) | fn cass_doc_context(conv: &NormalizedConversation, conversation_id: Opti... function cass_document_for_message (line 194) | fn cass_document_for_message( function push_cass_document_into_pending (line 218) | fn push_cass_document_into_pending( function cass_doc_context_from_packet (line 237) | fn cass_doc_context_from_packet(packet: &ConversationPacket) -> CassDocC... function cass_document_for_packet_message (line 276) | fn cass_document_for_packet_message( function schema_hash_matches (line 301) | pub fn schema_hash_matches(stored: &str) -> bool { type Fields (line 305) | pub type Fields = FsCassFields; type MergeStatus (line 306) | pub type MergeStatus = FsCassMergeStatus; constant FEDERATED_SEARCH_MANIFEST_FILE (line 308) | const FEDERATED_SEARCH_MANIFEST_FILE: &str = "federated-search-manifest.... constant FEDERATED_SEARCH_MANIFEST_VERSION (line 309) | const FEDERATED_SEARCH_MANIFEST_VERSION: u32 = 1; constant FEDERATED_SEARCH_MANIFEST_KIND (line 310) | const FEDERATED_SEARCH_MANIFEST_KIND: &str = "cass-federated-lexical-ind... constant EVIDENCE_BUNDLE_MANIFEST_TEMP_FILE (line 311) | const EVIDENCE_BUNDLE_MANIFEST_TEMP_FILE: &str = "evidence-bundle-manife... type SearchableIndexSummary (line 314) | pub struct SearchableIndexSummary { type FederatedSearchManifest (line 320) | struct FederatedSearchManifest { type FederatedSearchShardManifest (line 328) | struct FederatedSearchShardManifest { function federated_search_manifest_path (line 335) | fn federated_search_manifest_path(index_path: &Path) -> PathBuf { function write_root_schema_hash_file (line 339) | fn write_root_schema_hash_file(index_path: &Path) -> Result<()> { function manifest_relative_shard_path (line 353) | fn manifest_relative_shard_path(shard_idx: usize) -> String { function meta_fingerprint_for_existing_index_dir (line 357) | fn meta_fingerprint_for_existing_index_dir(index_path: &Path) -> Result<... function validate_federated_shard_relative_path (line 364) | fn validate_federated_shard_relative_path(relative_path: &str) -> Result... function validate_federated_shard_meta_fingerprint (line 407) | fn validate_federated_shard_meta_fingerprint(fingerprint: &str) -> Resul... function federated_search_manifest_summary (line 416) | fn federated_search_manifest_summary( function validate_federated_search_manifest (line 439) | fn validate_federated_search_manifest( function federated_evidence_chunk_role (line 500) | fn federated_evidence_chunk_role(relative_path: &str) -> EvidenceBundleC... function standard_lexical_evidence_chunk_role (line 515) | fn standard_lexical_evidence_chunk_role(relative_path: &str) -> Evidence... function current_schema_hash_file_matches (line 523) | fn current_schema_hash_file_matches(index_path: &Path) -> Result<()> { function relative_artifact_path_string (line 556) | fn relative_artifact_path_string(relative_path: &Path) -> Result { function is_evidence_bundle_writer_file (line 583) | fn is_evidence_bundle_writer_file(relative_path: &str) -> bool { function collect_federated_evidence_artifact_paths (line 588) | fn collect_federated_evidence_artifact_paths( function lexical_evidence_bundle_id (line 626) | fn lexical_evidence_bundle_id(chunks: &[EvidenceBundleChunk]) -> Result<... function lexical_search_evidence_bundle_manifest_with_roles (line 637) | fn lexical_search_evidence_bundle_manifest_with_roles( function lexical_search_evidence_bundle_manifest (line 665) | pub fn lexical_search_evidence_bundle_manifest( function federated_search_evidence_bundle_manifest (line 696) | pub fn federated_search_evidence_bundle_manifest( function write_federated_search_evidence_bundle_manifest (line 710) | pub fn write_federated_search_evidence_bundle_manifest(index_path: &Path... function write_lexical_search_evidence_bundle_manifest (line 715) | pub fn write_lexical_search_evidence_bundle_manifest(index_path: &Path) ... function load_federated_search_manifest_internal (line 720) | fn load_federated_search_manifest_internal( function searchable_index_exists (line 753) | pub fn searchable_index_exists(index_path: &Path) -> bool { function validate_searchable_index_contract (line 757) | pub fn validate_searchable_index_contract(index_path: &Path) -> Result<(... function searchable_index_modified_time (line 792) | pub fn searchable_index_modified_time(index_path: &Path) -> Option Result Result R... function publish_federated_searchable_index_directories (line 980) | pub fn publish_federated_searchable_index_directories>( function publish_federated_searchable_index_directories_with_summaries (line 1003) | pub fn publish_federated_searchable_index_directories_with_summaries( type TantivyIndex (line 1095) | pub struct TantivyIndex { method open_or_create (line 1101) | pub fn open_or_create(path: &Path) -> Result { method open_or_create_with_writer_parallelism (line 1108) | pub fn open_or_create_with_writer_parallelism( method add_conversation (line 1122) | pub fn add_conversation(&mut self, conv: &NormalizedConversation) -> R... method add_conversation_with_id (line 1134) | pub fn add_conversation_with_id( method delete_all (line 1147) | pub fn delete_all(&mut self) -> Result<()> { method commit (line 1151) | pub fn commit(&mut self) -> Result<()> { method configure_bulk_load_merge_policy (line 1155) | pub fn configure_bulk_load_merge_policy(&mut self) { method reader (line 1159) | pub fn reader(&self) -> Result { method segment_count (line 1163) | pub fn segment_count(&self) -> usize { method merge_status (line 1167) | pub fn merge_status(&self) -> MergeStatus { method optimize_if_idle (line 1173) | pub fn optimize_if_idle(&mut self) -> Result { method force_merge (line 1179) | pub fn force_merge(&mut self) -> Result<()> { method merge_compatible_index_directories (line 1183) | pub fn merge_compatible_index_directories>( method assemble_compatible_index_directories (line 1238) | pub fn assemble_compatible_index_directories>( method add_messages (line 1332) | pub fn add_messages( method add_messages_with_conversation_id (line 1340) | pub fn add_messages_with_conversation_id( method add_messages_with_conversation_id_and_batch_hook (line 1354) | pub fn add_messages_with_conversation_id_and_batch_hook( method add_messages_from_packet (line 1409) | pub fn add_messages_from_packet( method add_prebuilt_documents_slice (line 1470) | pub fn add_prebuilt_documents_slice(&mut self, documents: &[FsCassDocu... method add_prebuilt_document_refs_slice (line 1501) | pub fn add_prebuilt_document_refs_slice<'a>( method add_prebuilt_documents (line 1535) | pub fn add_prebuilt_documents(&mut self, documents: I) -> Result(&mut self, conversations: I) ... function build_schema (line 1578) | pub fn build_schema() -> Schema { function fields_from_schema (line 1582) | pub fn fields_from_schema(schema: &Schema) -> Result { function expected_index_dir (line 1586) | pub fn expected_index_dir(base: &Path) -> std::path::PathBuf { function index_dir (line 1590) | pub fn index_dir(base: &Path) -> Result { function ensure_tokenizer (line 1594) | pub fn ensure_tokenizer(index: &mut Index) { function ensure_empty_merge_output_directory (line 1598) | fn ensure_empty_merge_output_directory(output_path: &Path) -> Result<()> { function link_or_copy_searchable_index_file (line 1640) | fn link_or_copy_searchable_index_file( function write_searchable_generation_metadata (line 1682) | fn write_searchable_generation_metadata( function open_or_create_roundtrip (line 1731) | fn open_or_create_roundtrip() { function schema_hash_matches_current_hash (line 1740) | fn schema_hash_matches_current_hash() { function generate_edge_ngrams_prefixes (line 1746) | fn generate_edge_ngrams_prefixes() { function build_preview_truncates_with_ellipsis (line 1753) | fn build_preview_truncates_with_ellipsis() { function merge_status_api_is_exposed (line 1759) | fn merge_status_api_is_exposed() { function searchable_index_summary_uses_meta_file_without_opening_index (line 1767) | fn searchable_index_summary_uses_meta_file_without_opening_index() { function searchable_index_summary_meta_fast_path_declines_deleted_segments (line 1793) | fn searchable_index_summary_meta_fast_path_declines_deleted_segments() { function merge_status_should_merge_logic (line 1813) | fn merge_status_should_merge_logic() { function index_dir_creates_versioned_path (line 1825) | fn index_dir_creates_versioned_path() { function tokenizer_registration_is_callable (line 1832) | fn tokenizer_registration_is_callable() { function add_messages_batches_large_payloads_without_dropping_docs (line 1840) | fn add_messages_batches_large_payloads_without_dropping_docs() { function add_conversations_with_ids_streams_large_payloads_without_dropping_docs (line 1879) | fn add_conversations_with_ids_streams_large_payloads_without_dropping_do... function normalized_index_source_id_infers_remote_from_origin_host_without_kind (line 1925) | fn normalized_index_source_id_infers_remote_from_origin_host_without_kin... function add_prebuilt_documents_streams_large_payloads_without_dropping_docs (line 1932) | fn add_prebuilt_documents_streams_large_payloads_without_dropping_docs() { function merge_compatible_index_directories_roundtrips_docs_into_single_segment (line 1965) | fn merge_compatible_index_directories_roundtrips_docs_into_single_segmen... function merge_compatible_index_directories_rejects_non_empty_output_directory (line 2034) | fn merge_compatible_index_directories_rejects_non_empty_output_directory... function assemble_compatible_index_directories_roundtrips_docs_into_multi_segment_generation (line 2079) | fn assemble_compatible_index_directories_roundtrips_docs_into_multi_segm... function publish_federated_searchable_index_directories_writes_manifest_without_root_meta (line 2152) | fn publish_federated_searchable_index_directories_writes_manifest_withou... function write_federated_manifest_for_test (line 2231) | fn write_federated_manifest_for_test(index_path: &Path, manifest: &Feder... function publish_test_federated_bundle (line 2239) | fn publish_test_federated_bundle(root: &Path) -> PathBuf { function federated_manifest_validation_rejects_unsupported_remote_contracts (line 2285) | fn federated_manifest_validation_rejects_unsupported_remote_contracts() { function open_federated_search_readers_rejects_corrupt_shard_fingerprint (line 2330) | fn open_federated_search_readers_rejects_corrupt_shard_fingerprint() { function write_minimal_federated_artifact (line 2349) | fn write_minimal_federated_artifact(root: &Path, segment_bytes: &[u8]) { function write_minimal_standard_lexical_artifact (line 2371) | fn write_minimal_standard_lexical_artifact(root: &Path, segment_bytes: &... function lexical_evidence_manifest_supports_standard_searchable_index (line 2379) | fn lexical_evidence_manifest_supports_standard_searchable_index() { function lexical_evidence_manifest_excludes_writer_temp_file_before_save (line 2395) | fn lexical_evidence_manifest_excludes_writer_temp_file_before_save() { function lexical_evidence_manifest_rejects_standard_schema_mismatch (line 2423) | fn lexical_evidence_manifest_rejects_standard_schema_mismatch() { function federated_evidence_manifest_is_deterministic_and_detects_mutation (line 2440) | fn federated_evidence_manifest_is_deterministic_and_detects_mutation() { function federated_evidence_manifest_rejects_symlink_artifacts (line 2473) | fn federated_evidence_manifest_rejects_symlink_artifacts() { function open_or_create_materializes_federated_bundle_back_into_mutable_index (line 2492) | fn open_or_create_materializes_federated_bundle_back_into_mutable_index() { function packet_driven_lexical_pipeline_matches_legacy_for_normalized_conv (line 2576) | fn packet_driven_lexical_pipeline_matches_legacy_for_normalized_conv() { function add_conversation_with_id_packet_path_emits_expected_doc_count (line 2734) | fn add_conversation_with_id_packet_path_emits_expected_doc_count() { FILE: src/search/two_tier_search.rs type TwoTierConfig (line 67) | pub struct TwoTierConfig { method from_env (line 97) | pub fn from_env() -> Self { method fast_only (line 128) | pub fn fast_only() -> Self { method quality_only (line 136) | pub fn quality_only() -> Self { method to_fs_config (line 144) | fn to_fs_config(&self) -> FsTwoTierConfig { method default (line 83) | fn default() -> Self { type DocumentId (line 155) | pub enum DocumentId { method session_id (line 166) | pub fn session_id(&self) -> &str { method encode (line 175) | fn encode(&self) -> String { type TwoTierMetadata (line 186) | pub struct TwoTierMetadata { type IndexStatus (line 201) | pub enum IndexStatus { type TwoTierEntry (line 215) | pub struct TwoTierEntry { type TwoTierIndex (line 232) | pub struct TwoTierIndex { method build (line 251) | pub fn build( method len (line 375) | pub fn len(&self) -> usize { method is_empty (line 380) | pub fn is_empty(&self) -> bool { method doc_id (line 385) | pub fn doc_id(&self, idx: usize) -> Option<&DocumentId> { method message_id (line 390) | pub fn message_id(&self, idx: usize) -> Option { method search_fast (line 397) | pub fn search_fast(&self, query_vec: &[f32], k: usize) -> Vec Vec) -> Vec { function new (line 553) | pub fn new( function search (line 572) | pub fn search(&self, query: &str, k: usize) -> impl Iterator Result { function new (line 637) | fn new(searcher: &'a TwoTierSearcher<'a, D>, query: String, k: usize) ->... type Item (line 649) | type Item = SearchPhase; method next (line 651) | fn next(&mut self) -> Option { type TwoTierError (line 784) | pub enum TwoTierError { function normalize_scores (line 799) | pub fn normalize_scores(scores: &[f32]) -> Vec { function blend_scores (line 839) | pub fn blend_scores(fast: &[f32], quality: &[f32], quality_weight: f32) ... type TestDaemon (line 859) | struct TestDaemon { type FailingEmbedder (line 864) | struct FailingEmbedder { type ConstantEmbedder (line 868) | struct ConstantEmbedder { method embed_sync (line 874) | fn embed_sync(&self, _text: &str) -> Result, EmbedderError> { method dimension (line 881) | fn dimension(&self) -> usize { method id (line 885) | fn id(&self) -> &str { method is_semantic (line 889) | fn is_semantic(&self) -> bool { method category (line 893) | fn category(&self) -> ModelCategory { method embed_sync (line 899) | fn embed_sync(&self, _text: &str) -> Result, EmbedderError> { method dimension (line 903) | fn dimension(&self) -> usize { method id (line 907) | fn id(&self) -> &str { method is_semantic (line 911) | fn is_semantic(&self) -> bool { method category (line 915) | fn category(&self) -> ModelCategory { method id (line 921) | fn id(&self) -> &str { method is_available (line 925) | fn is_available(&self) -> bool { method embed (line 929) | fn embed(&self, _text: &str, _request_id: &str) -> Result, Daem... method embed_batch (line 933) | fn embed_batch( method rerank (line 941) | fn rerank( function make_test_entries (line 953) | fn make_test_entries(count: usize, fast_dim: usize, quality_dim: usize) ... function test_two_tier_index_creation (line 969) | fn test_two_tier_index_creation() { function test_empty_index (line 984) | fn test_empty_index() { function test_dimension_mismatch_fast (line 995) | fn test_dimension_mismatch_fast() { function test_dimension_mismatch_quality (line 1009) | fn test_dimension_mismatch_quality() { function test_fast_search (line 1023) | fn test_fast_search() { function test_side_tables_follow_frankensearch_index_order (line 1041) | fn test_side_tables_follow_frankensearch_index_order() { function test_quality_search (line 1080) | fn test_quality_search() { function test_score_normalization (line 1098) | fn test_score_normalization() { function test_score_normalization_constant (line 1107) | fn test_score_normalization_constant() { function test_score_normalization_constant_with_nan_keeps_nan_zeroed (line 1117) | fn test_score_normalization_constant_with_nan_keeps_nan_zeroed() { function test_score_normalization_with_infinite_values_keeps_non_finite_zeroed (line 1128) | fn test_score_normalization_with_infinite_values_keeps_non_finite_zeroed... function test_score_normalization_empty (line 1140) | fn test_score_normalization_empty() { function test_blend_scores (line 1147) | fn test_blend_scores() { function test_document_id_session (line 1156) | fn test_document_id_session() { function test_document_id_turn (line 1162) | fn test_document_id_turn() { function test_document_id_code_block (line 1168) | fn test_document_id_code_block() { function test_config_defaults (line 1174) | fn test_config_defaults() { function test_config_fast_only (line 1185) | fn test_config_fast_only() { function test_config_quality_only (line 1192) | fn test_config_quality_only() { function test_quality_scores_for_indices (line 1199) | fn test_quality_scores_for_indices() { function test_search_fast_dimension_mismatch_returns_empty (line 1214) | fn test_search_fast_dimension_mismatch_returns_empty() { function test_search_quality_dimension_mismatch_returns_empty (line 1225) | fn test_search_quality_dimension_mismatch_returns_empty() { function test_quality_scores_for_indices_dimension_mismatch_returns_zeros (line 1236) | fn test_quality_scores_for_indices_dimension_mismatch_returns_zeros() { function test_quality_only_mode_emits_only_refined_phase (line 1247) | fn test_quality_only_mode_emits_only_refined_phase() { function test_quality_only_mode_without_daemon_reports_failure (line 1270) | fn test_quality_only_mode_without_daemon_reports_failure() { function test_fast_embedding_failure_yields_failure_phase (line 1293) | fn test_fast_embedding_failure_yields_failure_phase() { function test_refinement_scores_are_normalized (line 1319) | fn test_refinement_scores_are_normalized() { FILE: src/search/vector_index.rs constant VECTOR_INDEX_DIR (line 23) | pub const VECTOR_INDEX_DIR: &str = "vector_index"; constant ROLE_USER (line 26) | pub const ROLE_USER: u8 = 0; constant ROLE_ASSISTANT (line 27) | pub const ROLE_ASSISTANT: u8 = 1; constant ROLE_SYSTEM (line 28) | pub const ROLE_SYSTEM: u8 = 2; constant ROLE_TOOL (line 29) | pub const ROLE_TOOL: u8 = 3; function role_code_from_str (line 33) | pub fn role_code_from_str(role: &str) -> Option { function parse_role_codes (line 49) | pub fn parse_role_codes(roles: I) -> Result> function vector_index_path (line 66) | pub fn vector_index_path(data_dir: &Path, embedder_id: &str) -> PathBuf { type SemanticDocId (line 74) | pub struct SemanticDocId { method to_doc_id_string (line 94) | pub fn to_doc_id_string(&self) -> String { function parse_semantic_doc_id (line 134) | pub fn parse_semantic_doc_id(doc_id: &str) -> Option { type SemanticDocIdFilterView (line 171) | pub(crate) struct SemanticDocIdFilterView { function parse_semantic_doc_id_filter_view (line 184) | pub(crate) fn parse_semantic_doc_id_filter_view(doc_id: &str) -> Option<... function map_filter_set (line 204) | fn map_filter_set(keys: &HashSet, map: &HashMap) ->... function source_id_hash (line 217) | fn source_id_hash(source_id: &str) -> u32 { type SemanticFilter (line 225) | pub struct SemanticFilter { method from_search_filters (line 235) | pub fn from_search_filters(filters: &SearchFilters, maps: &SemanticFil... method is_unrestricted (line 251) | pub fn is_unrestricted(&self) -> bool { method with_roles (line 261) | pub fn with_roles(mut self, roles: Option>) -> Self { method matches (line 382) | fn matches(&self, doc_id: &str, _metadata: Option<&serde_json::Value>)... method matches_doc_id_hash (line 423) | fn matches_doc_id_hash( method name (line 431) | fn name(&self) -> &str { type SemanticFilterMaps (line 270) | pub struct SemanticFilterMaps { method from_storage (line 278) | pub fn from_storage(storage: &FrankenStorage) -> Result { method from_connection (line 282) | pub fn from_connection(conn: &FrankenConnection) -> Result { method for_tests (line 341) | pub(crate) fn for_tests( method sources_from_filter (line 355) | fn sources_from_filter(&self, filter: &SourceFilter) -> Result u32 { type VectorSearchResult (line 375) | pub struct VectorSearchResult { function dot_product_scalar_bench (line 438) | pub fn dot_product_scalar_bench(a: &[f32], b: &[f32]) -> f32 { function dot_product_simd_bench (line 444) | pub fn dot_product_simd_bench(a: &[f32], b: &[f32]) -> f32 { function dot_product_f16_scalar_bench (line 450) | pub fn dot_product_f16_scalar_bench(stored: &[f16], query: &[f32]) -> f32 { function dot_product_f16_simd_bench (line 456) | pub fn dot_product_f16_simd_bench(stored: &[f16], query: &[f32]) -> f32 { function role_code_from_str_accepts_known_roles (line 466) | fn role_code_from_str_accepts_known_roles() { function parse_role_codes_rejects_unknown_roles (line 482) | fn parse_role_codes_rejects_unknown_roles() { function vector_index_path_points_to_fsvi (line 488) | fn vector_index_path_points_to_fsvi() { function semantic_doc_id_roundtrip_with_hash (line 495) | fn semantic_doc_id_roundtrip_with_hash() { function semantic_doc_id_roundtrip_without_hash (line 520) | fn semantic_doc_id_roundtrip_without_hash() { FILE: src/sources/config.rs constant BUILT_IN_LOCAL_SOURCE_NAME (line 48) | const BUILT_IN_LOCAL_SOURCE_NAME: &str = "local"; constant RESERVED_REMOTE_SOURCE_SUFFIX (line 49) | const RESERVED_REMOTE_SOURCE_SUFFIX: &str = "-ssh"; function source_name_key (line 51) | pub(crate) fn source_name_key(name: &str) -> String { function source_names_equal (line 55) | pub(crate) fn source_names_equal(lhs: &str, rhs: &str) -> bool { function agent_name_key (line 59) | pub(crate) fn agent_name_key(name: &str) -> String { function normalize_agent_config_name (line 63) | fn normalize_agent_config_name(name: &str) -> Option { function path_mapping_applies_to_agent (line 72) | fn path_mapping_applies_to_agent(mapping: &PathMapping, agent: Option<&s... type ConfigError (line 92) | pub enum ConfigError { type SourcesConfig (line 111) | pub struct SourcesConfig { method load (line 342) | pub fn load() -> Result { method load_from (line 359) | pub fn load_from(path: &PathBuf) -> Result { method save (line 372) | pub fn save(&self) -> Result<(), ConfigError> { method save_to (line 392) | pub fn save_to(&self, path: &Path) -> Result<(), ConfigError> { method config_path (line 413) | pub fn config_path() -> Result { method validate (line 443) | pub fn validate(&self) -> Result<(), ConfigError> { method find_source (line 469) | pub fn find_source(&self, name: &str) -> Option<&SourceDefinition> { method find_source_mut (line 476) | pub fn find_source_mut(&mut self, name: &str) -> Option<&mut SourceDef... method add_source (line 483) | pub fn add_source(&mut self, source: SourceDefinition) -> Result<(), C... method remove_source (line 502) | pub fn remove_source(&mut self, name: &str) -> bool { method remote_sources (line 509) | pub fn remote_sources(&self) -> impl Iterator { method configured_disabled_agents (line 513) | pub fn configured_disabled_agents(&self) -> Vec { method is_agent_disabled (line 524) | pub fn is_agent_disabled(&self, agent: &str) -> bool { method exclude_agent_from_indexing (line 534) | pub fn exclude_agent_from_indexing(&mut self, agent: &str) -> Result Result Result { method merge_source (line 1075) | pub fn merge_source(&mut self, source: SourceDefinition) -> Result HashSet { method configured_name_keys (line 1119) | pub fn configured_name_keys(&self) -> HashSet { type SourceDefinition (line 124) | pub struct SourceDefinition { method local (line 160) | pub fn local(name: impl Into) -> Self { method ssh (line 169) | pub fn ssh(name: impl Into, host: impl Into) -> Self { method is_remote (line 179) | pub fn is_remote(&self) -> bool { method validate (line 184) | pub fn validate(&self) -> Result<(), ConfigError> { method rewrite_path (line 249) | pub fn rewrite_path(&self, path: &str) -> String { method rewrite_path_for_agent (line 256) | pub fn rewrite_path_for_agent(&self, path: &str, agent: Option<&str>) ... function normalize_generated_remote_source_name (line 276) | pub(crate) fn normalize_generated_remote_source_name(name: &str) -> Stri... function has_dot_components (line 284) | fn has_dot_components(path: &Path) -> bool { function validate_ssh_host (line 289) | fn validate_ssh_host(host: &str) -> Result<(), ConfigError> { type SyncSchedule (line 314) | pub enum SyncSchedule { method fmt (line 329) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { constant SYNC_SCHEDULE_MANUAL (line 324) | const SYNC_SCHEDULE_MANUAL: &str = "manual"; constant SYNC_SCHEDULE_HOURLY (line 325) | const SYNC_SCHEDULE_HOURLY: &str = "hourly"; constant SYNC_SCHEDULE_DAILY (line 326) | const SYNC_SCHEDULE_DAILY: &str = "daily"; function get_preset_paths (line 558) | pub fn get_preset_paths(preset: &str) -> Result, ConfigError> { type DiscoveredHost (line 604) | pub struct DiscoveredHost { method connection_string (line 619) | pub fn connection_string(&self) -> String { function discover_ssh_hosts (line 632) | pub fn discover_ssh_hosts() -> Vec { function parse_ssh_config (line 650) | fn parse_ssh_config(content: &str) -> Vec { type MergeResult (line 739) | pub enum MergeResult { type SkipReason (line 748) | pub enum SkipReason { type BackupInfo (line 761) | pub struct BackupInfo { type ConfigPreview (line 770) | pub struct ConfigPreview { method new (line 779) | pub fn new() -> Self { method display (line 787) | pub fn display(&self) { method has_changes (line 835) | pub fn has_changes(&self) -> bool { method add_count (line 840) | pub fn add_count(&self) -> usize { method default (line 846) | fn default() -> Self { type SourceConfigGenerator (line 855) | pub struct SourceConfigGenerator { method new (line 862) | pub fn new() -> Self { method generate_source (line 873) | pub fn generate_source(&self, host_name: &str, probe: &HostProbeResult... method generate_paths (line 894) | fn generate_paths(&self, probe: &HostProbeResult) -> Vec { method generate_mappings (line 914) | fn generate_mappings(&self, probe: &HostProbeResult) -> Vec Option { method generate_preview (line 976) | pub fn generate_preview( method default (line 1026) | fn default() -> Self { function replace_file_from_temp (line 1127) | fn replace_file_from_temp(temp_path: &Path, final_path: &Path) -> Result... function sync_file_path (line 1205) | fn sync_file_path(path: &Path) -> Result<(), std::io::Error> { function sync_parent_directory (line 1210) | fn sync_parent_directory(path: &Path) -> Result<(), std::io::Error> { function sync_parent_directory (line 1218) | fn sync_parent_directory(_path: &Path) -> Result<(), std::io::Error> { function unique_atomic_temp_path (line 1222) | fn unique_atomic_temp_path(path: &Path) -> PathBuf { function unique_backup_path (line 1226) | fn unique_backup_path(path: &Path) -> PathBuf { function unique_replace_backup_path (line 1248) | fn unique_replace_backup_path(path: &Path) -> PathBuf { function unique_atomic_sidecar_path (line 1252) | fn unique_atomic_sidecar_path(path: &Path, suffix: &str, fallback_name: ... function test_empty_config_default (line 1278) | fn test_empty_config_default() { function test_replace_file_from_temp_overwrites_existing_file (line 1284) | fn test_replace_file_from_temp_overwrites_existing_file() { function test_unique_atomic_temp_path_changes_each_call (line 1306) | fn test_unique_atomic_temp_path_changes_each_call() { function test_unique_backup_path_changes_each_call (line 1317) | fn test_unique_backup_path_changes_each_call() { function test_source_definition_local (line 1328) | fn test_source_definition_local() { function test_source_definition_ssh (line 1336) | fn test_source_definition_ssh() { function test_source_validation_empty_name (line 1345) | fn test_source_validation_empty_name() { function test_source_validation_dot_names (line 1351) | fn test_source_validation_dot_names() { function test_source_validation_reserved_local_name (line 1360) | fn test_source_validation_reserved_local_name() { function test_normalize_generated_remote_source_name_disambiguates_local (line 1369) | fn test_normalize_generated_remote_source_name_disambiguates_local() { function test_source_validation_ssh_without_host (line 1376) | fn test_source_validation_ssh_without_host() { function test_source_validation_ssh_host_hardening (line 1383) | fn test_source_validation_ssh_host_hardening() { function test_source_validation_path_mapping_empty_from (line 1392) | fn test_source_validation_path_mapping_empty_from() { function test_source_validation_path_mapping_empty_to (line 1405) | fn test_source_validation_path_mapping_empty_to() { function test_source_validation_path_mapping_empty_agent_names (line 1420) | fn test_source_validation_path_mapping_empty_agent_names() { function test_path_mapping_new (line 1431) | fn test_path_mapping_new() { function test_path_mapping_with_agents (line 1439) | fn test_path_mapping_with_agents() { function test_path_mapping_apply (line 1454) | fn test_path_mapping_apply() { function test_path_mapping_applies_to_agent (line 1471) | fn test_path_mapping_applies_to_agent() { function test_path_rewriting (line 1510) | fn test_path_rewriting() { function test_path_rewriting_with_agent_filter (line 1534) | fn test_path_rewriting_with_agent_filter() { function test_config_duplicate_names (line 1573) | fn test_config_duplicate_names() { function test_config_duplicate_names_case_insensitive (line 1582) | fn test_config_duplicate_names_case_insensitive() { function test_config_add_source (line 1595) | fn test_config_add_source() { function test_config_add_source_case_insensitive_duplicate (line 1606) | fn test_config_add_source_case_insensitive_duplicate() { function test_config_remove_source (line 1620) | fn test_config_remove_source() { function test_config_remove_source_case_insensitive (line 1630) | fn test_config_remove_source_case_insensitive() { function test_find_source_case_insensitive (line 1641) | fn test_find_source_case_insensitive() { function test_config_serialization_roundtrip (line 1653) | fn test_config_serialization_roundtrip() { function test_path_mapping_serialization_with_agents (line 1677) | fn test_path_mapping_serialization_with_agents() { function test_preset_paths (line 1706) | fn test_preset_paths() { function test_sync_schedule_display (line 1718) | fn test_sync_schedule_display() { function test_discover_ssh_hosts (line 1725) | fn test_discover_ssh_hosts() { function make_test_probe (line 1740) | fn make_test_probe( function make_test_agent (line 1761) | fn make_test_agent(agent_type: &str, path: &str) -> DetectedAgent { function make_test_sys_info (line 1770) | fn make_test_sys_info(os: &str, remote_home: &str) -> SystemInfo { function test_source_config_generator_new (line 1785) | fn test_source_config_generator_new() { function test_generate_source_basic (line 1791) | fn test_generate_source_basic() { function test_generate_source_disambiguates_reserved_local_name (line 1810) | fn test_generate_source_disambiguates_reserved_local_name() { function test_generate_source_deduplicates_paths (line 1825) | fn test_generate_source_deduplicates_paths() { function test_generate_source_path_mappings (line 1841) | fn test_generate_source_path_mappings() { function test_generate_source_platform_detection (line 1860) | fn test_generate_source_platform_detection() { function test_generate_preview_basic (line 1872) | fn test_generate_preview_basic() { function test_generate_preview_skips_already_configured (line 1889) | fn test_generate_preview_skips_already_configured() { function test_generate_preview_skips_already_configured_case_insensitive (line 1907) | fn test_generate_preview_skips_already_configured_case_insensitive() { function test_generate_preview_skips_already_configured_case_insensitively_with_raw_names (line 1925) | fn test_generate_preview_skips_already_configured_case_insensitively_wit... function test_generate_preview_skips_conflicting_generated_names_case_insensitive (line 1948) | fn test_generate_preview_skips_conflicting_generated_names_case_insensit... function test_merge_source (line 1970) | fn test_merge_source() { function test_merge_source_already_exists (line 1980) | fn test_merge_source_already_exists() { function test_merge_source_already_exists_case_insensitive (line 1991) | fn test_merge_source_already_exists_case_insensitive() { function test_configured_names (line 2002) | fn test_configured_names() { function test_exclude_and_include_agents_normalize_and_dedup (line 2014) | fn test_exclude_and_include_agents_normalize_and_dedup() { function test_exclude_agent_aliases_collapse_to_internal_connector_slug (line 2028) | fn test_exclude_agent_aliases_collapse_to_internal_connector_slug() { function test_validate_rejects_empty_disabled_agent_entry (line 2038) | fn test_validate_rejects_empty_disabled_agent_entry() { function test_sources_config_roundtrip_preserves_disabled_agents (line 2048) | fn test_sources_config_roundtrip_preserves_disabled_agents() { function test_configured_name_keys_normalize_case (line 2063) | fn test_configured_name_keys_normalize_case() { function test_save_to_rejects_invalid_config (line 2075) | fn test_save_to_rejects_invalid_config() { function test_empty_remote_home_no_mappings (line 2092) | fn test_empty_remote_home_no_mappings() { function test_trailing_slash_remote_home_normalized (line 2108) | fn test_trailing_slash_remote_home_normalized() { FILE: src/sources/index.rs constant DEFAULT_INDEX_TIMEOUT_SECS (line 46) | pub const DEFAULT_INDEX_TIMEOUT_SECS: u64 = 600; constant INDEX_POLL_INTERVAL_SECS (line 49) | pub const INDEX_POLL_INTERVAL_SECS: u64 = 5; constant MAX_INDEX_WAIT_SECS (line 52) | pub const MAX_INDEX_WAIT_SECS: u64 = 1800; constant REMOTE_INDEX_MAX_LOAD_PER_CPU (line 55) | const REMOTE_INDEX_MAX_LOAD_PER_CPU: f64 = 1.50; constant REMOTE_INDEX_MIN_AVAILABLE_MEM_KIB (line 58) | const REMOTE_INDEX_MIN_AVAILABLE_MEM_KIB: u64 = 512 * 1024; type IndexError (line 66) | pub enum IndexError { method help_message (line 101) | pub fn help_message(&self) -> &'static str { type RemoteHostPressureSnapshot (line 119) | struct RemoteHostPressureSnapshot { method from_command_output (line 133) | fn from_command_output(output: &str) -> Self { method decide (line 159) | fn decide(self) -> RemoteHostPressureDecision { type RemoteHostPressureDecision (line 126) | struct RemoteHostPressureDecision { type IndexStage (line 203) | pub enum IndexStage { method fmt (line 217) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type IndexProgress (line 230) | pub struct IndexProgress { type IndexResult (line 247) | pub struct IndexResult { type RemoteArtifactManifestResult (line 263) | pub struct RemoteArtifactManifestResult { method from_command_output (line 290) | fn from_command_output(output: &str) -> Self { method from_error (line 322) | fn from_error(error: impl Into) -> Self { type RemoteArtifactManifestCommandOutput (line 281) | struct RemoteArtifactManifestCommandOutput { function effective_ssh_command_timeout (line 339) | fn effective_ssh_command_timeout(requested: Duration, configured_secs: u... function wait_for_command_output_with_timeout (line 353) | fn wait_for_command_output_with_timeout( type RemoteIndexer (line 362) | pub struct RemoteIndexer { method new (line 371) | pub fn new(host: impl Into, ssh_timeout: u64) -> Self { method with_defaults (line 379) | pub fn with_defaults(host: impl Into) -> Self { method host (line 384) | pub fn host(&self) -> &str { method needs_indexing (line 397) | pub fn needs_indexing(probe: &HostProbeResult) -> bool { method run_index (line 415) | pub fn run_index(&self, on_progress: F) -> Result Result<(), IndexError> { method host_pressure_script (line 491) | fn host_pressure_script() -> &'static str { method verify_remote_host_pressure (line 502) | fn verify_remote_host_pressure(&self) -> Result<(), IndexError> { method artifact_manifest_script (line 512) | fn artifact_manifest_script() -> &'static str { method write_remote_artifact_manifest (line 520) | fn write_remote_artifact_manifest(&self) -> RemoteArtifactManifestResu... method run_index_with_polling (line 532) | fn run_index_with_polling( method poll_index_progress (line 578) | fn poll_index_progress( method run_ssh_command (line 723) | fn run_ssh_command(&self, script: &str, timeout: Duration) -> Result Option { function extract_session_count (line 809) | fn extract_session_count(line: &str) -> Option { function parse_count (line 838) | fn parse_count(token: &str) -> Option { function load_probe_fixture (line 856) | fn load_probe_fixture(name: &str) -> HostProbeResult { function test_no_indexing_when_not_found (line 867) | fn test_no_indexing_when_not_found() { function test_needs_indexing_when_not_indexed (line 874) | fn test_needs_indexing_when_not_indexed() { function test_needs_indexing_when_empty_index (line 880) | fn test_needs_indexing_when_empty_index() { function test_no_indexing_needed_when_has_sessions (line 886) | fn test_no_indexing_needed_when_has_sessions() { function test_needs_indexing_when_unknown (line 892) | fn test_needs_indexing_when_unknown() { function test_extract_agent_from_line (line 898) | fn test_extract_agent_from_line() { function test_extract_session_count (line 915) | fn test_extract_session_count() { function test_index_stage_display (line 932) | fn test_index_stage_display() { function test_index_error_help_messages (line 946) | fn test_index_error_help_messages() { function test_remote_indexer_new (line 967) | fn test_remote_indexer_new() { function test_effective_ssh_command_timeout_clamps_to_smaller_deadline (line 976) | fn test_effective_ssh_command_timeout_clamps_to_smaller_deadline() { function test_wait_for_command_output_with_timeout_kills_stalled_child (line 997) | fn test_wait_for_command_output_with_timeout_kills_stalled_child() { function test_wait_for_command_output_with_timeout_drains_large_output (line 1015) | fn test_wait_for_command_output_with_timeout_drains_large_output() { function test_wait_for_command_output_with_timeout_bounds_inherited_pipe_waits (line 1033) | fn test_wait_for_command_output_with_timeout_bounds_inherited_pipe_waits... function test_artifact_manifest_script_uses_robot_safe_write_command (line 1050) | fn test_artifact_manifest_script_uses_robot_safe_write_command() { function test_host_pressure_script_reads_cheap_linux_metrics (line 1057) | fn test_host_pressure_script_reads_cheap_linux_metrics() { function test_remote_host_pressure_allows_incomplete_metrics (line 1065) | fn test_remote_host_pressure_allows_incomplete_metrics() { function test_remote_host_pressure_defers_high_load (line 1076) | fn test_remote_host_pressure_defers_high_load() { function test_remote_host_pressure_defers_low_memory (line 1087) | fn test_remote_host_pressure_defers_low_memory() { function test_remote_artifact_manifest_result_parses_command_output (line 1101) | fn test_remote_artifact_manifest_result_parses_command_output() { FILE: src/sources/install.rs constant DEFAULT_INSTALL_TIMEOUT_SECS (line 45) | pub const DEFAULT_INSTALL_TIMEOUT_SECS: u64 = 600; constant MIN_DISK_MB (line 48) | pub const MIN_DISK_MB: u64 = 2048; constant MIN_MEMORY_MB (line 51) | pub const MIN_MEMORY_MB: u64 = 1024; constant CASS_VERSION (line 54) | pub const CASS_VERSION: &str = env!("CARGO_PKG_VERSION"); constant CRATE_NAME (line 57) | pub const CRATE_NAME: &str = "coding-agent-search"; type InstallError (line 65) | pub enum InstallError { type InstallMethod (line 107) | pub enum InstallMethod { method display_name (line 126) | pub fn display_name(&self) -> &'static str { method estimated_time (line 136) | pub fn estimated_time(&self) -> Duration { method requires_compilation (line 146) | pub fn requires_compilation(&self) -> bool { method fmt (line 155) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type InstallStage (line 167) | pub enum InstallStage { method fmt (line 185) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type InstallProgress (line 200) | pub struct InstallProgress { type InstallResult (line 213) | pub struct InstallResult { type RemoteInstaller (line 229) | pub struct RemoteInstaller { method new (line 242) | pub fn new(host: impl Into, system_info: SystemInfo, resources... method with_version (line 255) | pub fn with_version( method validate_shell_safe (line 275) | fn validate_shell_safe(value: &str, field_name: &str) -> Result<(), In... method host (line 293) | pub fn host(&self) -> &str { method target_version (line 298) | pub fn target_version(&self) -> &str { method check_resources (line 303) | pub fn check_resources(&self) -> Result<(), InstallError> { method can_compile (line 316) | pub fn can_compile(&self) -> Result<(), InstallError> { method choose_method (line 330) | pub fn choose_method(&self) -> Option { method get_prebuilt_url (line 359) | fn get_prebuilt_url(&self) -> Option { method get_checksum_url (line 391) | fn get_checksum_url(binary_url: &str) -> String { method shell_quote_arg (line 395) | fn shell_quote_arg(value: &str) -> String { method fetch_remote_checksum (line 403) | fn fetch_remote_checksum(&self, checksum_url: &str) -> Option { method install (line 434) | pub fn install(&self, on_progress: F) -> Result( method install_via_binary (line 536) | fn install_via_binary( method prebuilt_archive_member_is_allowed (line 588) | fn prebuilt_archive_member_is_allowed(member: &str) -> bool { method build_prebuilt_binary_install_script (line 592) | fn build_prebuilt_binary_install_script( method compute_remote_checksum (line 661) | fn compute_remote_checksum(&self, remote_path: &str) -> Result( method install_with_bootstrap (line 762) | fn install_with_bootstrap( method poll_installation (line 799) | fn poll_installation( method verify_installation (line 900) | fn verify_installation(&self, on_progress: &F, start: Instant) -> R... method run_ssh_command (line 939) | fn run_ssh_command(&self, script: &str, timeout: Duration) -> Result Option<(&'static str, &'sta... function fixture_system_info (line 1021) | fn fixture_system_info() -> SystemInfo { function fixture_resources (line 1035) | fn fixture_resources() -> ResourceInfo { function test_install_method_display (line 1045) | fn test_install_method_display() { function test_install_method_requires_compilation (line 1058) | fn test_install_method_requires_compilation() { function test_choose_method_prefers_binstall (line 1072) | fn test_choose_method_prefers_binstall() { function test_choose_method_cargo_install (line 1085) | fn test_choose_method_cargo_install() { function test_choose_method_prebuilt_binary (line 1098) | fn test_choose_method_prebuilt_binary() { function test_choose_method_bootstrap_when_no_cargo (line 1111) | fn test_choose_method_bootstrap_when_no_cargo() { function test_choose_method_none_when_no_tools (line 1129) | fn test_choose_method_none_when_no_tools() { function test_check_resources_ok (line 1144) | fn test_check_resources_ok() { function test_check_resources_insufficient_disk (line 1153) | fn test_check_resources_insufficient_disk() { function test_can_compile_insufficient_memory (line 1164) | fn test_can_compile_insufficient_memory() { function test_get_prebuilt_url_linux_x86 (line 1178) | fn test_get_prebuilt_url_linux_x86() { function test_get_prebuilt_url_macos_arm (line 1189) | fn test_get_prebuilt_url_macos_arm() { function test_detect_missing_dependency_openssl (line 1202) | fn test_detect_missing_dependency_openssl() { function test_detect_missing_dependency_cc (line 1210) | fn test_detect_missing_dependency_cc() { function test_install_stage_display (line 1218) | fn test_install_stage_display() { function test_get_checksum_url (line 1235) | fn test_get_checksum_url() { function test_shell_quote_arg_suppresses_command_substitution (line 1246) | fn test_shell_quote_arg_suppresses_command_substitution() { function test_checksum_mismatch_error_display (line 1258) | fn test_checksum_mismatch_error_display() { function test_checksum_validation_valid (line 1270) | fn test_checksum_validation_valid() { function test_checksum_validation_invalid (line 1283) | fn test_checksum_validation_invalid() { function test_prebuilt_archive_member_policy_rejects_path_traversal (line 1298) | fn test_prebuilt_archive_member_policy_rejects_path_traversal() { function test_prebuilt_install_script_validates_tar_members_before_extract (line 1321) | fn test_prebuilt_install_script_validates_tar_members_before_extract() { function test_prebuilt_install_script_quotes_url_and_fails_without_checksum_tool (line 1342) | fn test_prebuilt_install_script_quotes_url_and_fails_without_checksum_to... function test_prebuilt_binary_method_with_checksum (line 1360) | fn test_prebuilt_binary_method_with_checksum() { function test_prebuilt_binary_method_without_checksum (line 1384) | fn test_prebuilt_binary_method_without_checksum() { function local_system_info (line 1406) | fn local_system_info() -> SystemInfo { function local_resource_info (line 1457) | fn local_resource_info() -> ResourceInfo { function real_system_info_has_valid_fields (line 1522) | fn real_system_info_has_valid_fields() { function real_resources_have_nonzero_values (line 1539) | fn real_resources_have_nonzero_values() { function real_resources_memory_invariant (line 1550) | fn real_resources_memory_invariant() { function real_resources_can_compile_matches_thresholds (line 1561) | fn real_resources_can_compile_matches_thresholds() { function real_system_choose_method_returns_some (line 1573) | fn real_system_choose_method_returns_some() { function real_system_check_resources_ok (line 1587) | fn real_system_check_resources_ok() { function real_system_can_compile_ok (line 1600) | fn real_system_can_compile_ok() { function real_system_prebuilt_url_valid (line 1611) | fn real_system_prebuilt_url_valid() { function real_system_tool_detection_consistent (line 1627) | fn real_system_tool_detection_consistent() { FILE: src/sources/interactive.rs type HostState (line 69) | pub enum HostState { method status_badge (line 84) | pub fn status_badge(&self) -> String { method is_selectable (line 95) | pub fn is_selectable(&self) -> bool { method should_preselect (line 103) | pub fn should_preselect(&self) -> bool { type HostDisplayInfo (line 111) | pub struct HostDisplayInfo { type CassStatusDisplay (line 134) | pub enum CassStatusDisplay { type HostSelectionResult (line 147) | pub struct HostSelectionResult { type HostSelector (line 163) | pub struct HostSelector { method new (line 170) | pub fn new(hosts: Vec) -> Self { method format_host (line 187) | fn format_host(&self, host: &HostDisplayInfo) -> String { method prompt (line 288) | pub fn prompt(&self) -> Result { method get_host (line 367) | pub fn get_host(&self, index: usize) -> Option<&HostDisplayInfo> { function confirm_action (line 377) | pub fn confirm_action(message: &str, default: bool) -> Result) -> fmt::Result { function test_host_display_info_creation (line 652) | fn test_host_display_info_creation() { function test_host_selector_format (line 678) | fn test_host_selector_format() { function test_host_selector_empty (line 706) | fn test_host_selector_empty() { function test_cass_status_display_variants (line 713) | fn test_cass_status_display_variants() { function test_host_selection_result (line 727) | fn test_host_selection_result() { function test_interactive_error_display (line 742) | fn test_interactive_error_display() { function test_unreachable_host_format (line 753) | fn test_unreachable_host_format() { function test_host_state_properties (line 775) | fn test_host_state_properties() { function test_host_state_status_badges (line 792) | fn test_host_state_status_badges() { function test_probe_to_display_info (line 810) | fn test_probe_to_display_info() { function test_probe_to_display_info_already_configured (line 838) | fn test_probe_to_display_info_already_configured() { function test_probe_to_display_info_already_configured_case_insensitive (line 862) | fn test_probe_to_display_info_already_configured_case_insensitive() { function test_probe_to_display_info_reserved_local_ssh_alias_already_configured (line 886) | fn test_probe_to_display_info_reserved_local_ssh_alias_already_configure... function test_installed_not_indexed_status (line 910) | fn test_installed_not_indexed_status() { function test_probe_to_display_info_username_extraction (line 921) | fn test_probe_to_display_info_username_extraction() { function test_probe_to_display_info_empty_distro_fallback (line 998) | fn test_probe_to_display_info_empty_distro_fallback() { FILE: src/sources/mod.rs constant HOST_KEY_VERIFICATION_FAILED (line 88) | pub(crate) const HOST_KEY_VERIFICATION_FAILED: &str = "Host key verifica... function strict_ssh_cli_tokens (line 94) | pub(crate) fn strict_ssh_cli_tokens(connect_timeout_secs: u64) -> Vec... function drain_child_pipe (line 116) | fn drain_child_pipe(mut pipe: R) -> Receiver>> function finish_child_pipe (line 129) | fn finish_child_pipe( function wait_for_child_output_with_timeout (line 153) | pub(crate) fn wait_for_child_output_with_timeout( function is_host_key_verification_failure (line 190) | pub(crate) fn is_host_key_verification_failure(stderr: &str) -> bool { function host_key_verification_error (line 195) | pub(crate) fn host_key_verification_error(host: &str) -> String { FILE: src/sources/probe.rs constant DEFAULT_PROBE_TIMEOUT (line 48) | pub const DEFAULT_PROBE_TIMEOUT: u64 = 10; type HostProbeResult (line 52) | pub struct HostProbeResult { method unreachable (line 73) | pub fn unreachable(host_name: &str, error: impl Into) -> Self { method has_cass (line 87) | pub fn has_cass(&self) -> bool { method has_agent_data (line 92) | pub fn has_agent_data(&self) -> bool { method total_sessions (line 97) | pub fn total_sessions(&self) -> u64 { type CassStatus (line 108) | pub enum CassStatus { method is_installed (line 125) | pub fn is_installed(&self) -> bool { method version (line 133) | pub fn version(&self) -> Option<&str> { type DetectedAgent (line 145) | pub struct DetectedAgent { type SystemInfo (line 158) | pub struct SystemInfo { type ResourceInfo (line 183) | pub struct ResourceInfo { constant MIN_DISK_MB (line 196) | pub const MIN_DISK_MB: u64 = 1024; constant MIN_MEMORY_MB (line 199) | pub const MIN_MEMORY_MB: u64 = 2048; function build_probe_script (line 208) | fn build_probe_script() -> String { function probe_host (line 364) | pub fn probe_host(host: &DiscoveredHost, timeout_secs: u64) -> HostProbe... function parse_probe_output (line 449) | fn parse_probe_output(host_name: &str, output: &str, connection_time_ms:... function infer_agent_type (line 587) | fn infer_agent_type(path: &str) -> String { function probe_hosts_parallel (line 641) | pub fn probe_hosts_parallel( type ProbeCache (line 676) | pub struct ProbeCache { method new (line 689) | pub fn new(ttl_secs: u64) -> Self { method get (line 697) | pub fn get(&self, host_name: &str) -> Option<&HostProbeResult> { method insert (line 708) | pub fn insert(&mut self, result: HostProbeResult) { method clear_expired (line 716) | pub fn clear_expired(&mut self) { method default (line 682) | fn default() -> Self { function deduplicate_probe_results (line 736) | pub fn deduplicate_probe_results( function test_cass_status_is_installed (line 817) | fn test_cass_status_is_installed() { function test_cass_status_version (line 839) | fn test_cass_status_version() { function test_infer_agent_type (line 862) | fn test_infer_agent_type() { function test_parse_probe_output_success (line 880) | fn test_parse_probe_output_success() { function test_parse_probe_output_cass_not_found (line 946) | fn test_parse_probe_output_cass_not_found() { function test_parse_probe_output_malformed (line 975) | fn test_parse_probe_output_malformed() { function test_host_probe_result_unreachable (line 984) | fn test_host_probe_result_unreachable() { function test_probe_cache (line 994) | fn test_probe_cache() { function test_resource_info_can_compile (line 1015) | fn test_resource_info_can_compile() { function run_probe_script_locally (line 1038) | fn run_probe_script_locally() -> String { function real_probe_script_produces_valid_markers (line 1069) | fn real_probe_script_produces_valid_markers() { function real_probe_script_parses_into_reachable_result (line 1082) | fn real_probe_script_parses_into_reachable_result() { function real_probe_system_info_has_valid_os (line 1095) | fn real_probe_system_info_has_valid_os() { function real_probe_system_info_has_valid_arch (line 1107) | fn real_probe_system_info_has_valid_arch() { function real_probe_system_info_has_nonempty_home (line 1122) | fn real_probe_system_info_has_nonempty_home() { function real_probe_resources_have_nonzero_disk (line 1135) | fn real_probe_resources_have_nonzero_disk() { function real_probe_resources_have_nonzero_memory (line 1143) | fn real_probe_resources_have_nonzero_memory() { function real_probe_resources_memory_invariant (line 1155) | fn real_probe_resources_memory_invariant() { function real_probe_resources_can_compile_reflects_thresholds (line 1168) | fn real_probe_resources_can_compile_reflects_thresholds() { function real_probe_tool_detection_is_consistent (line 1182) | fn real_probe_tool_detection_is_consistent() { function probe_script_contains_all_franken_agent_detection_paths (line 1198) | fn probe_script_contains_all_franken_agent_detection_paths() { function infer_agent_type_covers_all_dynamic_agents (line 1227) | fn infer_agent_type_covers_all_dynamic_agents() { function make_probe_result (line 1246) | fn make_probe_result( function test_deduplicate_no_duplicates (line 1287) | fn test_deduplicate_no_duplicates() { function test_deduplicate_same_machine (line 1300) | fn test_deduplicate_same_machine() { function test_deduplicate_prefers_installed_cass (line 1319) | fn test_deduplicate_prefers_installed_cass() { function test_deduplicate_prefers_more_sessions (line 1335) | fn test_deduplicate_prefers_more_sessions() { function test_deduplicate_no_machine_id_not_merged (line 1352) | fn test_deduplicate_no_machine_id_not_merged() { function test_deduplicate_mixed_with_and_without_machine_id (line 1366) | fn test_deduplicate_mixed_with_and_without_machine_id() { function test_deduplicate_three_aliases_same_machine (line 1384) | fn test_deduplicate_three_aliases_same_machine() { function real_probe_machine_id_present (line 1404) | fn real_probe_machine_id_present() { FILE: src/sources/provenance.rs constant SOURCE_FILTER_ALL (line 31) | const SOURCE_FILTER_ALL: &str = "all"; constant SOURCE_FILTER_LOCAL (line 32) | const SOURCE_FILTER_LOCAL: &str = "local"; constant SOURCE_FILTER_REMOTE (line 33) | const SOURCE_FILTER_REMOTE: &str = "remote"; type Source (line 48) | pub struct Source { method local (line 78) | pub fn local() -> Self { method remote (line 92) | pub fn remote(id: impl Into, host_label: impl Into) ->... method is_remote (line 106) | pub fn is_remote(&self) -> bool { method is_local (line 111) | pub fn is_local(&self) -> bool { method display_label (line 116) | pub fn display_label(&self) -> &str { method default (line 122) | fn default() -> Self { type SourceFilter (line 132) | pub enum SourceFilter { method parse (line 151) | pub fn parse(s: &str) -> Self { method matches (line 162) | pub fn matches(&self, origin: &Origin) -> bool { method is_all (line 175) | pub fn is_all(&self) -> bool { method cycle (line 183) | pub fn cycle(&self) -> Self { method fmt (line 194) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function test_source_kind_default (line 209) | fn test_source_kind_default() { function test_source_kind_is_remote (line 214) | fn test_source_kind_is_remote() { function test_source_kind_display (line 220) | fn test_source_kind_display() { function test_source_kind_parse (line 226) | fn test_source_kind_parse() { function test_source_kind_serialization (line 235) | fn test_source_kind_serialization() { function test_source_kind_deserialization (line 244) | fn test_source_kind_deserialization() { function test_source_local (line 256) | fn test_source_local() { function test_source_remote (line 265) | fn test_source_remote() { function test_source_display_label (line 275) | fn test_source_display_label() { function test_source_default (line 284) | fn test_source_default() { function test_origin_local (line 290) | fn test_origin_local() { function test_origin_remote (line 299) | fn test_origin_remote() { function test_origin_remote_with_host (line 308) | fn test_origin_remote_with_host() { function test_origin_display_label (line 315) | fn test_origin_display_label() { function test_origin_short_label (line 330) | fn test_origin_short_label() { function test_origin_default (line 339) | fn test_origin_default() { function test_origin_equality (line 345) | fn test_origin_equality() { function test_origin_serialization_roundtrip (line 358) | fn test_origin_serialization_roundtrip() { function test_source_filter_parse (line 366) | fn test_source_filter_parse() { function test_source_filter_parse_trims_whitespace (line 387) | fn test_source_filter_parse_trims_whitespace() { function test_source_filter_matches (line 398) | fn test_source_filter_matches() { function test_source_filter_display (line 421) | fn test_source_filter_display() { function test_source_filter_default (line 432) | fn test_source_filter_default() { function test_source_filter_cycle_transitions (line 441) | fn test_source_filter_cycle_transitions() { function test_source_filter_full_cycle (line 457) | fn test_source_filter_full_cycle() { function test_source_filter_cycle_is_idempotent_for_specific (line 470) | fn test_source_filter_cycle_is_idempotent_for_specific() { function test_source_filter_cycle_preserves_type_invariants (line 481) | fn test_source_filter_cycle_preserves_type_invariants() { FILE: src/sources/setup.rs type SetupOptions (line 36) | pub struct SetupOptions { method default (line 60) | fn default() -> Self { type SelectedHostNameConflict (line 77) | struct SelectedHostNameConflict { function dedupe_selected_hosts_by_generated_name (line 83) | fn dedupe_selected_hosts_by_generated_name( type SetupState (line 111) | pub struct SetupState { method path (line 147) | fn path() -> PathBuf { method load (line 155) | pub fn load() -> Result, SetupError> { method save (line 168) | pub fn save(&self) -> Result<(), SetupError> { method clear (line 179) | pub fn clear() -> Result<(), SetupError> { method has_progress (line 189) | pub fn has_progress(&self) -> bool { type SetupError (line 201) | pub enum SetupError { type SetupResult (line 233) | pub struct SetupResult { function print_phase_header (line 247) | fn print_phase_header(phase: &str) { function print_phase_done (line 256) | fn print_phase_done(message: &str) { function run_setup (line 262) | pub fn run_setup(opts: &SetupOptions) -> Result { function test_setup_options_default (line 1018) | fn test_setup_options_default() { function test_setup_state_default (line 1033) | fn test_setup_state_default() { function test_setup_state_has_progress_empty (line 1053) | fn test_setup_state_has_progress_empty() { function test_setup_state_has_progress_discovery (line 1059) | fn test_setup_state_has_progress_discovery() { function test_setup_state_has_progress_probing (line 1068) | fn test_setup_state_has_progress_probing() { function test_setup_state_has_progress_selection (line 1077) | fn test_setup_state_has_progress_selection() { function test_setup_state_has_progress_installation (line 1086) | fn test_setup_state_has_progress_installation() { function test_setup_state_has_progress_indexing (line 1095) | fn test_setup_state_has_progress_indexing() { function test_setup_state_has_progress_configuration (line 1104) | fn test_setup_state_has_progress_configuration() { function test_setup_state_serde_roundtrip (line 1113) | fn test_setup_state_serde_roundtrip() { function test_setup_error_display_cancelled (line 1137) | fn test_setup_error_display_cancelled() { function test_setup_error_display_no_hosts (line 1143) | fn test_setup_error_display_no_hosts() { function test_setup_error_display_interrupted (line 1149) | fn test_setup_error_display_interrupted() { function test_setup_error_display_io (line 1155) | fn test_setup_error_display_io() { function test_setup_error_source_is_preserved_as_none (line 1162) | fn test_setup_error_source_is_preserved_as_none() { function test_setup_result_structure (line 1177) | fn test_setup_result_structure() { function test_setup_result_dry_run (line 1193) | fn test_setup_result_dry_run() { function make_selected_probe (line 1205) | fn make_selected_probe(host_name: &str) -> HostProbeResult { function test_dedupe_selected_hosts_by_generated_name_case_insensitive (line 1219) | fn test_dedupe_selected_hosts_by_generated_name_case_insensitive() { function test_dedupe_selected_hosts_by_generated_name_reserved_local_alias (line 1235) | fn test_dedupe_selected_hosts_by_generated_name_reserved_local_alias() { function test_setup_state_path (line 1251) | fn test_setup_state_path() { FILE: src/sources/sync.rs type RsyncArgProtection (line 52) | enum RsyncArgProtection { method is_supported (line 63) | fn is_supported(self) -> bool { method flag (line 69) | fn flag(self) -> Option<&'static str> { function detect_rsync_arg_protection (line 78) | fn detect_rsync_arg_protection() -> RsyncArgProtection { function quote_remote_shell_path (line 103) | fn quote_remote_shell_path(path: &str) -> String { function remote_spec_for_shell_bound_copy (line 112) | fn remote_spec_for_shell_bound_copy(host: &str, remote_path: &str) -> St... function remote_spec_for_rsync (line 119) | fn remote_spec_for_rsync(host: &str, remote_path: &str, protect_args_sup... function remote_find_regular_files_command (line 129) | fn remote_find_regular_files_command(remote_path: &str) -> String { function parse_null_terminated_utf8_paths (line 136) | fn parse_null_terminated_utf8_paths(bytes: &[u8]) -> Vec { function remote_file_to_safe_local_path (line 145) | fn remote_file_to_safe_local_path( function sftp_file_stat_is_symlink (line 168) | fn sftp_file_stat_is_symlink(stat: &FileStat) -> bool { type SyncError (line 174) | pub enum SyncError { type SyncMethod (line 199) | pub enum SyncMethod { method as_str (line 221) | pub fn as_str(self) -> &'static str { method fmt (line 232) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type PathSyncResult (line 239) | pub struct PathSyncResult { type SyncReport (line 258) | pub struct SyncReport { method new (line 273) | pub fn new(source_name: impl Into, method: SyncMethod) -> Self { method failed (line 284) | pub fn failed(source_name: impl Into, error: SyncError) -> Self { method add_path_result (line 299) | pub fn add_path_result(&mut self, result: PathSyncResult) { method total_files (line 307) | pub fn total_files(&self) -> u64 { method total_bytes (line 312) | pub fn total_bytes(&self) -> u64 { method successful_paths (line 317) | pub fn successful_paths(&self) -> usize { method failed_paths (line 322) | pub fn failed_paths(&self) -> usize { method sync_result (line 327) | pub fn sync_result(&self) -> SyncResult { type RsyncStats (line 347) | struct RsyncStats { type SyncEngine (line 353) | pub struct SyncEngine { method new (line 368) | pub fn new(data_dir: &Path) -> Self { method with_connection_timeout (line 377) | pub fn with_connection_timeout(mut self, seconds: u64) -> Self { method with_transfer_timeout (line 383) | pub fn with_transfer_timeout(mut self, seconds: u64) -> Self { method mirror_dir (line 389) | pub fn mirror_dir(&self, source_name: &str) -> PathBuf { method get_remote_home (line 399) | fn get_remote_home(&self, host: &str) -> Result { method expand_tilde_with_home (line 452) | fn expand_tilde_with_home(path: &str, remote_home: Option<&str>) -> St... method detect_sync_method (line 484) | pub fn detect_sync_method() -> SyncMethod { method sync_source (line 531) | pub fn sync_source(&self, source: &SourceDefinition) -> Result(entry_path: &'a Path, parent_path: &Path) ->... function which_scp_exists (line 1736) | fn which_scp_exists() -> bool { function windows_path_to_wsl (line 1757) | fn windows_path_to_wsl(path: &str) -> String { function parse_ssh_host (line 1775) | fn parse_ssh_host(host: &str) -> (Option<&str>, &str) { function first_nonblank_username (line 1785) | fn first_nonblank_username<'a>( function env_username (line 1798) | fn env_username(key: &str) -> Option { function expand_tilde_local (line 1805) | fn expand_tilde_local(path: &str) -> String { function path_to_safe_dirname (line 1826) | pub fn path_to_safe_dirname(path: &str) -> String { function fnv1a_hash (line 1863) | fn fnv1a_hash(text: &str) -> u64 { function parse_rsync_stats (line 1873) | fn parse_rsync_stats(output: &str) -> RsyncStats { type SyncResult (line 1910) | pub enum SyncResult { method label (line 1924) | pub fn label(&self) -> &'static str { method error_message (line 1934) | pub fn error_message(&self) -> Option<&str> { type SourceSyncAction (line 1945) | pub enum SourceSyncAction { method as_str (line 1955) | pub fn as_str(self) -> &'static str { type SourceHealthKind (line 1967) | pub enum SourceHealthKind { method as_str (line 1978) | pub fn as_str(self) -> &'static str { type SourceSyncDecision (line 1993) | pub struct SourceSyncDecision { method evaluate (line 2017) | fn evaluate( type SourceSyncInfo (line 2138) | pub struct SourceSyncInfo { method from_report (line 2156) | pub fn from_report(report: &SyncReport) -> Self { type SyncStatus (line 2171) | pub struct SyncStatus { method load (line 2178) | pub fn load(data_dir: &Path) -> Result { method save (line 2192) | pub fn save(&self, data_dir: &Path) -> Result<(), std::io::Error> { method update (line 2205) | pub fn update(&mut self, source_name: &str, report: &SyncReport) { method set_info (line 2220) | pub fn set_info(&mut self, source_name: &str, info: SourceSyncInfo) { method retain_sources (line 2227) | pub fn retain_sources<'a>(&mut self, source_names: impl IntoIterator Option<&SourceSyncInfo> { method decision_for_source_at (line 2241) | pub fn decision_for_source_at( method status_path (line 2251) | fn status_path(data_dir: &Path) -> PathBuf { constant SOURCE_HIGH_LATENCY_MS (line 2256) | const SOURCE_HIGH_LATENCY_MS: u64 = 60_000; constant SOURCE_FAILURE_BACKOFF_BASE_MS (line 2257) | const SOURCE_FAILURE_BACKOFF_BASE_MS: i64 = 5 * 60 * 1000; constant SOURCE_FAILURE_BACKOFF_MAX_MS (line 2258) | const SOURCE_FAILURE_BACKOFF_MAX_MS: i64 = 60 * 60 * 1000; function current_unix_ms (line 2260) | pub(crate) fn current_unix_ms() -> i64 { function sync_schedule_period_ms (line 2268) | fn sync_schedule_period_ms(schedule: SyncSchedule) -> Option { function sync_schedule_due (line 2276) | fn sync_schedule_due(last_sync: Option, period_ms: Option, now... function automatic_source_sync_action (line 2284) | fn automatic_source_sync_action( function health_score_for_source (line 2319) | fn health_score_for_source(health: SourceHealthKind) -> u8 { function stale_value_score_for_source (line 2331) | fn stale_value_score_for_source( function failure_backoff_until_ms (line 2355) | fn failure_backoff_until_ms(info: &SourceSyncInfo) -> Option { function sync_result_auth_failure (line 2368) | fn sync_result_auth_failure(result: &SyncResult) -> bool { function unique_atomic_temp_path (line 2380) | fn unique_atomic_temp_path(path: &Path) -> PathBuf { function replace_file_from_temp (line 2384) | fn replace_file_from_temp(temp_path: &Path, final_path: &Path) -> Result... function sync_file_path (line 2462) | fn sync_file_path(path: &Path) -> Result<(), std::io::Error> { function sync_parent_directory (line 2467) | fn sync_parent_directory(path: &Path) -> Result<(), std::io::Error> { function sync_parent_directory (line 2475) | fn sync_parent_directory(_path: &Path) -> Result<(), std::io::Error> { function unique_replace_backup_path (line 2480) | fn unique_replace_backup_path(path: &Path) -> PathBuf { function unique_atomic_sidecar_path (line 2484) | fn unique_atomic_sidecar_path(path: &Path, suffix: &str, fallback_name: ... function test_path_to_safe_dirname (line 2511) | fn test_path_to_safe_dirname() { function test_path_to_safe_dirname_empty (line 2526) | fn test_path_to_safe_dirname_empty() { function test_path_to_safe_dirname_strips_traversal_components (line 2535) | fn test_path_to_safe_dirname_strips_traversal_components() { function test_get_remote_home_rejects_unsafe_hosts_before_ssh (line 2545) | fn test_get_remote_home_rejects_unsafe_hosts_before_ssh() { function test_remote_find_regular_files_command_uses_physical_traversal (line 2565) | fn test_remote_find_regular_files_command_uses_physical_traversal() { function test_parse_null_terminated_utf8_paths_skips_invalid_entries (line 2577) | fn test_parse_null_terminated_utf8_paths_skips_invalid_entries() { function test_remote_file_to_safe_local_path_rejects_outside_root (line 2591) | fn test_remote_file_to_safe_local_path_rejects_outside_root() { function test_sftp_file_stat_is_symlink_detects_link_modes (line 2634) | fn test_sftp_file_stat_is_symlink_detects_link_modes() { function test_sftp_entry_file_name_accepts_regular_names (line 2657) | fn test_sftp_entry_file_name_accepts_regular_names() { function test_sftp_entry_file_name_skips_dot_entries (line 2665) | fn test_sftp_entry_file_name_skips_dot_entries() { function test_sftp_entry_file_name_rejects_non_utf8_names (line 2674) | fn test_sftp_entry_file_name_rejects_non_utf8_names() { function test_parse_rsync_stats (line 2686) | fn test_parse_rsync_stats() { function test_parse_rsync_stats_empty (line 2699) | fn test_parse_rsync_stats_empty() { function test_quote_remote_shell_path_handles_spaces_and_quotes (line 2706) | fn test_quote_remote_shell_path_handles_spaces_and_quotes() { function test_remote_spec_for_rsync_quotes_only_when_needed (line 2718) | fn test_remote_spec_for_rsync_quotes_only_when_needed() { function rsync_arg_protection_enum_maps_flags_correctly (line 2734) | fn rsync_arg_protection_enum_maps_flags_correctly() { function test_remote_spec_for_shell_bound_copy_quotes_remote_path (line 2754) | fn test_remote_spec_for_shell_bound_copy_quotes_remote_path() { function test_sync_report_totals (line 2762) | fn test_sync_report_totals() { function test_sync_report_with_failure (line 2783) | fn test_sync_report_with_failure() { function test_detect_sync_method (line 2801) | fn test_detect_sync_method() { function test_sync_engine_mirror_dir (line 2811) | fn test_sync_engine_mirror_dir() { function test_sync_method_display (line 2818) | fn test_sync_method_display() { function test_windows_path_to_wsl_drive (line 2831) | fn test_windows_path_to_wsl_drive() { function test_windows_path_to_wsl_forward_slash (line 2839) | fn test_windows_path_to_wsl_forward_slash() { function test_windows_path_to_wsl_non_windows_path_unchanged (line 2847) | fn test_windows_path_to_wsl_non_windows_path_unchanged() { function test_expand_tilde_with_home (line 2856) | fn test_expand_tilde_with_home() { function test_sync_report_failed (line 2889) | fn test_sync_report_failed() { function test_sync_result_default (line 2899) | fn test_sync_result_default() { function test_source_sync_info_default (line 2906) | fn test_source_sync_info_default() { function test_sync_status_update (line 2915) | fn test_sync_status_update() { function test_sync_status_partial_failure (line 2938) | fn test_sync_status_partial_failure() { function test_sync_status_full_failure (line 2960) | fn test_sync_status_full_failure() { function test_sync_status_save_round_trips (line 2977) | fn test_sync_status_save_round_trips() { function test_sync_status_retain_sources_prunes_removed_entries (line 2999) | fn test_sync_status_retain_sources_prunes_removed_entries() { function source_with_schedule (line 3023) | fn source_with_schedule(schedule: SyncSchedule) -> SourceDefinition { function status_with_info (line 3030) | fn status_with_info(info: SourceSyncInfo) -> SyncStatus { function source_sync_decision_skips_healthy_source_until_schedule_due (line 3037) | fn source_sync_decision_skips_healthy_source_until_schedule_due() { function source_sync_decision_syncs_stale_scheduled_source (line 3061) | fn source_sync_decision_syncs_stale_scheduled_source() { function source_sync_decision_defers_auth_failures_with_fallback_reason (line 3085) | fn source_sync_decision_defers_auth_failures_with_fallback_reason() { function source_sync_decision_marks_partial_success_as_flapping (line 3105) | fn source_sync_decision_marks_partial_success_as_flapping() { function source_sync_decision_keeps_local_fallback_after_unreachable_backoff_expires (line 3125) | fn source_sync_decision_keeps_local_fallback_after_unreachable_backoff_e... function source_sync_decision_marks_slow_source_as_high_latency (line 3155) | fn source_sync_decision_marks_slow_source_as_high_latency() { function source_sync_decision_manual_override_forces_sync (line 3173) | fn source_sync_decision_manual_override_forces_sync() { function test_unique_atomic_temp_path_changes_each_call (line 3196) | fn test_unique_atomic_temp_path_changes_each_call() { function test_replace_file_from_temp_overwrites_existing_file (line 3207) | fn test_replace_file_from_temp_overwrites_existing_file() { function test_sync_engine_with_timeouts (line 3229) | fn test_sync_engine_with_timeouts() { function test_sync_error_display (line 3239) | fn test_sync_error_display() { function test_parse_ssh_host_simple (line 3260) | fn test_parse_ssh_host_simple() { function test_parse_ssh_host_with_user (line 3267) | fn test_parse_ssh_host_with_user() { function test_parse_ssh_host_with_domain (line 3274) | fn test_parse_ssh_host_with_domain() { function test_parse_ssh_host_email_like (line 3281) | fn test_parse_ssh_host_email_like() { function test_first_nonblank_username_priority_and_trimming (line 3289) | fn test_first_nonblank_username_priority_and_trimming() { function test_expand_tilde_local_with_tilde_prefix (line 3302) | fn test_expand_tilde_local_with_tilde_prefix() { function test_expand_tilde_local_just_tilde (line 3310) | fn test_expand_tilde_local_just_tilde() { function test_expand_tilde_local_no_tilde (line 3318) | fn test_expand_tilde_local_no_tilde() { function test_expand_tilde_local_tilde_in_middle (line 3325) | fn test_expand_tilde_local_tilde_in_middle() { FILE: src/storage/sqlite.rs type LazyDbError (line 51) | pub enum LazyDbError { type SendFrankenConnection (line 71) | pub struct SendFrankenConnection(FrankenConnection, i64, u64); method new (line 78) | pub(crate) fn new(conn: FrankenConnection) -> Self { method new_with_index_writer_state (line 86) | pub(crate) fn new_with_index_writer_state( method into_parts (line 94) | pub(crate) fn into_parts(self) -> (FrankenConnection, i64, u64) { type Target (line 100) | type Target = FrankenConnection; method deref (line 101) | fn deref(&self) -> &FrankenConnection { type LazyFrankenDb (line 111) | pub struct LazyFrankenDb { method new (line 138) | pub fn new(path: PathBuf) -> Self { method from_overrides (line 148) | pub fn from_overrides(data_dir: &Option, db_override: Option<... method get (line 158) | pub fn get(&self, reason: &str) -> std::result::Result &Path { method is_open (line 237) | pub fn is_open(&self) -> bool { type LazyFrankenDbGuard (line 117) | pub struct LazyFrankenDbGuard<'a>(parking_lot::MutexGuard<'a, Option) -> std::fmt::Result { type Target (line 128) | type Target = FrankenConnection; function deref (line 129) | fn deref(&self) -> &FrankenConnection { function next_franken_retry_jitter_ms (line 244) | fn next_franken_retry_jitter_ms(max_inclusive: u64) -> u64 { function sleep_with_franken_retry_backoff (line 256) | pub(crate) fn sleep_with_franken_retry_backoff( function open_franken_storage_with_timeout (line 277) | pub(crate) fn open_franken_storage_with_timeout( function open_current_schema_storage_with_timeout (line 307) | pub(crate) fn open_current_schema_storage_with_timeout( function open_franken_readonly_storage_with_timeout (line 347) | pub(crate) fn open_franken_readonly_storage_with_timeout( function open_franken_raw_connection_with_timeout (line 377) | pub(crate) fn open_franken_raw_connection_with_timeout( function open_franken_raw_readonly_connection_with_timeout (line 410) | pub(crate) fn open_franken_raw_readonly_connection_with_timeout( function retryable_franken_error (line 447) | pub(crate) fn retryable_franken_error(err: &frankensqlite::FrankenError)... function retryable_storage_error_message (line 460) | pub(crate) fn retryable_storage_error_message(message: &str) -> bool { function retryable_franken_anyhow (line 470) | pub(crate) fn retryable_franken_anyhow(err: &anyhow::Error) -> bool { method drop (line 480) | fn drop(&mut self) { type ConnectionManagerConfig (line 497) | pub struct ConnectionManagerConfig { method default (line 505) | fn default() -> Self { type FrankenConnectionManager (line 525) | pub struct FrankenConnectionManager { method new (line 550) | pub fn new(db_path: impl Into, config: ConnectionManagerConfi... method reader (line 592) | pub fn reader(&self) -> parking_lot::MutexGuard<'_, SendFrankenConnect... method writer (line 604) | pub fn writer(&self) -> Result> { method concurrent_writer (line 636) | pub fn concurrent_writer(&self) -> Result> { method db_path (line 667) | pub fn db_path(&self) -> &Path { method reader_count (line 672) | pub fn reader_count(&self) -> usize { method max_writers (line 677) | pub fn max_writers(&self) -> usize { method drop (line 683) | fn drop(&mut self) { type WriterGuard (line 694) | pub struct WriterGuard<'a> { function storage (line 702) | pub fn storage(&self) -> &FrankenStorage { function mark_committed (line 710) | pub fn mark_committed(&mut self) { method drop (line 716) | fn drop(&mut self) { function serialize_json_to_msgpack (line 735) | fn serialize_json_to_msgpack(value: &serde_json::Value) -> Option serde_json::Value { function franken_read_metadata_compat (line 759) | fn franken_read_metadata_compat( function franken_read_message_extra_compat (line 780) | fn franken_read_message_extra_compat( type MigrationError (line 804) | pub enum MigrationError { method from (line 826) | fn from(e: anyhow::Error) -> Self { constant MAX_BACKUPS (line 832) | const MAX_BACKUPS: usize = 3; constant BACKUP_VACUUM_BUSY_TIMEOUT_PRAGMA (line 833) | const BACKUP_VACUUM_BUSY_TIMEOUT_PRAGMA: &str = "PRAGMA busy_timeout = 3... constant USER_DATA_FILES (line 836) | const USER_DATA_FILES: &[&str] = &["bookmarks.db", "tui_state.json", "so... function is_user_data_file (line 839) | pub fn is_user_data_file(path: &Path) -> bool { constant FTS5_REGISTER_SQL (line 852) | pub const FTS5_REGISTER_SQL: &str = "\ constant FTS_FRANKEN_REBUILD_META_KEY (line 859) | const FTS_FRANKEN_REBUILD_META_KEY: &str = "fts_frankensqlite_rebuild_ge... constant FTS_FRANKEN_REBUILD_FINGERPRINT_META_KEY (line 860) | const FTS_FRANKEN_REBUILD_FINGERPRINT_META_KEY: &str = "fts_frankensqlit... constant FTS_FRANKEN_REBUILD_GENERATION (line 861) | const FTS_FRANKEN_REBUILD_GENERATION: i64 = 1; constant DAILY_STATS_HEALTH_META_KEY (line 862) | const DAILY_STATS_HEALTH_META_KEY: &str = "daily_stats_archive_fingerpri... constant DAILY_STATS_HEALTH_GENERATION_META_KEY (line 863) | const DAILY_STATS_HEALTH_GENERATION_META_KEY: &str = "daily_stats_health... constant DAILY_STATS_HEALTH_GENERATION (line 864) | const DAILY_STATS_HEALTH_GENERATION: i64 = 1; constant FTS5_DELETE_ALL_SQL (line 869) | pub const FTS5_DELETE_ALL_SQL: &str = function materialize_fresh_fts_schema_via_rusqlite (line 873) | pub(crate) fn materialize_fresh_fts_schema_via_rusqlite(db_path: &Path) ... function rebuild_fts_via_rusqlite (line 889) | pub(crate) fn rebuild_fts_via_rusqlite(db_path: &Path) -> Result { function ensure_fts_consistency_via_rusqlite (line 901) | pub(crate) fn ensure_fts_consistency_via_rusqlite(db_path: &Path) -> Res... function create_backup (line 917) | pub fn create_backup(db_path: &Path) -> Result bool { function database_sidecar_path (line 1026) | fn database_sidecar_path(path: &Path, suffix: &str) -> PathBuf { function move_database_bundle (line 1036) | pub(crate) fn move_database_bundle( function copy_database_bundle (line 1075) | fn copy_database_bundle(source_root: &Path, destination_root: &Path) -> ... function remove_database_files (line 1131) | pub(crate) fn remove_database_files(path: &Path) -> std::io::Result<()> { function sync_parent_directory (line 1157) | fn sync_parent_directory(path: &Path) -> std::io::Result<()> { function sync_parent_directory (line 1162) | fn sync_parent_directory(_path: &Path) -> std::io::Result<()> { function sync_file_if_exists (line 1166) | fn sync_file_if_exists(path: &Path) -> std::io::Result<()> { function cleanup_old_backups (line 1174) | pub fn cleanup_old_backups(db_path: &Path, keep_count: usize) -> Result<... type HistoricalDatabaseBundle (line 1217) | pub(crate) struct HistoricalDatabaseBundle { type HistoricalBundleProbe (line 1226) | struct HistoricalBundleProbe { type SqliteDatabaseHealthProbe (line 1236) | pub(crate) struct SqliteDatabaseHealthProbe { type FtsConsistencyRepair (line 1246) | pub(crate) enum FtsConsistencyRepair { type HistoricalSalvageOutcome (line 1260) | pub struct HistoricalSalvageOutcome { method accumulate (line 1268) | pub(crate) fn accumulate(&mut self, other: Self) { type HistoricalReadConnection (line 1277) | struct HistoricalReadConnection { constant HISTORICAL_RECOVERY_CORE_SCHEMA (line 1283) | const HISTORICAL_RECOVERY_CORE_SCHEMA: &str = r" constant HISTORICAL_SALVAGE_LEDGER_VERSION (line 1357) | const HISTORICAL_SALVAGE_LEDGER_VERSION: u32 = 2; constant HISTORICAL_SALVAGE_PROGRESS_VERSION (line 1358) | const HISTORICAL_SALVAGE_PROGRESS_VERSION: u32 = 1; constant SOURCE_PATH_MERGE_START_TOLERANCE_MS (line 1359) | const SOURCE_PATH_MERGE_START_TOLERANCE_MS: i64 = 5 * 60 * 1000; type HistoricalBundleProgress (line 1362) | struct HistoricalBundleProgress { type HistoricalBatchEntry (line 1375) | struct HistoricalBatchEntry { type HistoricalBatchImportTotals (line 1383) | struct HistoricalBatchImportTotals { function historical_bundle_root_paths (line 1388) | fn historical_bundle_root_paths(db_path: &Path) -> Vec { function push_named_database_children (line 1450) | fn push_named_database_children( function file_mtime_ms (line 1469) | fn file_mtime_ms(path: &Path) -> i64 { function bundle_total_bytes (line 1478) | fn bundle_total_bytes(root_path: &Path) -> u64 { function discover_historical_database_bundles (line 1487) | pub(crate) fn discover_historical_database_bundles( function probe_historical_bundle (line 1595) | fn probe_historical_bundle( function historical_bundle_fts_queryable_via_frankensqlite (line 1633) | fn historical_bundle_fts_queryable_via_frankensqlite( function historical_bundle_supports_direct_readonly (line 1648) | fn historical_bundle_supports_direct_readonly(root_path: &Path) -> bool { function historical_table_exists (line 1654) | fn historical_table_exists(conn: &FrankenConnection, table: &str) -> Res... function probe_historical_table_reads (line 1666) | fn probe_historical_table_reads(conn: &FrankenConnection, table: &str) -... function historical_bundle_has_queryable_core_tables (line 1681) | fn historical_bundle_has_queryable_core_tables(conn: &FrankenConnection)... function open_historical_bundle_readonly (line 1687) | fn open_historical_bundle_readonly(root_path: &Path) -> Result bool { function recover_historical_bundle_via_sqlite3 (line 1713) | fn recover_historical_bundle_via_sqlite3( function open_historical_bundle_for_salvage (line 1811) | fn open_historical_bundle_for_salvage( function historical_bundle_counts (line 1836) | fn historical_bundle_counts(conn: &FrankenConnection) -> Result<(usize, ... function clear_seeded_runtime_meta (line 1850) | fn clear_seeded_runtime_meta(conn: &FrankenConnection) -> Result<()> { function record_historical_bundle_import (line 1859) | fn record_historical_bundle_import( function finalize_seeded_canonical_bundle_via_rusqlite (line 1885) | fn finalize_seeded_canonical_bundle_via_rusqlite( function read_meta_schema_version (line 1945) | fn read_meta_schema_version(conn: &FrankenConnection) -> Result Result { function franken_fts_limit_probe (line 1967) | fn franken_fts_limit_probe(conn: &FrankenConnection) -> bool { function probe_database_health_via_frankensqlite (line 1973) | pub(crate) fn probe_database_health_via_frankensqlite( type StagedHistoricalSeed (line 2033) | struct StagedHistoricalSeed { function stage_historical_bundle_for_seed (line 2038) | fn stage_historical_bundle_for_seed( function promote_staged_historical_seed (line 2060) | fn promote_staged_historical_seed( function seed_canonical_from_best_historical_bundle (line 2099) | pub(crate) fn seed_canonical_from_best_historical_bundle( function parse_json_column (line 2190) | fn parse_json_column(value: Option) -> serde_json::Value { constant HISTORICAL_RAW_JSON_SENTINEL_KEY (line 2196) | const HISTORICAL_RAW_JSON_SENTINEL_KEY: &str = "__cass_historical_raw_js... function wrap_historical_raw_json (line 2198) | fn wrap_historical_raw_json(raw: String) -> serde_json::Value { function historical_raw_json (line 2202) | fn historical_raw_json(value: &serde_json::Value) -> Option<&str> { function parse_historical_json_column (line 2211) | fn parse_historical_json_column(value: Option) -> serde_json::Va... function historical_salvage_debug_enabled (line 2219) | fn historical_salvage_debug_enabled() -> bool { type HistoricalImportBatchLimits (line 2224) | struct HistoricalImportBatchLimits { function env_positive_usize (line 2230) | fn env_positive_usize(key: &str) -> Option { function historical_import_batch_limits (line 2237) | fn historical_import_batch_limits() -> HistoricalImportBatchLimits { function json_value_size_hint (line 2266) | fn json_value_size_hint(value: &serde_json::Value) -> usize { function message_payload_size_hint (line 2278) | fn message_payload_size_hint(message: &Message) -> usize { function is_backup_root_name (line 2285) | fn is_backup_root_name(name: &str, prefix: &str) -> bool { constant CURRENT_SCHEMA_VERSION (line 2290) | pub const CURRENT_SCHEMA_VERSION: i64 = 20; constant MIN_IN_PLACE_MIGRATION_SCHEMA_VERSION (line 2291) | const MIN_IN_PLACE_MIGRATION_SCHEMA_VERSION: i64 = 13; type SchemaCheck (line 2295) | pub enum SchemaCheck { function schema_check_error_requires_rebuild (line 2304) | fn schema_check_error_requires_rebuild(err: &frankensqlite::FrankenError... function unique_backup_path (line 2317) | fn unique_backup_path(path: &Path) -> PathBuf { function vacuum_stage_backup_path (line 2335) | fn vacuum_stage_backup_path(backup_path: &Path) -> PathBuf { function check_schema_compatibility (line 2346) | fn check_schema_compatibility( constant SCHEMA_VERSION (line 2428) | const SCHEMA_VERSION: i64 = CURRENT_SCHEMA_VERSION; constant MIGRATION_V1 (line 2431) | const MIGRATION_V1: &str = r" constant MIGRATION_V2 (line 2511) | const MIGRATION_V2: &str = r" constant MIGRATION_V3 (line 2539) | const MIGRATION_V3: &str = r" constant MIGRATION_V4 (line 2567) | const MIGRATION_V4: &str = r" constant MIGRATION_V5 (line 2586) | const MIGRATION_V5: &str = r" constant MIGRATION_V6 (line 2624) | const MIGRATION_V6: &str = r" constant MIGRATION_V7 (line 2630) | const MIGRATION_V7: &str = r" constant MIGRATION_V8 (line 2638) | const MIGRATION_V8: &str = r" constant MIGRATION_V9 (line 2658) | const MIGRATION_V9: &str = r" constant MIGRATION_V10 (line 2681) | const MIGRATION_V10: &str = r" constant MIGRATION_V14 (line 2804) | const MIGRATION_V14: &str = r" constant MIGRATION_V15_TAIL_STATE_TABLE (line 2814) | const MIGRATION_V15_TAIL_STATE_TABLE: &str = r" constant MIGRATION_V16 (line 2825) | const MIGRATION_V16: &str = r" constant MIGRATION_V17 (line 2832) | const MIGRATION_V17: &str = r" constant MIGRATION_V18 (line 2840) | const MIGRATION_V18: &str = r" constant MIGRATION_V19 (line 2863) | const MIGRATION_V19: &str = r" constant MIGRATION_V20 (line 2882) | const MIGRATION_V20: &str = r" type EmbeddingJobRow (line 2916) | pub struct EmbeddingJobRow { type LexicalRebuildConversationRow (line 2936) | pub struct LexicalRebuildConversationRow { type LexicalRebuildConversationFootprintRow (line 2952) | pub struct LexicalRebuildConversationFootprintRow { constant LEXICAL_REBUILD_PLANNER_ESTIMATED_BYTES_PER_MESSAGE (line 2958) | pub(crate) const LEXICAL_REBUILD_PLANNER_ESTIMATED_BYTES_PER_MESSAGE: us... constant LEXICAL_REBUILD_FOOTPRINT_POINT_TAIL_FALLBACK_LIMIT (line 2959) | const LEXICAL_REBUILD_FOOTPRINT_POINT_TAIL_FALLBACK_LIMIT: usize = 64; function lexical_rebuild_message_count_from_tail_idx (line 2961) | fn lexical_rebuild_message_count_from_tail_idx(last_message_idx: Option<... function lexical_rebuild_conversation_footprint_from_count (line 2967) | fn lexical_rebuild_conversation_footprint_from_count( type LexicalRebuildMessageRow (line 2981) | pub struct LexicalRebuildMessageRow { type LexicalRebuildGroupedMessageRow (line 2995) | pub struct LexicalRebuildGroupedMessageRow { type LexicalRebuildGroupedMessageRows (line 3002) | pub type LexicalRebuildGroupedMessageRows = SmallVec<[LexicalRebuildGrou... type SqliteStorage (line 3005) | pub type SqliteStorage = FrankenStorage; type FrankenStorage (line 3008) | pub struct FrankenStorage { method new (line 3144) | fn new(conn: FrankenConnection, db_path: PathBuf) -> Self { method new_with_shared_caches (line 3155) | fn new_with_shared_caches( method apply_open_stage_busy_timeout (line 3180) | fn apply_open_stage_busy_timeout(&self) { method open (line 3194) | pub fn open(path: &Path) -> Result { method open_writer (line 3216) | pub fn open_writer(path: &Path) -> Result { method open_writer_with_shared_caches (line 3226) | fn open_writer_with_shared_caches( method acquire_cached_ephemeral_writer (line 3250) | pub(crate) fn acquire_cached_ephemeral_writer(&self) -> Result<(Self, ... method release_cached_ephemeral_writer (line 3307) | pub(crate) fn release_cached_ephemeral_writer(&self, writer: Self) { method discard_cached_ephemeral_writer (line 3325) | pub(crate) fn discard_cached_ephemeral_writer(&self, mut writer: Self) { method cached_agent_id (line 3333) | fn cached_agent_id(&self, key: &EnsuredAgentKey) -> Option { method mark_agent_ensured (line 3337) | fn mark_agent_ensured(&self, key: EnsuredAgentKey, id: i64) { method cached_workspace_id (line 3341) | fn cached_workspace_id(&self, key: &EnsuredWorkspaceKey) -> Option { method mark_workspace_ensured (line 3345) | fn mark_workspace_ensured(&self, key: EnsuredWorkspaceKey, id: i64) { method conversation_source_already_ensured (line 3349) | fn conversation_source_already_ensured(&self, key: &EnsuredConversatio... method mark_conversation_source_ensured (line 3353) | fn mark_conversation_source_ensured(&self, key: EnsuredConversationSou... method daily_stats_key_already_ensured (line 3357) | fn daily_stats_key_already_ensured(&self, key: &EnsuredDailyStatsKey) ... method daily_stats_keys_already_ensured (line 3361) | fn daily_stats_keys_already_ensured(&self, keys: &[EnsuredDailyStatsKe... method mark_daily_stats_key_ensured (line 3366) | fn mark_daily_stats_key_ensured(&self, key: EnsuredDailyStatsKey) { method fts_messages_present_cached (line 3370) | fn fts_messages_present_cached(&self, tx: &FrankenTransaction<'_>) -> ... method set_fts_messages_present_cache (line 3397) | fn set_fts_messages_present_cache(&self, present: bool) { method invalidate_fts_messages_present_cache (line 3408) | fn invalidate_fts_messages_present_cache(&self) { method invalidate_conversation_source_cache (line 3413) | fn invalidate_conversation_source_cache(&self, source_id: &str) { method close_cached_ephemeral_writer_best_effort_in_place (line 3419) | fn close_cached_ephemeral_writer_best_effort_in_place(&mut self) { method close_cached_ephemeral_writer_without_checkpoint_in_place (line 3429) | fn close_cached_ephemeral_writer_without_checkpoint_in_place(&mut self... method open_readonly (line 3441) | pub fn open_readonly(path: &Path) -> Result { method close (line 3450) | pub fn close(self) -> Result<()> { method close_without_checkpoint (line 3458) | pub fn close_without_checkpoint(self) -> Result<()> { method close_best_effort_in_place (line 3466) | pub fn close_best_effort_in_place(&mut self) { method close_without_checkpoint_in_place (line 3471) | pub fn close_without_checkpoint_in_place(&mut self) -> Result<()> { method raw (line 3479) | pub fn raw(&self) -> &FrankenConnection { method into_raw (line 3485) | pub fn into_raw(self) -> FrankenConnection { method apply_config (line 3497) | pub fn apply_config(&self) -> Result<()> { method apply_readonly_config (line 3559) | fn apply_readonly_config(&self) -> Result<()> { method run_migrations (line 3592) | pub fn run_migrations(&self) -> Result<()> { method repair_missing_current_schema_objects (line 3631) | fn repair_missing_current_schema_objects(&self) -> Result<()> { method cleanup_orphan_fk_rows (line 3689) | pub(crate) fn cleanup_orphan_fk_rows(&self) -> Result Result { method sync_meta_schema_version (line 3808) | fn sync_meta_schema_version(&self, version: i64) -> Result<()> { method database_path (line 3837) | pub fn database_path(&self) -> Result { method ephemeral_writer_preflight_verified (line 3841) | pub(crate) fn ephemeral_writer_preflight_verified(&self) -> bool { method mark_ephemeral_writer_preflight_verified (line 3846) | pub(crate) fn mark_ephemeral_writer_preflight_verified(&self) { method index_writer_checkpoint_pages (line 3851) | pub(crate) fn index_writer_checkpoint_pages(&self) -> Option { method mark_index_writer_checkpoint_pages (line 3856) | pub(crate) fn mark_index_writer_checkpoint_pages(&self, pages: i64) { method index_writer_busy_timeout_ms (line 3861) | pub(crate) fn index_writer_busy_timeout_ms(&self) -> Option { method mark_index_writer_busy_timeout_ms (line 3866) | pub(crate) fn mark_index_writer_busy_timeout_ms(&self, timeout_ms: u64) { method open_or_rebuild (line 3872) | pub fn open_or_rebuild(path: &Path) -> std::result::Result Result { method ensure_workspace (line 5890) | pub fn ensure_workspace(&self, path: &Path, display_name: Option<&str>... method now_millis (line 5926) | pub fn now_millis() -> i64 { method day_id_from_millis (line 5934) | pub fn day_id_from_millis(timestamp_ms: i64) -> i64 { method hour_id_from_millis (line 5941) | pub fn hour_id_from_millis(timestamp_ms: i64) -> i64 { method millis_from_day_id (line 5948) | pub fn millis_from_day_id(day_id: i64) -> i64 { method millis_from_hour_id (line 5954) | pub fn millis_from_hour_id(hour_id: i64) -> i64 { method get_last_scan_ts (line 5960) | pub fn get_last_scan_ts(&self) -> Result> { method set_last_scan_ts (line 5974) | pub fn set_last_scan_ts(&self, ts: i64) -> Result<()> { method get_last_indexed_at (line 5983) | pub fn get_last_indexed_at(&self) -> Result> { method set_last_indexed_at (line 5997) | pub fn set_last_indexed_at(&self, ts: i64) -> Result<()> { method list_agents (line 6006) | pub fn list_agents(&self) -> Result> { method total_conversation_count (line 6030) | pub fn total_conversation_count(&self) -> Result { method total_message_count (line 6040) | pub fn total_message_count(&self) -> Result { method purge_agent_archive_data (line 6053) | pub fn purge_agent_archive_data(&self, agent_slug: &str) -> Result Result Result Result Result( method stream_grouped_messages_for_lexical_rebuild_between_conversation_ids (line 6854) | pub fn stream_grouped_messages_for_lexical_rebuild_between_conversatio... method stream_grouped_messages_for_lexical_rebuild_from_conversation_id (line 6916) | pub fn stream_grouped_messages_for_lexical_rebuild_from_conversation_i... method stream_messages_for_lexical_rebuild_from_conversation_id (line 6933) | pub fn stream_messages_for_lexical_rebuild_from_conversation_id( method get_source (line 6949) | pub fn get_source(&self, id: &str) -> Result> { method list_sources (line 6972) | pub fn list_sources(&self) -> Result> { method get_source_ids (line 6996) | pub fn get_source_ids(&self) -> Result> { method upsert_source (line 7007) | pub fn upsert_source(&self, source: &Source) -> Result<()> { method historical_bundle_key_hash (line 7051) | fn historical_bundle_key_hash( method historical_bundle_meta_key (line 7070) | fn historical_bundle_meta_key(bundle: &HistoricalDatabaseBundle) -> St... method historical_bundle_legacy_meta_key (line 7077) | fn historical_bundle_legacy_meta_key(bundle: &HistoricalDatabaseBundle... method historical_bundle_progress_key (line 7091) | fn historical_bundle_progress_key(bundle: &HistoricalDatabaseBundle) -... method historical_bundle_legacy_progress_key (line 7098) | fn historical_bundle_legacy_progress_key(bundle: &HistoricalDatabaseBu... method historical_bundle_already_imported (line 7112) | fn historical_bundle_already_imported( method has_pending_historical_bundles (line 7135) | pub(crate) fn has_pending_historical_bundles(&self, canonical_db_path:... method load_historical_bundle_progress (line 7144) | fn load_historical_bundle_progress( method record_historical_bundle_progress (line 7177) | fn record_historical_bundle_progress( method clear_historical_bundle_progress (line 7205) | fn clear_historical_bundle_progress(&self, bundle: &HistoricalDatabase... method record_historical_bundle_import (line 7216) | fn record_historical_bundle_import( method historical_import_error_is_split_retryable (line 7242) | fn historical_import_error_is_split_retryable(err: &anyhow::Error) -> ... method split_historical_batch_entry_messages (line 7256) | fn split_historical_batch_entry_messages( method import_historical_batch_with_retry (line 7276) | fn import_historical_batch_with_retry( method import_historical_sources (line 7340) | fn import_historical_sources(&self, source_conn: &FrankenConnection) -... method import_historical_conversations (line 7380) | fn import_historical_conversations( method salvage_historical_databases (line 7816) | pub fn salvage_historical_databases( method delete_source (line 7879) | pub fn delete_source(&self, id: &str, _cascade: bool) -> Result { method insert_conversation_tree (line 7893) | pub fn insert_conversation_tree( method insert_conversation_tree_with_profile (line 8137) | fn insert_conversation_tree_with_profile( method append_existing_conversation_with_profile (line 8317) | fn append_existing_conversation_with_profile( method franken_append_messages_with_tail_in_tx (line 8534) | fn franken_append_messages_with_tail_in_tx( method rebuild_fts (line 8690) | pub fn rebuild_fts(&self) -> Result<()> { method ensure_search_fallback_fts_consistency (line 8698) | pub(crate) fn ensure_search_fallback_fts_consistency(&self) -> Result<... method fallback_fts_is_known_healthy_for_archive_fingerprint (line 8702) | pub(crate) fn fallback_fts_is_known_healthy_for_archive_fingerprint( method record_search_fallback_fts_archive_fingerprint (line 8715) | pub(crate) fn record_search_fallback_fts_archive_fingerprint( method daily_stats_is_known_healthy_for_archive_fingerprint (line 8731) | pub(crate) fn daily_stats_is_known_healthy_for_archive_fingerprint( method record_daily_stats_archive_fingerprint (line 8742) | pub(crate) fn record_daily_stats_archive_fingerprint( method read_fts_franken_rebuild_generation (line 8764) | fn read_fts_franken_rebuild_generation(&self) -> Result> { method read_fts_franken_rebuild_archive_fingerprint (line 8776) | fn read_fts_franken_rebuild_archive_fingerprint(&self) -> Result Result> { method read_daily_stats_archive_fingerprint (line 8799) | fn read_daily_stats_archive_fingerprint(&self) -> Result Result<()> { method ensure_fts_consistency_via_frankensqlite (line 8823) | fn ensure_fts_consistency_via_frankensqlite(&self) -> Result Result { method fetch_messages_for_embedding (line 9094) | pub fn fetch_messages_for_embedding(&self) -> Result Result> { method set_last_embedded_message_id (line 9138) | pub fn set_last_embedded_message_id(&self, id: i64) -> Result<()> { method get_embedding_jobs (line 9147) | pub fn get_embedding_jobs(&self, db_path: &str) -> Result Result<()> { method complete_embedding_job (line 9223) | pub fn complete_embedding_job(&self, job_id: i64) -> Result<()> { method fail_embedding_job (line 9232) | pub fn fail_embedding_job(&self, job_id: i64, error: &str) -> Result<(... method cancel_embedding_jobs (line 9241) | pub fn cancel_embedding_jobs(&self, db_path: &str, model_id: Option<&s... method update_job_progress (line 9256) | pub fn update_job_progress(&self, job_id: i64, completed_docs: i64) ->... method count_sessions_in_range (line 9272) | pub fn count_sessions_in_range( method count_sessions_direct (line 9329) | fn count_sessions_direct( method get_daily_histogram (line 9380) | pub fn get_daily_histogram( method daily_stats_health (line 9412) | pub fn daily_stats_health(&self) -> Result { method insert_conversations_batched (line 9451) | pub fn insert_conversations_batched( method ensure_source_for_conversation (line 10103) | fn ensure_source_for_conversation(&self, conv: &Conversation) -> Resul... method ensure_sources_for_batch (line 10119) | fn ensure_sources_for_batch( method rebuild_token_daily_stats (line 12073) | pub fn rebuild_token_daily_stats(&self) -> Result { method rebuild_analytics (line 12236) | pub fn rebuild_analytics(&self) -> Result { method rebuild_daily_stats (line 12459) | pub fn rebuild_daily_stats(&self) -> Result { constant DEFAULT_WAL_AUTOCHECKPOINT_PAGES (line 3025) | const DEFAULT_WAL_AUTOCHECKPOINT_PAGES: i64 = 4096; constant UNSET_INDEX_WRITER_CHECKPOINT_PAGES (line 3026) | const UNSET_INDEX_WRITER_CHECKPOINT_PAGES: i64 = i64::MIN; constant UNSET_INDEX_WRITER_BUSY_TIMEOUT_MS (line 3027) | const UNSET_INDEX_WRITER_BUSY_TIMEOUT_MS: u64 = 0; constant FTS_MESSAGES_PRESENT_UNKNOWN (line 3028) | const FTS_MESSAGES_PRESENT_UNKNOWN: i8 = 0; constant FTS_MESSAGES_PRESENT_ABSENT (line 3029) | const FTS_MESSAGES_PRESENT_ABSENT: i8 = 1; constant FTS_MESSAGES_PRESENT_PRESENT (line 3030) | const FTS_MESSAGES_PRESENT_PRESENT: i8 = 2; type CachedEphemeralWriter (line 3032) | enum CachedEphemeralWriter { type EnsuredAgentKey (line 3039) | struct EnsuredAgentKey { method from_agent (line 3047) | fn from_agent(agent: &Agent) -> Self { type EnsuredWorkspaceKey (line 3058) | struct EnsuredWorkspaceKey { method new (line 3064) | fn new(path: String, display_name: Option<&str>) -> Self { type EnsuredConversationSourceKey (line 3073) | struct EnsuredConversationSourceKey { method from_source (line 3080) | fn from_source(source: &Source) -> Self { type EnsuredDailyStatsKey (line 3090) | struct EnsuredDailyStatsKey { method new (line 3097) | fn new(day_id: i64, agent_slug: &str, source_id: &str) -> Self { constant AUTOCOMMIT_RETAIN_OFF_PRAGMAS (line 3106) | const AUTOCOMMIT_RETAIN_OFF_PRAGMAS: [&str; 2] = [ function disable_autocommit_retain (line 3111) | fn disable_autocommit_retain( function build_cass_migrations_before_tail_cache (line 3925) | fn build_cass_migrations_before_tail_cache() -> MigrationRunner { function build_cass_migrations_after_tail_cache (line 3931) | fn build_cass_migrations_after_tail_cache() -> MigrationRunner { function schema_migration_is_applied (line 3940) | fn schema_migration_is_applied(conn: &FrankenConnection, version: i64) -... function apply_conversation_tail_state_cache_migration (line 3950) | fn apply_conversation_tail_state_cache_migration(conn: &FrankenConnectio... function franken_table_column_names (line 3995) | fn franken_table_column_names( constant MIGRATION_FRESH_SCHEMA (line 4026) | const MIGRATION_FRESH_SCHEMA: &str = r" type SchemaRepairBatch (line 4388) | struct SchemaRepairBatch { constant CURRENT_SCHEMA_REPAIR_SOURCES_SQL (line 4394) | const CURRENT_SCHEMA_REPAIR_SOURCES_SQL: &str = r" constant CURRENT_SCHEMA_REPAIR_DAILY_STATS_SQL (line 4410) | const CURRENT_SCHEMA_REPAIR_DAILY_STATS_SQL: &str = r" constant CURRENT_SCHEMA_REPAIR_CONVERSATION_EXTERNAL_LOOKUP_SQL (line 4426) | const CURRENT_SCHEMA_REPAIR_CONVERSATION_EXTERNAL_LOOKUP_SQL: &str = r" constant CURRENT_SCHEMA_REPAIR_CONVERSATION_EXTERNAL_TAIL_LOOKUP_SQL (line 4442) | const CURRENT_SCHEMA_REPAIR_CONVERSATION_EXTERNAL_TAIL_LOOKUP_SQL: &str ... constant CURRENT_SCHEMA_REPAIR_EMBEDDING_JOBS_SQL (line 4471) | const CURRENT_SCHEMA_REPAIR_EMBEDDING_JOBS_SQL: &str = r" constant CURRENT_SCHEMA_REPAIR_TOKEN_ANALYTICS_SQL (line 4490) | const CURRENT_SCHEMA_REPAIR_TOKEN_ANALYTICS_SQL: &str = r" constant CURRENT_SCHEMA_REPAIR_MESSAGE_METRICS_SQL (line 4576) | const CURRENT_SCHEMA_REPAIR_MESSAGE_METRICS_SQL: &str = r" constant CURRENT_SCHEMA_REPAIR_BATCHES (line 4702) | const CURRENT_SCHEMA_REPAIR_BATCHES: &[SchemaRepairBatch] = &[ function current_schema_repair_batches_for_missing_tables (line 4745) | fn current_schema_repair_batches_for_missing_tables( constant MIGRATION_NAMES (line 4776) | const MIGRATION_NAMES: [(i64, &str); 20] = [ function transition_from_meta_version (line 4814) | fn transition_from_meta_version(conn: &FrankenConnection) -> Result<()> { constant REQUIRED_CURRENT_SCHEMA_TABLE_PROBES (line 4889) | const REQUIRED_CURRENT_SCHEMA_TABLE_PROBES: &[(&str, &str)] = &[ function error_indicates_missing_table (line 4922) | fn error_indicates_missing_table(err: &impl std::fmt::Display) -> bool { function error_indicates_missing_column (line 4928) | fn error_indicates_missing_column(err: &impl std::fmt::Display) -> bool { constant ORPHAN_FK_ID_CHUNK_SIZE (line 4934) | const ORPHAN_FK_ID_CHUNK_SIZE: usize = 256; function collect_orphan_message_ids (line 4936) | fn collect_orphan_message_ids(conn: &FrankenConnection) -> Result String { type OrphanFkTable (line 5067) | struct OrphanFkTable { constant ORPHAN_DIRECT_CHILD_TABLES (line 5073) | const ORPHAN_DIRECT_CHILD_TABLES: &[OrphanFkTable] = &[ type OrphanMessageDependentTable (line 5104) | struct OrphanMessageDependentTable { constant ORPHAN_MESSAGE_DEPENDENT_TABLES (line 5109) | const ORPHAN_MESSAGE_DEPENDENT_TABLES: &[OrphanMessageDependentTable] = &[ type OrphanFkCleanupReport (line 5136) | pub(crate) struct OrphanFkCleanupReport { method record (line 5142) | fn record(&mut self, child_table: &'static str, count: i64) { type InsertOutcome (line 5148) | pub struct InsertOutcome { type MessageInsertSubstageProfile (line 5156) | struct MessageInsertSubstageProfile { type InsertConversationTreePerfProfile (line 5169) | struct InsertConversationTreePerfProfile { method millis (line 5192) | fn millis(duration: Duration) -> f64 { method log_summary (line 5196) | fn log_summary(&self, label: &str) { type PendingConversationKey (line 5260) | enum PendingConversationKey { function conversation_external_lookup_key (line 5274) | fn conversation_external_lookup_key(source_id: &str, agent_id: i64, exte... function conversation_external_lookup_key_for_conv (line 5282) | fn conversation_external_lookup_key_for_conv(agent_id: i64, conv: &Conve... type MessageMergeFingerprint (line 5289) | struct MessageMergeFingerprint { type MessageReplayFingerprint (line 5298) | struct MessageReplayFingerprint { type ConversationMergeEvidence (line 5306) | struct ConversationMergeEvidence { type ExistingConversationNewMessages (line 5314) | struct ExistingConversationNewMessages<'a> { type ExistingConversationTailState (line 5322) | struct ExistingConversationTailState { type ExistingConversationWithTail (line 5329) | struct ExistingConversationWithTail { function conversation_effective_started_at (line 5334) | fn conversation_effective_started_at(conv: &Conversation) -> Option { function conversation_tail_state (line 5339) | fn conversation_tail_state(conv: &Conversation) -> (Option, Option<... function borrowed_messages_tail_state (line 5346) | fn borrowed_messages_tail_state(messages: &[&Message]) -> (Option, ... function role_from_str (line 5353) | fn role_from_str(role: &str) -> MessageRole { function message_merge_fingerprint (line 5363) | fn message_merge_fingerprint(msg: &Message) -> MessageMergeFingerprint { function message_replay_fingerprint (line 5373) | fn message_replay_fingerprint(msg: &Message) -> MessageReplayFingerprint { function conversation_message_fingerprints (line 5382) | fn conversation_message_fingerprints(conv: &Conversation) -> HashSet( function franken_existing_conversation_append_tail_state (line 5465) | fn franken_existing_conversation_append_tail_state( function existing_conversation_tail_state_from_cached (line 5534) | fn existing_conversation_tail_state_from_cached( function franken_find_existing_conversation_with_tail_by_key (line 5548) | fn franken_find_existing_conversation_with_tail_by_key( function franken_insert_conversation_tail_state (line 5573) | fn franken_insert_conversation_tail_state( function franken_tail_state_insert_ended_at (line 5597) | fn franken_tail_state_insert_ended_at( function franken_update_conversation_tail_state (line 5613) | fn franken_update_conversation_tail_state( function franken_set_conversation_tail_state_after_append (line 5665) | fn franken_set_conversation_tail_state_after_append( function collect_append_only_tail_messages (line 5699) | fn collect_append_only_tail_messages<'a>( function start_distance_ms (line 5757) | fn start_distance_ms(left: Option, right: Option) -> i64 { function conversation_merge_evidence (line 5767) | fn conversation_merge_evidence( function timestamps_within_tolerance (line 5804) | fn timestamps_within_tolerance(left: Option, right: Option, to... function conversation_merge_key (line 5813) | fn conversation_merge_key(agent_id: i64, conv: &Conversation) -> Pending... type MessageForEmbedding (line 5831) | pub struct MessageForEmbedding { function normalized_storage_source_parts (line 10042) | fn normalized_storage_source_parts( function normalized_source_for_conversation (line 10061) | fn normalized_source_for_conversation(conv: &Conversation) -> Source { function is_bootstrap_local_source (line 10079) | fn is_bootstrap_local_source(source: &Source) -> bool { function normalized_conversation_for_storage (line 10090) | fn normalized_conversation_for_storage<'a>(conv: &'a Conversation) -> Co... function franken_last_rowid (line 10145) | fn franken_last_rowid(tx: &FrankenTransaction<'_>) -> Result { function ensure_agents_in_tx (line 10157) | fn ensure_agents_in_tx( function ensure_workspaces_in_tx (line 10200) | fn ensure_workspaces_in_tx( function ensure_sources_in_tx (line 10242) | fn ensure_sources_in_tx( function env_flag_enabled (line 10286) | fn env_flag_enabled(name: &str) -> bool { function defer_storage_lexical_updates_enabled (line 10292) | fn defer_storage_lexical_updates_enabled() -> bool { function defer_analytics_updates_enabled (line 10296) | fn defer_analytics_updates_enabled() -> bool { type ConversationInsertStatus (line 10300) | enum ConversationInsertStatus { function franken_find_external_conversation_tail_lookup (line 10305) | fn franken_find_external_conversation_tail_lookup( function franken_find_external_conversation_lookup (line 10335) | fn franken_find_external_conversation_lookup( function franken_insert_external_conversation_tail_lookup_key (line 10342) | fn franken_insert_external_conversation_tail_lookup_key( function franken_insert_external_conversation_tail_lookup (line 10366) | fn franken_insert_external_conversation_tail_lookup( function franken_update_external_conversation_tail_lookup_key (line 10389) | fn franken_update_external_conversation_tail_lookup_key( function franken_set_external_conversation_tail_lookup_after_append (line 10429) | fn franken_set_external_conversation_tail_lookup_after_append( function franken_update_external_conversation_tail_after_append (line 10452) | fn franken_update_external_conversation_tail_after_append( function franken_find_existing_conversation_by_key (line 10492) | fn franken_find_existing_conversation_by_key( function franken_find_existing_conversation_by_key_after_conflict (line 10500) | fn franken_find_existing_conversation_by_key_after_conflict( function franken_find_existing_conversation_by_key_impl (line 10508) | fn franken_find_existing_conversation_by_key_impl( function franken_insert_conversation_or_get_existing (line 10672) | fn franken_insert_conversation_or_get_existing( function franken_insert_conversation_or_get_existing_after_miss (line 10694) | fn franken_insert_conversation_or_get_existing_after_miss( function franken_insert_conversation (line 10750) | fn franken_insert_conversation( type MetadataInsertPayload (line 10824) | type MetadataInsertPayload<'a> = (Option>, Option>); function franken_metadata_insert_payload (line 10826) | fn franken_metadata_insert_payload(value: &serde_json::Value) -> Result<... function franken_insert_new_message (line 10840) | fn franken_insert_new_message( type MessageInsertPayload (line 10865) | type MessageInsertPayload<'a> = (Option>, Option>); function franken_message_insert_payload (line 10867) | fn franken_message_insert_payload(msg: &Message) -> Result &'static str { function franken_batch_insert_new_messages (line 10936) | fn franken_batch_insert_new_messages( function franken_append_insert_new_messages (line 10949) | fn franken_append_insert_new_messages( function franken_batch_insert_new_messages_with_batch_size (line 10962) | fn franken_batch_insert_new_messages_with_batch_size( function franken_insert_new_message_with_profile (line 11008) | fn franken_insert_new_message_with_profile( function franken_batch_insert_new_messages_with_profile (line 11046) | fn franken_batch_insert_new_messages_with_profile( function franken_append_insert_new_messages_with_profile (line 11062) | fn franken_append_insert_new_messages_with_profile( function franken_batch_insert_new_messages_with_profile_batch_size (line 11078) | fn franken_batch_insert_new_messages_with_profile_batch_size( function franken_insert_snippets (line 11145) | fn franken_insert_snippets( function franken_existing_message_fingerprints (line 11168) | fn franken_existing_message_fingerprints( type ExistingMessageLookup (line 11193) | struct ExistingMessageLookup { function franken_existing_message_lookup (line 11198) | fn franken_existing_message_lookup( function franken_existing_message_lookup_with_pending (line 11373) | fn franken_existing_message_lookup_with_pending( function franken_batch_insert_fts (line 11397) | fn franken_batch_insert_fts(tx: &FrankenTransaction<'_>, entries: &[FtsE... function franken_update_daily_stats_in_tx (line 11458) | fn franken_update_daily_stats_in_tx( type DailyStatsTarget (line 11509) | struct DailyStatsTarget<'a> { function franken_update_ensured_daily_stats_targets_in_tx (line 11515) | fn franken_update_ensured_daily_stats_targets_in_tx( function franken_apply_daily_stats_delta_in_tx (line 11589) | fn franken_apply_daily_stats_delta_in_tx( function franken_update_daily_stats_batched_in_tx (line 11647) | fn franken_update_daily_stats_batched_in_tx( function franken_insert_token_usage_batched_in_tx (line 11691) | fn franken_insert_token_usage_batched_in_tx( function franken_update_token_daily_stats_batched_in_tx (line 11748) | fn franken_update_token_daily_stats_batched_in_tx( function franken_insert_message_metrics_batched_in_tx (line 11818) | fn franken_insert_message_metrics_batched_in_tx( function franken_flush_rollup_table (line 11877) | fn franken_flush_rollup_table( function franken_flush_model_daily_rollup_table (line 11957) | fn franken_flush_model_daily_rollup_table( function franken_flush_analytics_rollups_in_tx (line 12028) | fn franken_flush_analytics_rollups_in_tx( function franken_update_conversation_token_summaries_in_tx (line 12043) | fn franken_update_conversation_token_summaries_in_tx( type IndexingCache (line 12720) | pub struct IndexingCache { method new (line 12746) | pub fn new() -> Self { method is_enabled (line 12757) | pub fn is_enabled() -> bool { method get_or_insert_agent (line 12767) | pub fn get_or_insert_agent(&mut self, storage: &S, agent: &Agent) -... method get_or_insert_workspace (line 12786) | pub fn get_or_insert_workspace( method stats (line 12804) | pub fn stats(&self) -> (u64, u64, f64) { method clear (line 12815) | pub fn clear(&mut self) { method agent_count (line 12823) | pub fn agent_count(&self) -> usize { method workspace_count (line 12828) | pub fn workspace_count(&self) -> usize { type IndexingCacheStorage (line 12727) | pub trait IndexingCacheStorage { method ensure_indexing_agent (line 12728) | fn ensure_indexing_agent(&self, agent: &Agent) -> Result; method ensure_indexing_workspace (line 12729) | fn ensure_indexing_workspace(&self, path: &Path, display_name: Option<... method ensure_indexing_agent (line 12733) | fn ensure_indexing_agent(&self, agent: &Agent) -> Result { method ensure_indexing_workspace (line 12737) | fn ensure_indexing_workspace(&self, path: &Path, display_name: Option<... type StatsDelta (line 12842) | pub struct StatsDelta { type StatsAggregator (line 12864) | pub struct StatsAggregator { method new (line 12872) | pub fn new() -> Self { method record (line 12888) | pub fn record( method record_delta (line 12901) | pub fn record_delta( method expand (line 12927) | pub fn expand(&self) -> Vec<(i64, String, String, StatsDelta)> { method is_empty (line 12963) | pub fn is_empty(&self) -> bool { method raw_entry_count (line 12968) | pub fn raw_entry_count(&self) -> usize { type TokenStatsDelta (line 12982) | pub struct TokenStatsDelta { type TokenStatsAggregator (line 13005) | pub struct TokenStatsAggregator { method new (line 13011) | pub fn new() -> Self { method record (line 13019) | pub fn record( method record_session (line 13058) | pub fn record_session( method expand (line 13080) | pub fn expand(&self) -> Vec<(i64, String, String, String, TokenStatsDe... method is_empty (line 13130) | pub fn is_empty(&self) -> bool { method raw_entry_count (line 13134) | pub fn raw_entry_count(&self) -> usize { type UsageRollupDelta (line 13147) | pub struct UsageRollupDelta { type MessageMetricsEntry (line 13169) | pub struct MessageMetricsEntry { type AnalyticsRollupAggregator (line 13201) | pub struct AnalyticsRollupAggregator { method new (line 13208) | pub fn new() -> Self { method record (line 13213) | pub fn record(&mut self, entry: &MessageMetricsEntry) { method is_empty (line 13303) | pub fn is_empty(&self) -> bool { method hourly_entry_count (line 13307) | pub fn hourly_entry_count(&self) -> usize { method daily_entry_count (line 13311) | pub fn daily_entry_count(&self) -> usize { method models_daily_entry_count (line 13315) | pub fn models_daily_entry_count(&self) -> usize { function has_plan_for_role (line 13323) | fn has_plan_for_role(role: &str, content: &str) -> bool { function has_plan_heuristic (line 13335) | fn has_plan_heuristic(content: &str) -> bool { function is_numbered_step_line (line 13402) | fn is_numbered_step_line(line: &str) -> bool { type TokenUsageEntry (line 13414) | pub struct TokenUsageEntry { type PricingEntry (line 13447) | pub struct PricingEntry { type PricingDiagnostics (line 13460) | pub struct PricingDiagnostics { method record_priced (line 13468) | fn record_priced(&mut self) { method record_unpriced (line 13472) | fn record_unpriced(&mut self, model_name: Option<&str>) { method log_summary (line 13479) | pub fn log_summary(&self) { type PricingTable (line 13510) | pub struct PricingTable { method load (line 13516) | pub fn load(conn: &FrankenConnection) -> Result { method franken_load (line 13521) | pub fn franken_load(conn: &FrankenConnection) -> Result { method lookup (line 13552) | pub fn lookup(&self, model_name: &str, message_day_id: i64) -> Option<... method compute_cost (line 13582) | pub fn compute_cost( method is_empty (line 13622) | pub fn is_empty(&self) -> bool { function date_str_to_day_id (line 13629) | fn date_str_to_day_id(s: &str) -> Result { function sql_like_match (line 13641) | fn sql_like_match(value: &str, pattern: &str) -> bool { function utf8_char_len (line 13649) | fn utf8_char_len(b: u8) -> usize { function sql_like_match_bytes (line 13661) | fn sql_like_match_bytes(val: &[u8], pat: &[u8]) -> bool { function rebuild_batch_size_env (line 13698) | fn rebuild_batch_size_env(var: &str, default: usize) -> usize { function is_out_of_memory_error (line 13706) | fn is_out_of_memory_error(err: &impl std::fmt::Display) -> bool { type DailyCount (line 13718) | pub struct DailyCount { type AnalyticsRebuildResult (line 13727) | pub struct AnalyticsRebuildResult { type DailyStatsRebuildResult (line 13738) | pub struct DailyStatsRebuildResult { type AgentArchivePurgeResult (line 13745) | pub struct AgentArchivePurgeResult { type DailyStatsHealth (line 13752) | pub struct DailyStatsHealth { constant FTS5_BATCH_SIZE (line 13768) | const FTS5_BATCH_SIZE: usize = 100; type FtsEntry (line 13772) | pub struct FtsEntry { method from_message (line 13784) | pub fn from_message(message_id: i64, msg: &Message, conv: &Conversatio... constant FTS_ENTRY_BATCH_MAX_DOCS (line 13801) | const FTS_ENTRY_BATCH_MAX_DOCS: usize = 512; constant FTS_ENTRY_BATCH_MAX_CHARS (line 13802) | const FTS_ENTRY_BATCH_MAX_CHARS: usize = 1024 * 1024; constant FTS_REBUILD_BATCH_SIZE_DEFAULT (line 13808) | const FTS_REBUILD_BATCH_SIZE_DEFAULT: usize = 5_000; function fts_rebuild_batch_size (line 13812) | fn fts_rebuild_batch_size() -> usize { function flush_pending_fts_entries (line 13820) | fn flush_pending_fts_entries( function path_to_string (line 13839) | fn path_to_string>(p: P) -> String { function role_str (line 13843) | fn role_str(role: &MessageRole) -> String { function role_as_str (line 13847) | fn role_as_str(role: &MessageRole) -> &str { function agent_kind_str (line 13857) | fn agent_kind_str(kind: AgentKind) -> String { type EnvGuard (line 13875) | struct EnvGuard { method drop (line 13881) | fn drop(&mut self) { function set_env_var (line 13896) | fn set_env_var(key: &'static str, value: impl AsRef) -> EnvGuard { function autocommit_retain_disable_tries_compat_then_canonical_pragma (line 13906) | fn autocommit_retain_disable_tries_compat_then_canonical_pragma() { function autocommit_retain_disable_fails_closed_when_no_pragma_works (line 13924) | fn autocommit_retain_disable_fails_closed_when_no_pragma_works() { function rusqlite_test_fixture_conn (line 13954) | fn rusqlite_test_fixture_conn(db_path: &Path) -> rusqlite::Connection { function seed_historical_db_direct (line 13958) | fn seed_historical_db_direct( function is_user_data_file_detects_bookmarks (line 14045) | fn is_user_data_file_detects_bookmarks() { function is_user_data_file_detects_tui_state (line 14051) | fn is_user_data_file_detects_tui_state() { function is_user_data_file_detects_sources_toml (line 14056) | fn is_user_data_file_detects_sources_toml() { function is_user_data_file_detects_env (line 14061) | fn is_user_data_file_detects_env() { function is_user_data_file_rejects_other_files (line 14066) | fn is_user_data_file_rejects_other_files() { function create_backup_returns_none_for_nonexistent (line 14077) | fn create_backup_returns_none_for_nonexistent() { function create_backup_creates_named_file (line 14085) | fn create_backup_creates_named_file() { function create_backup_paths_are_unique (line 14105) | fn create_backup_paths_are_unique() { function lexical_rebuild_messages_query_uses_conversation_idx_access_path (line 14119) | fn lexical_rebuild_messages_query_uses_conversation_idx_access_path() { function schema_check_rebuild_classification_ignores_transient_errors (line 14206) | fn schema_check_rebuild_classification_ignores_transient_errors() { function schema_check_rebuild_classification_keeps_corruption_errors (line 14226) | fn schema_check_rebuild_classification_keeps_corruption_errors() { function create_backup_refuses_raw_copy_after_retryable_vacuum_errors (line 14251) | fn create_backup_refuses_raw_copy_after_retryable_vacuum_errors() { function create_backup_uses_hidden_vacuum_stage_path (line 14289) | fn create_backup_uses_hidden_vacuum_stage_path() { function create_backup_preserves_content (line 14306) | fn create_backup_preserves_content() { function create_backup_copies_sidecars_when_present (line 14318) | fn create_backup_copies_sidecars_when_present() { function cleanup_old_backups_keeps_recent (line 14342) | fn cleanup_old_backups_keeps_recent() { function cleanup_old_backups_ignores_wal_and_shm_sidecars (line 14365) | fn cleanup_old_backups_ignores_wal_and_shm_sidecars() { function move_database_bundle_moves_database_and_sidecars (line 14411) | fn move_database_bundle_moves_database_and_sidecars() { function move_database_bundle_preserves_orphan_sidecars_without_main_db (line 14447) | fn move_database_bundle_preserves_orphan_sidecars_without_main_db() { function copy_database_bundle_copies_database_and_sidecars (line 14479) | fn copy_database_bundle_copies_database_and_sidecars() { function copy_database_bundle_creates_destination_parent (line 14503) | fn copy_database_bundle_creates_destination_parent() { function move_database_bundle_creates_destination_parent_and_moves_sidecars (line 14522) | fn move_database_bundle_creates_destination_parent_and_moves_sidecars() { function remove_database_files_removes_orphan_sidecars_without_main_db (line 14553) | fn remove_database_files_removes_orphan_sidecars_without_main_db() { function cleanup_old_backups_ignores_backup_named_directories (line 14568) | fn cleanup_old_backups_ignores_backup_named_directories() { function open_creates_new_database (line 14614) | fn open_creates_new_database() { function open_readonly_fails_for_nonexistent (line 14625) | fn open_readonly_fails_for_nonexistent() { function open_readonly_succeeds_for_existing (line 14633) | fn open_readonly_succeeds_for_existing() { function reopen_existing_current_schema_is_idempotent (line 14647) | fn reopen_existing_current_schema_is_idempotent() { function open_or_rebuild_current_schema_does_not_trigger_rebuild (line 14667) | fn open_or_rebuild_current_schema_does_not_trigger_rebuild() { function open_or_rebuild_does_not_treat_non_database_paths_as_corruption (line 14684) | fn open_or_rebuild_does_not_treat_non_database_paths_as_corruption() { function schema_version_returns_current (line 14713) | fn schema_version_returns_current() { function migration_v13_creates_analytics_tables (line 14726) | fn migration_v13_creates_analytics_tables() { function hour_id_round_trip (line 14900) | fn hour_id_round_trip() { function day_and_hour_ids_floor_negative_millis (line 14918) | fn day_and_hour_ids_floor_negative_millis() { function migration_v13_from_v10 (line 14936) | fn migration_v13_from_v10() { function analytics_ingest_populates_metrics_and_rollups (line 14992) | fn analytics_ingest_populates_metrics_and_rollups() { function has_plan_heuristic_detects_plans (line 15301) | fn has_plan_heuristic_detects_plans() { function has_plan_for_role_only_counts_assistant_messages (line 15325) | fn has_plan_for_role_only_counts_assistant_messages() { function api_rollups_require_api_data_source (line 15335) | fn api_rollups_require_api_data_source() { function has_plan_heuristic_curated_corpus_thresholds (line 15427) | fn has_plan_heuristic_curated_corpus_thresholds() { function rebuild_analytics_repopulates_from_messages (line 15471) | fn rebuild_analytics_repopulates_from_messages() { function insert_conversations_batched_flushes_large_fts_batches (line 15715) | fn insert_conversations_batched_flushes_large_fts_batches() { function make_profiled_storage_remote_conversation (line 15791) | fn make_profiled_storage_remote_conversation( function make_profiled_append_remote_merge_conversation (line 15832) | fn make_profiled_append_remote_merge_conversation( function insert_conversation_tree_batched_new_message_ids_match_snippet_rows (line 15873) | fn insert_conversation_tree_batched_new_message_ids_match_snippet_rows() { function insert_conversation_tree_batched_appended_message_ids_match_snippet_rows (line 15929) | fn insert_conversation_tree_batched_appended_message_ids_match_snippet_r... function insert_conversation_tree_rehydrates_external_lookup_after_manual_clear (line 16014) | fn insert_conversation_tree_rehydrates_external_lookup_after_manual_clea... function insert_conversation_tree_recreates_daily_stats_after_manual_clear (line 16123) | fn insert_conversation_tree_recreates_daily_stats_after_manual_clear() { function insert_conversation_tree_stage_profile_tracks_steady_state_remote_reuse (line 16180) | fn insert_conversation_tree_stage_profile_tracks_steady_state_remote_reu... function insert_conversation_tree_stage_profile_tracks_append_remote_source_merge (line 16243) | fn insert_conversation_tree_stage_profile_tracks_append_remote_source_me... function rebuild_daily_stats_recomputes_materialized_totals_without_monolithic_group_by (line 16316) | fn rebuild_daily_stats_recomputes_materialized_totals_without_monolithic... function rebuild_daily_stats_preserves_byte_counts_with_message_metrics (line 16483) | fn rebuild_daily_stats_preserves_byte_counts_with_message_metrics() { function rebuild_daily_stats_raw_fallback_preserves_byte_counts (line 16618) | fn rebuild_daily_stats_raw_fallback_preserves_byte_counts() { function insert_conversations_batched_appends_duplicate_external_id (line 16696) | fn insert_conversations_batched_appends_duplicate_external_id() { function franken_insert_conversation_or_get_existing_recovers_unique_conflict (line 16888) | fn franken_insert_conversation_or_get_existing_recovers_unique_conflict() { function insert_conversations_batched_merges_duplicate_external_id_with_gaps (line 16963) | fn insert_conversations_batched_merges_duplicate_external_id_with_gaps() { function insert_conversations_batched_reprocessing_conversation_is_idempotent (line 17069) | fn insert_conversations_batched_reprocessing_conversation_is_idempotent() { function parallel_insert_conversation_tree_keeps_unique_external_ids_distinct (line 17155) | fn parallel_insert_conversation_tree_keeps_unique_external_ids_distinct() { function insert_conversation_tree_merges_duplicate_external_id_with_gaps (line 17333) | fn insert_conversation_tree_merges_duplicate_external_id_with_gaps() { function insert_conversation_tree_skips_duplicate_message_indices_for_new_conversation (line 17440) | fn insert_conversation_tree_skips_duplicate_message_indices_for_new_conv... function insert_conversation_tree_merges_duplicate_source_path_without_external_id (line 17528) | fn insert_conversation_tree_merges_duplicate_source_path_without_externa... function insert_conversation_tree_merges_source_path_duplicates_with_start_drift (line 17633) | fn insert_conversation_tree_merges_source_path_duplicates_with_start_dri... function insert_conversation_tree_keeps_single_message_overlap_sessions_separate (line 17735) | fn insert_conversation_tree_keeps_single_message_overlap_sessions_separa... function insert_conversation_tree_keeps_distinct_source_path_sessions_separate (line 17826) | fn insert_conversation_tree_keeps_distinct_source_path_sessions_separate... function insert_conversation_tree_merges_replay_equivalent_messages_with_shifted_idx (line 17893) | fn insert_conversation_tree_merges_replay_equivalent_messages_with_shift... function salvage_historical_databases_imports_backups_once_and_merges_overlap (line 18015) | fn salvage_historical_databases_imports_backups_once_and_merges_overlap() { function salvage_historical_databases_normalizes_host_only_remote_provenance (line 18145) | fn salvage_historical_databases_normalizes_host_only_remote_provenance() { function historical_salvage_retry_splits_single_conversation_until_it_fits (line 18216) | fn historical_salvage_retry_splits_single_conversation_until_it_fits() { function salvage_historical_databases_resumes_from_progress_checkpoint (line 18293) | fn salvage_historical_databases_resumes_from_progress_checkpoint() { function list_conversations_for_lexical_rebuild_uses_stable_id_order (line 18393) | fn list_conversations_for_lexical_rebuild_uses_stable_id_order() { function keyset_traversal_handles_sparse_holey_conversation_ids (line 18531) | fn keyset_traversal_handles_sparse_holey_conversation_ids() { function keyset_traversal_through_id_with_sparse_ranges (line 18632) | fn keyset_traversal_through_id_with_sparse_ranges() { function list_conversation_footprints_for_lexical_rebuild_estimates_bytes_and_keeps_empty_conversations (line 18739) | fn list_conversation_footprints_for_lexical_rebuild_estimates_bytes_and_... function list_conversation_footprints_for_lexical_rebuild_falls_back_for_missing_tail_cache (line 18875) | fn list_conversation_footprints_for_lexical_rebuild_falls_back_for_missi... function list_conversation_footprints_for_lexical_rebuild_tolerates_missing_tail_state_table (line 18955) | fn list_conversation_footprints_for_lexical_rebuild_tolerates_missing_ta... function list_conversation_footprints_for_lexical_rebuild_tolerates_legacy_search_demo_fixture (line 19032) | fn list_conversation_footprints_for_lexical_rebuild_tolerates_legacy_sea... function lexical_rebuild_listing_normalizes_host_only_remote_source_from_blank_source_id (line 19057) | fn lexical_rebuild_listing_normalizes_host_only_remote_source_from_blank... function seed_canonical_from_best_historical_bundle_copies_data_and_resets_runtime_meta (line 19126) | fn seed_canonical_from_best_historical_bundle_copies_data_and_resets_run... function failed_baseline_seed_preserves_existing_canonical_bundle (line 19373) | fn failed_baseline_seed_preserves_existing_canonical_bundle() { function fetch_messages_for_lexical_rebuild_skips_extra_json (line 19480) | fn fetch_messages_for_lexical_rebuild_skips_extra_json() { function fetch_messages_for_lexical_rebuild_batch_groups_and_orders_messages (line 19541) | fn fetch_messages_for_lexical_rebuild_batch_groups_and_orders_messages() { function fetch_messages_for_lexical_rebuild_batch_enforces_content_byte_guardrail (line 19672) | fn fetch_messages_for_lexical_rebuild_batch_enforces_content_byte_guardr... function fetch_messages_handles_manual_rows_inserted_via_raw_connection (line 19740) | fn fetch_messages_handles_manual_rows_inserted_via_raw_connection() { function lexical_rebuild_batch_messages_query_avoids_sorter_temp_btrees (line 19776) | fn lexical_rebuild_batch_messages_query_avoids_sorter_temp_btrees() { function stream_messages_for_lexical_rebuild_groups_and_orders_messages (line 19876) | fn stream_messages_for_lexical_rebuild_groups_and_orders_messages() { function stream_messages_for_lexical_rebuild_between_conversation_ids_respects_upper_bound (line 20004) | fn stream_messages_for_lexical_rebuild_between_conversation_ids_respects... function stream_messages_for_lexical_rebuild_between_conversation_ids_handles_mixed_ranges (line 20102) | fn stream_messages_for_lexical_rebuild_between_conversation_ids_handles_... function lexical_rebuild_stream_queries_use_rowid_and_per_conversation_probes (line 20319) | fn lexical_rebuild_stream_queries_use_rowid_and_per_conversation_probes() { function discover_historical_database_bundles_prefers_larger_archives_first (line 20437) | fn discover_historical_database_bundles_prefers_larger_archives_first() { function discover_historical_database_bundles_prefers_queryable_direct_bundles_first (line 20458) | fn discover_historical_database_bundles_prefers_queryable_direct_bundles... function salvage_historical_databases_skips_unreadable_quarantined_bundles (line 20497) | fn salvage_historical_databases_skips_unreadable_quarantined_bundles() { function discover_historical_database_bundles_includes_repair_lab_and_snapshots_named_roots (line 20520) | fn discover_historical_database_bundles_includes_repair_lab_and_snapshot... function discover_historical_database_bundles_prefers_healthy_backup_over_replay_priority (line 20555) | fn discover_historical_database_bundles_prefers_healthy_backup_over_repl... function ensure_fts_consistency_via_rusqlite_catches_up_missing_rows (line 20673) | fn ensure_fts_consistency_via_rusqlite_catches_up_missing_rows() { function rebuild_fts_via_rusqlite_cleans_duplicate_legacy_schema_rows (line 20753) | fn rebuild_fts_via_rusqlite_cleans_duplicate_legacy_schema_rows() { function ensure_agent_creates_new (line 20839) | fn ensure_agent_creates_new() { function ensure_agent_returns_existing_id (line 20857) | fn ensure_agent_returns_existing_id() { function ensure_agent_unchanged_preserves_updated_at (line 20876) | fn ensure_agent_unchanged_preserves_updated_at() { function ensure_agent_changed_metadata_updates_cached_slug (line 20914) | fn ensure_agent_changed_metadata_updates_cached_slug() { function list_agents_returns_inserted (line 20946) | fn list_agents_returns_inserted() { function ensure_workspace_creates_new (line 20969) | fn ensure_workspace_creates_new() { function ensure_workspace_returns_existing (line 20981) | fn ensure_workspace_returns_existing() { function ensure_workspace_changed_display_name_updates_cached_path (line 20993) | fn ensure_workspace_changed_display_name_updates_cached_path() { function list_workspaces_returns_inserted (line 21016) | fn list_workspaces_returns_inserted() { function upsert_source_creates_new (line 21038) | fn upsert_source_creates_new() { function upsert_source_updates_existing (line 21061) | fn upsert_source_updates_existing() { function upsert_source_unchanged_preserves_updated_at (line 21096) | fn upsert_source_unchanged_preserves_updated_at() { function ensure_source_for_conversation_recreates_remote_source_after_delete (line 21127) | fn ensure_source_for_conversation_recreates_remote_source_after_delete() { function delete_source_removes_entry (line 21178) | fn delete_source_removes_entry() { function delete_source_cannot_delete_local (line 21203) | fn delete_source_cannot_delete_local() { function list_sources_includes_local (line 21213) | fn list_sources_includes_local() { function insert_conversation_tree_blank_local_source_normalizes_to_local_id (line 21223) | fn insert_conversation_tree_blank_local_source_normalizes_to_local_id() { function repeated_local_inserts_do_not_touch_bootstrap_source_row (line 21282) | fn repeated_local_inserts_do_not_touch_bootstrap_source_row() { function insert_conversation_tree_blank_remote_source_normalizes_to_origin_host (line 21362) | fn insert_conversation_tree_blank_remote_source_normalizes_to_origin_hos... function insert_conversations_batched_normalizes_host_only_remote_source_id (line 21424) | fn insert_conversations_batched_normalizes_host_only_remote_source_id() { function get_source_ids_excludes_local (line 21486) | fn get_source_ids_excludes_local() { function get_last_scan_ts_returns_none_initially (line 21514) | fn get_last_scan_ts_returns_none_initially() { function set_and_get_last_scan_ts (line 21524) | fn set_and_get_last_scan_ts() { function now_millis_returns_reasonable_value (line 21541) | fn now_millis_returns_reasonable_value() { function msgpack_roundtrip_basic_object (line 21554) | fn msgpack_roundtrip_basic_object() { function msgpack_returns_none_for_null (line 21568) | fn msgpack_returns_none_for_null() { function message_insert_stores_null_extra_json_as_sql_null (line 21574) | fn message_insert_stores_null_extra_json_as_sql_null() { function message_insert_stores_nonempty_extra_json_as_msgpack_only (line 21633) | fn message_insert_stores_nonempty_extra_json_as_msgpack_only() { function conversation_insert_preserves_null_metadata_json_as_json_null (line 21693) | fn conversation_insert_preserves_null_metadata_json_as_json_null() { function conversation_insert_stores_nonempty_metadata_as_msgpack_only (line 21751) | fn conversation_insert_stores_nonempty_metadata_as_msgpack_only() { function msgpack_returns_none_for_empty_object (line 21810) | fn msgpack_returns_none_for_empty_object() { function parse_historical_json_column_preserves_large_payloads_as_raw_json (line 21816) | fn parse_historical_json_column_preserves_large_payloads_as_raw_json() { function parse_historical_json_column_preserves_small_payloads_as_raw_json (line 21826) | fn parse_historical_json_column_preserves_small_payloads_as_raw_json() { function msgpack_serializes_non_empty_array (line 21835) | fn msgpack_serializes_non_empty_array() { function msgpack_smaller_than_json (line 21843) | fn msgpack_smaller_than_json() { function migration_v7_adds_binary_columns (line 21864) | fn migration_v7_adds_binary_columns() { function insert_conversation_tree_rehydrates_append_tail_state_cache_after_manual_clear (line 21892) | fn insert_conversation_tree_rehydrates_append_tail_state_cache_after_man... function msgpack_deserialize_empty_returns_default (line 21961) | fn msgpack_deserialize_empty_returns_default() { function msgpack_deserialize_garbage_returns_default (line 21967) | fn msgpack_deserialize_garbage_returns_default() { function stats_aggregator_collects_and_expands (line 21975) | fn stats_aggregator_collects_and_expands() { function lazy_franken_db_not_open_before_get (line 22035) | fn lazy_franken_db_not_open_before_get() { function lazy_franken_db_opens_on_first_get (line 22050) | fn lazy_franken_db_opens_on_first_get() { function lazy_franken_db_reuses_connection (line 22074) | fn lazy_franken_db_reuses_connection() { function lazy_franken_db_not_found_error (line 22102) | fn lazy_franken_db_not_found_error() { function lazy_franken_db_path_accessor (line 22116) | fn lazy_franken_db_path_accessor() { function sql_like_match_basic_patterns (line 22127) | fn sql_like_match_basic_patterns() { function date_str_to_day_id_converts_correctly (line 22150) | fn date_str_to_day_id_converts_correctly() { function pricing_table_lookup_selects_matching_entry (line 22159) | fn pricing_table_lookup_selects_matching_entry() { function pricing_table_lookup_respects_effective_date (line 22197) | fn pricing_table_lookup_respects_effective_date() { function pricing_table_lookup_specificity_tiebreak (line 22242) | fn pricing_table_lookup_specificity_tiebreak() { function pricing_table_compute_cost_basic (line 22280) | fn pricing_table_compute_cost_basic() { function pricing_table_compute_cost_with_cache (line 22308) | fn pricing_table_compute_cost_with_cache() { function pricing_table_compute_cost_returns_none_for_unknown_model (line 22340) | fn pricing_table_compute_cost_returns_none_for_unknown_model() { function pricing_table_load_from_db (line 22380) | fn pricing_table_load_from_db() { function pricing_table_load_rejects_invalid_effective_date (line 22400) | fn pricing_table_load_rejects_invalid_effective_date() { function pricing_diagnostics_tracks_coverage (line 22429) | fn pricing_diagnostics_tracks_coverage() { function franken_storage_in_memory (line 22453) | fn franken_storage_in_memory() -> FrankenStorage { function franken_migrations_create_all_tables (line 22462) | fn franken_migrations_create_all_tables() { function franken_migrations_idempotent (line 22567) | fn franken_migrations_idempotent() { function migration_v20_backfills_conversation_external_tail_lookup (line 22577) | fn migration_v20_backfills_conversation_external_tail_lookup() { function migration_v15_creates_lazy_tail_state_cache (line 22648) | fn migration_v15_creates_lazy_tail_state_cache() { function franken_meta_schema_version_in_sync (line 22721) | fn franken_meta_schema_version_in_sync() { function franken_transition_from_meta_version (line 22738) | fn franken_transition_from_meta_version() { function franken_transition_from_current_meta_backfills_current_schema_marker (line 22771) | fn franken_transition_from_current_meta_backfills_current_schema_marker() { function franken_transition_skips_when_already_done (line 22802) | fn franken_transition_skips_when_already_done() { function franken_transition_fresh_db_is_noop (line 22829) | fn franken_transition_fresh_db_is_noop() { function franken_transition_with_fts_virtual_table_succeeds (line 22846) | fn franken_transition_with_fts_virtual_table_succeeds() { function franken_storage_open_legacy_v13_with_fts_virtual_table_succeeds (line 22880) | fn franken_storage_open_legacy_v13_with_fts_virtual_table_succeeds() { function franken_storage_open_repairs_duplicate_fts_messages_schema_rows (line 22981) | fn franken_storage_open_repairs_duplicate_fts_messages_schema_rows() { function franken_storage_open_fresh_db_keeps_single_franken_fts_schema_row (line 23087) | fn franken_storage_open_fresh_db_keeps_single_franken_fts_schema_row() { function franken_storage_open_repairs_missing_analytics_tables_when_version_markers_lie (line 23125) | fn franken_storage_open_repairs_missing_analytics_tables_when_version_ma... function current_schema_repair_batches_cover_every_required_probe (line 23187) | fn current_schema_repair_batches_cover_every_required_probe() { function current_schema_repair_batches_do_not_replay_core_schema_bootstrap (line 23208) | fn current_schema_repair_batches_do_not_replay_core_schema_bootstrap() { function build_cass_migrations_applies_combined_v13 (line 23256) | fn build_cass_migrations_applies_combined_v13() { function franken_insert_conversations_batched_populates_analytics_rollups (line 23284) | fn franken_insert_conversations_batched_populates_analytics_rollups() { function connection_manager_creates_readers (line 23402) | fn connection_manager_creates_readers() { function connection_manager_clamps_zero_writer_limit_to_prevent_deadlock (line 23420) | fn connection_manager_clamps_zero_writer_limit_to_prevent_deadlock() { function connection_manager_reader_round_robin (line 23456) | fn connection_manager_reader_round_robin() { function connection_manager_writer_reads_and_writes (line 23477) | fn connection_manager_writer_reads_and_writes() { function connection_manager_writer_guard_drops_releases_slot (line 23512) | fn connection_manager_writer_guard_drops_releases_slot() { function connection_manager_concurrent_writer_works (line 23537) | fn connection_manager_concurrent_writer_works() { function connection_manager_default_config (line 23574) | fn connection_manager_default_config() { function purge_agent_archive_data_removes_only_target_agent_and_rebuilds_derived_tables (line 23581) | fn purge_agent_archive_data_removes_only_target_agent_and_rebuilds_deriv... function cleanup_orphan_fk_rows_removes_orphans_and_is_noop_on_clean_db (line 23695) | fn cleanup_orphan_fk_rows_removes_orphans_and_is_noop_on_clean_db() { FILE: src/topology_budget.rs constant TOPOLOGY_BUDGET_SCHEMA_VERSION (line 12) | pub const TOPOLOGY_BUDGET_SCHEMA_VERSION: &str = "1"; constant GIB (line 14) | const GIB: u64 = 1024 * 1024 * 1024; constant DEFAULT_CACHE_BYTE_CAP_FALLBACK (line 15) | const DEFAULT_CACHE_BYTE_CAP_FALLBACK: usize = 64 * 1024 * 1024; constant DEFAULT_CACHE_BYTE_CAP_MEMORY_FRACTION_DENOMINATOR (line 16) | const DEFAULT_CACHE_BYTE_CAP_MEMORY_FRACTION_DENOMINATOR: u64 = 128; constant DEFAULT_CACHE_BYTE_CAP_CEILING (line 17) | const DEFAULT_CACHE_BYTE_CAP_CEILING: u64 = 2 * GIB; constant TOPOLOGY_CACHE_BYTE_CAP_CEILING (line 18) | const TOPOLOGY_CACHE_BYTE_CAP_CEILING: u64 = 8 * GIB; constant DEFAULT_MAX_INFLIGHT_FALLBACK (line 19) | const DEFAULT_MAX_INFLIGHT_FALLBACK: usize = 32 * 1024 * 1024; constant TOPOLOGY_MAX_INFLIGHT_CEILING (line 20) | const TOPOLOGY_MAX_INFLIGHT_CEILING: u64 = 512 * 1024 * 1024; type TopologyBudgetPlan (line 23) | pub struct TopologyBudgetPlan { type TopologySnapshot (line 35) | pub struct TopologySnapshot { type TopologySource (line 50) | pub enum TopologySource { type TopologyClass (line 57) | pub enum TopologyClass { type ReservedCorePolicy (line 66) | pub struct ReservedCorePolicy { type TopologyAdvisoryBudgets (line 73) | pub struct TopologyAdvisoryBudgets { type TopologyPlannerDefaults (line 83) | pub struct TopologyPlannerDefaults { method conservative (line 100) | pub fn conservative( method from_current_process (line 120) | pub(crate) fn from_current_process() -> Self { type MemorySnapshot (line 94) | pub struct MemorySnapshot { function inspect_host_topology_budget (line 138) | pub(crate) fn inspect_host_topology_budget() -> TopologyBudgetPlan { function topology_budget_for_sysfs (line 158) | pub fn topology_budget_for_sysfs( function read_meminfo_snapshot (line 173) | pub fn read_meminfo_snapshot(path: &Path) -> Option { function parse_meminfo_kib (line 190) | fn parse_meminfo_kib(rest: &str) -> Option { function read_linux_sysfs_topology (line 198) | fn read_linux_sysfs_topology( function read_online_cpus (line 257) | fn read_online_cpus(cpu_root: &Path) -> Result, String> { function read_i64 (line 289) | fn read_i64(path: PathBuf) -> Result { function read_llc_group_key (line 296) | fn read_llc_group_key(cache_root: &Path, package_id: i64) -> Option) ... function parse_cpu_list (line 348) | fn parse_cpu_list(contents: &str) -> Result, String> { function format_cpu_set (line 379) | fn format_cpu_set(cpus: &BTreeSet) -> String { function classify_topology (line 386) | fn classify_topology( function plan_for_topology (line 404) | fn plan_for_topology( function reserved_core_policy_for (line 488) | fn reserved_core_policy_for( function topology_cache_cap (line 527) | fn topology_cache_cap(default_cache_cap_bytes: usize, available_bytes: O... function topology_max_inflight_bytes (line 541) | fn topology_max_inflight_bytes( function default_cache_cap_for_available (line 557) | fn default_cache_cap_for_available(available_bytes: Option) -> usize { function fallback_topology (line 568) | fn fallback_topology( function fallback_plan (line 590) | fn fallback_plan( constant GIB (line 629) | const GIB: u64 = 1024 * 1024 * 1024; function defaults (line 631) | fn defaults(cpus: usize) -> TopologyPlannerDefaults { function memory (line 643) | fn memory(total_gib: u64, available_gib: u64) -> MemorySnapshot { function write (line 650) | fn write(path: &Path, contents: &str) { function add_cpu (line 657) | fn add_cpu( function add_cpu_without_shared_llc (line 680) | fn add_cpu_without_shared_llc( function one_socket_fixture_reports_single_socket_budget (line 699) | fn one_socket_fixture_reports_single_socket_budget() { function smt_fixture_reports_threads_per_core (line 730) | fn smt_fixture_reports_threads_per_core() { function two_socket_numa_fixture_expands_locality_aware_budgets (line 749) | fn two_socket_numa_fixture_expands_locality_aware_budgets() { function llc_id_fallback_is_package_scoped_when_shared_cpu_list_is_missing (line 779) | fn llc_id_fallback_is_package_scoped_when_shared_cpu_list_is_missing() { function missing_topology_preserves_conservative_defaults (line 798) | fn missing_topology_preserves_conservative_defaults() { function meminfo_parser_reads_total_and_available_kib (line 824) | fn meminfo_parser_reads_total_and_available_kib() { FILE: src/tui_asciicast.rs constant EIO (line 18) | pub const EIO: c_int = 5; constant F_GETFL (line 19) | pub const F_GETFL: c_int = 3; constant F_SETFL (line 20) | pub const F_SETFL: c_int = 4; constant O_NONBLOCK (line 31) | pub const O_NONBLOCK: c_int = 0x0004; constant O_NONBLOCK (line 40) | pub const O_NONBLOCK: c_int = 0o4000; function fcntl (line 43) | pub fn fcntl(fd: c_int, cmd: c_int, ...) -> c_int; function run_tui_with_asciicast (line 53) | pub fn run_tui_with_asciicast(recording_path: &Path, interactive: bool) ... function ensure_parent_dir (line 192) | fn ensure_parent_dir(path: &Path) -> Result<()> { function detect_terminal_size (line 203) | fn detect_terminal_size() -> (u16, u16) { function forward_stdin (line 240) | fn forward_stdin(mut child_writer: Box, stop_requested... function strip_asciicast_args (line 267) | fn strip_asciicast_args(args: I) -> (Vec, bool) function is_pty_eof_error (line 289) | fn is_pty_eof_error(err: &io::Error) -> bool { type RawModeGuard (line 306) | struct RawModeGuard { method new (line 312) | fn new(enabled: bool) -> Result { method drop (line 335) | fn drop(&mut self) { type StdinNonBlockingGuard (line 341) | struct StdinNonBlockingGuard { method new (line 348) | fn new(fd: RawFd) -> io::Result { method drop (line 368) | fn drop(&mut self) { function strips_split_asciicast_flag_and_value (line 382) | fn strips_split_asciicast_flag_and_value() { function strips_inline_asciicast_flag (line 395) | fn strips_inline_asciicast_flag() { function leaves_unrelated_args_untouched (line 408) | fn leaves_unrelated_args_untouched() { function recognizes_common_pty_eof_errors (line 416) | fn recognizes_common_pty_eof_errors() { FILE: src/ui/analytics_charts.rs constant AGENT_COLORS (line 30) | const AGENT_COLORS: &[PackedRgba] = &[ function agent_color (line 47) | fn agent_color(idx: usize) -> PackedRgba { type ChartColors (line 59) | struct ChartColors { method for_theme (line 79) | fn for_theme(dark_mode: bool) -> Self { type AnalyticsChartData (line 114) | pub struct AnalyticsChartData { method is_empty (line 182) | pub fn is_empty(&self) -> bool { function load_chart_data (line 198) | pub fn load_chart_data( function resolve_workspace_filter_ids (line 502) | fn resolve_workspace_filter_ids( function render_dashboard (line 539) | pub fn render_dashboard( function render_kpi_tiles (line 853) | fn render_kpi_tiles( function render_kpi_tile (line 950) | fn render_kpi_tile( function format_compact (line 1048) | fn format_compact(n: i64) -> String { function render_explorer (line 1062) | pub fn render_explorer( function render_explorer_line_canvas (line 1258) | fn render_explorer_line_canvas( function render_explorer_scatter (line 1542) | fn render_explorer_scatter( function dim_color (line 1655) | fn dim_color(color: PackedRgba, factor: f32) -> PackedRgba { function format_explorer_metric_value (line 1664) | fn format_explorer_metric_value(metric: ExplorerMetric, value: f64) -> S... function build_explorer_annotation_line (line 1669) | fn build_explorer_annotation_line( function metric_series (line 1717) | fn metric_series( function build_dimension_overlay (line 1737) | fn build_dimension_overlay( function heatmap_series_for_metric (line 1763) | fn heatmap_series_for_metric( function format_heatmap_value (line 1811) | fn format_heatmap_value(val: f64, metric: HeatmapMetric) -> String { constant DOW_LABELS (line 1822) | const DOW_LABELS: [&str; 7] = ["Mon", "", "Wed", "", "Fri", "", ""]; function parse_day_label (line 1825) | fn parse_day_label(label: &str) -> Option<(i32, u32, u32)> { function weekday_index (line 1838) | fn weekday_index(y: i32, m: u32, d: u32) -> usize { function render_heatmap (line 1849) | pub fn render_heatmap( function render_heatmap_tabs (line 2174) | fn render_heatmap_tabs( function render_breakdowns (line 2217) | pub fn render_breakdowns( constant BREAKDOWN_COLORS (line 2377) | const BREAKDOWN_COLORS: &[PackedRgba] = &[ function breakdown_color (line 2388) | fn breakdown_color(idx: usize) -> PackedRgba { function model_color (line 2392) | fn model_color(idx: usize) -> PackedRgba { function truncate_with_ellipsis (line 2404) | fn truncate_with_ellipsis(input: &str, max_cols: usize) -> String { function breakdown_tabs_line (line 2429) | fn breakdown_tabs_line(active: BreakdownTab, width: usize) -> String { function render_breakdown_tabs (line 2445) | fn render_breakdown_tabs( function shorten_label (line 2457) | fn shorten_label(s: &str, max_cols: usize) -> String { function tools_row_count (line 2490) | pub fn tools_row_count(data: &AnalyticsChartData) -> usize { function coverage_row_count (line 2496) | pub fn coverage_row_count(data: &AnalyticsChartData) -> usize { function render_tools (line 2501) | pub fn render_tools( function tools_header_line (line 2639) | fn tools_header_line(width: usize) -> String { function tools_row_line (line 2674) | fn tools_row_line(row: &crate::analytics::ToolRow, pct_share: f64, width... function plans_rows (line 2726) | pub fn plans_rows(data: &AnalyticsChartData) -> usize { function render_plans (line 2731) | fn render_plans( function render_coverage (line 2834) | pub fn render_coverage( function coverage_color (line 3069) | fn coverage_color(pct: f64) -> PackedRgba { function coverage_truncate (line 3079) | fn coverage_truncate(s: &str, max_len: usize) -> String { function display_width (line 3083) | fn display_width(input: &str) -> usize { type ExplorerState (line 3088) | pub struct ExplorerState { function render_analytics_content (line 3099) | pub fn render_analytics_content( function breakdown_rows (line 3189) | pub fn breakdown_rows(data: &AnalyticsChartData, tab: BreakdownTab) -> u... function render_selection_indicator (line 3202) | fn render_selection_indicator( function format_number (line 3242) | fn format_number(n: i64) -> String { function resolve_workspace_filter_ids_supports_paths_and_numeric_ids (line 3270) | fn resolve_workspace_filter_ids_supports_paths_and_numeric_ids() { function load_chart_data_applies_workspace_path_filter (line 3302) | fn load_chart_data_applies_workspace_path_filter() { function format_number_basic (line 3350) | fn format_number_basic() { function format_compact_suffixes (line 3359) | fn format_compact_suffixes() { function format_explorer_metric_value_is_compact (line 3369) | fn format_explorer_metric_value_is_compact() { function build_explorer_annotation_line_contains_peak_avg_trend (line 3377) | fn build_explorer_annotation_line_contains_peak_avg_trend() { function dim_color_scales_channels_down (line 3396) | fn dim_color_scales_channels_down() { function agent_color_cycles (line 3405) | fn agent_color_cycles() { function default_chart_data_is_empty (line 3412) | fn default_chart_data_is_empty() { function render_analytics_content_all_views_no_panic (line 3421) | fn render_analytics_content_all_views_no_panic() { function weekday_index_known_dates (line 3442) | fn weekday_index_known_dates() { function parse_day_label_valid (line 3452) | fn parse_day_label_valid() { function heatmap_series_empty_data (line 3460) | fn heatmap_series_empty_data() { function heatmap_series_normalizes (line 3469) | fn heatmap_series_normalizes() { function heatmap_series_coverage_uses_normalized_heatmap_days (line 3489) | fn heatmap_series_coverage_uses_normalized_heatmap_days() { function format_heatmap_value_coverage_is_percent (line 3504) | fn format_heatmap_value_coverage_is_percent() { function format_heatmap_value_tokens (line 3509) | fn format_heatmap_value_tokens() { function heatmap_metric_cycles (line 3518) | fn heatmap_metric_cycles() { function sample_tool_rows (line 3528) | fn sample_tool_rows() -> Vec { function tools_row_count_empty (line 3558) | fn tools_row_count_empty() { function tools_row_count_with_data (line 3564) | fn tools_row_count_with_data() { function tools_row_count_capped_at_20 (line 3573) | fn tools_row_count_capped_at_20() { function tools_header_line_contains_columns (line 3592) | fn tools_header_line_contains_columns() { function tools_header_line_respects_requested_width (line 3603) | fn tools_header_line_respects_requested_width() { function tools_row_line_formats_numbers (line 3612) | fn tools_row_line_formats_numbers() { function tools_row_line_handles_no_per_1k (line 3624) | fn tools_row_line_handles_no_per_1k() { function tools_row_line_respects_requested_width (line 3638) | fn tools_row_line_respects_requested_width() { function breakdown_tabs_line_respects_requested_width (line 3648) | fn breakdown_tabs_line_respects_requested_width() { function shorten_label_handles_unicode_boundaries (line 3657) | fn shorten_label_handles_unicode_boundaries() { function coverage_row_count_empty (line 3669) | fn coverage_row_count_empty() { function coverage_row_count_with_agents (line 3675) | fn coverage_row_count_with_agents() { function coverage_row_count_capped_at_10 (line 3687) | fn coverage_row_count_capped_at_10() { function coverage_color_thresholds (line 3699) | fn coverage_color_thresholds() { FILE: src/ui/app.rs constant SEARCH_BAR (line 165) | pub const SEARCH_BAR: FocusId = 1; constant RESULTS_LIST (line 166) | pub const RESULTS_LIST: FocusId = 2; constant DETAIL_PANE (line 167) | pub const DETAIL_PANE: FocusId = 3; constant COMMAND_PALETTE (line 169) | pub const COMMAND_PALETTE: FocusId = 10; constant HELP_OVERLAY (line 170) | pub const HELP_OVERLAY: FocusId = 11; constant EXPORT_MODAL (line 171) | pub const EXPORT_MODAL: FocusId = 12; constant CONSENT_DIALOG (line 172) | pub const CONSENT_DIALOG: FocusId = 13; constant BULK_MODAL (line 173) | pub const BULK_MODAL: FocusId = 14; constant SAVED_VIEWS_MODAL (line 174) | pub const SAVED_VIEWS_MODAL: FocusId = 15; constant SOURCE_FILTER_MENU (line 175) | pub const SOURCE_FILTER_MENU: FocusId = 16; constant DETAIL_MODAL (line 176) | pub const DETAIL_MODAL: FocusId = 17; constant GROUP_MAIN (line 178) | pub const GROUP_MAIN: u32 = 99; constant GROUP_PALETTE (line 179) | pub const GROUP_PALETTE: u32 = 100; constant GROUP_HELP (line 180) | pub const GROUP_HELP: u32 = 101; constant GROUP_EXPORT (line 181) | pub const GROUP_EXPORT: u32 = 102; constant GROUP_CONSENT (line 182) | pub const GROUP_CONSENT: u32 = 103; constant GROUP_BULK (line 183) | pub const GROUP_BULK: u32 = 104; constant GROUP_SAVED_VIEWS (line 184) | pub const GROUP_SAVED_VIEWS: u32 = 105; constant GROUP_SOURCE_FILTER (line 185) | pub const GROUP_SOURCE_FILTER: u32 = 106; constant GROUP_DETAIL_MODAL (line 186) | pub const GROUP_DETAIL_MODAL: u32 = 107; function stash_raw_event (line 199) | fn stash_raw_event(event: &super::ftui_adapter::Event) { function take_raw_event (line 205) | fn take_raw_event() -> Option { constant BULK_ACTIONS (line 214) | pub const BULK_ACTIONS: [&str; 4] = [ constant SAVED_VIEWS_MODAL_TITLE (line 222) | pub const SAVED_VIEWS_MODAL_TITLE: &str = " Saved Views "; constant OPEN_CONFIRM_THRESHOLD (line 225) | pub const OPEN_CONFIRM_THRESHOLD: usize = 12; constant MAX_VISIBLE_PANES (line 227) | const MAX_VISIBLE_PANES: usize = 6; constant INPUT_AUTOCOMPLETE_AGENT_HINTS (line 230) | const INPUT_AUTOCOMPLETE_AGENT_HINTS: &[&str] = &[ constant PANEL_RATIO_MIN (line 244) | const PANEL_RATIO_MIN: f64 = 0.25; constant PANEL_RATIO_MAX (line 245) | const PANEL_RATIO_MAX: f64 = 0.75; constant FOOTER_HINT_ROOT_ID (line 246) | const FOOTER_HINT_ROOT_ID: HelpId = HelpId(1_000_000); constant RESULTS_REVEAL_MIN_HITS (line 247) | const RESULTS_REVEAL_MIN_HITS: usize = 6; constant RESULTS_REVEAL_MAX_HITS (line 248) | const RESULTS_REVEAL_MAX_HITS: usize = 400; constant SURFACE_TRANSITION_DURATION (line 249) | const SURFACE_TRANSITION_DURATION: Duration = Duration::from_millis(160); constant ANALYTICS_VIEW_TRANSITION_DURATION (line 250) | const ANALYTICS_VIEW_TRANSITION_DURATION: Duration = Duration::from_mill... type FooterHintCandidate (line 253) | struct FooterHintCandidate { method token (line 364) | fn token(&self) -> String { type ViewTransition (line 261) | struct ViewTransition { method new (line 328) | fn new( method progress (line 345) | fn progress(&self, now: Instant) -> f32 { method is_done (line 353) | fn is_done(&self, now: Instant) -> bool { method eased_progress (line 357) | fn eased_progress(&self, now: Instant) -> f32 { type ViewSnapshot (line 271) | struct ViewSnapshot { type LoadingContext (line 278) | enum LoadingContext { method label (line 287) | fn label(self) -> &'static str { type IndexProgressSnapshot (line 300) | pub(crate) struct IndexProgressSnapshot { method ratio (line 310) | fn ratio(&self) -> f64 { method phase_label (line 318) | fn phase_label(&self) -> &'static str { constant FOCUS_FLASH_DURATION (line 378) | pub const FOCUS_FLASH_DURATION: Duration = Duration::from_millis(300); constant PEEK_BADGE_DURATION (line 380) | pub const PEEK_BADGE_DURATION: Duration = Duration::from_millis(800); constant STAGGER_DELAY (line 382) | pub const STAGGER_DELAY: Duration = Duration::from_millis(30); constant MAX_ANIMATED_ITEMS (line 384) | pub const MAX_ANIMATED_ITEMS: usize = 15; constant MODAL_SPRING_DURATION (line 386) | pub const MODAL_SPRING_DURATION: Duration = Duration::from_millis(250); constant PANEL_RESIZE_DURATION (line 388) | pub const PANEL_RESIZE_DURATION: Duration = Duration::from_millis(180); type AnimationState (line 396) | pub struct AnimationState { method new (line 421) | pub fn new(enabled: bool) -> Self { method from_env (line 443) | pub fn from_env() -> Self { method tick (line 451) | pub fn tick(&mut self, dt: std::time::Duration) { method trigger_focus_flash (line 494) | pub fn trigger_focus_flash(&mut self) { method show_peek_badge (line 501) | pub fn show_peek_badge(&mut self) { method hide_peek_badge (line 506) | pub fn hide_peek_badge(&mut self) { method set_panel_ratio (line 511) | pub fn set_panel_ratio(&mut self, target: f64) { method open_modal (line 516) | pub fn open_modal(&mut self) { method close_modal (line 521) | pub fn close_modal(&mut self) { method start_reveal (line 526) | pub fn start_reveal(&mut self, count: usize) { method clear_reveal (line 544) | pub fn clear_reveal(&mut self) { method reveal_progress (line 550) | pub fn reveal_progress(&self, idx: usize) -> f64 { method focus_flash_progress (line 561) | pub fn focus_flash_progress(&self) -> f32 { method peek_badge_progress (line 569) | pub fn peek_badge_progress(&self) -> f32 { method modal_progress (line 581) | pub fn modal_progress(&self) -> f32 { method panel_ratio_value (line 593) | pub fn panel_ratio_value(&self) -> f64 { method default (line 414) | fn default() -> Self { type AppSurface (line 607) | pub enum AppSurface { method label (line 618) | fn label(self) -> &'static str { method nav_order (line 626) | fn nav_order(self) -> i16 { type AnalyticsView (line 637) | pub enum AnalyticsView { method label (line 657) | pub fn label(self) -> &'static str { method all (line 670) | pub fn all() -> &'static [Self] { method nav_order (line 682) | fn nav_order(self) -> i16 { type ExplorerMetric (line 689) | pub enum ExplorerMetric { method label (line 699) | pub fn label(self) -> &'static str { method next (line 709) | pub fn next(self) -> Self { method prev (line 719) | pub fn prev(self) -> Self { type ExplorerOverlay (line 732) | pub enum ExplorerOverlay { method label (line 741) | pub fn label(self) -> &'static str { method next (line 750) | pub fn next(self) -> Self { type ExplorerZoom (line 762) | pub enum ExplorerZoom { method label (line 772) | pub fn label(self) -> &'static str { method next (line 782) | pub fn next(self) -> Self { method prev (line 792) | pub fn prev(self) -> Self { method to_range (line 803) | pub fn to_range(self) -> (Option, Option) { type BreakdownTab (line 817) | pub enum BreakdownTab { method label (line 826) | pub fn label(self) -> &'static str { method next (line 835) | pub fn next(self) -> Self { method prev (line 844) | pub fn prev(self) -> Self { method all (line 853) | pub fn all() -> &'static [Self] { type HeatmapMetric (line 860) | pub enum HeatmapMetric { method label (line 870) | pub fn label(self) -> &'static str { method next (line 880) | pub fn next(self) -> Self { method prev (line 890) | pub fn prev(self) -> Self { type AnalyticsFilterState (line 903) | pub struct AnalyticsFilterState { type DrilldownContext (line 921) | pub struct DrilldownContext { type DetailTab (line 941) | pub enum DetailTab { type MatchMode (line 956) | pub enum MatchMode { type RankingMode (line 964) | pub enum RankingMode { type ContextWindow (line 976) | pub enum ContextWindow { type TimePreset (line 986) | pub enum TimePreset { method next (line 997) | pub fn next(self) -> Self { method label (line 1008) | pub fn label(self) -> &'static str { type DensityMode (line 1021) | pub enum DensityMode { method row_height (line 1430) | pub fn row_height(self) -> u16 { method snippet_lines (line 1439) | pub fn snippet_lines(self) -> usize { method effective (line 1448) | pub fn effective(self, term_width: u16) -> Self { type FocusRegion (line 1030) | pub enum FocusRegion { type LayoutBreakpoint (line 1083) | pub enum LayoutBreakpoint { method from_width (line 1159) | pub fn from_width(cols: u16) -> Self { method is_ultra_narrow (line 1177) | pub fn is_ultra_narrow(width: u16, height: u16) -> bool { method search_topology (line 1182) | pub fn search_topology(self) -> SearchTopology { method analytics_topology (line 1218) | pub fn analytics_topology(self) -> AnalyticsTopology { method visibility_policy (line 1254) | pub fn visibility_policy(self) -> VisibilityPolicy { method footer_label (line 1290) | pub fn footer_label(self) -> &'static str { method inspector_label (line 1301) | pub fn inspector_label(self) -> &'static str { method cockpit_topology (line 1312) | pub fn cockpit_topology(self, mode: crate::ui::data::CockpitMode) -> C... type SearchTopology (line 1098) | pub struct SearchTopology { type AnalyticsTopology (line 1111) | pub struct AnalyticsTopology { type VisibilityPolicy (line 1138) | pub struct VisibilityPolicy { constant ULTRA_NARROW_MIN_WIDTH (line 1154) | pub const ULTRA_NARROW_MIN_WIDTH: u16 = 30; constant ULTRA_NARROW_MIN_HEIGHT (line 1155) | pub const ULTRA_NARROW_MIN_HEIGHT: u16 = 6; type CockpitTopology (line 1402) | pub struct CockpitTopology { type InspectorTab (line 1464) | pub enum InspectorTab { method label (line 1483) | pub fn label(self) -> &'static str { method short_label (line 1496) | pub fn short_label(self) -> &'static str { method next (line 1508) | pub fn next(self) -> Self { type FrameTimingStats (line 1523) | pub struct FrameTimingStats { method record_frame (line 1544) | pub fn record_frame(&mut self) -> Option { method avg_us (line 1560) | pub fn avg_us(&self) -> u64 { method fps (line 1569) | pub fn fps(&self) -> f64 { method p95_us (line 1578) | pub fn p95_us(&self) -> u64 { method last_us (line 1589) | pub fn last_us(&self) -> u64 { method default (line 1533) | fn default() -> Self { type TuiLatencyPhase (line 1596) | enum TuiLatencyPhase { type PendingTuiLatencySample (line 1602) | struct PendingTuiLatencySample { method new (line 1631) | fn new( method has_pending_frame (line 1667) | fn has_pending_frame(&self) -> bool { method finalize (line 1676) | fn finalize(self, completed: bool) -> TuiLatencySample { type TuiLatencySample (line 1735) | struct TuiLatencySample { type TuiLatencyTraceReport (line 1767) | struct TuiLatencyTraceReport { type TuiLatencyRecorder (line 1773) | struct TuiLatencyRecorder { method new (line 1780) | fn new(output_path: PathBuf) -> Self { method begin_search (line 1788) | fn begin_search( method note_results_applied (line 1809) | fn note_results_applied( method note_refinement_failed (line 1844) | fn note_refinement_failed(&mut self, generation: u64, latency_ms: u128... method note_search_failed (line 1854) | fn note_search_failed(&mut self, generation: u64, error: String) { method note_stream_finished (line 1865) | fn note_stream_finished(&mut self, generation: u64) { method note_frame_rendered (line 1873) | fn note_frame_rendered(&mut self, generation: u64) { method flush (line 1907) | fn flush(&mut self) -> anyhow::Result<()> { method finalize_superseded (line 1924) | fn finalize_superseded(&mut self, next_generation: u64) { method finalize_all (line 1943) | fn finalize_all(&mut self) { method maybe_finalize (line 1956) | fn maybe_finalize(&mut self, generation: u64) { function recorder_captures_initial_visible_latency (line 1971) | fn recorder_captures_initial_visible_latency() { function recorder_marks_initial_phase_as_superseded_when_refined_wins_first_frame (line 1993) | fn recorder_marks_initial_phase_as_superseded_when_refined_wins_first_fr... function micros_between (line 2016) | fn micros_between(start: Instant, end: Option) -> Option { function micros_between_optional (line 2020) | fn micros_between_optional(start: Option, end: Option)... function latency_trace_recorder_from_env (line 2024) | fn latency_trace_recorder_from_env() -> anyhow::Result bool { constant TIMELINE_CAPACITY (line 2057) | const TIMELINE_CAPACITY: usize = 20; type TimelineEventKind (line 2061) | pub enum TimelineEventKind { method label (line 2071) | pub fn label(self) -> &'static str { type TimelineEvent (line 2082) | pub struct TimelineEvent { type TimelineBuffer (line 2093) | pub struct TimelineBuffer { method new (line 2102) | pub fn new() -> Self { method update_from_snapshots (line 2116) | pub fn update_from_snapshots( method push (line 2177) | fn push(&mut self, event: TimelineEvent) { method recent (line 2185) | pub fn recent(&self) -> impl Iterator { method len (line 2190) | pub fn len(&self) -> usize { method is_empty (line 2194) | pub fn is_empty(&self) -> bool { type EvidenceSnapshots (line 2207) | pub struct EvidenceSnapshots { method refresh (line 2223) | pub fn refresh(&mut self) { method has_any (line 2233) | pub fn has_any(&self) -> bool { method resize_regime_label (line 2238) | pub fn resize_regime_label(&self) -> &'static str { method degradation_label (line 2249) | pub fn degradation_label(&self) -> &'static str { method sync_cockpit (line 2268) | pub fn sync_cockpit(&self, cockpit: &mut CockpitState) { type ResizeDecisionEntry (line 2331) | pub struct ResizeDecisionEntry { constant RESIZE_HISTORY_CAPACITY (line 2368) | pub const RESIZE_HISTORY_CAPACITY: usize = 32; type ResizeEvidenceSummary (line 2371) | pub struct ResizeEvidenceSummary { method update_from_raw (line 2422) | pub fn update_from_raw( method has_data (line 2478) | pub fn has_data(&self) -> bool { method history_len (line 2483) | pub fn history_len(&self) -> usize { method default (line 2399) | fn default() -> Self { type DetailFindState (line 2490) | pub struct DetailFindState { type ResultsGrouping (line 2498) | pub enum ResultsGrouping { method label (line 2507) | pub fn label(self) -> &'static str { method next (line 2516) | pub fn next(self) -> Self { type UndoEntry (line 2528) | pub struct UndoEntry { type UndoHistory (line 2540) | pub struct UndoHistory { method push (line 2558) | pub fn push(&mut self, entry: UndoEntry) { method pop_undo (line 2567) | pub fn pop_undo(&mut self, current: UndoEntry) -> Option { method pop_redo (line 2574) | pub fn pop_redo(&mut self, current: UndoEntry) -> Option { method can_undo (line 2580) | pub fn can_undo(&self) -> bool { method can_redo (line 2584) | pub fn can_redo(&self) -> bool { method default (line 2547) | fn default() -> Self { type AgentPane (line 2591) | pub struct AgentPane { type SelectedHitKey (line 2602) | pub struct SelectedHitKey { method from_hit (line 2613) | fn from_hit(hit: &SearchHit) -> Self { type ResultItem (line 2635) | pub struct ResultItem { method source_badge (line 3228) | fn source_badge(&self) -> String { method source_kind (line 3238) | fn source_kind(&self) -> &'static str { method source_kind_icon (line 3246) | fn source_kind_icon(&self) -> &'static str { method display_agent_slug (line 3254) | fn display_agent_slug(&self) -> &str { method display_workspace_label (line 3258) | fn display_workspace_label(&self, max_cols: usize) -> String { method location_label (line 3267) | fn location_label(&self) -> String { method match_type_label (line 3275) | fn match_type_label(&self) -> &'static str { method snippet_source_raw (line 3286) | fn snippet_source_raw(&self) -> &str { method char_boundary_at (line 3290) | fn char_boundary_at(text: &str, char_limit: usize) -> usize { method wrap_break_index (line 3302) | fn wrap_break_index(line: &str, width: usize) -> usize { method snippet_line_budget (line 3313) | fn snippet_line_budget(&self, max_width: usize) -> usize { method compact_snippet_preview (line 3333) | fn compact_snippet_preview(&self, max_width: usize) -> Option { method snippet_lines (line 3340) | fn snippet_lines(&self, max_width: usize, max_lines: usize) -> Vec Vec> { type RowMiniAnalytics (line 2685) | pub struct RowMiniAnalytics { type ResultSessionSummaryKey (line 2690) | type ResultSessionSummaryKey = (String, String, Option, String); function result_session_summary_key (line 2692) | fn result_session_summary_key(hit: &SearchHit) -> ResultSessionSummaryKey { function trimmed_non_empty (line 2705) | fn trimmed_non_empty(value: &str) -> Option<&str> { function trimmed_option_non_empty (line 2710) | fn trimmed_option_non_empty(value: Option<&str>) -> Option<&str> { function hit_title_display (line 2714) | fn hit_title_display(hit: &SearchHit) -> Option<&str> { function hit_agent_display (line 2718) | fn hit_agent_display(hit: &SearchHit) -> &str { function hit_source_id_display (line 2722) | fn hit_source_id_display(hit: &SearchHit) -> &str { function source_display_label (line 2732) | fn source_display_label(source_id: &str, origin_host: Option<&str>) -> S... function hit_is_local_source (line 2744) | fn hit_is_local_source(hit: &SearchHit) -> bool { function normalized_source_kind (line 2748) | fn normalized_source_kind(origin_kind: Option<&str>, source_id: &str) ->... function normalize_source_filter (line 2767) | fn normalize_source_filter(filter: SourceFilter) -> SourceFilter { function workspace_original_from_metadata (line 2774) | fn workspace_original_from_metadata(metadata: &serde_json::Value) -> Opt... function conversation_view_workspace_display (line 2783) | fn conversation_view_workspace_display(view: &ConversationView) -> Optio... function display_group_name (line 2796) | fn display_group_name(key: &str) -> String { function legacy_agent_color (line 2811) | fn legacy_agent_color(agent: &str) -> ftui::PackedRgba { function dim_packed_color (line 2827) | fn dim_packed_color(color: ftui::PackedRgba, factor: f32) -> ftui::Packe... function lerp_u8 (line 2837) | fn lerp_u8(a: u8, b: u8, t: f32) -> u8 { function max_visible_panes_for_width (line 2842) | fn max_visible_panes_for_width(width: u16) -> usize { function pane_filter_matches_hit (line 2853) | fn pane_filter_matches_hit(hit: &SearchHit, filter: &str) -> bool { function format_number_with_grouping (line 2888) | fn format_number_with_grouping(n: i64) -> String { function smart_timestamp (line 2906) | fn smart_timestamp(ts: i64) -> Option> { function ts_to_secs (line 2915) | fn ts_to_secs(ts: i64) -> i64 { function format_compact_metric (line 2923) | fn format_compact_metric(n: i64) -> String { function autocomplete_csv_suffix (line 2936) | fn autocomplete_csv_suffix(input: &str, candidates: &BTreeSet) -... function display_width (line 2965) | fn display_width(s: &str) -> usize { function last_path_component (line 2970) | fn last_path_component(path: &str) -> &str { function elide_text (line 2978) | fn elide_text(text: &str, max_cols: usize) -> String { function decode_html_entities (line 3010) | fn decode_html_entities(text: &str) -> String { function strip_markdown_bold (line 3060) | fn strip_markdown_bold(text: &str) -> String { function search_hit_snippet_fallback_text_opt (line 3081) | fn search_hit_snippet_fallback_text_opt(hit: &SearchHit) -> Option<&str> { function search_hit_snippet_fallback_text (line 3097) | fn search_hit_snippet_fallback_text(hit: &SearchHit) -> &str { function clamp_cursor_boundary (line 3101) | fn clamp_cursor_boundary(text: &str, cursor: usize) -> usize { function prev_cursor_boundary (line 3109) | fn prev_cursor_boundary(text: &str, cursor: usize) -> usize { function next_cursor_boundary (line 3121) | fn next_cursor_boundary(text: &str, cursor: usize) -> usize { function move_cursor_by_chars (line 3133) | fn move_cursor_by_chars(text: &str, cursor: usize, delta: i32) -> usize { function move_cursor_to_word_boundary (line 3156) | fn move_cursor_to_word_boundary(text: &str, cursor: usize, forward: bool... function elide_path_for_metadata (line 3199) | fn elide_path_for_metadata(path: &str, max_cols: usize) -> String { method render (line 3433) | fn render( method height (line 3714) | fn height(&self) -> u16 { function highlight_query_spans (line 3724) | fn highlight_query_spans( function extract_query_terms (line 3797) | fn extract_query_terms(query: &str) -> Vec { function normalize_score_for_visuals (line 3872) | fn normalize_score_for_visuals(score: f32) -> f32 { function score_display_label (line 3884) | fn score_display_label(score: f32) -> String { function score_bar_str (line 3901) | fn score_bar_str(score: f32) -> String { function build_styled_hints (line 3926) | fn build_styled_hints( function line_into_static (line 3956) | fn line_into_static(line: ftui::text::Line<'_>) -> ftui::text::Line<'sta... function lines_into_static (line 3961) | fn lines_into_static(lines: Vec>) -> Vec, empty_label: &str) ... function format_time_chip (line 4207) | fn format_time_chip(from: Option, to: Option) -> Option { function ranking_mode_label (line 4220) | fn ranking_mode_label(mode: RankingMode) -> &'static str { function search_mode_token (line 4231) | fn search_mode_token(mode: SearchMode) -> &'static str { function match_mode_token (line 4239) | fn match_mode_token(mode: MatchMode) -> &'static str { function context_window_token (line 4246) | fn context_window_token(window: ContextWindow) -> &'static str { function compact_i64_for_analytics (line 4255) | fn compact_i64_for_analytics(value: i64) -> String { function sparkline_from_values (line 4269) | fn sparkline_from_values(values: &[f64], max_width: usize) -> String { type SavedView (line 4318) | pub struct SavedView { type ScreenshotFormat (line 4335) | pub enum ScreenshotFormat { method extension (line 4345) | pub fn extension(self) -> &'static str { method label (line 4353) | pub fn label(self) -> &'static str { type SourcesViewItem (line 4368) | pub struct SourcesViewItem { type SourcesRowEphemeralState (line 4396) | struct SourcesRowEphemeralState { method from_item (line 4402) | fn from_item(item: &SourcesViewItem) -> Self { type SourcesViewState (line 4412) | pub struct SourcesViewState { function format_source_sync_status (line 4427) | fn format_source_sync_status(report: &crate::sources::SyncReport) -> Str... function apply_source_sync_info_to_item (line 4464) | fn apply_source_sync_info_to_item( type PaletteLatencyStats (line 4482) | pub struct PaletteLatencyStats { method record (line 4499) | pub fn record(&mut self, us: u64) { method avg_us (line 4507) | pub fn avg_us(&self) -> u64 { method queries_per_sec (line 4512) | pub fn queries_per_sec(&self) -> f64 { method budget_indicator (line 4523) | pub fn budget_indicator(&self) -> &'static str { method reset (line 4534) | pub fn reset(&mut self) { type CassApp (line 4547) | pub struct CassApp { method refresh_theme_config_from_data_dir (line 5136) | fn refresh_theme_config_from_data_dir(&mut self) { method init_focus_graph (line 5178) | fn init_focus_graph(&mut self) { method focused_region (line 5268) | pub fn focused_region(&self) -> FocusRegion { method state_file_path (line 5278) | fn state_file_path(&self) -> PathBuf { method max_detail_scroll (line 5282) | fn max_detail_scroll(&self) -> u32 { method set_detail_scroll_clamped (line 5288) | fn set_detail_scroll_clamped(&mut self, target: u32) { method apply_persisted_state (line 5297) | fn apply_persisted_state(&mut self, state: &PersistedState, mark_first... method bootstrap_persisted_state (line 5362) | fn bootstrap_persisted_state(&mut self) { method begin_state_save (line 5375) | fn begin_state_save(&mut self) -> Option { method complete_state_save (line 5387) | fn complete_state_save(&mut self, save_token: u64, succeeded: bool) ->... method capture_persisted_state (line 5405) | fn capture_persisted_state(&self) -> PersistedState { method resolved_style_context (line 5427) | fn resolved_style_context(&self) -> StyleContext { method persist_theme_selection (line 5438) | fn persist_theme_selection(&mut self) -> Result<(), String> { method selected_hit (line 5454) | fn selected_hit(&self) -> Option<&SearchHit> { method active_hit_key (line 5461) | fn active_hit_key(&self) -> Option { method cached_detail_for_hit (line 5465) | fn cached_detail_for_hit(&self, hit: &SearchHit) -> Option<&Conversati... method cached_detail_for_render (line 5471) | fn cached_detail_for_render(&self, hit: &SearchHit) -> Option<&Convers... method collect_session_hit_lines (line 5492) | fn collect_session_hit_lines(&self, selected_hit: &SearchHit) -> Vec Vec { method settled_zero_results_visible (line 5628) | fn settled_zero_results_visible(&self) -> bool { method pending_query_search_visible (line 5638) | fn pending_query_search_visible(&self) -> bool { method active_empty_results_search_visible (line 5646) | fn active_empty_results_search_visible(&self) -> bool { method failed_empty_results_visible (line 5650) | fn failed_empty_results_visible(&self) -> bool { method visible_query_suggestion_count (line 5659) | fn visible_query_suggestion_count(&self) -> usize { method visible_query_suggestion_row_for_shortcut (line 5667) | fn visible_query_suggestion_row_for_shortcut(&self, shortcut: u8) -> O... method clear_search_surface_hit_regions (line 5678) | fn clear_search_surface_hit_regions(&self) { method hit_test (line 5690) | fn hit_test(&self, x: u16, y: u16) -> MouseHitRegion { method update_banner_visible (line 5808) | fn update_banner_visible(&self) -> bool { method can_handle_update_shortcuts (line 5815) | fn can_handle_update_shortcuts(&self) -> bool { method footer_hint_context_key (line 5828) | fn footer_hint_context_key(&self) -> &'static str { method palette_result_to_cmd (line 5872) | fn palette_result_to_cmd(&mut self, result: PaletteResult) -> ftui::Cm... method footer_hint_slots (line 5958) | fn footer_hint_slots(width: u16) -> usize { method footer_hint_budget (line 5964) | fn footer_hint_budget(width: u16) -> usize { method footer_hint_candidates (line 5970) | fn footer_hint_candidates(&self) -> Vec { method build_contextual_footer_hints (line 6082) | fn build_contextual_footer_hints(&self, width: u16) -> String { method build_surface_shell_line (line 6154) | fn build_surface_shell_line( method sort_saved_views (line 6291) | fn sort_saved_views(&mut self) { method clamp_saved_views_selection (line 6295) | fn clamp_saved_views_selection(&mut self) { method selected_saved_view_slot (line 6305) | fn selected_saved_view_slot(&self) -> Option { method selected_saved_view_label (line 6311) | fn selected_saved_view_label(&self) -> Option { method move_saved_views_selection (line 6317) | fn move_saved_views_selection(&mut self, delta: i32) { method reorder_saved_views (line 6327) | fn reorder_saved_views(&mut self, from_idx: usize, to_idx: usize) -> b... method panel_ratio_from_mouse_x (line 6348) | fn panel_ratio_from_mouse_x(&self, x: u16) -> Option { method help_overlay_popup_area (line 6361) | fn help_overlay_popup_area(&self) -> Option { method apply_panel_ratio_from_mouse_x (line 6373) | fn apply_panel_ratio_from_mouse_x(&mut self, x: u16) -> bool { method enter_results_navigation_context (line 6387) | fn enter_results_navigation_context(&mut self) { method enter_query_input_context (line 6395) | fn enter_query_input_context(&mut self) { method set_query_cursor_from_search_bar_click (line 6404) | fn set_query_cursor_from_search_bar_click(&mut self, x: u16) { method enter_detail_focus_context (line 6452) | fn enter_detail_focus_context(&mut self) { method interactive_search_limit (line 6456) | fn interactive_search_limit(&self) -> usize { method build_search_params (line 6466) | fn build_search_params(&self, pass: SearchPass, offset: usize) -> Sear... method dispatch_search_pass (line 6484) | fn dispatch_search_pass( method progressive_subscription_id (line 6533) | fn progressive_subscription_id(generation: u64) -> SubId { method live_request_is_progressive_for (line 6537) | fn live_request_is_progressive_for(&self, generation: u64) -> bool { method trace_search_requested (line 6543) | fn trace_search_requested( method trace_search_results_applied (line 6564) | fn trace_search_results_applied( method trace_search_failed (line 6579) | fn trace_search_failed(&self, generation: u64, error: &str) { method trace_search_refinement_failed (line 6588) | fn trace_search_refinement_failed(&self, generation: u64, latency_ms: ... method trace_search_stream_finished (line 6597) | fn trace_search_stream_finished(&self, generation: u64) { method trace_search_frame_rendered (line 6606) | fn trace_search_frame_rendered(&self) { method delayed_tick (line 6615) | fn delayed_tick(delay: Duration) -> ftui::Cmd { method split_content_area (line 6622) | fn split_content_area( method capture_undo_state (line 6659) | fn capture_undo_state(&self, description: &'static str) -> UndoEntry { method restore_undo_state (line 6672) | fn restore_undo_state(&mut self, entry: UndoEntry) -> ftui::Cmd usize { method adjust_pane_scroll_offset (line 6823) | fn adjust_pane_scroll_offset(&mut self) { method timeline_jump_index (line 6843) | fn timeline_jump_index(&self, forward: bool) -> Option { method input_autocomplete_candidates (line 6876) | fn input_autocomplete_candidates(&self) -> BTreeSet { method autocomplete_input_buffer (line 6935) | fn autocomplete_input_buffer(&self) -> Option { method refresh_available_source_ids (line 6940) | fn refresh_available_source_ids(&mut self) { method source_menu_items (line 6955) | fn source_menu_items(&self) -> Vec<(String, SourceFilter)> { method source_menu_total_items (line 6970) | fn source_menu_total_items(&self) -> usize { method move_source_menu_selection (line 6974) | fn move_source_menu_selection(&mut self, delta: i32) { method source_filter_from_menu_selection (line 6980) | fn source_filter_from_menu_selection(&self) -> SourceFilter { method source_filter_status (line 6994) | fn source_filter_status(filter: &SourceFilter) -> String { method filter_pills (line 7003) | fn filter_pills(&self) -> Vec { method build_pills_row (line 7088) | fn build_pills_row( method results_reveal_motion_enabled (line 7202) | fn results_reveal_motion_enabled( method loading_spinner_glyph (line 7212) | fn loading_spinner_glyph(&self) -> &'static str { method loading_hud_token (line 7226) | fn loading_hud_token(&self) -> Option { method set_loading_context (line 7231) | fn set_loading_context(&mut self, context: LoadingContext) { method clear_loading_context (line 7235) | fn clear_loading_context(&mut self, context: LoadingContext) { method should_show_progress_bar (line 7242) | fn should_show_progress_bar(&self) -> bool { method render_progress_bar (line 7250) | fn render_progress_bar( method schedule_analytics_reload (line 7311) | fn schedule_analytics_reload(&mut self) -> ftui::Cmd { method view_transition_motion_enabled (line 7321) | fn view_transition_motion_enabled( method capture_view_transition_snapshot (line 7334) | fn capture_view_transition_snapshot(&self, frame: &super::ftui_adapter... method latest_surface_snapshot (line 7347) | fn latest_surface_snapshot(&self, surface: AppSurface) -> Option Option Option<(Rect,... method start_surface_transition (line 7398) | fn start_surface_transition(&mut self, from: AppSurface, to: AppSurfac... method start_analytics_view_transition (line 7419) | fn start_analytics_view_transition( method render_view_transition_overlay (line 7443) | fn render_view_transition_overlay( method results_focus_flash_intensity (line 7542) | fn results_focus_flash_intensity( method filtered_result_hits_for_stats (line 7553) | fn filtered_result_hits_for_stats(&self) -> Vec<&SearchHit> { method build_result_row_mini_analytics_map (line 7581) | fn build_result_row_mini_analytics_map( method build_results_stats_line (line 7595) | fn build_results_stats_line(&self, width: u16, styles: &StyleContext) ... method build_results_overview_line (line 7670) | fn build_results_overview_line( method render_results_pane (line 7821) | fn render_results_pane( method role_style (line 8650) | fn role_style(role: &MessageRole, styles: &StyleContext) -> ftui::Style { method role_gutter_style (line 8661) | fn role_gutter_style(role: &MessageRole, styles: &StyleContext) -> ftu... method role_prefix (line 8672) | fn role_prefix(role: &MessageRole) -> &'static str { method build_detail_header_lines (line 8686) | fn build_detail_header_lines( method build_text_sparkline (line 8877) | fn build_text_sparkline(messages: &[crate::model::types::Message], max... method build_messages_lines (line 8919) | fn build_messages_lines( method build_snippets_lines (line 9241) | fn build_snippets_lines( method build_raw_lines (line 9316) | fn build_raw_lines(&self, hit: &SearchHit, styles: &StyleContext) -> V... method build_json_lines (line 9442) | fn build_json_lines( method apply_find_highlight (line 9598) | fn apply_find_highlight( method build_analytics_lines (line 9761) | fn build_analytics_lines( method detail_export_state_for_hit (line 10068) | fn detail_export_state_for_hit(&self, hit: &SearchHit) -> ExportModalS... method markdown_filename_from_html (line 10129) | fn markdown_filename_from_html(html_filename: &str) -> String { method refresh_open_export_modal_for_hit (line 10140) | fn refresh_open_export_modal_for_hit(&mut self, hit: &SearchHit) { method detail_clipboard_width (line 10162) | fn detail_clipboard_width(&self) -> u16 { method flatten_detail_lines (line 10170) | fn flatten_detail_lines(lines: &[ftui::text::Line<'_>]) -> String { method rendered_detail_text_for_hit (line 10183) | fn rendered_detail_text_for_hit(&self, hit: &SearchHit) -> String { method build_export_lines (line 10230) | fn build_export_lines( method render_detail_pane (line 10339) | fn render_detail_pane( method render_palette_evidence (line 10906) | fn render_palette_evidence( method render_inspector_overlay (line 11031) | fn render_inspector_overlay( method render_toasts (line 11563) | fn render_toasts( method build_help_lines (line 11650) | fn build_help_lines(&self, styles: &StyleContext) -> Vec usize { method analytics_tabs_line (line 12665) | fn analytics_tabs_line( method analytics_metrics_line (line 12704) | fn analytics_metrics_line( method analytics_filter_summary (line 12770) | fn analytics_filter_summary(&self) -> String { method rebuild_sources_view (line 12811) | fn rebuild_sources_view( method adjusted_sources_scroll (line 12896) | fn adjusted_sources_scroll( method load_sources_view (line 12925) | fn load_sources_view(&mut self) { method ensure_sources_selection_visible (line 12961) | fn ensure_sources_selection_visible(&mut self) { method sources_status_is_sticky_warning (line 12970) | fn sources_status_is_sticky_warning(status: &str) -> bool { method analytics_selectable_count (line 12976) | fn analytics_selectable_count(&self) -> usize { method build_drilldown_context (line 12998) | fn build_drilldown_context(&self) -> Option { type Message (line 15086) | type Message = CassMsg; method init (line 15088) | fn init(&mut self) -> ftui::Cmd { method subscriptions (line 15104) | fn subscriptions(&self) -> Vec>> { method update (line 15119) | fn update(&mut self, msg: CassMsg) -> ftui::Cmd { method view (line 20244) | fn view(&self, frame: &mut super::ftui_adapter::Frame) { method default (line 4934) | fn default() -> Self { function day_label_to_epoch_range (line 13127) | fn day_label_to_epoch_range(label: &str) -> Option<(i64, i64)> { type CassMsg (line 13185) | pub enum CassMsg { method from (line 14775) | fn from(event: super::ftui_adapter::Event) -> Self { type FocusDirection (line 13675) | pub enum FocusDirection { type SavedViewDragState (line 13683) | pub struct SavedViewDragState { type PaneSplitDragState (line 13689) | pub struct PaneSplitDragState; type HoveredResult (line 13692) | pub struct HoveredResult { type LiveSearchRequest (line 13698) | struct LiveSearchRequest { type MouseEventKind (line 13706) | pub enum MouseEventKind { type MouseHitRegion (line 13719) | enum MouseHitRegion { type TerminalEventPayload (line 13747) | pub struct TerminalEventPayload { type PersistedState (line 13758) | pub struct PersistedState { type PersistedSavedView (line 13779) | struct PersistedSavedView { type PersistedStateFile (line 13803) | struct PersistedStateFile { function parse_search_mode (line 13846) | fn parse_search_mode(value: &str) -> Option { function search_mode_str (line 13855) | fn search_mode_str(value: SearchMode) -> &'static str { function parse_match_mode (line 13863) | fn parse_match_mode(value: &str) -> Option { function match_mode_str (line 13871) | fn match_mode_str(value: MatchMode) -> &'static str { function parse_ranking_mode (line 13878) | fn parse_ranking_mode(value: &str) -> Option { function ranking_mode_str (line 13890) | fn ranking_mode_str(value: RankingMode) -> &'static str { function parse_context_window (line 13901) | fn parse_context_window(value: &str) -> Option { function context_window_str (line 13911) | fn context_window_str(value: ContextWindow) -> &'static str { function parse_density_mode (line 13920) | fn parse_density_mode(value: &str) -> Option { function density_mode_str (line 13929) | fn density_mode_str(value: DensityMode) -> &'static str { function source_filter_to_parts (line 13937) | fn source_filter_to_parts(filter: &SourceFilter) -> (String, Option Option PersistedState { function persisted_state_file_from_state (line 14011) | fn persisted_state_file_from_state(state: &PersistedState) -> PersistedS... function persisted_state_from_file (line 14065) | fn persisted_state_from_file(file: PersistedStateFile) -> PersistedState { function load_persisted_state_from_path (line 14167) | fn load_persisted_state_from_path(path: &Path) -> Result Result... function sync_file_path (line 14248) | fn sync_file_path(path: &Path) -> Result<(), String> { function sync_parent_directory (line 14255) | fn sync_parent_directory(path: &Path) -> Result<(), String> { function sync_parent_directory (line 14265) | fn sync_parent_directory(_path: &Path) -> Result<(), String> { function unique_atomic_temp_path (line 14269) | fn unique_atomic_temp_path(path: &Path) -> PathBuf { function unique_atomic_sidecar_path (line 14273) | fn unique_atomic_sidecar_path(path: &Path, suffix: &str, fallback_name: ... function save_persisted_state_to_path (line 14294) | fn save_persisted_state_to_path(path: &Path, state: &PersistedState) -> ... function clear_persisted_state_file (line 14309) | fn clear_persisted_state_file(path: &Path) -> Result<(), String> { function persist_state_snapshot (line 14317) | fn persist_state_snapshot( type SearchService (line 14348) | pub trait SearchService: Send + Sync { method execute (line 14350) | fn execute(&self, params: &SearchParams) -> Result; method execute (line 14632) | fn execute(&self, params: &SearchParams) -> Result SubId { method run (line 14386) | fn run(&self, sender: std::sync::mpsc::Sender, stop: StopSign... type SearchResult (line 14394) | pub struct SearchResult { type IndexService (line 14402) | pub trait IndexService: Send + Sync { method refresh (line 14404) | fn refresh(&self) -> Result<(), String>; method is_running (line 14407) | fn is_running(&self) -> bool; type EditorService (line 14411) | pub trait EditorService: Send + Sync { method open (line 14413) | fn open(&self, path: &str, line: Option) -> Result<(), String>; method open_many (line 14416) | fn open_many(&self, paths: &[String]) -> Result<(), String>; type ExportService (line 14420) | pub trait ExportService: Send + Sync { method export_html (line 14422) | fn export_html( type ExportResult (line 14434) | pub struct ExportResult { type PersistenceService (line 14442) | pub trait PersistenceService: Send + Sync { method load (line 14444) | fn load(&self) -> Result, String>; method save (line 14447) | fn save(&self, state: &PersistedState) -> Result<(), String>; method reset (line 14450) | fn reset(&self) -> Result<(), String>; type TantivySearchService (line 14455) | struct TantivySearchService { method new (line 14461) | fn new(client: Arc) -> Self { method progressive_enabled (line 14478) | fn progressive_enabled() -> bool { method request_is_progressive_eligible (line 14485) | fn request_is_progressive_eligible(params: &SearchParams, live_runtime... method request_eligible_for_progressive (line 14494) | fn request_eligible_for_progressive(&self, params: &SearchParams) -> b... method run_live_search_stream (line 14498) | fn run_live_search_stream( constant SEARCH_DEBOUNCE (line 14755) | const SEARCH_DEBOUNCE: std::time::Duration = std::time::Duration::from_m... constant STATE_SAVE_DEBOUNCE (line 14756) | const STATE_SAVE_DEBOUNCE: Duration = Duration::from_millis(450); constant DRAG_JITTER_THRESHOLD (line 14761) | const DRAG_JITTER_THRESHOLD: u16 = 2; constant DRAG_HOVER_SETTLE_MS (line 14766) | const DRAG_HOVER_SETTLE_MS: u64 = 80; constant TUI_STATE_FILE_NAME (line 14767) | const TUI_STATE_FILE_NAME: &str = "tui_state.json"; constant QUERY_HISTORY_CAP (line 14768) | const QUERY_HISTORY_CAP: usize = 50; function write_screenshot_file (line 21630) | fn write_screenshot_file(format: ScreenshotFormat, content: String) -> f... function write_screenshot_file_sync (line 21634) | fn write_screenshot_file_sync(format: ScreenshotFormat, content: String)... function write_export_bytes_no_overwrite (line 21652) | fn write_export_bytes_no_overwrite( function tui_prefers_direct_followup_file (line 21717) | fn tui_prefers_direct_followup_file(hit: &SearchHit) -> bool { function load_local_export_raw_messages (line 21737) | fn load_local_export_raw_messages( function load_indexed_export_view (line 21784) | fn load_indexed_export_view( function export_session_task (line 21804) | fn export_session_task( function export_session_markdown_task (line 21968) | fn export_session_markdown_task( type InlineTuiConfig (line 22073) | pub struct InlineTuiConfig { type MacroConfig (line 22081) | pub struct MacroConfig { function macro_save_dir (line 22089) | fn macro_save_dir() -> PathBuf { function build_resize_config (line 22102) | pub fn build_resize_config( function cass_runtime_budget_config (line 22164) | fn cass_runtime_budget_config() -> ftui::render::budget::FrameBudgetConf... function env_truthy_opt (line 22180) | fn env_truthy_opt(raw: Option) -> bool { function should_upgrade_style_profile_for_dumb_term (line 22190) | fn should_upgrade_style_profile_for_dumb_term( function run_tui_ftui (line 22219) | pub fn run_tui_ftui( function save_macro (line 22472) | pub fn save_macro( function load_macro (line 22512) | pub fn load_macro(path: &Path) -> anyhow::Result { function serialize_event (line 22566) | fn serialize_event(event: &Event) -> String { function serialize_keycode (line 22591) | fn serialize_keycode(code: &KeyCode) -> String { function serialize_modifiers (line 22616) | fn serialize_modifiers(mods: Modifiers) -> String { function deserialize_event (line 22630) | fn deserialize_event(v: &serde_json::Value) -> Option { function deserialize_keycode (line 22671) | fn deserialize_keycode(v: &serde_json::Value) -> Option { function deserialize_modifiers (line 22704) | fn deserialize_modifiers(v: &serde_json::Value) -> Modifiers { function redact_event_paths (line 22723) | fn redact_event_paths(event: &Event, home: &std::path::Path) -> Event { function roundtrip_key_event (line 22746) | fn roundtrip_key_event() { function roundtrip_special_keys (line 22763) | fn roundtrip_special_keys() { function roundtrip_resize_event (line 22793) | fn roundtrip_resize_event() { function roundtrip_modifier_combinations (line 22811) | fn roundtrip_modifier_combinations() { function save_load_roundtrip (line 22822) | fn save_load_roundtrip() { function null_events_are_skipped (line 22866) | fn null_events_are_skipped() { function path_redaction_replaces_home_dir_in_paste (line 22880) | fn path_redaction_replaces_home_dir_in_paste() { function path_redaction_preserves_non_paste_events (line 22895) | fn path_redaction_preserves_non_paste_events() { function save_load_roundtrip_with_redaction (line 22907) | fn save_load_roundtrip_with_redaction() { function split_editor_command (line 22951) | fn split_editor_command(editor: &str) -> (String, Vec) { function copy_to_clipboard (line 22963) | fn copy_to_clipboard(text: &str) -> Result<(), String> { function take_test_clipboard (line 22974) | fn take_test_clipboard() -> Option { function copy_to_clipboard (line 22987) | fn copy_to_clipboard(text: &str) -> Result<(), String> { function run_editor_command (line 23012) | fn run_editor_command(cmd: &mut StdCommand) -> Result<(), String> { function take_test_editor_invocations (line 23034) | fn take_test_editor_invocations() -> Vec> { function clear_test_editor_invocations (line 23043) | fn clear_test_editor_invocations() { function swap_test_action_sources_config (line 23048) | fn swap_test_action_sources_config( function swap_test_action_editor_command (line 23058) | fn swap_test_action_editor_command(next: Option) -> Result String { function load_sources_config_for_actions (line 23078) | fn load_sources_config_for_actions() -> Option { function run_editor_command (line 23090) | fn run_editor_command(cmd: &mut StdCommand) -> Result<(), String> { function open_hits_in_editor (line 23103) | fn open_hits_in_editor(hits: &[SearchHit], editor_cmd: &str) -> Result<(... function open_hits_in_editor_with_config (line 23108) | fn open_hits_in_editor_with_config( function actionable_path_for_hit_with_config (line 23144) | fn actionable_path_for_hit_with_config(config: Option<&SourcesConfig>, h... type TraceBufferWriter (line 23176) | struct TraceBufferWriter(Arc>>); method write (line 23179) | fn write(&mut self, buf: &[u8]) -> std::io::Result { method flush (line 23186) | fn flush(&mut self) -> std::io::Result<()> { function capture_trace_output (line 23191) | fn capture_trace_output(f: F) -> String type ActionOverrideGuard (line 23217) | struct ActionOverrideGuard { method install (line 23223) | fn install(config: Option, editor_cmd: Option<&str>) ->... method drop (line 23237) | fn drop(&mut self) { function cass_app_default_initializes_with_sane_defaults (line 23244) | fn cass_app_default_initializes_with_sane_defaults() { function model_download_accepted_closes_consent_and_sets_downloading_state (line 23275) | fn model_download_accepted_closes_consent_and_sets_downloading_state() { function model_download_progress_updates_downloading_state (line 23296) | fn model_download_progress_updates_downloading_state() { function model_download_completed_sets_ready_state (line 23315) | fn model_download_completed_sets_ready_state() { function model_download_failed_sets_not_installed_state (line 23328) | fn model_download_failed_sets_not_installed_state() { function hash_mode_accept_sets_hash_fallback_state (line 23341) | fn hash_mode_accept_sets_hash_fallback_state() { function model_download_events_do_not_override_hash_fallback (line 23358) | fn model_download_events_do_not_override_hash_fallback() { function all_detail_tab_variants_constructible (line 23396) | fn all_detail_tab_variants_constructible() { function all_match_mode_variants_constructible (line 23406) | fn all_match_mode_variants_constructible() { function all_ranking_mode_variants_constructible (line 23412) | fn all_ranking_mode_variants_constructible() { function all_context_window_variants_constructible (line 23422) | fn all_context_window_variants_constructible() { function all_density_mode_variants_constructible (line 23430) | fn all_density_mode_variants_constructible() { function all_focus_region_variants_constructible (line 23437) | fn all_focus_region_variants_constructible() { function cass_msg_key_variants_constructible (line 23443) | fn cass_msg_key_variants_constructible() { function event_mapping_ctrl_shift_y_maps_to_copy_query (line 23462) | fn event_mapping_ctrl_shift_y_maps_to_copy_query() { function event_mapping_ctrl_y_maps_to_copy_path (line 23473) | fn event_mapping_ctrl_y_maps_to_copy_path() { function event_mapping_ctrl_m_maps_to_detail_opened (line 23482) | fn event_mapping_ctrl_m_maps_to_detail_opened() { function event_mapping_ctrl_j_maps_to_detail_opened (line 23491) | fn event_mapping_ctrl_j_maps_to_detail_opened() { function event_mapping_ctrl_s_maps_to_stats_bar_toggled (line 23500) | fn event_mapping_ctrl_s_maps_to_stats_bar_toggled() { function event_mapping_ctrl_shift_s_maps_to_sources_entered (line 23509) | fn event_mapping_ctrl_shift_s_maps_to_sources_entered() { function event_mapping_alt_question_maps_to_help_toggled (line 23520) | fn event_mapping_alt_question_maps_to_help_toggled() { function event_mapping_alt_a_maps_to_analytics_entered (line 23529) | fn event_mapping_alt_a_maps_to_analytics_entered() { function event_mapping_space_maps_to_query_changed_space (line 23538) | fn event_mapping_space_maps_to_query_changed_space() { function event_mapping_ctrl_space_maps_to_peek_toggled (line 23550) | fn event_mapping_ctrl_space_maps_to_peek_toggled() { function event_mapping_question_mark_maps_to_query_changed (line 23559) | fn event_mapping_question_mark_maps_to_query_changed() { function event_mapping_slash_maps_to_query_changed (line 23571) | fn event_mapping_slash_maps_to_query_changed() { function event_mapping_y_maps_to_query_changed (line 23583) | fn event_mapping_y_maps_to_query_changed() { function event_mapping_plus_maps_to_query_changed (line 23595) | fn event_mapping_plus_maps_to_query_changed() { function event_mapping_alt_slash_maps_to_pane_filter_opened (line 23607) | fn event_mapping_alt_slash_maps_to_pane_filter_opened() { function event_mapping_alt_y_maps_to_copy_snippet (line 23616) | fn event_mapping_alt_y_maps_to_copy_snippet() { function event_mapping_alt_plus_maps_to_pane_grew (line 23625) | fn event_mapping_alt_plus_maps_to_pane_grew() { function event_mapping_alt_equals_maps_to_pane_grew (line 23634) | fn event_mapping_alt_equals_maps_to_pane_grew() { function event_mapping_key_release_is_ignored (line 23643) | fn event_mapping_key_release_is_ignored() { function event_mapping_paste_maps_to_query_changed (line 23651) | fn event_mapping_paste_maps_to_query_changed() { function event_mapping_focus_maps_to_terminal_focus_changed (line 23662) | fn event_mapping_focus_maps_to_terminal_focus_changed() { function persisted_state_constructible (line 23676) | fn persisted_state_constructible() { function persisted_state_roundtrip_preserves_saved_view_metadata (line 23699) | fn persisted_state_roundtrip_preserves_saved_view_metadata() { function source_filter_from_parts_normalizes_source_id_values (line 23781) | fn source_filter_from_parts_normalizes_source_id_values() { function persisted_state_file_from_state_normalizes_source_filter_strings (line 23797) | fn persisted_state_file_from_state_normalizes_source_filter_strings() { function persisted_state_load_accepts_legacy_source_filter_object_and_clamps_limit (line 23836) | fn persisted_state_load_accepts_legacy_source_filter_object_and_clamps_l... function persisted_state_save_overwrites_existing_file (line 23874) | fn persisted_state_save_overwrites_existing_file() { function persisted_state_temp_paths_are_unique (line 23896) | fn persisted_state_temp_paths_are_unique() { function state_loaded_uses_persisted_light_theme_when_no_theme_config (line 23907) | fn state_loaded_uses_persisted_light_theme_when_no_theme_config() { function refresh_theme_config_respects_light_startup_preset (line 23922) | fn refresh_theme_config_respects_light_startup_preset() { function resolved_style_context_honors_theme_config_light_preset (line 23936) | fn resolved_style_context_honors_theme_config_light_preset() { function state_loaded_prefers_theme_config_preset_over_legacy_dark_flag (line 23953) | fn state_loaded_prefers_theme_config_preset_over_legacy_dark_flag() { function state_loaded_first_run_opens_help_overlay (line 23972) | fn state_loaded_first_run_opens_help_overlay() { function state_loaded_first_run_marks_state_dirty_for_persistence (line 23993) | fn state_loaded_first_run_marks_state_dirty_for_persistence() { function state_loaded_with_seen_help_keeps_help_closed_when_not_pinned (line 24008) | fn state_loaded_with_seen_help_keeps_help_closed_when_not_pinned() { function state_load_requested_dispatches_background_task (line 24021) | fn state_load_requested_dispatches_background_task() { function init_dispatches_search_when_startup_state_bootstrapped (line 24029) | fn init_dispatches_search_when_startup_state_bootstrapped() { function state_save_requested_dispatches_background_task (line 24040) | fn state_save_requested_dispatches_background_task() { function state_save_failed_keeps_dirty_state_retryable (line 24050) | fn state_save_failed_keeps_dirty_state_retryable() { function state_save_failure_without_pending_changes_stays_clean (line 24077) | fn state_save_failure_without_pending_changes_stays_clean() { function persist_state_snapshot_skips_stale_save_after_epoch_bump (line 24098) | fn persist_state_snapshot_skips_stale_save_after_epoch_bump() { function state_saved_preserves_newer_changes_made_during_save (line 24126) | fn state_saved_preserves_newer_changes_made_during_save() { function stale_state_save_failure_is_ignored_after_reset_and_resave (line 24153) | fn stale_state_save_failure_is_ignored_after_reset_and_resave() { function stale_state_save_success_is_ignored_after_reset_and_resave (line 24193) | fn stale_state_save_success_is_ignored_after_reset_and_resave() { function state_reset_requested_clears_state_file (line 24225) | fn state_reset_requested_clears_state_file() { function index_refresh_requested_dispatches_task_and_rejects_parallel_refresh (line 24240) | fn index_refresh_requested_dispatches_task_and_rejects_parallel_refresh() { function index_refresh_terminal_states_clear_loading_context (line 24268) | fn index_refresh_terminal_states_clear_loading_context() { function search_result_constructible (line 24283) | fn search_result_constructible() { function export_result_constructible (line 24293) | fn export_result_constructible() { function extract_msg (line 24305) | fn extract_msg(cmd: ftui::Cmd) -> Option { function extract_msgs (line 24313) | fn extract_msgs(cmd: ftui::Cmd) -> Vec { function drain_cmd_messages (line 24322) | fn drain_cmd_messages(app: &mut CassApp, cmd: ftui::Cmd) { type EnterRoutingFixture (line 24331) | struct EnterRoutingFixture { type EnterRoutingOutcome (line 24340) | struct EnterRoutingOutcome { type ExpectedEnterRoute (line 24348) | enum ExpectedEnterRoute { function app_for_enter_routing (line 24353) | fn app_for_enter_routing(fixture: EnterRoutingFixture) -> CassApp { function run_enter_routing (line 24372) | fn run_enter_routing(fixture: EnterRoutingFixture) -> EnterRoutingOutcome { function assert_enter_route (line 24383) | fn assert_enter_route(case: &str, fixture: EnterRoutingFixture, expected... function sample_update_info (line 24406) | fn sample_update_info() -> UpdateInfo { function palette_state_initialized_with_default_actions (line 24420) | fn palette_state_initialized_with_default_actions() { function palette_state_not_open_by_default (line 24431) | fn palette_state_not_open_by_default() { function palette_open_sets_state (line 24437) | fn palette_open_sets_state() { function palette_close_clears_open (line 24450) | fn palette_close_clears_open() { function palette_query_filters_actions (line 24459) | fn palette_query_filters_actions() { function palette_selection_wraps (line 24474) | fn palette_selection_wraps() { function palette_execute_theme_toggles_dark (line 24486) | fn palette_execute_theme_toggles_dark() { function palette_action_executed_releases_focus_trap (line 24514) | fn palette_action_executed_releases_focus_trap() { function palette_execute_density_cycles (line 24527) | fn palette_execute_density_cycles() { function palette_execute_reload_index (line 24548) | fn palette_execute_reload_index() { function palette_escape_closes_before_quit (line 24566) | fn palette_escape_closes_before_quit() { function palette_hints_use_shortcut_constants (line 24576) | fn palette_hints_use_shortcut_constants() { function palette_save_view_slot_dispatches (line 24598) | fn palette_save_view_slot_dispatches() { function palette_open_saved_views_dispatches (line 24620) | fn palette_open_saved_views_dispatches() { function palette_open_also_opens_widget (line 24639) | fn palette_open_also_opens_widget() { function palette_close_also_closes_widget (line 24647) | fn palette_close_also_closes_widget() { function palette_execute_closes_widget (line 24656) | fn palette_execute_closes_widget() { function palette_quit_requested_closes_widget (line 24666) | fn palette_quit_requested_closes_widget() { function palette_widget_has_registered_actions (line 24676) | fn palette_widget_has_registered_actions() { function palette_evidence_off_by_default (line 24688) | fn palette_evidence_off_by_default() { function palette_evidence_toggle_msg (line 24694) | fn palette_evidence_toggle_msg() { function palette_evidence_resets_on_close (line 24705) | fn palette_evidence_resets_on_close() { function palette_evidence_resets_on_execute (line 24715) | fn palette_evidence_resets_on_execute() { function palette_evidence_resets_on_esc (line 24725) | fn palette_evidence_resets_on_esc() { function palette_evidence_tracking_enabled (line 24735) | fn palette_evidence_tracking_enabled() { function palette_latency_stats_record (line 24746) | fn palette_latency_stats_record() { function palette_latency_budget_indicator (line 24766) | fn palette_latency_budget_indicator() { function palette_latency_reset (line 24777) | fn palette_latency_reset() { function palette_bench_toggle_msg (line 24791) | fn palette_bench_toggle_msg() { function palette_bench_resets_on_close (line 24803) | fn palette_bench_resets_on_close() { function palette_bench_resets_on_execute (line 24814) | fn palette_bench_resets_on_execute() { function palette_latency_avg_zero_when_empty (line 24824) | fn palette_latency_avg_zero_when_empty() { function palette_interceptor_consumes_key_events_when_open (line 24831) | fn palette_interceptor_consumes_key_events_when_open() { function palette_interceptor_does_not_replay_stale_raw_event (line 24846) | fn palette_interceptor_does_not_replay_stale_raw_event() { function palette_interceptor_lets_tick_through (line 24865) | fn palette_interceptor_lets_tick_through() { function palette_interceptor_lets_force_quit_through (line 24873) | fn palette_interceptor_lets_force_quit_through() { function palette_open_resets_match_mode (line 24882) | fn palette_open_resets_match_mode() { function palette_match_mode_cycled_updates_status (line 24894) | fn palette_match_mode_cycled_updates_status() { function palette_action_ordering_is_deterministic (line 24907) | fn palette_action_ordering_is_deterministic() { function palette_lifecycle_open_query_navigate_execute (line 24928) | fn palette_lifecycle_open_query_navigate_execute() { function palette_lifecycle_filter_navigate_close (line 24941) | fn palette_lifecycle_filter_navigate_close() { function palette_reopen_after_execute_resets (line 24953) | fn palette_reopen_after_execute_resets() { function palette_navigate_boundaries_wrap (line 24969) | fn palette_navigate_boundaries_wrap() { function palette_result_dispatch_all_variants (line 24980) | fn palette_result_dispatch_all_variants() { function palette_time_filter_updates_time_preset (line 25020) | fn palette_time_filter_updates_time_preset() { function palette_filter_mode_round_trip (line 25052) | fn palette_filter_mode_round_trip() { function palette_zero_results_safe (line 25070) | fn palette_zero_results_safe() { function palette_selection_clamps_on_filter (line 25081) | fn palette_selection_clamps_on_filter() { function palette_rapid_open_close_stable (line 25093) | fn palette_rapid_open_close_stable() { function palette_esc_closes_before_quit (line 25105) | fn palette_esc_closes_before_quit() { function palette_actions_have_valid_labels (line 25113) | fn palette_actions_have_valid_labels() { function saved_views_modal_open_move_and_close (line 25122) | fn saved_views_modal_open_move_and_close() { function saved_views_selection_move_handles_extreme_delta (line 25139) | fn saved_views_selection_move_handles_extreme_delta() { function saved_view_rename_commit_sets_label (line 25152) | fn saved_view_rename_commit_sets_label() { function saved_view_delete_then_clear_all (line 25171) | fn saved_view_delete_then_clear_all() { function saved_view_load_selected_dispatches_view_loaded_for_selected_slot (line 25187) | fn saved_view_load_selected_dispatches_view_loaded_for_selected_slot() { function view_saved_normalizes_source_filter_before_storing_saved_view (line 25203) | fn view_saved_normalizes_source_filter_before_storing_saved_view() { function view_loaded_normalizes_source_filter_from_saved_view (line 25216) | fn view_loaded_normalizes_source_filter_from_saved_view() { function saving_existing_slot_preserves_label (line 25235) | fn saving_existing_slot_preserves_label() { function saved_views_quit_requests_close_modal_before_app_quit (line 25255) | fn saved_views_quit_requests_close_modal_before_app_quit() { function saved_view_rename_quit_cancels_rename_but_keeps_modal_open (line 25270) | fn saved_view_rename_quit_cancels_rename_but_keeps_modal_open() { function load_empty_saved_view_slot_sets_warning_status (line 25287) | fn load_empty_saved_view_slot_sets_warning_status() { function view_loaded_releases_saved_views_focus_trap_when_modal_was_open (line 25295) | fn view_loaded_releases_saved_views_focus_trap_when_modal_was_open() { function query_changed_appends_characters (line 25312) | fn query_changed_appends_characters() { function query_changed_backspace_removes_char (line 25322) | fn query_changed_backspace_removes_char() { function query_changed_backspace_removes_full_unicode_scalar (line 25332) | fn query_changed_backspace_removes_full_unicode_scalar() { function non_query_input_mode_routes_typing_to_input_buffer (line 25347) | fn non_query_input_mode_routes_typing_to_input_buffer() { function input_auto_completed_fills_agent_from_candidates (line 25374) | fn input_auto_completed_fills_agent_from_candidates() { function input_auto_completed_uses_workspace_suffix_for_csv_input (line 25390) | fn input_auto_completed_uses_workspace_suffix_for_csv_input() { function focus_toggled_in_input_mode_autocompletes_without_changing_focus (line 25404) | fn focus_toggled_in_input_mode_autocompletes_without_changing_focus() { function pane_filter_mode_typing_updates_pane_filter_and_esc_cancels (line 25417) | fn pane_filter_mode_typing_updates_pane_filter_and_esc_cancels() { function query_changed_sets_search_dirty (line 25435) | fn query_changed_sets_search_dirty() { function query_changed_numeric_shortcut_applies_visible_zero_result_suggestion (line 25443) | fn query_changed_numeric_shortcut_applies_visible_zero_result_suggestion... function query_changed_numeric_shortcut_inserts_text_when_suggestion_ui_is_not_visible (line 25464) | fn query_changed_numeric_shortcut_inserts_text_when_suggestion_ui_is_not... function query_changed_numeric_shortcut_does_not_apply_stale_suggestions_after_edit (line 25482) | fn query_changed_numeric_shortcut_does_not_apply_stale_suggestions_after... function visible_query_suggestion_count_is_zero_while_query_is_dirty (line 25504) | fn visible_query_suggestion_count_is_zero_while_query_is_dirty() { function visible_query_suggestion_count_is_zero_while_refinement_is_in_flight (line 25521) | fn visible_query_suggestion_count_is_zero_while_refinement_is_in_flight() { function settled_zero_results_visible_is_false_while_query_is_dirty (line 25538) | fn settled_zero_results_visible_is_false_while_query_is_dirty() { function pending_query_search_visible_is_true_while_query_is_dirty (line 25548) | fn pending_query_search_visible_is_true_while_query_is_dirty() { function pending_query_search_visible_is_false_while_refinement_is_in_flight (line 25558) | fn pending_query_search_visible_is_false_while_refinement_is_in_flight() { function active_empty_results_search_visible_is_true_while_refining (line 25569) | fn active_empty_results_search_visible_is_true_while_refining() { function failed_empty_results_visible_is_true_after_search_failed (line 25577) | fn failed_empty_results_visible_is_true_after_search_failed() { function query_changed_numeric_shortcut_falls_back_to_text_when_index_is_not_available (line 25596) | fn query_changed_numeric_shortcut_falls_back_to_text_when_index_is_not_a... function visible_query_suggestion_count_caps_to_three (line 25617) | fn visible_query_suggestion_count_caps_to_three() { function query_changed_numeric_shortcut_uses_displayed_shortcut_not_row_position (line 25635) | fn query_changed_numeric_shortcut_uses_displayed_shortcut_not_row_positi... function mouse_click_on_second_suggestion_applies_second_suggestion (line 25671) | fn mouse_click_on_second_suggestion_applies_second_suggestion() { function query_cleared_empties_and_marks_dirty (line 25716) | fn query_cleared_empties_and_marks_dirty() { function query_word_deleted_removes_last_word (line 25725) | fn query_word_deleted_removes_last_word() { function query_word_deleted_single_word_clears (line 25735) | fn query_word_deleted_single_word_clears() { function query_submitted_pushes_to_history (line 25745) | fn query_submitted_pushes_to_history() { function query_submitted_deduplicates_history (line 25755) | fn query_submitted_deduplicates_history() { function query_submitted_empty_loads_recent_history (line 25770) | fn query_submitted_empty_loads_recent_history() { function search_completed_groups_into_panes (line 25779) | fn search_completed_groups_into_panes() { function search_requested_clears_dirty_state (line 25859) | fn search_requested_clears_dirty_state() { function history_navigation_traverses_entries (line 25867) | fn history_navigation_traverses_entries() { function enter_in_query_mode_submits_search (line 25883) | fn enter_in_query_mode_submits_search() { function enter_on_selected_result_opens_detail_modal (line 25905) | fn enter_on_selected_result_opens_detail_modal() { function enter_on_selected_result_opens_modal_even_when_search_bar_focused (line 25922) | fn enter_on_selected_result_opens_modal_even_when_search_bar_focused() { function enter_routing_diagnostics_emit_query_submit_fallback_marker (line 25944) | fn enter_routing_diagnostics_emit_query_submit_fallback_marker() { function enter_routing_diagnostics_emit_detail_modal_open_marker (line 25964) | fn enter_routing_diagnostics_emit_detail_modal_open_marker() { function enter_with_detail_modal_opens_detail (line 25991) | fn enter_with_detail_modal_opens_detail() { function enter_routing_helper_matrix_smoke (line 26007) | fn enter_routing_helper_matrix_smoke() { function enter_matrix_non_query_modes_apply_input_without_opening_modal (line 26084) | fn enter_matrix_non_query_modes_apply_input_without_opening_modal() { function debounce_fires_search_after_elapsed (line 26132) | fn debounce_fires_search_after_elapsed() { function debounce_does_not_fire_before_threshold (line 26147) | fn debounce_does_not_fire_before_threshold() { function query_changed_resets_history_cursor (line 26168) | fn query_changed_resets_history_cursor() { function query_changed_returns_tick_cmd (line 26176) | fn query_changed_returns_tick_cmd() { function query_cleared_returns_tick_and_resets_cursor (line 26187) | fn query_cleared_returns_tick_and_resets_cursor() { function query_word_deleted_returns_tick_cmd (line 26201) | fn query_word_deleted_returns_tick_cmd() { function query_word_deleted_noop_at_start (line 26214) | fn query_word_deleted_noop_at_start() { function query_line_killed_removes_left_of_cursor (line 26227) | fn query_line_killed_removes_left_of_cursor() { function query_forward_killed_removes_right_of_cursor (line 26237) | fn query_forward_killed_removes_right_of_cursor() { function query_forward_killed_noop_at_end (line 26247) | fn query_forward_killed_noop_at_end() { function query_line_killed_noop_at_start (line 26257) | fn query_line_killed_noop_at_start() { function cursor_moved_bounds_checking (line 26267) | fn cursor_moved_bounds_checking() { function cursor_moved_advances_by_unicode_boundaries (line 26283) | fn cursor_moved_advances_by_unicode_boundaries() { function cursor_word_moved_jumps_word_boundaries (line 26303) | fn cursor_word_moved_jumps_word_boundaries() { function delete_forward_removes_char_after_cursor (line 26335) | fn delete_forward_removes_char_after_cursor() { function delete_forward_handles_unicode (line 26352) | fn delete_forward_handles_unicode() { function cursor_moved_in_results_focus_switches_active_pane (line 26364) | fn cursor_moved_in_results_focus_switches_active_pane() { function cursor_moved_right_at_last_pane_focuses_detail (line 26391) | fn cursor_moved_right_at_last_pane_focuses_detail() { function cursor_jumped_to_start_and_end (line 26418) | fn cursor_jumped_to_start_and_end() { function insert_at_cursor_middle (line 26429) | fn insert_at_cursor_middle() { function backspace_at_cursor_middle (line 26439) | fn backspace_at_cursor_middle() { function history_navigation_sets_cursor_to_end (line 26449) | fn history_navigation_sets_cursor_to_end() { function update_check_completed_sets_banner_state (line 26460) | fn update_check_completed_sets_banner_state() { function update_dismiss_hides_banner (line 26471) | fn update_dismiss_hides_banner() { function update_upgrade_requires_double_confirm (line 26482) | fn update_upgrade_requires_double_confirm() { function tick_polls_update_channel_and_dispatches_completion (line 26496) | fn tick_polls_update_channel_and_dispatches_completion() { function update_shortcuts_use_alt_modifiers (line 26526) | fn update_shortcuts_use_alt_modifiers() { function update_shortcuts_ignore_raw_alt_keys_when_banner_cannot_handle_them (line 26546) | fn update_shortcuts_ignore_raw_alt_keys_when_banner_cannot_handle_them() { function update_banner_does_not_hijack_query_input (line 26569) | fn update_banner_does_not_hijack_query_input() { function wildcard_fallback_toggle_flips_state (line 26584) | fn wildcard_fallback_toggle_flips_state() { function search_requested_skips_empty_query (line 26596) | fn search_requested_skips_empty_query() { function progressive_request_eligibility_is_shape_only (line 26609) | fn progressive_request_eligibility_is_shape_only() { function search_requested_dispatches_with_service (line 26655) | fn search_requested_dispatches_with_service() { function search_requested_uses_interactive_pass_budget (line 26693) | fn search_requested_uses_interactive_pass_budget() { function search_requested_noop_without_service (line 26736) | fn search_requested_noop_without_service() { function search_requested_clears_search_error_message (line 26750) | fn search_requested_clears_search_error_message() { function search_terminal_states_clear_loading_context (line 26762) | fn search_terminal_states_clear_loading_context() { function interactive_search_completion_enters_refining_when_live_request_is_progressive (line 26787) | fn interactive_search_completion_enters_refining_when_live_request_is_pr... function search_stream_finished_clears_live_refining_state (line 26830) | fn search_stream_finished_clears_live_refining_state() { function interactive_search_completion_without_live_request_does_not_refine (line 26863) | fn interactive_search_completion_without_live_request_does_not_refine() { function result_item_render_item_height_matches_density (line 26887) | fn result_item_render_item_height_matches_density() { function selection_moved_syncs_virtualized_state (line 26942) | fn selection_moved_syncs_virtualized_state() { function search_completed_resets_scroll_state (line 27031) | fn search_completed_resets_scroll_state() { function queued_items_render_with_checkmark (line 27072) | fn queued_items_render_with_checkmark() { function tui_prefers_direct_followup_file_treats_blank_local_source_as_local (line 27146) | fn tui_prefers_direct_followup_file_treats_blank_local_source_as_local() { function actionable_path_for_hit_with_config_trims_agent_before_rewrite (line 27166) | fn actionable_path_for_hit_with_config_trims_agent_before_rewrite() { function actionable_path_for_hit_with_config_normalizes_source_id_before_rewrite (line 27190) | fn actionable_path_for_hit_with_config_normalizes_source_id_before_rewri... function result_item_source_badge_reflects_local_and_remote_provenance (line 27214) | fn result_item_source_badge_reflects_local_and_remote_provenance() { function result_item_source_badge_uses_remote_label_when_source_id_and_host_are_missing (line 27279) | fn result_item_source_badge_uses_remote_label_when_source_id_and_host_ar... function result_item_source_badge_treats_blank_metadata_as_local (line 27291) | fn result_item_source_badge_treats_blank_metadata_as_local() { function result_item_source_kind_prefers_displayed_local_badge_when_origin_kind_conflicts (line 27303) | fn result_item_source_kind_prefers_displayed_local_badge_when_origin_kin... function result_item_source_kind_prefers_displayed_remote_badge_when_origin_kind_conflicts (line 27315) | fn result_item_source_kind_prefers_displayed_remote_badge_when_origin_ki... function pane_filter_matches_visible_normalized_metadata (line 27327) | fn pane_filter_matches_visible_normalized_metadata() { function pane_filter_matches_remote_source_host_and_source_id (line 27344) | fn pane_filter_matches_remote_source_host_and_source_id() { function result_item_display_agent_slug_trims_whitespace (line 27356) | fn result_item_display_agent_slug_trims_whitespace() { function result_item_display_workspace_label_uses_none_for_blank_workspace (line 27365) | fn result_item_display_workspace_label_uses_none_for_blank_workspace() { function result_item_mini_analytics_hidden_on_narrow (line 27374) | fn result_item_mini_analytics_hidden_on_narrow() { function result_item_mini_analytics_medium_narrow_shows_message_only (line 27390) | fn result_item_mini_analytics_medium_narrow_shows_message_only() { function result_item_mini_analytics_medium_shows_messages_only (line 27410) | fn result_item_mini_analytics_medium_shows_messages_only() { function highlight_query_spans_marks_matching_terms (line 27430) | fn highlight_query_spans_marks_matching_terms() { function highlight_query_spans_case_insensitive (line 27441) | fn highlight_query_spans_case_insensitive() { function highlight_query_spans_no_match_returns_single_span (line 27452) | fn highlight_query_spans_no_match_returns_single_span() { function highlight_query_spans_empty_terms_returns_single_span (line 27461) | fn highlight_query_spans_empty_terms_returns_single_span() { function highlight_query_spans_overlapping_terms_merge (line 27469) | fn highlight_query_spans_overlapping_terms_merge() { function extract_query_terms_filters_short_words (line 27481) | fn extract_query_terms_filters_short_words() { function extract_query_terms_empty_query (line 27487) | fn extract_query_terms_empty_query() { function result_item_snippet_fallback_chain_prefers_snippet_then_content_then_title (line 27493) | fn result_item_snippet_fallback_chain_prefers_snippet_then_content_then_... function result_item_snippet_wrapping_respects_narrow_width_without_empty_artifacts (line 27521) | fn result_item_snippet_wrapping_respects_narrow_width_without_empty_arti... function compact_density_results_row_includes_inline_snippet_preview (line 27539) | fn compact_density_results_row_includes_inline_snippet_preview() { function spacious_density_allocates_three_snippet_lines_when_width_allows (line 27569) | fn spacious_density_allocates_three_snippet_lines_when_width_allows() { function density_row_heights_match_spec (line 27588) | fn density_row_heights_match_spec() { function density_snippet_lines_match_spec (line 27596) | fn density_snippet_lines_match_spec() { function density_effective_falls_back_to_compact_when_narrow (line 27604) | fn density_effective_falls_back_to_compact_when_narrow() { function density_effective_boundary_values (line 27618) | fn density_effective_boundary_values() { function cozy_density_allocates_two_snippet_lines (line 27630) | fn cozy_density_allocates_two_snippet_lines() { function density_cycling_covers_all_three_modes (line 27643) | fn density_cycling_covers_all_three_modes() { function density_effective_wired_in_view_rendering (line 27661) | fn density_effective_wired_in_view_rendering() { function results_surface_density_theme_matrix_preserves_core_cues (line 27711) | fn results_surface_density_theme_matrix_preserves_core_cues() { function density_mode_switch_preserves_selection_and_scroll_state (line 27760) | fn density_mode_switch_preserves_selection_and_scroll_state() { function terminal_focus_changed_tracks_state (line 27789) | fn terminal_focus_changed_tracks_state() { function lerp_u8_blends_correctly (line 27801) | fn lerp_u8_blends_correctly() { function modal_open_spring_driven_by_tick (line 27812) | fn modal_open_spring_driven_by_tick() { function detail_modal_participates_in_modal_open_spring (line 27842) | fn detail_modal_participates_in_modal_open_spring() { function search_focus_style_token_exists (line 27882) | fn search_focus_style_token_exists() { function modal_backdrop_style_token_exists (line 27891) | fn modal_backdrop_style_token_exists() { function hover_result_tracks_mouse_move (line 27899) | fn hover_result_tracks_mouse_move() { function mouse_event_moved_variant_exists (line 27923) | fn mouse_event_moved_variant_exists() { function density_cycle_sets_status_message (line 27933) | fn density_cycle_sets_status_message() { function theme_toggle_sets_status_message (line 27946) | fn theme_toggle_sets_status_message() { function theme_toast_message_tracks_current_preset_after_multiple_toggles (line 27959) | fn theme_toast_message_tracks_current_preset_after_multiple_toggles() { function snippet_budget_exhaustion_uses_ellipsis_on_last_line (line 27984) | fn snippet_budget_exhaustion_uses_ellipsis_on_last_line() { function results_navigation_page_scroll_and_home_end_are_stable (line 28009) | fn results_navigation_page_scroll_and_home_end_are_stable() { function repeated_page_scroll_clamps_at_bounds (line 28049) | fn repeated_page_scroll_clamps_at_bounds() { function detail_page_scroll_does_not_mutate_result_selection (line 28074) | fn detail_page_scroll_does_not_mutate_result_selection() { function results_focus_persists_through_theme_and_filter_changes (line 28110) | fn results_focus_persists_through_theme_and_filter_changes() { function style_ctx_for_preset (line 28135) | fn style_ctx_for_preset( function score_style_routes_to_correct_tier (line 28156) | fn score_style_routes_to_correct_tier() { function score_normalization_and_bar_labels_support_fractional_relevance (line 28207) | fn score_normalization_and_bar_labels_support_fractional_relevance() { function results_metadata_includes_match_type_cue_for_scanning (line 28236) | fn results_metadata_includes_match_type_cue_for_scanning() { function selected_row_has_distinct_style_from_default (line 28259) | fn selected_row_has_distinct_style_from_default() { function arrow_key_selection_moves_one_at_a_time (line 28275) | fn arrow_key_selection_moves_one_at_a_time() { function results_suite_runs_under_3s_headless (line 28307) | fn results_suite_runs_under_3s_headless() { function time_preset_cycles_all_today_week_month (line 28335) | fn time_preset_cycles_all_today_week_month() { function time_preset_labels (line 28345) | fn time_preset_labels() { function time_preset_cycled_sets_filter_timestamps (line 28354) | fn time_preset_cycled_sets_filter_timestamps() { function source_filter_cycles_all_local_remote (line 28386) | fn source_filter_cycles_all_local_remote() { function source_filter_source_id_resets_to_all (line 28401) | fn source_filter_source_id_resets_to_all() { function refresh_available_source_ids_ignores_normalized_local_and_keeps_normalized_remote (line 28409) | fn refresh_available_source_ids_ignores_normalized_local_and_keeps_norma... function refresh_available_source_ids_deduplicates_trimmed_active_source_filter (line 28428) | fn refresh_available_source_ids_deduplicates_trimmed_active_source_filte... function source_filter_menu_applies_selected_source_id (line 28443) | fn source_filter_menu_applies_selected_source_id() { function source_filter_menu_toggled_preselects_normalized_trimmed_source_id (line 28477) | fn source_filter_menu_toggled_preselects_normalized_trimmed_source_id() { function filter_pills_normalize_trimmed_source_filter_value (line 28495) | fn filter_pills_normalize_trimmed_source_filter_value() { function source_filter_pill_click_refreshes_ids_and_preselects_normalized_source_id (line 28510) | fn source_filter_pill_click_refreshes_ids_and_preselects_normalized_sour... function search_footer_hud_normalizes_trimmed_source_filter_scope (line 28541) | fn search_footer_hud_normalizes_trimmed_source_filter_scope() { function source_filter_menu_quit_requested_closes_and_releases_trap (line 28559) | fn source_filter_menu_quit_requested_closes_and_releases_trap() { function source_filter_menu_overlay_marks_normalized_source_filter_active (line 28574) | fn source_filter_menu_overlay_marks_normalized_source_filter_active() { function input_mode_applied_agent_parses_csv (line 28595) | fn input_mode_applied_agent_parses_csv() { function input_mode_applied_workspace_parses_csv (line 28607) | fn input_mode_applied_workspace_parses_csv() { function input_mode_applied_created_from_invalid_date_shows_error (line 28618) | fn input_mode_applied_created_from_invalid_date_shows_error() { function input_mode_applied_created_from_empty_clears_filter (line 28630) | fn input_mode_applied_created_from_empty_clears_filter() { function input_mode_applied_created_from_empty_with_end_keeps_custom (line 28642) | fn input_mode_applied_created_from_empty_with_end_keeps_custom() { function input_mode_applied_created_to_invalid_date_shows_error (line 28660) | fn input_mode_applied_created_to_invalid_date_shows_error() { function input_mode_applied_created_to_empty_with_start_keeps_custom (line 28671) | fn input_mode_applied_created_to_empty_with_start_keeps_custom() { function filters_clear_all_resets_time_preset (line 28689) | fn filters_clear_all_resets_time_preset() { function detail_wrap_toggle_flips_state (line 28708) | fn detail_wrap_toggle_flips_state() { function detail_tab_changed_resets_scroll (line 28718) | fn detail_tab_changed_resets_scroll() { function detail_find_toggle_creates_and_clears_state (line 28737) | fn detail_find_toggle_creates_and_clears_state() { function detail_find_query_changed_updates_state (line 28747) | fn detail_find_query_changed_updates_state() { function detail_find_bar_line_formats_query_and_match_state (line 28755) | fn detail_find_bar_line_formats_query_and_match_state() { function detail_find_bar_line_uses_hint_for_empty_query (line 28789) | fn detail_find_bar_line_uses_hint_for_empty_query() { function detail_find_bar_line_truncates_long_query_but_keeps_match_context (line 28811) | fn detail_find_bar_line_truncates_long_query_but_keeps_match_context() { function detail_find_bar_line_uses_compact_hints_when_full_phrase_does_not_fit (line 28841) | fn detail_find_bar_line_uses_compact_hints_when_full_phrase_does_not_fit... function detail_find_bar_line_preserves_match_counter_when_hints_are_elided (line 28875) | fn detail_find_bar_line_preserves_match_counter_when_hints_are_elided() { function detail_find_navigation_wraps (line 28905) | fn detail_find_navigation_wraps() { function detail_find_query_changed_resets_current_and_clears_matches (line 28927) | fn detail_find_query_changed_resets_current_and_clears_matches() { function detail_find_navigation_auto_scrolls (line 28943) | fn detail_find_navigation_auto_scrolls() { function detail_find_navigation_clears_stale_matches_when_render_cache_is_empty (line 28963) | fn detail_find_navigation_clears_stale_matches_when_render_cache_is_empt... function detail_find_navigation_clamps_scroll_to_last_full_page (line 28992) | fn detail_find_navigation_clamps_scroll_to_last_full_page() { function set_detail_with_keyword (line 29011) | fn set_detail_with_keyword(app: &mut CassApp, keyword: &str) { function detail_find_bar_render_shows_query_and_match_state_in_detail_pane (line 29073) | fn detail_find_bar_render_shows_query_and_match_state_in_detail_pane() { function detail_find_bar_render_preserves_match_context_on_narrow_widths (line 29102) | fn detail_find_bar_render_preserves_match_context_on_narrow_widths() { function detail_find_bar_render_remains_readable_across_degradation_levels (line 29122) | fn detail_find_bar_render_remains_readable_across_degradation_levels() { function detail_modal_intercept_routes_slash_to_find (line 29149) | fn detail_modal_intercept_routes_slash_to_find() { function detail_modal_intercept_routes_text_to_find_query (line 29161) | fn detail_modal_intercept_routes_text_to_find_query() { function detail_modal_intercept_esc_closes_modal_in_one_press (line 29176) | fn detail_modal_intercept_esc_closes_modal_in_one_press() { function detail_modal_intercept_j_k_scroll (line 29191) | fn detail_modal_intercept_j_k_scroll() { function detail_modal_unrecognized_letter_closes_modal_and_forwards_to_query (line 29205) | fn detail_modal_unrecognized_letter_closes_modal_and_forwards_to_query() { function detail_modal_backspace_does_not_close_modal (line 29232) | fn detail_modal_backspace_does_not_close_modal() { function detail_modal_intercept_tab_cycles_tabs (line 29246) | fn detail_modal_intercept_tab_cycles_tabs() { function detail_modal_ctrl_shift_e_routes_to_quick_markdown_export (line 29265) | fn detail_modal_ctrl_shift_e_routes_to_quick_markdown_export() { function detail_modal_quick_markdown_export_status_stays_path_agnostic (line 29294) | fn detail_modal_quick_markdown_export_status_stays_path_agnostic() { function export_session_markdown_task_preserves_existing_file_on_collision (line 29321) | fn export_session_markdown_task_preserves_existing_file_on_collision() { function export_session_markdown_task_uses_exact_source_id_for_shared_path (line 29361) | fn export_session_markdown_task_uses_exact_source_id_for_shared_path() { function export_session_markdown_task_uses_exact_hit_for_shared_path_within_same_source (line 29414) | fn export_session_markdown_task_uses_exact_hit_for_shared_path_within_sa... function export_session_markdown_task_prefers_local_jsonl_over_stale_index (line 29463) | fn export_session_markdown_task_prefers_local_jsonl_over_stale_index() { function export_session_markdown_task_falls_back_to_index_when_local_jsonl_is_invalid (line 29525) | fn export_session_markdown_task_falls_back_to_index_when_local_jsonl_is_... function export_session_markdown_task_keeps_index_for_local_markdown_files (line 29573) | fn export_session_markdown_task_keeps_index_for_local_markdown_files() { function export_session_html_task_preserves_existing_file_on_collision (line 29627) | fn export_session_html_task_preserves_existing_file_on_collision() { function export_session_html_task_uses_exact_source_id_for_shared_path (line 29690) | fn export_session_html_task_uses_exact_source_id_for_shared_path() { function export_session_html_task_uses_exact_hit_for_shared_path_within_same_source (line 29749) | fn export_session_html_task_uses_exact_hit_for_shared_path_within_same_s... function export_session_html_task_prefers_local_jsonl_over_stale_index (line 29808) | fn export_session_html_task_prefers_local_jsonl_over_stale_index() { function export_session_html_task_falls_back_to_index_when_local_jsonl_is_invalid (line 29875) | fn export_session_html_task_falls_back_to_index_when_local_jsonl_is_inva... function export_session_html_task_keeps_index_for_local_markdown_files (line 29933) | fn export_session_html_task_keeps_index_for_local_markdown_files() { function detail_session_hit_lines_ignore_other_conversations_in_same_source_and_path (line 29997) | fn detail_session_hit_lines_ignore_other_conversations_in_same_source_an... function detail_session_hit_lines_without_cached_detail_do_not_mix_other_conversations (line 30044) | fn detail_session_hit_lines_without_cached_detail_do_not_mix_other_conve... function detail_session_hit_lines_without_cached_detail_normalize_blank_local_source_ids (line 30078) | fn detail_session_hit_lines_without_cached_detail_normalize_blank_local_... function detail_session_hit_lines_without_cached_detail_include_same_conversation_id_hits (line 30115) | fn detail_session_hit_lines_without_cached_detail_include_same_conversat... function detail_modal_intercept_enter_navigates_find (line 30148) | fn detail_modal_intercept_enter_navigates_find() { function detail_modal_n_navigates_find_when_not_in_find_mode (line 30163) | fn detail_modal_n_navigates_find_when_not_in_find_mode() { function detail_find_highlight_function_works (line 30184) | fn detail_find_highlight_function_works() { function detail_find_highlight_preserves_large_line_offsets (line 30202) | fn detail_find_highlight_preserves_large_line_offsets() { function detail_find_bar_line_clamps_stale_current_to_cached_match_count (line 30220) | fn detail_find_bar_line_clamps_stale_current_to_cached_match_count() { function tick_clamps_pending_detail_scroll_to_last_full_page (line 30250) | fn tick_clamps_pending_detail_scroll_to_last_full_page() { function tick_clamps_existing_oversized_detail_scroll_without_pending_target (line 30271) | fn tick_clamps_existing_oversized_detail_scroll_without_pending_target() { function detail_find_highlight_empty_query_returns_no_matches (line 30287) | fn detail_find_highlight_empty_query_returns_no_matches() { function detail_find_bar_match_counter_consistent_across_presets (line 30300) | fn detail_find_bar_match_counter_consistent_across_presets() { function detail_find_bar_span_structure (line 30338) | fn detail_find_bar_span_structure() { function detail_find_bar_current_match_index_updates (line 30383) | fn detail_find_bar_current_match_index_updates() { function detail_find_bar_at_minimum_width (line 30409) | fn detail_find_bar_at_minimum_width() { function detail_find_bar_render_uses_styled_spans_across_presets (line 30434) | fn detail_find_bar_render_uses_styled_spans_across_presets() { function detail_scrolled_clamps_to_zero (line 30479) | fn detail_scrolled_clamps_to_zero() { function detail_scrolled_increments (line 30487) | fn detail_scrolled_increments() { function autocomplete_csv_suffix_single_token (line 30499) | fn autocomplete_csv_suffix_single_token() { function autocomplete_csv_suffix_after_comma (line 30519) | fn autocomplete_csv_suffix_after_comma() { function autocomplete_csv_suffix_exact_match_returns_none (line 30531) | fn autocomplete_csv_suffix_exact_match_returns_none() { function autocomplete_csv_suffix_case_insensitive (line 30537) | fn autocomplete_csv_suffix_case_insensitive() { function autocomplete_csv_suffix_no_match (line 30546) | fn autocomplete_csv_suffix_no_match() { function autocomplete_csv_suffix_empty_input (line 30552) | fn autocomplete_csv_suffix_empty_input() { function input_autocomplete_candidates_agent_mode_includes_hints (line 30559) | fn input_autocomplete_candidates_agent_mode_includes_hints() { function input_autocomplete_candidates_agent_mode_merges_filters (line 30569) | fn input_autocomplete_candidates_agent_mode_merges_filters() { function input_autocomplete_candidates_workspace_mode (line 30585) | fn input_autocomplete_candidates_workspace_mode() { function input_autocomplete_candidates_query_mode_empty (line 30598) | fn input_autocomplete_candidates_query_mode_empty() { function autocomplete_input_buffer_integration (line 30606) | fn autocomplete_input_buffer_integration() { function make_test_hit (line 30614) | fn make_test_hit() -> SearchHit { function make_exact_hit (line 30635) | fn make_exact_hit( function make_result_item (line 30651) | fn make_result_item(hit: SearchHit, row_height: u16) -> ResultItem { function make_test_conversation_view (line 30679) | fn make_test_conversation_view() -> ConversationView { function markdown_span_fg_for_text (line 30703) | fn markdown_span_fg_for_text( function build_messages_lines_produces_output (line 30718) | fn build_messages_lines_produces_output() { function build_messages_lines_treat_whitespace_hit_title_as_untitled (line 30732) | fn build_messages_lines_treat_whitespace_hit_title_as_untitled() { function build_messages_lines_include_source_provenance_fields (line 30748) | fn build_messages_lines_include_source_provenance_fields() { function build_messages_lines_fall_back_to_hit_source_provenance_when_loaded_metadata_is_blank (line 30776) | fn build_messages_lines_fall_back_to_hit_source_provenance_when_loaded_m... function build_messages_lines_trim_hit_title_and_agent_fallbacks (line 30812) | fn build_messages_lines_trim_hit_title_and_agent_fallbacks() { function build_messages_lines_use_remote_origin_host_when_source_id_is_blank (line 30832) | fn build_messages_lines_use_remote_origin_host_when_source_id_is_blank() { function build_messages_lines_use_remote_label_when_source_id_and_host_are_missing (line 30860) | fn build_messages_lines_use_remote_label_when_source_id_and_host_are_mis... function build_messages_lines_prefer_loaded_metadata_over_stale_hit (line 30888) | fn build_messages_lines_prefer_loaded_metadata_over_stale_hit() { function build_detail_header_lines_fall_back_to_hit_source_provenance_when_loaded_metadata_is_blank (line 30941) | fn build_detail_header_lines_fall_back_to_hit_source_provenance_when_loa... function build_detail_header_lines_trim_hit_agent_fallback_when_loaded_metadata_is_blank (line 30970) | fn build_detail_header_lines_trim_hit_agent_fallback_when_loaded_metadat... function build_detail_header_lines_use_remote_origin_host_when_source_id_is_blank (line 30993) | fn build_detail_header_lines_use_remote_origin_host_when_source_id_is_bl... function build_detail_header_lines_use_remote_label_when_source_id_and_host_are_missing (line 31021) | fn build_detail_header_lines_use_remote_label_when_source_id_and_host_ar... function build_detail_header_lines_prefer_loaded_metadata_over_stale_hit (line 31049) | fn build_detail_header_lines_prefer_loaded_metadata_over_stale_hit() { function build_messages_lines_prefer_loaded_view_workspace_over_stale_hit_workspace (line 31083) | fn build_messages_lines_prefer_loaded_view_workspace_over_stale_hit_work... function build_detail_header_lines_prefer_loaded_view_workspace_over_stale_hit_workspace (line 31111) | fn build_detail_header_lines_prefer_loaded_view_workspace_over_stale_hit... function build_raw_lines_include_loaded_view_workspace_over_stale_hit_workspace (line 31139) | fn build_raw_lines_include_loaded_view_workspace_over_stale_hit_workspac... function build_json_lines_include_loaded_view_workspace_over_stale_hit_workspace (line 31168) | fn build_json_lines_include_loaded_view_workspace_over_stale_hit_workspa... function build_raw_lines_fall_back_to_hit_source_provenance_when_loaded_metadata_is_blank (line 31197) | fn build_raw_lines_fall_back_to_hit_source_provenance_when_loaded_metada... function build_raw_lines_use_remote_origin_host_when_source_id_is_blank (line 31229) | fn build_raw_lines_use_remote_origin_host_when_source_id_is_blank() { function build_raw_lines_use_remote_label_when_source_id_and_host_are_missing (line 31261) | fn build_raw_lines_use_remote_label_when_source_id_and_host_are_missing() { function build_raw_lines_fallback_normalizes_blank_local_source_id_without_cached_detail (line 31293) | fn build_raw_lines_fallback_normalizes_blank_local_source_id_without_cac... function build_raw_lines_fallback_normalizes_remote_origin_kind_and_blank_origin_host (line 31326) | fn build_raw_lines_fallback_normalizes_remote_origin_kind_and_blank_orig... function build_raw_lines_fall_back_to_hit_metadata_when_loaded_metadata_is_missing (line 31355) | fn build_raw_lines_fall_back_to_hit_metadata_when_loaded_metadata_is_mis... function build_json_lines_fall_back_to_hit_source_provenance_when_loaded_metadata_is_blank (line 31395) | fn build_json_lines_fall_back_to_hit_source_provenance_when_loaded_metad... function build_json_lines_use_remote_origin_host_when_source_id_is_blank (line 31427) | fn build_json_lines_use_remote_origin_host_when_source_id_is_blank() { function build_json_lines_use_remote_label_when_source_id_and_host_are_missing (line 31459) | fn build_json_lines_use_remote_label_when_source_id_and_host_are_missing... function build_json_lines_fallback_normalizes_blank_local_source_id_without_cached_detail (line 31491) | fn build_json_lines_fallback_normalizes_blank_local_source_id_without_ca... function build_json_lines_fallback_normalizes_remote_origin_kind_and_blank_origin_host (line 31524) | fn build_json_lines_fallback_normalizes_remote_origin_kind_and_blank_ori... function build_json_lines_fall_back_to_hit_metadata_when_loaded_metadata_is_missing (line 31553) | fn build_json_lines_fall_back_to_hit_metadata_when_loaded_metadata_is_mi... function build_messages_lines_ignores_cached_detail_from_other_source_same_path (line 31593) | fn build_messages_lines_ignores_cached_detail_from_other_source_same_pat... function build_snippets_lines_produces_output (line 31639) | fn build_snippets_lines_produces_output() { function build_snippets_lines_whitespace_only_fallback_reports_no_snippet (line 31648) | fn build_snippets_lines_whitespace_only_fallback_reports_no_snippet() { function build_snippets_lines_falls_back_to_visible_content_excerpt (line 31672) | fn build_snippets_lines_falls_back_to_visible_content_excerpt() { function detail_export_state_uses_visible_excerpt_when_title_and_snippet_are_empty (line 31701) | fn detail_export_state_uses_visible_excerpt_when_title_and_snippet_are_e... function detail_export_state_trims_whitespace_hit_title_when_no_cached_detail (line 31721) | fn detail_export_state_trims_whitespace_hit_title_when_no_cached_detail() { function detail_export_state_trims_whitespace_hit_agent_and_workspace (line 31732) | fn detail_export_state_trims_whitespace_hit_agent_and_workspace() { function build_raw_lines_produces_json (line 31746) | fn build_raw_lines_produces_json() { function apply_find_highlight_marks_matches (line 31775) | fn apply_find_highlight_marks_matches() { function detail_opened_in_non_query_mode_applies_input (line 31787) | fn detail_opened_in_non_query_mode_applies_input() { function detail_opened_cache_miss_sets_loading_and_dispatches_detail_load (line 31830) | fn detail_opened_cache_miss_sets_loading_and_dispatches_detail_load() { function detail_load_refreshes_open_export_modal_metadata_from_cached_detail (line 31861) | fn detail_load_refreshes_open_export_modal_metadata_from_cached_detail() { function detail_opened_same_path_different_source_dispatches_reload (line 31911) | fn detail_opened_same_path_different_source_dispatches_reload() { function detail_opened_same_path_and_source_but_different_conversation_dispatches_reload (line 31948) | fn detail_opened_same_path_and_source_but_different_conversation_dispatc... function detail_load_ignores_completed_request_when_selection_switched_to_other_conversation (line 31999) | fn detail_load_ignores_completed_request_when_selection_switched_to_othe... function detail_export_state_ignores_cached_detail_from_other_source_same_path (line 32055) | fn detail_export_state_ignores_cached_detail_from_other_source_same_path... function detail_closed_resets_focus (line 32085) | fn detail_closed_resets_focus() { function detail_modal_allows_copy_shortcuts_to_reach_action_handlers (line 32095) | fn detail_modal_allows_copy_shortcuts_to_reach_action_handlers() { function copy_content_uses_rendered_detail_messages_instead_of_raw_hit_fragment (line 32113) | fn copy_content_uses_rendered_detail_messages_instead_of_raw_hit_fragmen... function copy_content_uses_messages_fallback_placeholder_when_detail_is_empty (line 32157) | fn copy_content_uses_messages_fallback_placeholder_when_detail_is_empty() { function copy_snippet_uses_visible_content_fallback_when_snippet_is_empty (line 32175) | fn copy_snippet_uses_visible_content_fallback_when_snippet_is_empty() { function copy_snippet_uses_title_when_snippet_and_content_are_empty (line 32187) | fn copy_snippet_uses_title_when_snippet_and_content_are_empty() { function copy_path_rewrites_configured_remote_source_paths (line 32201) | fn copy_path_rewrites_configured_remote_source_paths() { function copy_path_rewrites_hyphenated_agent_mappings_for_underscored_hits (line 32223) | fn copy_path_rewrites_hyphenated_agent_mappings_for_underscored_hits() { function bulk_copy_paths_rewrites_configured_remote_source_paths (line 32248) | fn bulk_copy_paths_rewrites_configured_remote_source_paths() { function bulk_json_export_preserves_source_provenance_for_same_path_hits (line 32280) | fn bulk_json_export_preserves_source_provenance_for_same_path_hits() { function open_in_editor_rewrites_configured_remote_source_paths (line 32313) | fn open_in_editor_rewrites_configured_remote_source_paths() { function toggle_json_view_no_hit_sets_status (line 32349) | fn toggle_json_view_no_hit_sets_status() { function toggle_json_view_switches_to_json_tab (line 32360) | fn toggle_json_view_switches_to_json_tab() { function toggle_json_view_toggles_back_to_raw (line 32376) | fn toggle_json_view_toggles_back_to_raw() { function enter_does_not_override_explicit_json_tab_when_modal_open (line 32394) | fn enter_does_not_override_explicit_json_tab_when_modal_open() { function enter_does_not_override_explicit_raw_tab_when_modal_open (line 32419) | fn enter_does_not_override_explicit_raw_tab_when_modal_open() { function build_json_lines_produces_syntax_colored_output (line 32445) | fn build_json_lines_produces_syntax_colored_output() { function detail_tab_json_variant_has_correct_default (line 32468) | fn detail_tab_json_variant_has_correct_default() { function detail_tab_changed_to_json_resets_scroll (line 32475) | fn detail_tab_changed_to_json_resets_scroll() { function detail_messages_with_markdown_content_renders (line 32484) | fn detail_messages_with_markdown_content_renders() { function detail_markdown_fallback_uses_active_theme_mapping (line 32496) | fn detail_markdown_fallback_uses_active_theme_mapping() { function detail_markdown_cached_messages_follow_theme_toggle (line 32528) | fn detail_markdown_cached_messages_follow_theme_toggle() { function detail_cached_messages_render_inline_code_even_when_detection_is_not_likely (line 32572) | fn detail_cached_messages_render_inline_code_even_when_detection_is_not_... function detail_modal_fallback_renders_inline_code_markdown (line 32596) | fn detail_modal_fallback_renders_inline_code_markdown() { function detail_cached_messages_preserve_leading_indented_code_blocks (line 32612) | fn detail_cached_messages_preserve_leading_indented_code_blocks() { function detail_modal_whitespace_only_content_falls_back_to_snippet_markdown (line 32648) | fn detail_modal_whitespace_only_content_falls_back_to_snippet_markdown() { function detail_modal_empty_fallback_content_reports_placeholder (line 32665) | fn detail_modal_empty_fallback_content_reports_placeholder() { function detail_messages_tab_renders_mixed_markdown_and_plain_stream (line 32688) | fn detail_messages_tab_renders_mixed_markdown_and_plain_stream() { function detail_markdown_renderer_setup_cost_stays_below_render_work (line 32764) | fn detail_markdown_renderer_setup_cost_stays_below_render_work() { function analytics_entered_switches_surface (line 32831) | fn analytics_entered_switches_surface() { function analytics_reload_scheduling_requires_db_and_manages_loading_context (line 32857) | fn analytics_reload_scheduling_requires_db_and_manages_loading_context() { function analytics_surface_renders_loading_placeholder (line 32905) | fn analytics_surface_renders_loading_placeholder() { function analytics_chart_data_failure_clears_loading_and_sets_status (line 32925) | fn analytics_chart_data_failure_clears_loading_and_sets_status() { function analytics_entered_sets_loading_context_when_cache_empty (line 32945) | fn analytics_entered_sets_loading_context_when_cache_empty() { function analytics_entered_skips_load_when_cache_present (line 32963) | fn analytics_entered_skips_load_when_cache_present() { function state_load_sets_and_clears_loading_context (line 32976) | fn state_load_sets_and_clears_loading_context() { function state_load_failure_clears_loading_context (line 32998) | fn state_load_failure_clears_loading_context() { function loading_hud_token_includes_spinner_and_context_label (line 33013) | fn loading_hud_token_includes_spinner_and_context_label() { function spinner_prefix_only_on_active_operation_status (line 33037) | fn spinner_prefix_only_on_active_operation_status() { function detail_panel_renders_loading_placeholder (line 33075) | fn detail_panel_renders_loading_placeholder() { function analytics_entered_idempotent (line 33102) | fn analytics_entered_idempotent() { function analytics_view_changed_updates_subview (line 33112) | fn analytics_view_changed_updates_subview() { function analytics_view_changed_applies_all_variants_directly (line 33137) | fn analytics_view_changed_applies_all_variants_directly() { function tick_clears_completed_view_transition (line 33159) | fn tick_clears_completed_view_transition() { function transition_effect_hidden_under_essential_degradation (line 33176) | fn transition_effect_hidden_under_essential_degradation() { function active_transition_renders_cleanly_across_sizes_and_degradation_levels (line 33243) | fn active_transition_renders_cleanly_across_sizes_and_degradation_levels... function view_stack_popped_returns_to_search (line 33280) | fn view_stack_popped_returns_to_search() { function view_stack_popped_empty_defaults_to_search (line 33291) | fn view_stack_popped_empty_defaults_to_search() { function esc_from_analytics_pops_view_stack (line 33300) | fn esc_from_analytics_pops_view_stack() { function analytics_time_range_set (line 33313) | fn analytics_time_range_set() { function analytics_agent_filter_set (line 33324) | fn analytics_agent_filter_set() { function analytics_workspace_filter_set (line 33335) | fn analytics_workspace_filter_set() { function analytics_source_filter_set (line 33343) | fn analytics_source_filter_set() { function analytics_filters_clear_all (line 33350) | fn analytics_filters_clear_all() { function analytics_drilldown_inherits_filters_and_clears_stale_search_filters (line 33363) | fn analytics_drilldown_inherits_filters_and_clears_stale_search_filters() { function analytics_drilldown_agent_dimension_overrides_inherited_agent_filters (line 33408) | fn analytics_drilldown_agent_dimension_overrides_inherited_agent_filters... function analytics_drilldown_back_navigation_preserves_selection (line 33428) | fn analytics_drilldown_back_navigation_preserves_selection() { function analytics_drilldown_workspace_dimension_overrides_inherited_workspaces (line 33456) | fn analytics_drilldown_workspace_dimension_overrides_inherited_workspace... function analytics_drilldown_source_dimension_overrides_inherited_source_filter (line 33477) | fn analytics_drilldown_source_dimension_overrides_inherited_source_filte... function analytics_drilldown_model_dimension_seeds_query (line 33498) | fn analytics_drilldown_model_dimension_seeds_query() { function day_label_to_epoch_range_validates_calendar_dates (line 33517) | fn day_label_to_epoch_range_validates_calendar_dates() { function analytics_view_labels_all_unique (line 33533) | fn analytics_view_labels_all_unique() { function analytics_view_all_has_seven_entries (line 33543) | fn analytics_view_all_has_seven_entries() { function analytics_filter_summary_empty (line 33548) | fn analytics_filter_summary_empty() { function analytics_filter_summary_with_filters (line 33554) | fn analytics_filter_summary_with_filters() { function palette_has_analytics_actions (line 33564) | fn palette_has_analytics_actions() { function default_surface_is_search (line 33577) | fn default_surface_is_search() { function render_at_degradation (line 33590) | fn render_at_degradation( function view_deterministic_under_repeated_renders (line 33604) | fn view_deterministic_under_repeated_renders() { function view_no_panic_at_every_degradation_level (line 33620) | fn view_no_panic_at_every_degradation_level() { function view_no_panic_analytics_at_every_degradation_level (line 33637) | fn view_no_panic_analytics_at_every_degradation_level() { function view_degraded_borders_differ_from_full (line 33655) | fn view_degraded_borders_differ_from_full() { function view_essential_only_skips_borders (line 33675) | fn view_essential_only_skips_borders() { function view_skeleton_skips_analytics_content (line 33704) | fn view_skeleton_skips_analytics_content() { function view_no_styling_drops_colors (line 33733) | fn view_no_styling_drops_colors() { function degradation_level_status_tag_shown_when_degraded (line 33760) | fn degradation_level_status_tag_shown_when_degraded() { function degradation_level_enum_progression (line 33788) | fn degradation_level_enum_progression() { function frame_budget_config_defaults_are_sane (line 33818) | fn frame_budget_config_defaults_are_sane() { function cass_runtime_budget_profile_is_quality_first_and_stable (line 33828) | fn cass_runtime_budget_profile_is_quality_first_and_stable() { function cass_runtime_budget_upgrade_is_debounced_by_cooldown (line 33846) | fn cass_runtime_budget_upgrade_is_debounced_by_cooldown() { function dumb_term_style_profile_upgrade_triggers_for_inherited_mono (line 33871) | fn dumb_term_style_profile_upgrade_triggers_for_inherited_mono() { function dumb_term_style_profile_upgrade_triggers_for_inherited_ansi16 (line 33888) | fn dumb_term_style_profile_upgrade_triggers_for_inherited_ansi16() { function dumb_term_style_profile_upgrade_respects_explicit_no_color_intent (line 33905) | fn dumb_term_style_profile_upgrade_respects_explicit_no_color_intent() { function dumb_term_style_profile_upgrade_respects_explicit_profile_override (line 33922) | fn dumb_term_style_profile_upgrade_respects_explicit_profile_override() { function dumb_term_style_profile_upgrade_skips_when_not_in_compat_mode (line 33939) | fn dumb_term_style_profile_upgrade_skips_when_not_in_compat_mode() { function render_deterministic_across_both_surfaces (line 33972) | fn render_deterministic_across_both_surfaces() { function make_hit (line 33998) | fn make_hit(id: u64, path: &str) -> SearchHit { function rich_visual_fixture_hits (line 34020) | fn rich_visual_fixture_hits() -> Vec { function app_with_hits (line 34170) | fn app_with_hits(n: usize) -> CassApp { function app_with_rich_visual_fixture (line 34186) | fn app_with_rich_visual_fixture() -> CassApp { function rich_visual_fixture_dataset_is_deterministic_and_diverse (line 34195) | fn rich_visual_fixture_dataset_is_deterministic_and_diverse() { function rich_visual_fixture_renders_across_layouts_without_panic (line 34242) | fn rich_visual_fixture_renders_across_layouts_without_panic() { function selected_hit_key_from_hit_captures_stable_fields (line 34260) | fn selected_hit_key_from_hit_captures_stable_fields() { function selected_hit_key_equality_and_hash (line 34274) | fn selected_hit_key_equality_and_hash() { function selected_hit_key_normalizes_blank_source_id_variants (line 34283) | fn selected_hit_key_normalizes_blank_source_id_variants() { function selected_hit_key_distinguishes_same_path_line_hash_by_timestamp (line 34299) | fn selected_hit_key_distinguishes_same_path_line_hash_by_timestamp() { function selected_hit_key_distinguishes_same_path_line_hash_by_title (line 34311) | fn selected_hit_key_distinguishes_same_path_line_hash_by_title() { function selected_hit_key_distinguishes_same_path_title_by_conversation_id (line 34326) | fn selected_hit_key_distinguishes_same_path_title_by_conversation_id() { function toggle_select_adds_and_removes (line 34342) | fn toggle_select_adds_and_removes() { function toggle_select_multiple_items (line 34359) | fn toggle_select_multiple_items() { function select_all_toggles_between_all_and_none (line 34378) | fn select_all_toggles_between_all_and_none() { function item_enqueued_adds_and_advances (line 34391) | fn item_enqueued_adds_and_advances() { function selection_survives_reranking (line 34415) | fn selection_survives_reranking() { function open_confirm_armed_resets_on_selection_change (line 34436) | fn open_confirm_armed_resets_on_selection_change() { function bulk_modal_opens_and_closes (line 34453) | fn bulk_modal_opens_and_closes() { function bulk_modal_refuses_to_open_with_empty_selection (line 34468) | fn bulk_modal_refuses_to_open_with_empty_selection() { function bulk_modal_navigation_up_down (line 34476) | fn bulk_modal_navigation_up_down() { function bulk_clear_selection_clears_and_shows_status (line 34507) | fn bulk_clear_selection_clears_and_shows_status() { function open_all_queued_empty_shows_message (line 34518) | fn open_all_queued_empty_shows_message() { function open_all_queued_large_batch_requires_confirmation (line 34526) | fn open_all_queued_large_batch_requires_confirmation() { function open_all_queued_small_batch_opens_directly (line 34541) | fn open_all_queued_small_batch_opens_directly() { function selected_hits_collects_matching_pane_hits (line 34555) | fn selected_hits_collects_matching_pane_hits() { function bulk_modal_esc_closes_without_executing (line 34574) | fn bulk_modal_esc_closes_without_executing() { function bulk_modal_renders_without_panic (line 34588) | fn bulk_modal_renders_without_panic() { function render_80x24_no_panic (line 34604) | fn render_80x24_no_panic() { function render_40x12_no_panic (line 34616) | fn render_40x12_no_panic() { function render_1x1_no_panic (line 34624) | fn render_1x1_no_panic() { function status_footer_adapts_to_width (line 34631) | fn status_footer_adapts_to_width() { function status_footer_hud_surfaces_progress_perf_cache_and_degradation_signals (line 34672) | fn status_footer_hud_surfaces_progress_perf_cache_and_degradation_signal... function status_footer_hud_marks_wrong_source_cached_detail_as_cold (line 34705) | fn status_footer_hud_marks_wrong_source_cached_detail_as_cold() { function status_footer_hud_truncates_to_core_lanes_on_narrow_widths (line 34729) | fn status_footer_hud_truncates_to_core_lanes_on_narrow_widths() { function contextual_footer_hints_results_include_search_mode_cycle (line 34752) | fn contextual_footer_hints_results_include_search_mode_cycle() { function contextual_footer_hints_include_bulk_actions_when_selected (line 34762) | fn contextual_footer_hints_include_bulk_actions_when_selected() { function contextual_footer_hints_switch_for_filter_mode (line 34776) | fn contextual_footer_hints_switch_for_filter_mode() { function contextual_footer_hints_switch_for_analytics_surface (line 34785) | fn contextual_footer_hints_switch_for_analytics_surface() { function contextual_footer_hints_analytics_dashboard_no_special_keys (line 34794) | fn contextual_footer_hints_analytics_dashboard_no_special_keys() { function contextual_footer_hints_analytics_explorer_shows_controls (line 34806) | fn contextual_footer_hints_analytics_explorer_shows_controls() { function contextual_footer_hints_analytics_heatmap_shows_tab_metric (line 34818) | fn contextual_footer_hints_analytics_heatmap_shows_tab_metric() { function contextual_footer_hints_analytics_breakdowns_shows_tab (line 34831) | fn contextual_footer_hints_analytics_breakdowns_shows_tab() { function contextual_footer_hints_analytics_context_key_per_subview (line 34841) | fn contextual_footer_hints_analytics_context_key_per_subview() { function search_title_adapts_to_width (line 34865) | fn search_title_adapts_to_width() { function search_title_and_caret_render_across_core_presets (line 34895) | fn search_title_and_caret_render_across_core_presets() { function results_title_shows_selection_count (line 34953) | fn results_title_shows_selection_count() { function analytics_header_adapts_to_width (line 34969) | fn analytics_header_adapts_to_width() { function adaptive_borders_reach_results_and_detail_panes (line 34999) | fn adaptive_borders_reach_results_and_detail_panes() { function hit_regions_recorded_after_render (line 35037) | fn hit_regions_recorded_after_render() { function hit_regions_include_detail_pane_in_wide_layout (line 35056) | fn hit_regions_include_detail_pane_in_wide_layout() { function hit_test_returns_results_for_results_inner (line 35067) | fn hit_test_returns_results_for_results_inner() { function wide_layout_records_multiple_visible_pane_rects (line 35086) | fn wide_layout_records_multiple_visible_pane_rects() { function hit_test_returns_pane_header_for_pane_title_area (line 35099) | fn hit_test_returns_pane_header_for_pane_title_area() { function mouse_click_in_non_active_pane_switches_active_pane (line 35115) | fn mouse_click_in_non_active_pane_switches_active_pane() { function mouse_click_on_pane_header_preserves_target_pane_selection (line 35141) | fn mouse_click_on_pane_header_preserves_target_pane_selection() { function mouse_move_over_non_active_pane_tracks_pane_aware_hover (line 35188) | fn mouse_move_over_non_active_pane_tracks_pane_aware_hover() { function hit_test_returns_detail_for_detail_area (line 35213) | fn hit_test_returns_detail_for_detail_area() { function hit_test_returns_search_bar_for_top_row (line 35223) | fn hit_test_returns_search_bar_for_top_row() { function mouse_click_in_search_bar_places_cursor_at_click_offset (line 35233) | fn mouse_click_in_search_bar_places_cursor_at_click_offset() { function mouse_left_click_on_agent_pill_enters_agent_input_mode (line 35267) | fn mouse_left_click_on_agent_pill_enters_agent_input_mode() { function mouse_right_click_on_agent_pill_clears_agent_filter (line 35289) | fn mouse_right_click_on_agent_pill_clears_agent_filter() { function filter_pills_include_inactive_slots (line 35318) | fn filter_pills_include_inactive_slots() { function filter_pills_mark_active_filters (line 35333) | fn filter_pills_mark_active_filters() { function build_pills_row_produces_per_pill_spans (line 35350) | fn build_pills_row_produces_per_pill_spans() { function build_pills_row_underlines_only_editable_labels (line 35425) | fn build_pills_row_underlines_only_editable_labels() { function editable_pill_values_are_italic (line 35470) | fn editable_pill_values_are_italic() { function editable_inactive_pill_shows_pencil_glyph (line 35540) | fn editable_inactive_pill_shows_pencil_glyph() { function non_editable_pill_has_no_pencil_glyph (line 35585) | fn non_editable_pill_has_no_pencil_glyph() { function pill_hit_rects_account_for_pencil_glyph_width (line 35609) | fn pill_hit_rects_account_for_pencil_glyph_width() { function inactive_pill_click_opens_editor (line 35660) | fn inactive_pill_click_opens_editor() { function hit_test_returns_none_outside_all_regions (line 35684) | fn hit_test_returns_none_outside_all_regions() { function hit_test_returns_split_handle_when_present (line 35691) | fn hit_test_returns_split_handle_when_present() { function mouse_click_in_results_moves_selection (line 35706) | fn mouse_click_in_results_moves_selection() { function mouse_click_in_results_restores_results_navigation_context (line 35726) | fn mouse_click_in_results_restores_results_navigation_context() { function enter_after_mouse_result_click_opens_detail_from_stale_input_mode (line 35760) | fn enter_after_mouse_result_click_opens_detail_from_stale_input_mode() { function mouse_click_on_selected_row_opens_detail (line 35793) | fn mouse_click_on_selected_row_opens_detail() { function mouse_right_click_in_results_toggles_selection (line 35811) | fn mouse_right_click_in_results_toggles_selection() { function mouse_scroll_in_results_moves_selection (line 35830) | fn mouse_scroll_in_results_moves_selection() { function mouse_scroll_in_detail_scrolls_detail (line 35848) | fn mouse_scroll_in_detail_scrolls_detail() { function mouse_click_in_detail_focuses_detail (line 35866) | fn mouse_click_in_detail_focuses_detail() { function mouse_click_in_search_bar_enters_query_context (line 35884) | fn mouse_click_in_search_bar_enters_query_context() { function mouse_event_kind_has_right_click (line 35907) | fn mouse_event_kind_has_right_click() { function mouse_drag_on_split_handle_updates_panel_ratio_target (line 35914) | fn mouse_drag_on_split_handle_updates_panel_ratio_target() { function saved_views_mouse_drag_reorders_rows (line 35962) | fn saved_views_mouse_drag_reorders_rows() { function hit_regions_cleared_on_analytics_surface (line 36034) | fn hit_regions_cleared_on_analytics_surface() { function mouse_scroll_outside_regions_defaults_to_results (line 36057) | fn mouse_scroll_outside_regions_defaults_to_results() { function drag_jitter_filter_suppresses_small_movements (line 36076) | fn drag_jitter_filter_suppresses_small_movements() { function drag_above_threshold_is_accepted (line 36099) | fn drag_above_threshold_is_accepted() { function mouse_release_clears_tracking_state (line 36119) | fn mouse_release_clears_tracking_state() { function first_drag_event_without_prior_click_is_not_filtered (line 36135) | fn first_drag_event_without_prior_click_is_not_filtered() { function drag_hover_settle_fields_initialized_to_none (line 36150) | fn drag_hover_settle_fields_initialized_to_none() { function scroll_events_are_not_jitter_filtered (line 36157) | fn scroll_events_are_not_jitter_filtered() { function hit_test_row_calculation_respects_density (line 36175) | fn hit_test_row_calculation_respects_density() { function narrow_layout_only_records_visible_pane (line 36196) | fn narrow_layout_only_records_visible_pane() { function breakpoint_narrow_below_80 (line 36216) | fn breakpoint_narrow_below_80() { function breakpoint_medium_narrow_80_to_119 (line 36222) | fn breakpoint_medium_narrow_80_to_119() { function breakpoint_medium_120_to_159 (line 36238) | fn breakpoint_medium_120_to_159() { function breakpoint_wide_160_plus (line 36245) | fn breakpoint_wide_160_plus() { function breakpoint_zero_is_narrow (line 36259) | fn breakpoint_zero_is_narrow() { function topology_narrow_is_single_pane (line 36264) | fn topology_narrow_is_single_pane() { function topology_medium_narrow_tight_split (line 36273) | fn topology_medium_narrow_tight_split() { function topology_medium_balanced_split (line 36282) | fn topology_medium_balanced_split() { function topology_wide_spacious_split (line 36291) | fn topology_wide_spacious_split() { function topology_min_sum_fits_breakpoint (line 36300) | fn topology_min_sum_fits_breakpoint() { function footer_labels_are_short (line 36328) | fn footer_labels_are_short() { function inspector_labels_contain_range (line 36344) | fn inspector_labels_contain_range() { function analytics_topology_narrow_hides_tab_bar (line 36356) | fn analytics_topology_narrow_hides_tab_bar() { function analytics_topology_medium_narrow_shows_filter (line 36364) | fn analytics_topology_medium_narrow_shows_filter() { function analytics_topology_medium_shows_tabs (line 36372) | fn analytics_topology_medium_shows_tabs() { function analytics_topology_wide_shows_everything (line 36380) | fn analytics_topology_wide_shows_everything() { function analytics_footer_includes_breakpoint_label (line 36388) | fn analytics_footer_includes_breakpoint_label() { function medium_narrow_renders_both_panes (line 36402) | fn medium_narrow_renders_both_panes() { function topology_driven_render_all_widths (line 36418) | fn topology_driven_render_all_widths() { function narrow_single_pane_hides_other (line 36437) | fn narrow_single_pane_hides_other() { function hit_regions_cleared_in_narrow_single_pane (line 36453) | fn hit_regions_cleared_in_narrow_single_pane() { function dual_pane_records_both_hit_regions (line 36470) | fn dual_pane_records_both_hit_regions() { function dual_pane_grouping_cues_survive_degradation_levels (line 36492) | fn dual_pane_grouping_cues_survive_degradation_levels() { function focus_toggle_switches_region (line 36519) | fn focus_toggle_switches_region() { function narrow_focus_toggle_swaps_visible_pane (line 36529) | fn narrow_focus_toggle_swaps_visible_pane() { function selection_moved_transfers_focus_to_results_list (line 36548) | fn selection_moved_transfers_focus_to_results_list() { function selection_moved_preserves_focus_in_filter_input_modes (line 36564) | fn selection_moved_preserves_focus_in_filter_input_modes() { function selection_jumped_transfers_focus_to_results_list (line 36587) | fn selection_jumped_transfers_focus_to_results_list() { function active_pane_changed_transfers_focus_to_results_list (line 36601) | fn active_pane_changed_transfers_focus_to_results_list() { function keyboard_navigation_then_enter_opens_detail (line 36623) | fn keyboard_navigation_then_enter_opens_detail() { function detail_close_restores_focus_to_results_list (line 36641) | fn detail_close_restores_focus_to_results_list() { function enter_matrix_query_mode_with_hit_opens_detail (line 36663) | fn enter_matrix_query_mode_with_hit_opens_detail() { function enter_matrix_query_mode_without_hit_submits_query (line 36679) | fn enter_matrix_query_mode_without_hit_submits_query() { function enter_matrix_results_focus_with_hit_opens_detail (line 36695) | fn enter_matrix_results_focus_with_hit_opens_detail() { function enter_matrix_detail_modal_already_open_stays_open (line 36708) | fn enter_matrix_detail_modal_already_open_stays_open() { function enter_reentry_does_not_stack_detail_focus_traps (line 36729) | fn enter_reentry_does_not_stack_detail_focus_traps() { function enter_reentry_preserves_detail_scroll_state (line 36758) | fn enter_reentry_preserves_detail_scroll_state() { function enter_matrix_pane_filter_mode_applies_filter (line 36777) | fn enter_matrix_pane_filter_mode_applies_filter() { function enter_matrix_agent_filter_mode_applies_filter (line 36795) | fn enter_matrix_agent_filter_mode_applies_filter() { function enter_matrix_navigation_flow_search_to_detail_roundtrip (line 36812) | fn enter_matrix_navigation_flow_search_to_detail_roundtrip() { function toggle_json_view_while_modal_open_no_duplicate_trap (line 36835) | fn toggle_json_view_while_modal_open_no_duplicate_trap() { function rapid_enter_presses_no_focus_trap_stack (line 36860) | fn rapid_enter_presses_no_focus_trap_stack() { function enter_with_empty_panes_submits_query (line 36877) | fn enter_with_empty_panes_submits_query() { function tool_collapse_toggle_flips_state (line 36898) | fn tool_collapse_toggle_flips_state() { function tool_expand_all_clears_collapsed (line 36908) | fn tool_expand_all_clears_collapsed() { function detail_opened_auto_collapses_tool_messages (line 36919) | fn detail_opened_auto_collapses_tool_messages() { function tool_collapse_all_populates_from_cached_detail (line 36931) | fn tool_collapse_all_populates_from_cached_detail() { function tool_collapse_all_ignores_cached_detail_from_other_source_same_path (line 36973) | fn tool_collapse_all_ignores_cached_detail_from_other_source_same_path() { function build_detail_header_lines_without_cached_detail (line 37008) | fn build_detail_header_lines_without_cached_detail() { function build_detail_header_lines_with_cached_detail (line 37018) | fn build_detail_header_lines_with_cached_detail() { function build_text_sparkline_produces_output (line 37061) | fn build_text_sparkline_produces_output() { function build_text_sparkline_empty_for_single_message (line 37090) | fn build_text_sparkline_empty_for_single_message() { function build_analytics_lines_without_cached_detail (line 37114) | fn build_analytics_lines_without_cached_detail() { function build_analytics_lines_with_messages (line 37124) | fn build_analytics_lines_with_messages() { function build_analytics_lines_prefer_loaded_view_workspace_over_stale_hit_workspace (line 37181) | fn build_analytics_lines_prefer_loaded_view_workspace_over_stale_hit_wor... function build_analytics_lines_trim_hit_agent_when_loaded_metadata_is_missing (line 37221) | fn build_analytics_lines_trim_hit_agent_when_loaded_metadata_is_missing() { function build_analytics_lines_fall_back_to_hit_agent_when_loaded_metadata_is_missing (line 37256) | fn build_analytics_lines_fall_back_to_hit_agent_when_loaded_metadata_is_... function build_analytics_lines_fall_back_to_hit_workspace_when_loaded_metadata_is_missing (line 37290) | fn build_analytics_lines_fall_back_to_hit_workspace_when_loaded_metadata... function tab_cycling_includes_analytics_and_export (line 37325) | fn tab_cycling_includes_analytics_and_export() { function detail_message_jumped_forward (line 37345) | fn detail_message_jumped_forward() { function detail_message_jumped_backward (line 37369) | fn detail_message_jumped_backward() { function detail_message_jump_uses_clamped_current_scroll_when_state_is_oversized (line 37385) | fn detail_message_jump_uses_clamped_current_scroll_when_state_is_oversiz... function detail_message_jumped_user_only (line 37409) | fn detail_message_jumped_user_only() { function detail_g_jumps_to_top (line 37429) | fn detail_g_jumps_to_top() { function detail_g_capital_jumps_to_bottom (line 37439) | fn detail_g_capital_jumps_to_bottom() { function stats_bar_toggled_flips_state (line 37454) | fn stats_bar_toggled_flips_state() { function build_results_stats_line_with_hits (line 37464) | fn build_results_stats_line_with_hits() { function build_results_stats_line_empty_panes (line 37489) | fn build_results_stats_line_empty_panes() { function build_results_stats_line_omits_token_estimate_from_content (line 37505) | fn build_results_stats_line_omits_token_estimate_from_content() { function build_result_row_mini_analytics_map_distinguishes_same_path_sessions_by_title (line 37530) | fn build_result_row_mini_analytics_map_distinguishes_same_path_sessions_... function build_result_row_mini_analytics_map_distinguishes_same_path_same_title_by_conversation_id (line 37566) | fn build_result_row_mini_analytics_map_distinguishes_same_path_same_titl... function build_result_row_mini_analytics_map_aggregates_by_session (line 37598) | fn build_result_row_mini_analytics_map_aggregates_by_session() { function build_result_row_mini_analytics_map_normalizes_blank_local_source_id (line 37646) | fn build_result_row_mini_analytics_map_normalizes_blank_local_source_id() { function app_with_cached_conversation (line 37687) | fn app_with_cached_conversation() -> CassApp { function regression_detail_open_sets_messages_tab (line 37746) | fn regression_detail_open_sets_messages_tab() { function regression_detail_open_collects_session_hit_lines_for_selected_source (line 37754) | fn regression_detail_open_collects_session_hit_lines_for_selected_source... function regression_build_messages_marks_session_hits_and_caches_offsets (line 37827) | fn regression_build_messages_marks_session_hits_and_caches_offsets() { function regression_detail_session_hit_navigation_cycles_offsets (line 37858) | fn regression_detail_session_hit_navigation_cycles_offsets() { function regression_detail_open_cache_hit_uses_cached_conversation_without_reload (line 37875) | fn regression_detail_open_cache_hit_uses_cached_conversation_without_rel... function regression_detail_open_auto_collapses_tool_system (line 37904) | fn regression_detail_open_auto_collapses_tool_system() { function regression_expand_all_then_collapse_all_roundtrip (line 37924) | fn regression_expand_all_then_collapse_all_roundtrip() { function regression_message_navigation_forward_backward_consistent (line 37942) | fn regression_message_navigation_forward_backward_consistent() { function regression_markdown_gfm_message_content_renders_expected_sections (line 37977) | fn regression_markdown_gfm_message_content_renders_expected_sections() { function regression_user_only_navigation_skips_non_user (line 38002) | fn regression_user_only_navigation_skips_non_user() { function regression_detail_find_navigation_uses_rendered_match_cache (line 38031) | fn regression_detail_find_navigation_uses_rendered_match_cache() { function regression_metadata_header_omits_token_metrics (line 38069) | fn regression_metadata_header_omits_token_metrics() { function regression_metadata_header_shows_message_counts (line 38085) | fn regression_metadata_header_shows_message_counts() { function regression_analytics_tab_shows_overview (line 38102) | fn regression_analytics_tab_shows_overview() { function regression_tab_cycling_full_loop (line 38120) | fn regression_tab_cycling_full_loop() { function regression_detail_close_clears_focus_trap (line 38139) | fn regression_detail_close_clears_focus_trap() { function regression_build_messages_populates_offsets (line 38149) | fn regression_build_messages_populates_offsets() { function regression_collapsed_message_renders_truncated (line 38166) | fn regression_collapsed_message_renders_truncated() { function analytics_surface_clears_search_regions (line 38187) | fn analytics_surface_clears_search_regions() { function split_handle_absent_prevents_drag (line 38207) | fn split_handle_absent_prevents_drag() { function split_handle_rendered_in_dual_pane (line 38230) | fn split_handle_rendered_in_dual_pane() { function single_pane_has_no_split_handle (line 38243) | fn single_pane_has_no_split_handle() { function pane_titles_render_in_output (line 38255) | fn pane_titles_render_in_output() { function ultra_narrow_threshold (line 38269) | fn ultra_narrow_threshold() { function ultra_narrow_render_no_panic (line 38278) | fn ultra_narrow_render_no_panic() { function ultra_narrow_shows_resize_hint (line 38295) | fn ultra_narrow_shows_resize_hint() { function normal_size_not_ultra_narrow (line 38307) | fn normal_size_not_ultra_narrow() { function visibility_narrow_hides_theme_and_hints (line 38324) | fn visibility_narrow_hides_theme_and_hints() { function visibility_medium_narrow_shows_theme (line 38332) | fn visibility_medium_narrow_shows_theme() { function visibility_wide_full_hints (line 38340) | fn visibility_wide_full_hints() { function visibility_hint_budget_monotonic (line 38348) | fn visibility_hint_budget_monotonic() { function footer_hint_slots_uses_visibility_policy (line 38368) | fn footer_hint_slots_uses_visibility_policy() { function search_bar_shows_theme_at_medium_narrow (line 38377) | fn search_bar_shows_theme_at_medium_narrow() { constant SIZE_MATRIX (line 38395) | const SIZE_MATRIX: &[(u16, u16, &str)] = &[ function size_sweep_no_panic (line 38421) | fn size_sweep_no_panic() { function size_sweep_topology_consistency (line 38432) | fn size_sweep_topology_consistency() { function size_sweep_analytics_no_panic (line 38473) | fn size_sweep_analytics_no_panic() { function size_sweep_focus_toggle_invariant (line 38483) | fn size_sweep_focus_toggle_invariant() { function size_sweep_breakpoint_monotonic (line 38509) | fn size_sweep_breakpoint_monotonic() { function size_sweep_visibility_policy_stable (line 38545) | fn size_sweep_visibility_policy_stable() { function grouping_cycles_through_all_modes (line 38563) | fn grouping_cycles_through_all_modes() { function grouping_labels_are_distinct (line 38574) | fn grouping_labels_are_distinct() { function regroup_panes_by_agent (line 38589) | fn regroup_panes_by_agent() { function regroup_panes_flat_creates_single_pane (line 38607) | fn regroup_panes_flat_creates_single_pane() { function regroup_panes_by_workspace (line 38622) | fn regroup_panes_by_workspace() { function regroup_panes_by_agent_trims_whitespace_and_coalesces_groups (line 38640) | fn regroup_panes_by_agent_trims_whitespace_and_coalesces_groups() { function regroup_panes_by_workspace_trims_whitespace_and_blank_values (line 38655) | fn regroup_panes_by_workspace_trims_whitespace_and_blank_values() { function regroup_panes_by_conversation (line 38674) | fn regroup_panes_by_conversation() { function grouping_cycled_msg_changes_mode_and_regroups (line 38690) | fn grouping_cycled_msg_changes_mode_and_regroups() { function timeline_jump_finds_next_day (line 38709) | fn timeline_jump_finds_next_day() { function timeline_jump_finds_next_day_with_millisecond_timestamps (line 38736) | fn timeline_jump_finds_next_day_with_millisecond_timestamps() { function timeline_jump_finds_prev_day (line 38762) | fn timeline_jump_finds_prev_day() { function timeline_jump_returns_none_at_boundary (line 38789) | fn timeline_jump_returns_none_at_boundary() { function timeline_jumped_msg_moves_selection (line 38811) | fn timeline_jumped_msg_moves_selection() { function results_title_shows_grouping_mode (line 38841) | fn results_title_shows_grouping_mode() { function regroup_clamps_active_pane (line 38853) | fn regroup_clamps_active_pane() { function undo_history_push_and_pop (line 38871) | fn undo_history_push_and_pop() { function undo_history_redo_after_undo (line 38902) | fn undo_history_redo_after_undo() { function undo_history_push_clears_redo (line 38940) | fn undo_history_push_clears_redo() { function undo_history_respects_max_depth (line 38979) | fn undo_history_respects_max_depth() { function undo_msg_restores_query_state (line 39001) | fn undo_msg_restores_query_state() { function redo_msg_restores_after_undo (line 39014) | fn redo_msg_restores_after_undo() { function undo_filter_change_restores_agents (line 39029) | fn undo_filter_change_restores_agents() { function undo_nothing_sets_status (line 39042) | fn undo_nothing_sets_status() { function redo_nothing_sets_status (line 39049) | fn redo_nothing_sets_status() { function undo_grouping_cycle_restores_mode (line 39056) | fn undo_grouping_cycle_restores_mode() { function undo_clear_all_filters_restores_state (line 39066) | fn undo_clear_all_filters_restores_state() { function analytics_selection_wraps_around (line 39082) | fn analytics_selection_wraps_around() { function analytics_enter_on_breakdowns_triggers_drilldown (line 39106) | fn analytics_enter_on_breakdowns_triggers_drilldown() { function analytics_enter_on_dashboard_is_noop (line 39122) | fn analytics_enter_on_dashboard_is_noop() { function analytics_view_change_resets_selection (line 39133) | fn analytics_view_change_resets_selection() { function analytics_left_right_cycles_views (line 39141) | fn analytics_left_right_cycles_views() { function build_drilldown_context_explorer_bucket (line 39155) | fn build_drilldown_context_explorer_bucket() { function build_drilldown_context_tools_agent (line 39180) | fn build_drilldown_context_tools_agent() { function build_drilldown_context_workspace_breakdown (line 39213) | fn build_drilldown_context_workspace_breakdown() { function build_drilldown_context_source_breakdown (line 39230) | fn build_drilldown_context_source_breakdown() { function tools_selectable_count_uses_tool_rows (line 39250) | fn tools_selectable_count_uses_tool_rows() { function coverage_selectable_count_uses_agents (line 39267) | fn coverage_selectable_count_uses_agents() { function build_drilldown_context_coverage_agent (line 39277) | fn build_drilldown_context_coverage_agent() { function explorer_m_key_cycles_metric_forward (line 39299) | fn explorer_m_key_cycles_metric_forward() { function explorer_shift_m_key_cycles_metric_backward (line 39313) | fn explorer_shift_m_key_cycles_metric_backward() { function explorer_o_key_cycles_overlay (line 39325) | fn explorer_o_key_cycles_overlay() { function explorer_query_input_suppressed_on_analytics_surface (line 39346) | fn explorer_query_input_suppressed_on_analytics_surface() { function explorer_g_key_cycles_group_by_forward (line 39360) | fn explorer_g_key_cycles_group_by_forward() { function explorer_shift_g_key_cycles_group_by_backward (line 39377) | fn explorer_shift_g_key_cycles_group_by_backward() { function explorer_group_by_change_invalidates_cache (line 39388) | fn explorer_group_by_change_invalidates_cache() { function explorer_hour_group_by_defaults_to_week_zoom_range (line 39403) | fn explorer_hour_group_by_defaults_to_week_zoom_range() { function explorer_hourly_zoom_long_ranges_auto_switch_to_daily (line 39427) | fn explorer_hourly_zoom_long_ranges_auto_switch_to_daily() { function explorer_hourly_zoom_within_24h_or_7d_keeps_hour_group_by (line 39448) | fn explorer_hourly_zoom_within_24h_or_7d_keeps_hour_group_by() { function explorer_z_key_cycles_zoom_forward (line 39463) | fn explorer_z_key_cycles_zoom_forward() { function explorer_zoom_change_updates_analytics_filters (line 39481) | fn explorer_zoom_change_updates_analytics_filters() { function analytics_app_with_data (line 39503) | fn analytics_app_with_data(view: AnalyticsView) -> CassApp { function analytics_render_all_subviews_no_panic_80x24 (line 39621) | fn analytics_render_all_subviews_no_panic_80x24() { function analytics_render_all_subviews_no_panic_120x40 (line 39636) | fn analytics_render_all_subviews_no_panic_120x40() { function analytics_render_empty_data_no_panic (line 39651) | fn analytics_render_empty_data_no_panic() { function analytics_render_no_cache_no_panic (line 39670) | fn analytics_render_no_cache_no_panic() { function analytics_dashboard_render_shows_kpi_labels (line 39689) | fn analytics_dashboard_render_shows_kpi_labels() { function analytics_explorer_render_shows_metric_label (line 39705) | fn analytics_explorer_render_shows_metric_label() { function analytics_explorer_render_shows_scatter_panel_when_space_allows (line 39718) | fn analytics_explorer_render_shows_scatter_panel_when_space_allows() { function analytics_explorer_render_compact_hides_scatter_panel (line 39730) | fn analytics_explorer_render_compact_hides_scatter_panel() { function analytics_render_degradation_levels_no_panic (line 39741) | fn analytics_render_degradation_levels_no_panic() { function analytics_render_perf_guard (line 39773) | fn analytics_render_perf_guard() { function analytics_navigation_full_cycle_through_all_views (line 39792) | fn analytics_navigation_full_cycle_through_all_views() { function analytics_navigation_backward_cycle (line 39819) | fn analytics_navigation_backward_cycle() { function analytics_selection_per_view_with_data (line 39832) | fn analytics_selection_per_view_with_data() { function analytics_drilldown_from_each_selectable_view (line 39857) | fn analytics_drilldown_from_each_selectable_view() { function analytics_filter_persistence_across_view_changes (line 39879) | fn analytics_filter_persistence_across_view_changes() { function analytics_view_change_resets_selection_to_zero (line 39896) | fn analytics_view_change_resets_selection_to_zero() { constant PERF_RENDER_SINGLE_BUDGET_MS (line 39914) | const PERF_RENDER_SINGLE_BUDGET_MS: u128 = 200; constant PERF_RENDER_ALL_SCREENS_BUDGET_MS (line 39916) | const PERF_RENDER_ALL_SCREENS_BUDGET_MS: u128 = 2000; constant PERF_BUFFER_CELL_BUDGET (line 39920) | const PERF_BUFFER_CELL_BUDGET: usize = 120 * 40; function perf_guard_search_surface_render_time (line 39923) | fn perf_guard_search_surface_render_time() { function perf_guard_detail_surface_render_time (line 39937) | fn perf_guard_detail_surface_render_time() { function perf_guard_all_screens_sequential (line 39952) | fn perf_guard_all_screens_sequential() { function perf_guard_buffer_text_within_bounds (line 39991) | fn perf_guard_buffer_text_within_bounds() { function perf_guard_repeated_render_deterministic_timing (line 40008) | fn perf_guard_repeated_render_deterministic_timing() { constant MARKDOWN_PROFILE_CONTENT (line 40033) | const MARKDOWN_PROFILE_CONTENT: &str = "\ function make_markdown_messages (line 40069) | fn make_markdown_messages(count: usize) -> Vec CassApp { function perf_profile_markdown_renderer_construction (line 40125) | fn perf_profile_markdown_renderer_construction() { function perf_profile_markdown_render_per_message (line 40142) | fn perf_profile_markdown_render_per_message() { function perf_profile_markdown_detection (line 40159) | fn perf_profile_markdown_detection() { function perf_profile_build_messages_lines_markdown (line 40174) | fn perf_profile_build_messages_lines_markdown() { function perf_profile_build_messages_lines_plain_text (line 40193) | fn perf_profile_build_messages_lines_plain_text() { function perf_profile_detail_pane_render_with_markdown (line 40248) | fn perf_profile_detail_pane_render_with_markdown() { function perf_profile_markdown_no_accumulation (line 40263) | fn perf_profile_markdown_no_accumulation() { function perf_profile_theme_switch_invalidates_markdown (line 40284) | fn perf_profile_theme_switch_invalidates_markdown() { function perf_profile_markdown_vs_plain_overhead_ratio (line 40321) | fn perf_profile_markdown_vs_plain_overhead_ratio() { function animation_state_default_enabled (line 40355) | fn animation_state_default_enabled() { function animation_state_disabled_snaps (line 40362) | fn animation_state_disabled_snaps() { function animation_focus_flash_converges (line 40370) | fn animation_focus_flash_converges() { function animation_reveal_stagger (line 40381) | fn animation_reveal_stagger() { function animation_modal_open_close (line 40396) | fn animation_modal_open_close() { function animation_panel_ratio (line 40412) | fn animation_panel_ratio() { function animation_peek_badge (line 40427) | fn animation_peek_badge() { function animation_disabled_reveal_returns_1 (line 40443) | fn animation_disabled_reveal_returns_1() { function animation_clear_reveal_resets_state (line 40450) | fn animation_clear_reveal_resets_state() { function search_completed_large_result_set_starts_reveal_sequence (line 40461) | fn search_completed_large_result_set_starts_reveal_sequence() { function search_completed_small_result_set_clears_reveal_sequence (line 40491) | fn search_completed_small_result_set_clears_reveal_sequence() { function results_reveal_affects_full_mode_but_is_suppressed_when_degraded (line 40524) | fn results_reveal_affects_full_mode_but_is_suppressed_when_degraded() { function focus_flash_glyph_only_renders_when_motion_policy_allows (line 40580) | fn focus_flash_glyph_only_renders_when_motion_policy_allows() { function reveal_springs_capped_at_max_animated_items (line 40614) | fn reveal_springs_capped_at_max_animated_items() { function reveal_not_triggered_below_min_hits (line 40626) | fn reveal_not_triggered_below_min_hits() { function reveal_not_triggered_above_max_hits (line 40639) | fn reveal_not_triggered_above_max_hits() { function reveal_enabled_within_hit_range (line 40652) | fn reveal_enabled_within_hit_range() { function heavy_result_render_no_panic_with_animation (line 40671) | fn heavy_result_render_no_panic_with_animation() { function animation_disabled_env_snaps_springs (line 40685) | fn animation_disabled_env_snaps_springs() { function focus_flash_disabled_returns_zero_intensity (line 40705) | fn focus_flash_disabled_returns_zero_intensity() { function focus_flash_zero_when_not_focused (line 40720) | fn focus_flash_zero_when_not_focused() { function test_app (line 40736) | fn test_app() -> CassApp { function help_toggle_opens_and_closes (line 40741) | fn help_toggle_opens_and_closes() { function help_seen_state_persists_after_help_closed (line 40758) | fn help_seen_state_persists_after_help_closed() { function help_scroll_increments_and_clamps (line 40768) | fn help_scroll_increments_and_clamps() { function help_pin_toggle (line 40783) | fn help_pin_toggle() { function help_toggle_resets_scroll (line 40793) | fn help_toggle_resets_scroll() { function help_esc_closes_overlay (line 40808) | fn help_esc_closes_overlay() { function help_mouse_click_inside_overlay_keeps_help_open (line 40817) | fn help_mouse_click_inside_overlay_keeps_help_open() { function help_mouse_click_outside_overlay_dismisses_unpinned_help (line 40835) | fn help_mouse_click_outside_overlay_dismisses_unpinned_help() { function help_overlay_render_no_panic_80x24 (line 40859) | fn help_overlay_render_no_panic_80x24() { function help_overlay_render_no_panic_120x40 (line 40866) | fn help_overlay_render_no_panic_120x40() { function help_overlay_render_narrow_no_panic (line 40873) | fn help_overlay_render_narrow_no_panic() { function help_overlay_contains_shortcut_keys (line 40881) | fn help_overlay_contains_shortcut_keys() { function help_overlay_shows_pinned_indicator (line 40908) | fn help_overlay_shows_pinned_indicator() { function help_overlay_scroll_changes_visible_content (line 40922) | fn help_overlay_scroll_changes_visible_content() { function help_build_lines_contains_all_sections (line 40942) | fn help_build_lines_contains_all_sections() { function help_build_lines_references_shortcuts (line 40976) | fn help_build_lines_references_shortcuts() { function macro_recording_toggle_starts_recording (line 41037) | fn macro_recording_toggle_starts_recording() { function macro_recording_toggle_stops_and_saves (line 41047) | fn macro_recording_toggle_stops_and_saves() { function macro_default_state_is_none (line 41080) | fn macro_default_state_is_none() { function alt_m_maps_to_macro_recording_toggled (line 41088) | fn alt_m_maps_to_macro_recording_toggled() { function macro_playback_processes_events_on_tick (line 41100) | fn macro_playback_processes_events_on_tick() { function macro_recording_indicator_in_status_line (line 41133) | fn macro_recording_indicator_in_status_line() { function focus_graph_initialized_with_nodes (line 41148) | fn focus_graph_initialized_with_nodes() { function focus_graph_default_focuses_results (line 41160) | fn focus_graph_default_focuses_results() { function focused_region_treats_hidden_detail_pane_as_results (line 41167) | fn focused_region_treats_hidden_detail_pane_as_results() { function hiding_detail_pane_moves_focus_back_to_results (line 41178) | fn hiding_detail_pane_moves_focus_back_to_results() { function focus_toggle_cycles_through_nodes (line 41206) | fn focus_toggle_cycles_through_nodes() { function focus_directional_navigates_graph (line 41226) | fn focus_directional_navigates_graph() { function modal_push_trap_confines_focus (line 41248) | fn modal_push_trap_confines_focus() { function modal_pop_trap_restores_focus (line 41269) | fn modal_pop_trap_restores_focus() { function nested_modals_stack_traps (line 41286) | fn nested_modals_stack_traps() { function detail_closed_pops_trap_and_restores (line 41299) | fn detail_closed_pops_trap_and_restores() { function focus_graph_has_directional_edges (line 41340) | fn focus_graph_has_directional_edges() { function palette_visible_survives_selection_moved (line 41365) | fn palette_visible_survives_selection_moved() { function modal_dismiss_order_help_then_palette (line 41396) | fn modal_dismiss_order_help_then_palette() { function theme_change_during_palette_preserves_palette_state (line 41420) | fn theme_change_during_palette_preserves_palette_state() { function focus_region_transitions_are_deterministic (line 41438) | fn focus_region_transitions_are_deterministic() { function rapid_density_cycling_is_idempotent_after_full_cycle (line 41479) | fn rapid_density_cycling_is_idempotent_after_full_cycle() { function search_mode_cycling_returns_to_initial (line 41503) | fn search_mode_cycling_returns_to_initial() { function filter_clear_all_resets_all_filter_state (line 41528) | fn filter_clear_all_resets_all_filter_state() { function inspector_toggle_opens_and_closes (line 41556) | fn inspector_toggle_opens_and_closes() { function inspector_tab_cycles_through_all_tabs (line 41570) | fn inspector_tab_cycles_through_all_tabs() { function inspector_esc_closes_overlay (line 41598) | fn inspector_esc_closes_overlay() { function inspector_does_not_block_other_keys (line 41608) | fn inspector_does_not_block_other_keys() { function inspector_off_by_default (line 41619) | fn inspector_off_by_default() { function frame_timing_stats_basic (line 41627) | fn frame_timing_stats_basic() { function frame_timing_ring_buffer_caps_at_capacity (line 41645) | fn frame_timing_ring_buffer_caps_at_capacity() { function inspector_render_does_not_panic_small_terminal (line 41659) | fn inspector_render_does_not_panic_small_terminal() { function inspector_render_does_not_panic_normal_terminal (line 41671) | fn inspector_render_does_not_panic_normal_terminal() { function inspector_tab_labels_are_unique (line 41683) | fn inspector_tab_labels_are_unique() { function ctrl_shift_i_maps_to_inspector_toggled (line 41697) | fn ctrl_shift_i_maps_to_inspector_toggled() { function make_sync_report (line 41712) | fn make_sync_report( function sources_entered_switches_surface (line 41728) | fn sources_entered_switches_surface() { function sources_esc_pops_back_to_search (line 41738) | fn sources_esc_pops_back_to_search() { function sources_quit_requested_pops_back (line 41748) | fn sources_quit_requested_pops_back() { function sources_selection_wraps (line 41761) | fn sources_selection_wraps() { function sources_selection_keeps_selected_row_visible (line 41806) | fn sources_selection_keeps_selected_row_visible() { function sources_selection_visibility_recomputed_without_navigation (line 41856) | fn sources_selection_visibility_recomputed_without_navigation() { function sources_selection_unknown_visible_rows_clamps_scroll_back_to_selection (line 41888) | fn sources_selection_unknown_visible_rows_clamps_scroll_back_to_selectio... function rebuild_sources_view_preserves_busy_doctor_and_visible_selection (line 41915) | fn rebuild_sources_view_preserves_busy_doctor_and_visible_selection() { function rebuild_sources_view_preserves_selected_source_when_order_changes (line 42019) | fn rebuild_sources_view_preserves_selected_source_when_order_changes() { function rebuild_sources_view_clamps_selection_when_source_count_shrinks (line 42094) | fn rebuild_sources_view_clamps_selection_when_source_count_shrinks() { function rebuild_sources_view_preserves_busy_status_message (line 42156) | fn rebuild_sources_view_preserves_busy_status_message() { function sources_sync_requested_marks_busy (line 42204) | fn sources_sync_requested_marks_busy() { function sources_sync_completed_updates_row_state_on_success (line 42227) | fn sources_sync_completed_updates_row_state_on_success() { function sources_sync_completed_keeps_other_active_status_when_another_row_is_busy (line 42270) | fn sources_sync_completed_keeps_other_active_status_when_another_row_is_... function sources_sync_completed_updates_row_state_on_partial_failure (line 42325) | fn sources_sync_completed_updates_row_state_on_partial_failure() { function sources_sync_completed_updates_row_state_on_failure (line 42378) | fn sources_sync_completed_updates_row_state_on_failure() { function sources_doctor_completed_sets_summary (line 42415) | fn sources_doctor_completed_sets_summary() { function sources_doctor_completed_keeps_other_active_status_when_another_row_is_busy (line 42444) | fn sources_doctor_completed_keeps_other_active_status_when_another_row_i... function sources_refreshed_keeps_active_status_when_row_busy (line 42492) | fn sources_refreshed_keeps_active_status_when_row_busy() { function sources_refreshed_keeps_config_load_error_status (line 42516) | fn sources_refreshed_keeps_config_load_error_status() { function sources_refreshed_keeps_prune_warning_status (line 42543) | fn sources_refreshed_keeps_prune_warning_status() { function sources_view_renders_without_panic (line 42571) | fn sources_view_renders_without_panic() { function sources_view_render_keeps_selected_row_visible_after_resize (line 42595) | fn sources_view_render_keeps_selected_row_visible_after_resize() { function sources_key_suppresses_query_input (line 42635) | fn sources_key_suppresses_query_input() { function sources_entered_idempotent (line 42645) | fn sources_entered_idempotent() { function sources_from_analytics_stacks_correctly (line 42655) | fn sources_from_analytics_stacks_correctly() { function bocpd_coalescer_config_defaults_are_sane (line 42679) | fn bocpd_coalescer_config_defaults_are_sane() { function bocpd_coalescer_config_respects_env_disable (line 42711) | fn bocpd_coalescer_config_respects_env_disable() { function bocpd_coalescer_timing_thresholds_are_bounded (line 42736) | fn bocpd_coalescer_timing_thresholds_are_bounded() { function evidence_sink_config_writes_to_data_dir (line 42756) | fn evidence_sink_config_writes_to_data_dir() { function evidence_snapshots_default_is_empty (line 42783) | fn evidence_snapshots_default_is_empty() { function evidence_snapshots_has_any_detects_resize (line 42792) | fn evidence_snapshots_has_any_detects_resize() { function evidence_regime_label_none_returns_dash (line 42802) | fn evidence_regime_label_none_returns_dash() { function evidence_degradation_label_none_returns_dash (line 42808) | fn evidence_degradation_label_none_returns_dash() { function evidence_snapshots_in_cass_app_default (line 42814) | fn evidence_snapshots_in_cass_app_default() { function evidence_refresh_is_error_tolerant (line 42822) | fn evidence_refresh_is_error_tolerant() { function make_resize_snapshot (line 42833) | fn make_resize_snapshot( function make_budget_snapshot (line 42850) | fn make_budget_snapshot( function resize_evidence_summary_default_has_no_data (line 42871) | fn resize_evidence_summary_default_has_no_data() { function resize_evidence_summary_update_from_resize (line 42884) | fn resize_evidence_summary_update_from_resize() { function resize_evidence_summary_update_from_budget (line 42898) | fn resize_evidence_summary_update_from_budget() { function resize_evidence_summary_deduplicates_by_event_idx (line 42914) | fn resize_evidence_summary_deduplicates_by_event_idx() { function resize_evidence_summary_ring_buffer_evicts (line 42932) | fn resize_evidence_summary_ring_buffer_evicts() { function resize_evidence_summary_burst_regime (line 42946) | fn resize_evidence_summary_burst_regime() { function resize_evidence_summary_with_bocpd (line 42958) | fn resize_evidence_summary_with_bocpd() { function resize_evidence_summary_all_degradation_levels (line 42999) | fn resize_evidence_summary_all_degradation_levels() { function inspector_resize_tab_label (line 43023) | fn inspector_resize_tab_label() { function inspector_resize_tab_cycles_correctly (line 43028) | fn inspector_resize_tab_cycles_correctly() { function inspector_budget_overrun_detected (line 43037) | fn inspector_budget_overrun_detected() { function inspector_budget_degradation_warning (line 43063) | fn inspector_budget_degradation_warning() { function inspector_budget_healthy_state (line 43092) | fn inspector_budget_healthy_state() { function inspector_budget_conformal_risk (line 43117) | fn inspector_budget_conformal_risk() { function inspector_resize_tab_reachable (line 43145) | fn inspector_resize_tab_reachable() { function inspector_resize_tab_with_evidence (line 43155) | fn inspector_resize_tab_with_evidence() { function inspector_diff_tab_label (line 43174) | fn inspector_diff_tab_label() { function inspector_diff_with_dirty_rows_strategy (line 43179) | fn inspector_diff_with_dirty_rows_strategy() { function inspector_diff_full_redraw_flagged (line 43222) | fn inspector_diff_full_redraw_flagged() { function timeline_buffer_starts_empty (line 43270) | fn timeline_buffer_starts_empty() { function timeline_captures_resize_event (line 43277) | fn timeline_captures_resize_event() { function timeline_deduplicates_by_frame_idx (line 43298) | fn timeline_deduplicates_by_frame_idx() { function timeline_ring_buffer_evicts (line 43317) | fn timeline_ring_buffer_evicts() { function timeline_captures_all_event_kinds (line 43337) | fn timeline_captures_all_event_kinds() { function timeline_tab_label (line 43404) | fn timeline_tab_label() { function timeline_tab_empty_evidence (line 43409) | fn timeline_tab_empty_evidence() { function inspector_budget_tab_label (line 43415) | fn inspector_budget_tab_label() { function inspector_diff_tab_no_evidence (line 43420) | fn inspector_diff_tab_no_evidence() { function inspector_budget_tab_no_evidence (line 43426) | fn inspector_budget_tab_no_evidence() { function inspector_short_labels_are_single_char (line 43436) | fn inspector_short_labels_are_single_char() { function inspector_short_labels_are_unique (line 43452) | fn inspector_short_labels_are_unique() { function inspector_render_narrow_does_not_panic (line 43470) | fn inspector_render_narrow_does_not_panic() { function inspector_render_medium_does_not_panic (line 43483) | fn inspector_render_medium_does_not_panic() { function inspector_render_short_height_does_not_panic (line 43496) | fn inspector_render_short_height_does_not_panic() { function inspector_auto_disables_tiny_terminal (line 43509) | fn inspector_auto_disables_tiny_terminal() { function app_with_full_evidence (line 43527) | fn app_with_full_evidence() -> CassApp { constant REGRESSION_SIZES (line 43601) | const REGRESSION_SIZES: &[(u16, u16, &str)] = &[ function cockpit_all_tabs_no_panic_no_evidence (line 43614) | fn cockpit_all_tabs_no_panic_no_evidence() { function cockpit_all_tabs_no_panic_with_evidence (line 43642) | fn cockpit_all_tabs_no_panic_with_evidence() { function cockpit_all_tabs_no_panic_cockpit_mode (line 43668) | fn cockpit_all_tabs_no_panic_cockpit_mode() { function cockpit_degradation_levels_no_panic (line 43694) | fn cockpit_degradation_levels_no_panic() { function cockpit_partial_evidence_diff_only (line 43720) | fn cockpit_partial_evidence_diff_only() { function cockpit_partial_evidence_budget_only (line 43769) | fn cockpit_partial_evidence_budget_only() { function cockpit_tab_cycling_preserves_render (line 43803) | fn cockpit_tab_cycling_preserves_render() { function cockpit_conformal_edge_cases (line 43820) | fn cockpit_conformal_edge_cases() { function cockpit_extreme_values_no_panic (line 43845) | fn cockpit_extreme_values_no_panic() { function cockpit_disabled_by_default (line 43868) | fn cockpit_disabled_by_default() { function cockpit_toggle_switches_to_diff_tab (line 43875) | fn cockpit_toggle_switches_to_diff_tab() { function cockpit_toggle_off_returns_to_timing (line 43884) | fn cockpit_toggle_off_returns_to_timing() { function cockpit_c_key_toggles_when_inspector_visible (line 43895) | fn cockpit_c_key_toggles_when_inspector_visible() { function cockpit_m_key_cycles_mode_when_inspector_visible (line 43908) | fn cockpit_m_key_cycles_mode_when_inspector_visible() { function cockpit_tab_cycles_tabs_when_inspector_visible (line 43919) | fn cockpit_tab_cycles_tabs_when_inspector_visible() { function cockpit_state_starts_empty (line 43929) | fn cockpit_state_starts_empty() { function cockpit_sync_populates_budget_contract (line 43935) | fn cockpit_sync_populates_budget_contract() { function cockpit_sync_without_evidence_uses_defaults (line 43948) | fn cockpit_sync_without_evidence_uses_defaults() { function cockpit_topology_narrow_overlay_compact (line 43962) | fn cockpit_topology_narrow_overlay_compact() { function cockpit_topology_expanded_grows (line 43974) | fn cockpit_topology_expanded_grows() { function cockpit_topology_wide_expanded_largest (line 43983) | fn cockpit_topology_wide_expanded_largest() { function cockpit_topology_minimums_consistent (line 43992) | fn cockpit_topology_minimums_consistent() { function cockpit_expand_toggle_msg (line 44011) | fn cockpit_expand_toggle_msg() { function cockpit_e_key_expands (line 44024) | fn cockpit_e_key_expands() { function cockpit_expand_preserves_tab (line 44035) | fn cockpit_expand_preserves_tab() { function storm_coalescer_config (line 44050) | fn storm_coalescer_config() -> ftui::runtime::resize_coalescer::Coalesce... function resize_storm_steady_single_event (line 44066) | fn resize_storm_steady_single_event() { function resize_storm_burst_latest_wins (line 44097) | fn resize_storm_burst_latest_wins() { function resize_storm_oscillating_pattern (line 44132) | fn resize_storm_oscillating_pattern() { function resize_storm_hard_deadline_bounded_latency (line 44174) | fn resize_storm_hard_deadline_bounded_latency() { function resize_storm_same_size_skipped (line 44206) | fn resize_storm_same_size_skipped() { function resize_storm_evidence_summary_accumulates (line 44221) | fn resize_storm_evidence_summary_accumulates() { function resize_storm_checksum_deterministic (line 44249) | fn resize_storm_checksum_deterministic() { function resize_storm_regime_transitions_counted (line 44288) | fn resize_storm_regime_transitions_counted() { function resize_storm_evidence_integrity_no_gaps (line 44312) | fn resize_storm_evidence_integrity_no_gaps() { function resize_config_parity_across_data_dirs (line 44348) | fn resize_config_parity_across_data_dirs() { function resize_config_bocpd_is_enabled_by_default (line 44375) | fn resize_config_bocpd_is_enabled_by_default() { function resize_config_bocpd_responsive_preset_values (line 44396) | fn resize_config_bocpd_responsive_preset_values() { function resize_config_mode_matrix_proves_uniform_knobs (line 44426) | fn resize_config_mode_matrix_proves_uniform_knobs() { function assert_affordance_snapshot (line 44494) | fn assert_affordance_snapshot(name: &str, buf: &ftui::Buffer) { function app_with_detail_snapshot_fixture (line 44504) | fn app_with_detail_snapshot_fixture() -> CassApp { function role_gutter_snapshot_messages (line 44511) | fn role_gutter_snapshot_messages() -> Vec { function render_detail_snapshot_buffer (line 44559) | fn render_detail_snapshot_buffer(app: &CassApp, width: u16, height: u16)... function render_pill_matrix_snapshot_buffer (line 44581) | fn render_pill_matrix_snapshot_buffer(width: u16) -> ftui::Buffer { function snapshot_baseline_pills_active_inactive_matrix (line 44644) | fn snapshot_baseline_pills_active_inactive_matrix() { function snapshot_baseline_detail_tabs_active_inactive (line 44659) | fn snapshot_baseline_detail_tabs_active_inactive() { function snapshot_baseline_role_gutters_messages_all_roles (line 44685) | fn snapshot_baseline_role_gutters_messages_all_roles() { function snapshot_baseline_detail_find_closed (line 44702) | fn snapshot_baseline_detail_find_closed() { function snapshot_baseline_detail_find_open_empty_query (line 44715) | fn snapshot_baseline_detail_find_open_empty_query() { function render_detail_pane_clamps_oversized_scroll_to_last_full_page (line 44725) | fn render_detail_pane_clamps_oversized_scroll_to_last_full_page() { function snapshot_baseline_detail_find_no_match_state (line 44754) | fn snapshot_baseline_detail_find_no_match_state() { function snapshot_baseline_detail_find_current_match_state (line 44768) | fn snapshot_baseline_detail_find_current_match_state() { function search_surface_fixture_app (line 44814) | fn search_surface_fixture_app() -> CassApp { function snapshot_search_surface_structure_default (line 44836) | fn snapshot_search_surface_structure_default() { function snapshot_search_surface_active_filters_hierarchy (line 44859) | fn snapshot_search_surface_active_filters_hierarchy() { function snapshot_search_surface_breakpoint_matrix (line 44883) | fn snapshot_search_surface_breakpoint_matrix() { function snapshot_search_surface_theme_toggle_updates_chrome_immediately (line 44904) | fn snapshot_search_surface_theme_toggle_updates_chrome_immediately() { function snapshot_search_surface_theme_high_contrast (line 44925) | fn snapshot_search_surface_theme_high_contrast() { function search_surface_interaction_matrix_enter_click_escape (line 44944) | fn search_surface_interaction_matrix_enter_click_escape() { function search_bar_renders_mode_aware_title (line 44997) | fn search_bar_renders_mode_aware_title() { function search_bar_cursor_position_tracks_input (line 45026) | fn search_bar_cursor_position_tracks_input() { function pill_spans_use_distinct_styles_for_active_and_inactive (line 45044) | fn pill_spans_use_distinct_styles_for_active_and_inactive() { function footer_hud_uses_key_desc_token_pairing (line 45098) | fn footer_hud_uses_key_desc_token_pairing() { function footer_hud_line_produces_key_style_per_lane (line 45124) | fn footer_hud_line_produces_key_style_per_lane() { function fkey_cycling_enters_filter_input_modes (line 45176) | fn fkey_cycling_enters_filter_input_modes() { function input_mode_apply_sets_filter_and_returns_to_query (line 45220) | fn input_mode_apply_sets_filter_and_returns_to_query() { function footer_contextual_hints_stable_across_themes (line 45242) | fn footer_contextual_hints_stable_across_themes() { function search_bar_query_inset_visually_distinct (line 45263) | fn search_bar_query_inset_visually_distinct() { function escape_unwind_clears_pane_filter (line 45280) | fn escape_unwind_clears_pane_filter() { function escape_unwind_clears_selection_before_quit (line 45301) | fn escape_unwind_clears_selection_before_quit() { function esc_clears_nonempty_query_before_quitting (line 45337) | fn esc_clears_nonempty_query_before_quitting() { function right_click_pill_clears_filter_and_triggers_search (line 45374) | fn right_click_pill_clears_filter_and_triggers_search() { function search_surface_degradation_matrix (line 45406) | fn search_surface_degradation_matrix() { function cross_theme_degradation_matrix_results_pane (line 45434) | fn cross_theme_degradation_matrix_results_pane() { function cross_theme_degradation_matrix_search_surface (line 45498) | fn cross_theme_degradation_matrix_search_surface() { function cross_theme_degradation_matrix_full_preset_sweep (line 45546) | fn cross_theme_degradation_matrix_full_preset_sweep() { function cross_theme_degradation_light_specific_regressions (line 45574) | fn cross_theme_degradation_light_specific_regressions() { function cross_theme_degradation_high_contrast_preserves_hierarchy (line 45611) | fn cross_theme_degradation_high_contrast_preserves_hierarchy() { function replay_scenario (line 45647) | fn replay_scenario(app: &mut CassApp, steps: Vec<(CassMsg, &str)>, width... function e2e_scenario_search_select_detail (line 45665) | fn e2e_scenario_search_select_detail() { function e2e_scenario_theme_switch_mid_session (line 45688) | fn e2e_scenario_theme_switch_mid_session() { function e2e_scenario_density_cycling_during_browsing (line 45720) | fn e2e_scenario_density_cycling_during_browsing() { function e2e_scenario_palette_search_execute (line 45741) | fn e2e_scenario_palette_search_execute() { function e2e_scenario_help_overlay_lifecycle (line 45757) | fn e2e_scenario_help_overlay_lifecycle() { function e2e_scenarios_complete_under_1s (line 45789) | fn e2e_scenarios_complete_under_1s() { function stress_large_dataset_all_degradation_levels (line 45818) | fn stress_large_dataset_all_degradation_levels() { function stress_rapid_theme_switching_with_render (line 45847) | fn stress_rapid_theme_switching_with_render() { function stress_degradation_cross_density_matrix (line 45870) | fn stress_degradation_cross_density_matrix() { function stress_responsive_width_sweep (line 45895) | fn stress_responsive_width_sweep() { function stress_interleaved_transitions (line 45914) | fn stress_interleaved_transitions() { function stress_scroll_with_help_overlay (line 45941) | fn stress_scroll_with_help_overlay() { function stress_long_content_hits (line 45961) | fn stress_long_content_hits() { function stress_suite_completes_under_3s (line 46007) | fn stress_suite_completes_under_3s() { function capture_ftui_screenshots (line 46045) | fn capture_ftui_screenshots() { FILE: src/ui/components/breadcrumbs.rs type BreadcrumbKind (line 10) | pub enum BreadcrumbKind { function ranking_label (line 18) | pub fn ranking_label(r: RankingMode) -> &'static str { function test_breadcrumb_kind_equality (line 34) | fn test_breadcrumb_kind_equality() { function test_breadcrumb_kind_inequality (line 43) | fn test_breadcrumb_kind_inequality() { function test_breadcrumb_kind_clone (line 50) | fn test_breadcrumb_kind_clone() { function test_breadcrumb_kind_copy (line 57) | fn test_breadcrumb_kind_copy() { function test_breadcrumb_kind_debug (line 64) | fn test_breadcrumb_kind_debug() { function test_ranking_label_recent_heavy (line 73) | fn test_ranking_label_recent_heavy() { function test_ranking_label_balanced (line 78) | fn test_ranking_label_balanced() { function test_ranking_label_relevance_heavy (line 83) | fn test_ranking_label_relevance_heavy() { function test_ranking_label_match_quality_heavy (line 88) | fn test_ranking_label_match_quality_heavy() { function test_ranking_label_date_newest (line 93) | fn test_ranking_label_date_newest() { function test_ranking_label_date_oldest (line 98) | fn test_ranking_label_date_oldest() { function test_ranking_label_all_modes_non_empty (line 103) | fn test_ranking_label_all_modes_non_empty() { FILE: src/ui/components/export_modal.rs type ExportField (line 20) | pub enum ExportField { method next (line 32) | pub fn next(self, encrypt_enabled: bool) -> Self { method prev (line 50) | pub fn prev(self, encrypt_enabled: bool) -> Self { type ExportProgress (line 70) | pub enum ExportProgress { method is_busy (line 82) | pub fn is_busy(&self) -> bool { type ExportModalState (line 89) | pub struct ExportModalState { method from_hit (line 166) | pub fn from_hit(hit: &SearchHit, view: &ConversationView) -> Self { method next_field (line 281) | pub fn next_field(&mut self) { method prev_field (line 286) | pub fn prev_field(&mut self) { method toggle_current (line 291) | pub fn toggle_current(&mut self) { method commit_output_dir (line 315) | fn commit_output_dir(&mut self) { method output_dir_push (line 324) | pub fn output_dir_push(&mut self, c: char) { method output_dir_pop (line 331) | pub fn output_dir_pop(&mut self) { method is_editing_text (line 338) | pub fn is_editing_text(&self) -> bool { method toggle_password_visibility (line 344) | pub fn toggle_password_visibility(&mut self) { method password_push (line 349) | pub fn password_push(&mut self, c: char) { method password_pop (line 356) | pub fn password_pop(&mut self) { method can_export (line 363) | pub fn can_export(&self) -> bool { method to_export_options (line 368) | pub fn to_export_options(&self) -> ExportOptions { method output_path (line 384) | pub fn output_path(&self) -> PathBuf { method default (line 132) | fn default() -> Self { function timestamp_to_utc (line 156) | fn timestamp_to_utc(ts: i64) -> Option> { function make_hit (line 397) | fn make_hit(created_at: Option) -> SearchHit { function make_view (line 418) | fn make_view(started_at: Option, message_ts: Option) -> Conver... function test_export_field_navigation (line 450) | fn test_export_field_navigation() { function test_export_field_prev_navigation (line 471) | fn test_export_field_prev_navigation() { function test_can_export (line 484) | fn test_can_export() { function test_toggle_encryption_clears_password (line 503) | fn test_toggle_encryption_clears_password() { function from_hit_prefers_conversation_agent_and_workspace_metadata (line 518) | fn from_hit_prefers_conversation_agent_and_workspace_metadata() { function from_hit_prefers_conversation_title_for_title_preview (line 544) | fn from_hit_prefers_conversation_title_for_title_preview() { function from_hit_trims_whitespace_hit_agent_and_workspace_when_view_metadata_missing (line 562) | fn from_hit_trims_whitespace_hit_agent_and_workspace_when_view_metadata_... function from_hit_falls_back_to_search_hit_title_when_conversation_title_missing (line 579) | fn from_hit_falls_back_to_search_hit_title_when_conversation_title_missi... function from_hit_ignores_whitespace_first_message_when_deriving_title_preview (line 592) | fn from_hit_ignores_whitespace_first_message_when_deriving_title_preview... function from_hit_uses_message_timestamp_when_conversation_start_missing (line 607) | fn from_hit_uses_message_timestamp_when_conversation_start_missing() { function from_hit_with_no_timestamps_does_not_fabricate_epoch_date (line 617) | fn from_hit_with_no_timestamps_does_not_fabricate_epoch_date() { FILE: src/ui/components/mod.rs function canonical_component_types_live_outside_legacy_shell_modules (line 24) | fn canonical_component_types_live_outside_legacy_shell_modules() { FILE: src/ui/components/palette.rs type PaletteMatchMode (line 57) | pub enum PaletteMatchMode { method cycle (line 69) | pub fn cycle(self) -> Self { method label (line 81) | pub fn label(self) -> &'static str { function fuzzy_match (line 94) | fn fuzzy_match(text: &str, pattern: &str) -> bool { type PaletteGroup (line 107) | pub enum PaletteGroup { method label (line 126) | pub fn label(&self) -> &'static str { constant ALL (line 139) | pub const ALL: &'static [PaletteGroup] = &[ type PaletteAction (line 152) | pub enum PaletteAction { method group (line 187) | pub fn group(&self) -> PaletteGroup { method target_msg_name (line 223) | pub fn target_msg_name(&self) -> &'static str { method dispatch (line 346) | pub fn dispatch(&self) -> PaletteResult { type PaletteResult (line 270) | pub enum PaletteResult { type InputModeTarget (line 307) | pub enum InputModeTarget { type TimeFilterPreset (line 315) | pub enum TimeFilterPreset { type AnalyticsTarget (line 322) | pub enum AnalyticsTarget { type ScreenshotTarget (line 334) | pub enum ScreenshotTarget { function execute_selected (line 396) | pub fn execute_selected(state: &PaletteState) -> PaletteResult { function action_id (line 408) | pub fn action_id(action: &PaletteAction) -> String { function action_by_id (line 413) | pub fn action_by_id(items: &[PaletteItem], id: &str) -> Option) -> Self { method refilter (line 452) | pub fn refilter(&mut self) { method move_selection (line 481) | pub fn move_selection(&mut self, delta: isize) { function default_actions (line 493) | pub fn default_actions() -> Vec { function item (line 632) | fn item(action: PaletteAction, label: impl Into, hint: impl Into... function test_palette_action_clone (line 647) | fn test_palette_action_clone() { function test_palette_action_debug (line 654) | fn test_palette_action_debug() { function test_palette_action_slot_variants (line 661) | fn test_palette_action_slot_variants() { function test_palette_item_creation (line 677) | fn test_palette_item_creation() { function test_palette_item_clone (line 689) | fn test_palette_item_clone() { function test_palette_item_debug (line 702) | fn test_palette_item_debug() { function test_palette_state_new_empty (line 717) | fn test_palette_state_new_empty() { function test_palette_state_new_with_items (line 728) | fn test_palette_state_new_with_items() { function test_palette_state_filtered_matches_all_initially (line 743) | fn test_palette_state_filtered_matches_all_initially() { function test_refilter_empty_query_shows_all (line 757) | fn test_refilter_empty_query_shows_all() { function test_refilter_whitespace_query_shows_all (line 770) | fn test_refilter_whitespace_query_shows_all() { function test_refilter_matches_label (line 783) | fn test_refilter_matches_label() { function test_refilter_matches_hint (line 797) | fn test_refilter_matches_hint() { function test_refilter_case_insensitive (line 811) | fn test_refilter_case_insensitive() { function test_refilter_no_matches (line 825) | fn test_refilter_no_matches() { function test_refilter_adjusts_selection_when_out_of_bounds (line 838) | fn test_refilter_adjusts_selection_when_out_of_bounds() { function test_refilter_selection_stays_zero_when_empty (line 853) | fn test_refilter_selection_stays_zero_when_empty() { function test_move_selection_down (line 867) | fn test_move_selection_down() { function test_move_selection_up (line 884) | fn test_move_selection_up() { function test_move_selection_wraps_forward (line 901) | fn test_move_selection_wraps_forward() { function test_move_selection_wraps_backward (line 914) | fn test_move_selection_wraps_backward() { function test_move_selection_empty_list (line 927) | fn test_move_selection_empty_list() { function test_move_selection_large_delta (line 938) | fn test_move_selection_large_delta() { function test_default_actions_not_empty (line 958) | fn test_default_actions_not_empty() { function test_default_actions_has_basic_items (line 964) | fn test_default_actions_has_basic_items() { function test_default_actions_has_view_slots (line 975) | fn test_default_actions_has_view_slots() { function test_default_actions_all_have_labels_and_hints (line 994) | fn test_default_actions_all_have_labels_and_hints() { function test_item_helper_function (line 1006) | fn test_item_helper_function() { function test_item_helper_with_string (line 1015) | fn test_item_helper_with_string() { function group_all_contains_seven_groups (line 1029) | fn group_all_contains_seven_groups() { function group_labels_are_nonempty (line 1034) | fn group_labels_are_nonempty() { function every_action_has_a_group (line 1041) | fn every_action_has_a_group() { function every_action_has_a_target_msg (line 1077) | fn every_action_has_a_target_msg() { function chrome_group_contains_expected_actions (line 1113) | fn chrome_group_contains_expected_actions() { function filter_group_contains_expected_actions (line 1124) | fn filter_group_contains_expected_actions() { function analytics_group_has_seven_variants (line 1136) | fn analytics_group_has_seven_variants() { function view_group_contains_expected_actions (line 1153) | fn view_group_contains_expected_actions() { function export_group_contains_expected_actions (line 1162) | fn export_group_contains_expected_actions() { function default_actions_cover_all_groups (line 1169) | fn default_actions_cover_all_groups() { function target_msg_names_are_distinct_per_non_slot_action (line 1185) | fn target_msg_names_are_distinct_per_non_slot_action() { function palette_result_clone_and_eq (line 1228) | fn palette_result_clone_and_eq() { function palette_result_debug_format (line 1234) | fn palette_result_debug_format() { function palette_result_noop_variant (line 1242) | fn palette_result_noop_variant() { function dispatch_chrome_actions (line 1250) | fn dispatch_chrome_actions() { function dispatch_filter_actions (line 1270) | fn dispatch_filter_actions() { function dispatch_view_actions (line 1298) | fn dispatch_view_actions() { function dispatch_slot_actions_preserve_slot_number (line 1314) | fn dispatch_slot_actions_preserve_slot_number() { function dispatch_analytics_actions (line 1328) | fn dispatch_analytics_actions() { function dispatch_export_actions (line 1355) | fn dispatch_export_actions() { function dispatch_recording_and_sources (line 1371) | fn dispatch_recording_and_sources() { function dispatch_exhaustive_all_26_actions (line 1383) | fn dispatch_exhaustive_all_26_actions() { function execute_selected_returns_noop_on_empty_state (line 1427) | fn execute_selected_returns_noop_on_empty_state() { function execute_selected_returns_noop_on_out_of_bounds (line 1433) | fn execute_selected_returns_noop_on_out_of_bounds() { function execute_selected_dispatches_first_item (line 1441) | fn execute_selected_dispatches_first_item() { function execute_selected_dispatches_second_item (line 1451) | fn execute_selected_dispatches_second_item() { function execute_selected_respects_filter (line 1462) | fn execute_selected_respects_filter() { function execute_selected_noop_after_no_match_filter (line 1475) | fn execute_selected_noop_after_no_match_filter() { function execute_selected_slot_preserves_value (line 1484) | fn execute_selected_slot_preserves_value() { function supporting_enums_derive_traits (line 1493) | fn supporting_enums_derive_traits() { FILE: src/ui/components/pills.rs type Pill (line 7) | pub struct Pill { function test_pill_creation (line 19) | fn test_pill_creation() { function test_pill_clone (line 34) | fn test_pill_clone() { function test_pill_debug (line 50) | fn test_pill_debug() { function test_pill_with_empty_strings (line 65) | fn test_pill_with_empty_strings() { function test_pill_with_special_characters (line 78) | fn test_pill_with_special_characters() { function test_pill_states (line 91) | fn test_pill_states() { FILE: src/ui/components/theme.rs constant BG_DEEP (line 23) | pub const BG_DEEP: Color = Color::rgb(26, 27, 38); constant BG_SURFACE (line 26) | pub const BG_SURFACE: Color = Color::rgb(36, 40, 59); constant BG_HIGHLIGHT (line 29) | pub const BG_HIGHLIGHT: Color = Color::rgb(41, 46, 66); constant BORDER (line 32) | pub const BORDER: Color = Color::rgb(59, 66, 97); constant BORDER_FOCUS (line 35) | pub const BORDER_FOCUS: Color = Color::rgb(125, 145, 200); constant TEXT_PRIMARY (line 42) | pub const TEXT_PRIMARY: Color = Color::rgb(192, 202, 245); constant TEXT_SECONDARY (line 45) | pub const TEXT_SECONDARY: Color = Color::rgb(169, 177, 214); constant TEXT_MUTED (line 49) | pub const TEXT_MUTED: Color = Color::rgb(105, 114, 158); constant TEXT_DISABLED (line 52) | pub const TEXT_DISABLED: Color = Color::rgb(68, 75, 106); constant ACCENT_PRIMARY (line 59) | pub const ACCENT_PRIMARY: Color = Color::rgb(122, 162, 247); constant ACCENT_SECONDARY (line 62) | pub const ACCENT_SECONDARY: Color = Color::rgb(187, 154, 247); constant ACCENT_TERTIARY (line 65) | pub const ACCENT_TERTIARY: Color = Color::rgb(125, 207, 255); constant ROLE_USER (line 72) | pub const ROLE_USER: Color = Color::rgb(158, 206, 106); constant ROLE_AGENT (line 75) | pub const ROLE_AGENT: Color = Color::rgb(122, 162, 247); constant ROLE_TOOL (line 78) | pub const ROLE_TOOL: Color = Color::rgb(255, 158, 100); constant ROLE_SYSTEM (line 81) | pub const ROLE_SYSTEM: Color = Color::rgb(224, 175, 104); constant STATUS_SUCCESS (line 88) | pub const STATUS_SUCCESS: Color = Color::rgb(115, 218, 202); constant STATUS_WARNING (line 91) | pub const STATUS_WARNING: Color = Color::rgb(224, 175, 104); constant STATUS_ERROR (line 94) | pub const STATUS_ERROR: Color = Color::rgb(247, 118, 142); constant STATUS_INFO (line 97) | pub const STATUS_INFO: Color = Color::rgb(125, 207, 255); constant AGENT_CLAUDE_BG (line 104) | pub const AGENT_CLAUDE_BG: Color = Color::rgb(24, 30, 52); constant AGENT_CODEX_BG (line 107) | pub const AGENT_CODEX_BG: Color = Color::rgb(22, 38, 32); constant AGENT_CLINE_BG (line 110) | pub const AGENT_CLINE_BG: Color = Color::rgb(20, 34, 42); constant AGENT_GEMINI_BG (line 113) | pub const AGENT_GEMINI_BG: Color = Color::rgb(34, 24, 48); constant AGENT_AMP_BG (line 116) | pub const AGENT_AMP_BG: Color = Color::rgb(42, 28, 24); constant AGENT_AIDER_BG (line 119) | pub const AGENT_AIDER_BG: Color = Color::rgb(20, 36, 36); constant AGENT_CURSOR_BG (line 122) | pub const AGENT_CURSOR_BG: Color = Color::rgb(38, 24, 38); constant AGENT_CHATGPT_BG (line 125) | pub const AGENT_CHATGPT_BG: Color = Color::rgb(20, 38, 28); constant AGENT_OPENCODE_BG (line 128) | pub const AGENT_OPENCODE_BG: Color = Color::rgb(32, 32, 36); constant AGENT_FACTORY_BG (line 131) | pub const AGENT_FACTORY_BG: Color = Color::rgb(36, 30, 20); constant AGENT_CLAWDBOT_BG (line 134) | pub const AGENT_CLAWDBOT_BG: Color = Color::rgb(26, 24, 44); constant AGENT_VIBE_BG (line 137) | pub const AGENT_VIBE_BG: Color = Color::rgb(36, 22, 30); constant AGENT_OPENCLAW_BG (line 140) | pub const AGENT_OPENCLAW_BG: Color = Color::rgb(24, 30, 34); constant ROLE_USER_BG (line 147) | pub const ROLE_USER_BG: Color = Color::rgb(26, 32, 30); constant ROLE_AGENT_BG (line 150) | pub const ROLE_AGENT_BG: Color = Color::rgb(26, 28, 36); constant ROLE_TOOL_BG (line 153) | pub const ROLE_TOOL_BG: Color = Color::rgb(32, 28, 26); constant ROLE_SYSTEM_BG (line 156) | pub const ROLE_SYSTEM_BG: Color = Color::rgb(32, 30, 26); constant GRADIENT_HEADER_TOP (line 163) | pub const GRADIENT_HEADER_TOP: Color = Color::rgb(22, 24, 32); constant GRADIENT_HEADER_MID (line 166) | pub const GRADIENT_HEADER_MID: Color = Color::rgb(30, 32, 44); constant GRADIENT_HEADER_BOT (line 169) | pub const GRADIENT_HEADER_BOT: Color = Color::rgb(36, 40, 54); constant GRADIENT_PILL_LEFT (line 172) | pub const GRADIENT_PILL_LEFT: Color = Color::rgb(50, 56, 80); constant GRADIENT_PILL_CENTER (line 175) | pub const GRADIENT_PILL_CENTER: Color = Color::rgb(60, 68, 96); constant GRADIENT_PILL_RIGHT (line 178) | pub const GRADIENT_PILL_RIGHT: Color = Color::rgb(50, 56, 80); constant BORDER_MINIMAL (line 185) | pub const BORDER_MINIMAL: Color = Color::rgb(45, 50, 72); constant BORDER_STANDARD (line 188) | pub const BORDER_STANDARD: Color = Color::rgb(59, 66, 97); constant BORDER_EMPHASIZED (line 191) | pub const BORDER_EMPHASIZED: Color = Color::rgb(75, 85, 120); type RoleTheme (line 196) | pub struct RoleTheme { type GradientShades (line 209) | pub struct GradientShades { method header (line 220) | pub fn header() -> Self { method pill (line 229) | pub fn pill() -> Self { method styles (line 238) | pub fn styles(&self) -> (Style, Style, Style) { type TerminalWidth (line 249) | pub enum TerminalWidth { method from_cols (line 260) | pub fn from_cols(cols: u16) -> Self { method border_color (line 271) | pub fn border_color(self) -> PackedRgba { method border_style (line 280) | pub fn border_style(self) -> Style { method show_decorations (line 285) | pub fn show_decorations(self) -> bool { method show_extended_info (line 290) | pub fn show_extended_info(self) -> bool { type AdaptiveBorders (line 297) | pub struct AdaptiveBorders { method for_width (line 312) | pub fn for_width(cols: u16) -> Self { method focused (line 325) | pub fn focused(cols: u16) -> Self { type PaneTheme (line 334) | pub struct PaneTheme { type ThemePalette (line 341) | pub struct ThemePalette { method light (line 360) | pub fn light() -> Self { method dark (line 379) | pub fn dark() -> Self { method title (line 398) | pub fn title(self) -> Style { method title_subtle (line 403) | pub fn title_subtle(self) -> Style { method hint_style (line 408) | pub fn hint_style(self) -> Style { method border_style (line 413) | pub fn border_style(self) -> Style { method border_focus_style (line 418) | pub fn border_focus_style(self) -> Style { method surface_style (line 423) | pub fn surface_style(self) -> Style { method agent_pane (line 432) | pub fn agent_pane(agent: &str) -> PaneTheme { method agent_icon (line 464) | pub fn agent_icon(agent: &str) -> &'static str { method role_style (line 485) | pub fn role_style(self, role: &str) -> Style { method role_theme (line 500) | pub fn role_theme(self, role: &str) -> RoleTheme { method header_gradient (line 536) | pub fn header_gradient(&self) -> GradientShades { method pill_gradient (line 541) | pub fn pill_gradient(&self) -> GradientShades { method adaptive_borders (line 546) | pub fn adaptive_borders(&self, cols: u16) -> AdaptiveBorders { method adaptive_borders_focused (line 551) | pub fn adaptive_borders_focused(&self, cols: u16) -> AdaptiveBorders { method highlight_style (line 557) | pub fn highlight_style(self) -> Style { method selected_style (line 565) | pub fn selected_style(self) -> Style { method code_style (line 570) | pub fn code_style(self) -> Style { method catppuccin (line 865) | pub fn catppuccin() -> Self { method dracula (line 886) | pub fn dracula() -> Self { method nord (line 907) | pub fn nord() -> Self { method high_contrast (line 930) | pub fn high_contrast() -> Self { method colorblind (line 954) | pub fn colorblind() -> Self { method solarized_dark (line 972) | pub fn solarized_dark() -> Self { method solarized_light (line 990) | pub fn solarized_light() -> Self { method monokai (line 1008) | pub fn monokai() -> Self { method gruvbox_dark (line 1026) | pub fn gruvbox_dark() -> Self { method one_dark (line 1044) | pub fn one_dark() -> Self { method rose_pine (line 1062) | pub fn rose_pine() -> Self { method everforest (line 1080) | pub fn everforest() -> Self { method kanagawa (line 1098) | pub fn kanagawa() -> Self { method ayu_mirage (line 1116) | pub fn ayu_mirage() -> Self { method nightfox (line 1134) | pub fn nightfox() -> Self { method cyberpunk_aurora (line 1152) | pub fn cyberpunk_aurora() -> Self { method synthwave_84 (line 1170) | pub fn synthwave_84() -> Self { function chip_style (line 580) | pub fn chip_style(palette: ThemePalette) -> Style { function kbd_style (line 585) | pub fn kbd_style(palette: ThemePalette) -> Style { function score_style (line 590) | pub fn score_style(score: f32, palette: ThemePalette) -> Style { function relative_luminance (line 615) | pub fn relative_luminance(color: PackedRgba) -> f64 { function contrast_ratio (line 636) | pub fn contrast_ratio(fg: PackedRgba, bg: PackedRgba) -> f64 { type ContrastLevel (line 649) | pub enum ContrastLevel { method from_ratio (line 664) | pub fn from_ratio(ratio: f64) -> Self { method meets (line 677) | pub fn meets(self, required: ContrastLevel) -> bool { method name (line 687) | pub fn name(self) -> &'static str { function check_contrast (line 699) | pub fn check_contrast(fg: PackedRgba, bg: PackedRgba) -> ContrastLevel { function ensure_contrast (line 705) | pub fn ensure_contrast(fg: PackedRgba, bg: PackedRgba, min_level: Contra... type ThemePreset (line 728) | pub enum ThemePreset { constant ALL (line 772) | const ALL: [Self; 19] = [ method name (line 795) | pub fn name(self) -> &'static str { method next (line 820) | pub fn next(self) -> Self { method prev (line 826) | pub fn prev(self) -> Self { method to_palette (line 832) | pub fn to_palette(self) -> ThemePalette { method all (line 857) | pub fn all() -> &'static [Self] { function test_terminal_width_from_cols_narrow (line 1196) | fn test_terminal_width_from_cols_narrow() { function test_terminal_width_from_cols_normal (line 1202) | fn test_terminal_width_from_cols_normal() { function test_terminal_width_from_cols_wide (line 1209) | fn test_terminal_width_from_cols_wide() { function test_terminal_width_border_color (line 1215) | fn test_terminal_width_border_color() { function test_terminal_width_show_decorations (line 1228) | fn test_terminal_width_show_decorations() { function test_terminal_width_show_extended_info (line 1235) | fn test_terminal_width_show_extended_info() { function test_gradient_shades_header (line 1244) | fn test_gradient_shades_header() { function test_gradient_shades_pill (line 1252) | fn test_gradient_shades_pill() { function test_gradient_shades_styles (line 1260) | fn test_gradient_shades_styles() { function test_adaptive_borders_for_width_narrow (line 1271) | fn test_adaptive_borders_for_width_narrow() { function test_adaptive_borders_for_width_normal (line 1279) | fn test_adaptive_borders_for_width_normal() { function test_adaptive_borders_for_width_wide (line 1287) | fn test_adaptive_borders_for_width_wide() { function test_adaptive_borders_focused (line 1295) | fn test_adaptive_borders_focused() { function test_theme_palette_light (line 1303) | fn test_theme_palette_light() { function test_theme_palette_dark (line 1312) | fn test_theme_palette_dark() { function test_theme_palette_catppuccin (line 1321) | fn test_theme_palette_catppuccin() { function test_theme_palette_dracula (line 1328) | fn test_theme_palette_dracula() { function test_theme_palette_nord (line 1334) | fn test_theme_palette_nord() { function test_theme_palette_high_contrast (line 1340) | fn test_theme_palette_high_contrast() { function test_theme_palette_agent_pane_known_agents (line 1348) | fn test_theme_palette_agent_pane_known_agents() { function test_theme_palette_agent_pane_unknown_agent (line 1364) | fn test_theme_palette_agent_pane_unknown_agent() { function test_theme_palette_agent_icon (line 1370) | fn test_theme_palette_agent_icon() { function test_theme_palette_role_theme (line 1379) | fn test_theme_palette_role_theme() { function test_contrast_level_from_ratio (line 1398) | fn test_contrast_level_from_ratio() { function test_contrast_level_meets (line 1406) | fn test_contrast_level_meets() { function test_contrast_level_name (line 1413) | fn test_contrast_level_name() { function test_relative_luminance_black (line 1422) | fn test_relative_luminance_black() { function test_relative_luminance_white (line 1428) | fn test_relative_luminance_white() { function test_relative_luminance_named_colors (line 1434) | fn test_relative_luminance_named_colors() { function test_contrast_ratio_black_white (line 1445) | fn test_contrast_ratio_black_white() { function test_contrast_ratio_same_color (line 1452) | fn test_contrast_ratio_same_color() { function test_check_contrast (line 1462) | fn test_check_contrast() { function test_ensure_contrast_already_sufficient (line 1476) | fn test_ensure_contrast_already_sufficient() { function test_theme_preset_default (line 1487) | fn test_theme_preset_default() { function test_theme_preset_name (line 1493) | fn test_theme_preset_name() { function test_theme_preset_next_cycles (line 1503) | fn test_theme_preset_next_cycles() { function test_theme_preset_prev_cycles (line 1516) | fn test_theme_preset_prev_cycles() { function test_theme_preset_to_palette (line 1525) | fn test_theme_preset_to_palette() { function test_theme_preset_all (line 1534) | fn test_theme_preset_all() { function test_chip_style (line 1544) | fn test_chip_style() { function test_kbd_style (line 1551) | fn test_kbd_style() { function test_score_style_high (line 1558) | fn test_score_style_high() { function test_score_style_medium (line 1565) | fn test_score_style_medium() { function test_score_style_low (line 1572) | fn test_score_style_low() { function test_role_theme_has_all_fields (line 1581) | fn test_role_theme_has_all_fields() { function test_pane_theme_has_all_fields (line 1594) | fn test_pane_theme_has_all_fields() { constant KNOWN_AGENTS (line 1603) | const KNOWN_AGENTS: &[&str] = &[ function agent_accent_colors_are_pairwise_distinct (line 1617) | fn agent_accent_colors_are_pairwise_distinct() { function agent_background_colors_are_pairwise_distinct (line 1637) | fn agent_background_colors_are_pairwise_distinct() { function agent_icons_are_pairwise_distinct (line 1662) | fn agent_icons_are_pairwise_distinct() { function agent_icons_are_single_char_glyphs (line 1681) | fn agent_icons_are_single_char_glyphs() { function unknown_agent_falls_back_gracefully (line 1693) | fn unknown_agent_falls_back_gracefully() { function role_colors_are_pairwise_distinct_in_palette (line 1705) | fn role_colors_are_pairwise_distinct_in_palette() { FILE: src/ui/components/toast.rs type ToastType (line 15) | pub enum ToastType { method icon (line 28) | pub fn icon(self) -> &'static str { method color (line 38) | pub fn color(self, palette: &ThemePalette) -> PackedRgba { method default_duration (line 48) | pub fn default_duration(self) -> Duration { type ToastPosition (line 60) | pub enum ToastPosition { type Toast (line 78) | pub struct Toast { method new (line 95) | pub fn new(message: impl Into, toast_type: ToastType) -> Self { method with_duration (line 109) | pub fn with_duration(mut self, duration: Duration) -> Self { method with_id (line 115) | pub fn with_id(mut self, id: impl Into) -> Self { method is_expired (line 121) | pub fn is_expired(&self) -> bool { method remaining_fraction (line 126) | pub fn remaining_fraction(&self) -> f32 { method info (line 136) | pub fn info(message: impl Into) -> Self { method success (line 140) | pub fn success(message: impl Into) -> Self { method warning (line 144) | pub fn warning(message: impl Into) -> Self { method error (line 148) | pub fn error(message: impl Into) -> Self { type ToastManager (line 155) | pub struct ToastManager { method new (line 174) | pub fn new() -> Self { method with_max_visible (line 184) | pub fn with_max_visible(mut self, max: usize) -> Self { method with_position (line 190) | pub fn with_position(mut self, position: ToastPosition) -> Self { method with_coalesce (line 196) | pub fn with_coalesce(mut self, coalesce: bool) -> Self { method push (line 202) | pub fn push(&mut self, toast: Toast) { method tick (line 223) | pub fn tick(&mut self) { method clear (line 228) | pub fn clear(&mut self) { method dismiss_oldest (line 233) | pub fn dismiss_oldest(&mut self) { method dismiss_type (line 238) | pub fn dismiss_type(&mut self, toast_type: ToastType) { method visible (line 243) | pub fn visible(&self) -> impl Iterator { method is_empty (line 248) | pub fn is_empty(&self) -> bool { method len (line 253) | pub fn len(&self) -> usize { method position (line 258) | pub fn position(&self) -> ToastPosition { method render_area (line 263) | pub fn render_area(&self, full_area: Rect) -> Rect { method default (line 167) | fn default() -> Self { function test_toast_creation (line 316) | fn test_toast_creation() { function test_toast_type_defaults (line 324) | fn test_toast_type_defaults() { function test_toast_manager_push (line 330) | fn test_toast_manager_push() { function test_toast_coalescing (line 338) | fn test_toast_coalescing() { function test_toast_coalesced_count_saturates (line 349) | fn test_toast_coalesced_count_saturates() { function test_toast_coalescing_disabled (line 361) | fn test_toast_coalescing_disabled() { function test_toast_position (line 370) | fn test_toast_position() { function test_toast_retention_limit_saturates (line 376) | fn test_toast_retention_limit_saturates() { function test_render_area_respects_full_area_origin (line 388) | fn test_render_area_respects_full_area_origin() { function test_render_area_caps_large_visible_count_without_truncation (line 401) | fn test_render_area_caps_large_visible_count_without_truncation() { function test_dismiss_type (line 417) | fn test_dismiss_type() { FILE: src/ui/data.rs type InputMode (line 20) | pub enum InputMode { type ConversationView (line 36) | pub struct ConversationView { function normalized_ui_source_identity_sql_expr (line 42) | fn normalized_ui_source_identity_sql_expr( function normalize_ui_source_id_value (line 54) | fn normalize_ui_source_id_value(source_id: Option<&str>) -> String { function normalize_ui_source_id_parts (line 65) | fn normalize_ui_source_id_parts(source_id: Option<&str>, origin_host: Op... function normalize_ui_hit_source_id (line 78) | fn normalize_ui_hit_source_id(hit: &SearchHit) -> String { type CacheStats (line 108) | pub struct CacheStats { method get (line 116) | pub fn get(&self) -> (u64, u64, u64) { method hit_rate (line 125) | pub fn hit_rate(&self) -> f64 { constant NUM_SHARDS (line 138) | const NUM_SHARDS: usize = 16; constant DEFAULT_CAPACITY_PER_SHARD (line 141) | const DEFAULT_CAPACITY_PER_SHARD: usize = 256; type ConversationCache (line 152) | pub struct ConversationCache { method new (line 159) | pub fn new(capacity_per_shard: usize) -> Self { method hash_key (line 172) | fn hash_key(cache_scope: Option<&str>, source_id: Option<&str>, source... method shard_index (line 187) | fn shard_index(hash: u64) -> usize { method get (line 192) | pub fn get(&self, source_id: Option<&str>, source_path: &str) -> Optio... method get_scoped (line 197) | pub fn get_scoped( method insert (line 217) | pub fn insert( method insert_scoped (line 227) | pub fn insert_scoped( method invalidate (line 249) | pub fn invalidate(&self, source_id: Option<&str>, source_path: &str) { method invalidate_scoped (line 254) | pub fn invalidate_scoped(&self, cache_scope: &str, source_id: Option<&... method invalidate_all (line 262) | pub fn invalidate_all(&self) { method stats (line 269) | pub fn stats(&self) -> &CacheStats { method len (line 274) | pub fn len(&self) -> usize { method is_empty (line 279) | pub fn is_empty(&self) -> bool { function storage_cache_scope (line 293) | fn storage_cache_scope(storage: &FrankenStorage) -> Option { function ui_conversation_row_parts (line 300) | fn ui_conversation_row_parts( function load_conversation_by_id_uncached (line 343) | fn load_conversation_by_id_uncached( function load_conversation_uncached (line 378) | pub(crate) fn load_conversation_uncached( function cached_conversation_matches_lookup_head (line 444) | fn cached_conversation_matches_lookup_head( function load_conversation (line 481) | pub fn load_conversation( function load_conversation_for_source (line 520) | pub fn load_conversation_for_source( function search_hit_has_identity_hint (line 560) | pub(crate) fn search_hit_has_identity_hint(hit: &SearchHit) -> bool { function search_hit_has_secondary_identity_hint (line 572) | pub(crate) fn search_hit_has_secondary_identity_hint(hit: &SearchHit) ->... function conversation_view_matches_hit (line 583) | pub(crate) fn conversation_view_matches_hit(view: &ConversationView, hit... function load_conversation_for_hit (line 669) | pub fn load_conversation_for_hit( function load_conversation_arc (line 754) | pub fn load_conversation_arc( function log_conversation_cache_stats (line 795) | pub fn log_conversation_cache_stats() { function role_style (line 811) | pub fn role_style(role: &MessageRole, palette: ThemePalette) -> ftui::St... type RankingMode (line 827) | pub enum RankingMode { function format_time_short (line 838) | pub fn format_time_short(ms: i64) -> String { type CockpitPanel (line 876) | pub enum CockpitPanel { method label (line 889) | pub fn label(self) -> &'static str { method next (line 898) | pub fn next(self) -> Self { method prev (line 907) | pub fn prev(self) -> Self { constant ALL (line 917) | pub const ALL: [CockpitPanel; 4] = [ type CockpitEmptyPolicy (line 931) | pub struct CockpitEmptyPolicy { method default (line 941) | fn default() -> Self { type DiffStrategyContract (line 956) | pub struct DiffStrategyContract { method dirty_ratio (line 973) | pub fn dirty_ratio(&self) -> f64 { method has_data (line 982) | pub fn has_data(&self) -> bool { type ResizeRegimeContract (line 994) | pub struct ResizeRegimeContract { method has_data (line 1030) | pub fn has_data(&self) -> bool { method default (line 1014) | fn default() -> Self { type BudgetHealthContract (line 1042) | pub struct BudgetHealthContract { method has_data (line 1075) | pub fn has_data(&self) -> bool { method is_over_budget (line 1080) | pub fn is_over_budget(&self) -> bool { method default (line 1060) | fn default() -> Self { type CockpitTimelineEvent (line 1091) | pub struct CockpitTimelineEvent { type TimelineEventSeverity (line 1106) | pub enum TimelineEventSeverity { type TimelineContract (line 1124) | pub struct TimelineContract { method new (line 1141) | pub fn new() -> Self { method push (line 1149) | pub fn push(&mut self, event: CockpitTimelineEvent) { method has_data (line 1157) | pub fn has_data(&self) -> bool { method len (line 1162) | pub fn len(&self) -> usize { method is_empty (line 1167) | pub fn is_empty(&self) -> bool { constant TIMELINE_CAPACITY (line 1132) | const TIMELINE_CAPACITY: usize = 64; method default (line 1135) | fn default() -> Self { type CockpitMode (line 1178) | pub enum CockpitMode { method cycle (line 1188) | pub fn cycle(self) -> Self { method label (line 1196) | pub fn label(self) -> &'static str { type CockpitState (line 1210) | pub struct CockpitState { method new (line 1230) | pub fn new() -> Self { method has_any_data (line 1238) | pub fn has_any_data(&self) -> bool { method empty_message (line 1246) | pub fn empty_message(&self, panel: CockpitPanel) -> &'static str { function make_test_view (line 1291) | fn make_test_view(id: i64) -> ConversationView { function test_cache_insert_and_get (line 1327) | fn test_cache_insert_and_get() { function test_cache_distinguishes_same_path_across_sources (line 1348) | fn test_cache_distinguishes_same_path_across_sources() { function load_conversation_cache_is_scoped_by_database_path (line 1373) | fn load_conversation_cache_is_scoped_by_database_path() { function load_conversation_for_source_selects_blank_remote_source_id_via_origin_host (line 1434) | fn load_conversation_for_source_selects_blank_remote_source_id_via_origi... function load_conversation_for_source_selects_exact_source_id (line 1474) | fn load_conversation_for_source_selects_exact_source_id() { function load_conversation_for_source_invalidates_cache_when_newer_conversation_arrives (line 1533) | fn load_conversation_for_source_invalidates_cache_when_newer_conversatio... function load_conversation_prefers_local_source_for_shared_path (line 1591) | fn load_conversation_prefers_local_source_for_shared_path() { function load_conversation_uses_cached_value_when_validation_query_fails (line 1643) | fn load_conversation_uses_cached_value_when_validation_query_fails() { function conversation_view_matches_hit_normalizes_blank_remote_source_id_via_origin_host (line 1692) | fn conversation_view_matches_hit_normalizes_blank_remote_source_id_via_o... function conversation_view_matches_hit_normalizes_local_source_id_variants (line 1745) | fn conversation_view_matches_hit_normalizes_local_source_id_variants() { function conversation_view_matches_hit_falls_back_when_stale_conversation_id_has_other_hints (line 1798) | fn conversation_view_matches_hit_falls_back_when_stale_conversation_id_h... function conversation_view_matches_hit_rejects_stale_conversation_id_without_other_hints (line 1851) | fn conversation_view_matches_hit_rejects_stale_conversation_id_without_o... function load_conversation_for_source_uses_cached_value_when_validation_query_fails (line 1904) | fn load_conversation_for_source_uses_cached_value_when_validation_query_... function load_conversation_invalidates_path_only_cache_when_local_source_appears (line 1951) | fn load_conversation_invalidates_path_only_cache_when_local_source_appea... function load_conversation_for_hit_selects_exact_conversation_within_same_source_and_path (line 2018) | fn load_conversation_for_hit_selects_exact_conversation_within_same_sour... function load_conversation_for_hit_accepts_matching_timestamp_even_when_hit_content_is_stale (line 2075) | fn load_conversation_for_hit_accepts_matching_timestamp_even_when_hit_co... function load_conversation_for_hit_falls_back_when_conversation_id_is_stale (line 2123) | fn load_conversation_for_hit_falls_back_when_conversation_id_is_stale() { function load_conversation_for_hit_uses_origin_host_when_db_source_id_is_blank_remote (line 2169) | fn load_conversation_for_hit_uses_origin_host_when_db_source_id_is_blank... function load_conversation_for_hit_prefers_exact_conversation_id_over_stale_path (line 2222) | fn load_conversation_for_hit_prefers_exact_conversation_id_over_stale_pa... function load_conversation_for_hit_prefers_exact_conversation_id_over_stale_title (line 2277) | fn load_conversation_for_hit_prefers_exact_conversation_id_over_stale_ti... function load_conversation_for_hit_ignores_stale_title_when_exact_content_identifies_match (line 2325) | fn load_conversation_for_hit_ignores_stale_title_when_exact_content_iden... function load_conversation_for_hit_uses_title_only_identity_hint (line 2382) | fn load_conversation_for_hit_uses_title_only_identity_hint() { function load_conversation_for_hit_does_not_fall_back_to_wrong_conversation_when_identity_misses (line 2438) | fn load_conversation_for_hit_does_not_fall_back_to_wrong_conversation_wh... function test_cache_miss (line 2493) | fn test_cache_miss() { function test_cache_invalidation (line 2507) | fn test_cache_invalidation() { function test_cache_invalidate_all (line 2522) | fn test_cache_invalidate_all() { function test_cache_lru_eviction (line 2541) | fn test_cache_lru_eviction() { function test_cache_hit_rate (line 2559) | fn test_cache_hit_rate() { function test_cache_shard_distribution (line 2582) | fn test_cache_shard_distribution() { function test_cache_concurrent_access (line 2597) | fn test_cache_concurrent_access() { function cockpit_panel_label_and_navigation (line 2641) | fn cockpit_panel_label_and_navigation() { function cockpit_panel_all_constant (line 2671) | fn cockpit_panel_all_constant() { function diff_strategy_contract_defaults_no_data (line 2678) | fn diff_strategy_contract_defaults_no_data() { function diff_strategy_contract_dirty_ratio (line 2686) | fn diff_strategy_contract_dirty_ratio() { function resize_regime_contract_defaults_no_data (line 2697) | fn resize_regime_contract_defaults_no_data() { function resize_regime_contract_with_data (line 2704) | fn resize_regime_contract_with_data() { function budget_health_contract_defaults_no_data (line 2718) | fn budget_health_contract_defaults_no_data() { function budget_health_contract_over_budget (line 2725) | fn budget_health_contract_over_budget() { function timeline_contract_push_and_eviction (line 2738) | fn timeline_contract_push_and_eviction() { function cockpit_state_empty_messages (line 2764) | fn cockpit_state_empty_messages() { function cockpit_state_partial_data (line 2776) | fn cockpit_state_partial_data() { function timeline_event_severity_default_is_info (line 2790) | fn timeline_event_severity_default_is_info() { function cockpit_empty_policy_defaults (line 2798) | fn cockpit_empty_policy_defaults() { function cockpit_mode_default_is_overlay (line 2808) | fn cockpit_mode_default_is_overlay() { function cockpit_mode_cycle (line 2813) | fn cockpit_mode_cycle() { function cockpit_mode_labels (line 2819) | fn cockpit_mode_labels() { function cockpit_state_includes_mode (line 2825) | fn cockpit_state_includes_mode() { FILE: src/ui/mod.rs function canonical_ui_runtime_types_live_outside_legacy_tui_shell (line 24) | fn canonical_ui_runtime_types_live_outside_legacy_tui_shell() { constant SCHEMA_VERSION (line 43) | pub const SCHEMA_VERSION: u32 = 1; type Category (line 47) | pub enum Category { method as_str (line 57) | pub fn as_str(self) -> &'static str { type Event (line 71) | pub enum Event { method as_str (line 80) | pub fn as_str(self) -> &'static str { type LogEntry (line 93) | pub struct LogEntry { method to_json (line 103) | pub fn to_json(&self) -> String { type TestLogger (line 120) | pub struct TestLogger { method new (line 128) | pub fn new(test_id: impl Into) -> Self { method log (line 137) | pub fn log(&self, category: Category, event: Event, detail: impl Into<... method pass (line 149) | pub fn pass(&self, category: Category, detail: impl Into) { method fail (line 154) | pub fn fail(&self, category: Category, detail: impl Into) { method step_start (line 159) | pub fn step_start(&self, category: Category, detail: impl Into) { method step_end (line 164) | pub fn step_end(&self, category: Category, detail: impl Into) { method snapshot (line 169) | pub fn snapshot(&self, category: Category, detail: impl Into) { method to_jsonl (line 174) | pub fn to_jsonl(&self) -> String { method summary (line 184) | pub fn summary(&self) -> (usize, usize, usize) { method dump_on_failure (line 198) | pub fn dump_on_failure(&self) { method drop (line 212) | fn drop(&mut self) { function test_logger_basic_lifecycle (line 271) | fn test_logger_basic_lifecycle() { function test_logger_jsonl_output (line 284) | fn test_logger_jsonl_output() { function test_logger_summary_counts_correctly (line 295) | fn test_logger_summary_counts_correctly() { function test_logger_schema_version_stable (line 309) | fn test_logger_schema_version_stable() { function category_all_variants_have_str (line 317) | fn category_all_variants_have_str() { function event_all_variants_have_str (line 332) | fn event_all_variants_have_str() { function assert_style_eq_macro_passes (line 346) | fn assert_style_eq_macro_passes() { function assert_logged_macro_passes (line 356) | fn assert_logged_macro_passes() { FILE: src/ui/shortcuts.rs constant HELP (line 3) | pub const HELP: &str = "F1"; constant THEME (line 4) | pub const THEME: &str = "F2"; constant FILTER_AGENT (line 5) | pub const FILTER_AGENT: &str = "F3"; constant FILTER_WORKSPACE (line 6) | pub const FILTER_WORKSPACE: &str = "F4"; constant FILTER_DATE_FROM (line 7) | pub const FILTER_DATE_FROM: &str = "F5"; constant FILTER_DATE_TO (line 8) | pub const FILTER_DATE_TO: &str = "F6"; constant CONTEXT_WINDOW (line 9) | pub const CONTEXT_WINDOW: &str = "F7"; constant EDITOR (line 10) | pub const EDITOR: &str = "F8"; constant MATCH_MODE (line 11) | pub const MATCH_MODE: &str = "F9"; constant SEARCH_MODE (line 12) | pub const SEARCH_MODE: &str = "Alt+S"; constant QUIT (line 13) | pub const QUIT: &str = "Esc/F10"; constant CLEAR_FILTERS (line 14) | pub const CLEAR_FILTERS: &str = "Ctrl+Del"; constant RESET_STATE (line 15) | pub const RESET_STATE: &str = "Ctrl+Shift+Del"; constant RANKING (line 16) | pub const RANKING: &str = "F12"; constant REFRESH (line 17) | pub const REFRESH: &str = "Ctrl+Shift+R"; constant DETAIL_OPEN (line 18) | pub const DETAIL_OPEN: &str = "Enter"; constant DETAIL_CLOSE (line 19) | pub const DETAIL_CLOSE: &str = "Esc"; constant FOCUS_QUERY (line 20) | pub const FOCUS_QUERY: &str = "Tab/Shift+Tab"; constant HISTORY_NEXT (line 21) | pub const HISTORY_NEXT: &str = "Ctrl+n"; constant HISTORY_PREV (line 22) | pub const HISTORY_PREV: &str = "Ctrl+p"; constant HISTORY_CYCLE (line 23) | pub const HISTORY_CYCLE: &str = "Ctrl+R"; constant SCOPE_AGENT (line 26) | pub const SCOPE_AGENT: &str = "Shift+F3"; constant SCOPE_WORKSPACE (line 27) | pub const SCOPE_WORKSPACE: &str = "Shift+F4"; constant CYCLE_TIME_PRESETS (line 28) | pub const CYCLE_TIME_PRESETS: &str = "Shift+F5"; constant PALETTE (line 31) | pub const PALETTE: &str = "Ctrl+P"; constant DENSITY (line 32) | pub const DENSITY: &str = "Ctrl+D"; constant BORDERS (line 33) | pub const BORDERS: &str = "Ctrl+B"; constant STATS_BAR (line 34) | pub const STATS_BAR: &str = "Ctrl+S"; constant COPY (line 37) | pub const COPY: &str = "Alt+Y"; constant COPY_PATH (line 38) | pub const COPY_PATH: &str = "Ctrl+Y"; constant COPY_CONTENT (line 39) | pub const COPY_CONTENT: &str = "Ctrl+Shift+C"; constant BULK_MENU (line 40) | pub const BULK_MENU: &str = "Alt+B"; constant JSON_VIEW (line 41) | pub const JSON_VIEW: &str = "Alt+Shift+J"; constant TOGGLE_SELECT (line 42) | pub const TOGGLE_SELECT: &str = "Ctrl+X"; constant PANE_FILTER (line 43) | pub const PANE_FILTER: &str = "Alt+/"; constant EXPORT_HTML (line 44) | pub const EXPORT_HTML: &str = "Ctrl+E"; constant EXPORT_MARKDOWN (line 45) | pub const EXPORT_MARKDOWN: &str = "Ctrl+Shift+E"; constant DETAIL_FIND (line 48) | pub const DETAIL_FIND: &str = "/"; constant DETAIL_FIND_NEXT (line 49) | pub const DETAIL_FIND_NEXT: &str = "n"; constant DETAIL_FIND_PREV (line 50) | pub const DETAIL_FIND_PREV: &str = "N"; constant THEME_PREV (line 53) | pub const THEME_PREV: &str = "Shift+F2"; constant SOURCES (line 56) | pub const SOURCES: &str = "Ctrl+Shift+S"; constant INSPECTOR (line 59) | pub const INSPECTOR: &str = "Ctrl+Shift+I"; constant MACRO_TOGGLE (line 62) | pub const MACRO_TOGGLE: &str = "Alt+M"; constant SURFACE_ANALYTICS (line 65) | pub const SURFACE_ANALYTICS: &str = "Alt+A"; constant TAB_FOCUS (line 68) | pub const TAB_FOCUS: &str = "Tab"; constant VIM_NAV (line 69) | pub const VIM_NAV: &str = "Alt+h/j/k/l"; constant JUMP_TOP (line 70) | pub const JUMP_TOP: &str = "Home"; constant JUMP_BOTTOM (line 71) | pub const JUMP_BOTTOM: &str = "End"; function function_key_shortcuts_are_not_empty (line 87) | fn function_key_shortcuts_are_not_empty() { function function_key_shortcuts_have_expected_values (line 101) | fn function_key_shortcuts_have_expected_values() { function modifier_shortcuts_are_not_empty (line 119) | fn modifier_shortcuts_are_not_empty() { function modifier_shortcuts_have_expected_values (line 133) | fn modifier_shortcuts_have_expected_values() { function scope_shortcuts_are_not_empty (line 151) | fn scope_shortcuts_are_not_empty() { function scope_shortcuts_have_expected_values (line 158) | fn scope_shortcuts_have_expected_values() { function action_shortcuts_are_not_empty (line 169) | fn action_shortcuts_are_not_empty() { function action_shortcuts_have_expected_values (line 178) | fn action_shortcuts_have_expected_values() { function navigation_shortcuts_are_not_empty (line 191) | fn navigation_shortcuts_are_not_empty() { function navigation_shortcuts_have_expected_values (line 199) | fn navigation_shortcuts_have_expected_values() { function detail_shortcuts_are_not_empty (line 211) | fn detail_shortcuts_are_not_empty() { function detail_shortcuts_have_expected_values (line 218) | fn detail_shortcuts_have_expected_values() { function quit_shortcut_is_not_empty (line 229) | fn quit_shortcut_is_not_empty() { function quit_shortcut_has_expected_value (line 234) | fn quit_shortcut_has_expected_value() { function primary_function_keys_are_unique (line 243) | fn primary_function_keys_are_unique() { function shift_function_keys_are_unique (line 264) | fn shift_function_keys_are_unique() { function ctrl_shortcuts_are_unique (line 278) | fn ctrl_shortcuts_are_unique() { function function_key_format_is_valid (line 301) | fn function_key_format_is_valid() { function shift_function_key_format_is_valid (line 326) | fn shift_function_key_format_is_valid() { function modifier_shortcuts_contain_plus_separator (line 339) | fn modifier_shortcuts_contain_plus_separator() { FILE: src/ui/style_system.rs constant STYLE_APP_ROOT (line 28) | pub const STYLE_APP_ROOT: &str = "app.root"; constant STYLE_PANE_BASE (line 29) | pub const STYLE_PANE_BASE: &str = "pane.base"; constant STYLE_PANE_FOCUSED (line 30) | pub const STYLE_PANE_FOCUSED: &str = "pane.focused"; constant STYLE_PANE_TITLE_FOCUSED (line 31) | pub const STYLE_PANE_TITLE_FOCUSED: &str = "pane.title.focused"; constant STYLE_PANE_TITLE_UNFOCUSED (line 32) | pub const STYLE_PANE_TITLE_UNFOCUSED: &str = "pane.title.unfocused"; constant STYLE_SPLIT_HANDLE (line 33) | pub const STYLE_SPLIT_HANDLE: &str = "split.handle"; constant STYLE_TEXT_PRIMARY (line 34) | pub const STYLE_TEXT_PRIMARY: &str = "text.primary"; constant STYLE_TEXT_MUTED (line 35) | pub const STYLE_TEXT_MUTED: &str = "text.muted"; constant STYLE_TEXT_SUBTLE (line 36) | pub const STYLE_TEXT_SUBTLE: &str = "text.subtle"; constant STYLE_STATUS_SUCCESS (line 37) | pub const STYLE_STATUS_SUCCESS: &str = "status.success"; constant STYLE_STATUS_WARNING (line 38) | pub const STYLE_STATUS_WARNING: &str = "status.warning"; constant STYLE_STATUS_ERROR (line 39) | pub const STYLE_STATUS_ERROR: &str = "status.error"; constant STYLE_STATUS_INFO (line 40) | pub const STYLE_STATUS_INFO: &str = "status.info"; constant STYLE_RESULT_ROW (line 41) | pub const STYLE_RESULT_ROW: &str = "result.row"; constant STYLE_RESULT_ROW_ALT (line 42) | pub const STYLE_RESULT_ROW_ALT: &str = "result.row.alt"; constant STYLE_RESULT_ROW_SELECTED (line 43) | pub const STYLE_RESULT_ROW_SELECTED: &str = "result.row.selected"; constant STYLE_ROLE_USER (line 44) | pub const STYLE_ROLE_USER: &str = "role.user"; constant STYLE_ROLE_ASSISTANT (line 45) | pub const STYLE_ROLE_ASSISTANT: &str = "role.assistant"; constant STYLE_ROLE_TOOL (line 46) | pub const STYLE_ROLE_TOOL: &str = "role.tool"; constant STYLE_ROLE_SYSTEM (line 47) | pub const STYLE_ROLE_SYSTEM: &str = "role.system"; constant STYLE_ROLE_GUTTER_USER (line 48) | pub const STYLE_ROLE_GUTTER_USER: &str = "role.gutter.user"; constant STYLE_ROLE_GUTTER_ASSISTANT (line 49) | pub const STYLE_ROLE_GUTTER_ASSISTANT: &str = "role.gutter.assistant"; constant STYLE_ROLE_GUTTER_TOOL (line 50) | pub const STYLE_ROLE_GUTTER_TOOL: &str = "role.gutter.tool"; constant STYLE_ROLE_GUTTER_SYSTEM (line 51) | pub const STYLE_ROLE_GUTTER_SYSTEM: &str = "role.gutter.system"; constant STYLE_SCORE_HIGH (line 52) | pub const STYLE_SCORE_HIGH: &str = "score.high"; constant STYLE_SCORE_MID (line 53) | pub const STYLE_SCORE_MID: &str = "score.mid"; constant STYLE_SCORE_LOW (line 54) | pub const STYLE_SCORE_LOW: &str = "score.low"; constant STYLE_SOURCE_LOCAL (line 55) | pub const STYLE_SOURCE_LOCAL: &str = "source.local"; constant STYLE_SOURCE_REMOTE (line 56) | pub const STYLE_SOURCE_REMOTE: &str = "source.remote"; constant STYLE_LOCATION (line 57) | pub const STYLE_LOCATION: &str = "location"; constant STYLE_PILL_ACTIVE (line 58) | pub const STYLE_PILL_ACTIVE: &str = "pill.active"; constant STYLE_PILL_INACTIVE (line 59) | pub const STYLE_PILL_INACTIVE: &str = "pill.inactive"; constant STYLE_PILL_LABEL (line 60) | pub const STYLE_PILL_LABEL: &str = "pill.label"; constant STYLE_CRUMB_ACTIVE (line 61) | pub const STYLE_CRUMB_ACTIVE: &str = "crumb.active"; constant STYLE_CRUMB_INACTIVE (line 62) | pub const STYLE_CRUMB_INACTIVE: &str = "crumb.inactive"; constant STYLE_CRUMB_SEPARATOR (line 63) | pub const STYLE_CRUMB_SEPARATOR: &str = "crumb.separator"; constant STYLE_TAB_ACTIVE (line 64) | pub const STYLE_TAB_ACTIVE: &str = "tab.active"; constant STYLE_TAB_INACTIVE (line 65) | pub const STYLE_TAB_INACTIVE: &str = "tab.inactive"; constant STYLE_DETAIL_FIND_CONTAINER (line 66) | pub const STYLE_DETAIL_FIND_CONTAINER: &str = "detail.find.container"; constant STYLE_DETAIL_FIND_QUERY (line 67) | pub const STYLE_DETAIL_FIND_QUERY: &str = "detail.find.query"; constant STYLE_DETAIL_FIND_MATCH_ACTIVE (line 68) | pub const STYLE_DETAIL_FIND_MATCH_ACTIVE: &str = "detail.find.match.acti... constant STYLE_DETAIL_FIND_MATCH_INACTIVE (line 69) | pub const STYLE_DETAIL_FIND_MATCH_INACTIVE: &str = "detail.find.match.in... constant STYLE_QUERY_HIGHLIGHT (line 70) | pub const STYLE_QUERY_HIGHLIGHT: &str = "query.highlight"; constant STYLE_SEARCH_FOCUS (line 71) | pub const STYLE_SEARCH_FOCUS: &str = "search.focus"; constant STYLE_MODAL_BACKDROP (line 72) | pub const STYLE_MODAL_BACKDROP: &str = "modal.backdrop"; constant STYLE_KBD_KEY (line 73) | pub const STYLE_KBD_KEY: &str = "kbd.key"; constant STYLE_KBD_DESC (line 74) | pub const STYLE_KBD_DESC: &str = "kbd.desc"; constant THEME_CONFIG_VERSION (line 75) | pub const THEME_CONFIG_VERSION: u32 = 1; type UiThemePreset (line 79) | pub enum UiThemePreset { method all (line 108) | pub const fn all() -> [Self; 19] { method name (line 132) | pub const fn name(self) -> &'static str { method next (line 156) | pub fn next(self) -> Self { method previous (line 162) | pub fn previous(self) -> Self { method parse (line 168) | pub fn parse(value: &str) -> Option { method base_theme (line 195) | fn base_theme(self) -> Theme { type ThemeConfig (line 221) | pub struct ThemeConfig { method from_json_str (line 229) | pub fn from_json_str(raw: &str) -> Result { method to_json_pretty (line 236) | pub fn to_json_pretty(&self) -> Result { method load_from_path (line 242) | pub fn load_from_path(path: impl AsRef) -> Result) -> Result<(), Theme... method validate (line 267) | pub fn validate(&self) -> Result<(), ThemeConfigError> { method default (line 279) | fn default() -> Self { type ThemeContrastCheck (line 288) | pub struct ThemeContrastCheck { type ThemeContrastReport (line 296) | pub struct ThemeContrastReport { method has_failures (line 301) | pub fn has_failures(&self) -> bool { method failing_pairs (line 305) | pub fn failing_pairs(&self) -> Vec<&'static str> { type ThemeConfigError (line 315) | pub enum ThemeConfigError { function default_theme_config_version (line 334) | fn default_theme_config_version() -> u32 { type StyleOptions (line 339) | pub struct StyleOptions { method from_env (line 378) | pub fn from_env() -> Self { method from_env_values (line 444) | fn from_env_values(values: EnvValues<'_>) -> Self { method gradients_enabled (line 482) | pub const fn gradients_enabled(self) -> bool { method default (line 350) | fn default() -> Self { type EnvValues (line 364) | struct EnvValues<'a> { type BorderTier (line 493) | pub enum BorderTier { type DecorativePolicy (line 519) | pub struct DecorativePolicy { method resolve (line 536) | pub fn resolve( type CapabilityMatrixInputs (line 581) | pub struct CapabilityMatrixInputs<'a> { type StylePolicyDiagnostic (line 606) | pub struct StylePolicyDiagnostic { function env_flag (line 651) | fn env_flag(value: bool) -> Option<&'static str> { function color_profile_name (line 655) | fn color_profile_name(profile: ColorProfile) -> &'static str { function border_tier_name (line 664) | fn border_tier_name(tier: BorderTier) -> &'static str { function breakpoint_name (line 672) | fn breakpoint_name(breakpoint: super::app::LayoutBreakpoint) -> &'static... function degradation_name (line 683) | fn degradation_name(level: ftui::render::budget::DegradationLevel) -> &'... function style_policy_diagnostic (line 700) | pub fn style_policy_diagnostic( type RoleMarkers (line 762) | pub struct RoleMarkers { method from_options (line 770) | fn from_options(options: StyleOptions) -> Self { type StyleContext (line 799) | pub struct StyleContext { method from_options (line 808) | pub fn from_options(options: StyleOptions) -> Self { method from_options_with_theme_config (line 812) | pub fn from_options_with_theme_config(mut options: StyleOptions, confi... method build (line 825) | fn build(options: StyleOptions) -> Self { method from_env (line 851) | pub fn from_env() -> Self { method style (line 855) | pub fn style(&self, name: &str) -> Style { method agent_accent_style (line 860) | pub fn agent_accent_style(&self, agent: &str) -> Style { method result_row_style_for_agent (line 903) | pub fn result_row_style_for_agent(&self, base: Style, agent: &str) -> ... method score_style (line 978) | pub fn score_style(&self, score: f32) -> Style { method contrast_report (line 988) | pub fn contrast_report(&self) -> ThemeContrastReport { method markdown_theme (line 994) | pub fn markdown_theme(&self) -> MarkdownTheme { method syntax_highlight_theme (line 1048) | pub fn syntax_highlight_theme(&self) -> HighlightTheme { function parse_color_profile (line 1057) | fn parse_color_profile(value: &str) -> Option { function env_truthy (line 1067) | fn env_truthy(value: Option<&str>) -> bool { function tokyo_night_theme (line 1083) | fn tokyo_night_theme() -> Theme { function catppuccin_theme (line 1107) | fn catppuccin_theme() -> Theme { function high_contrast_theme (line 1131) | fn high_contrast_theme() -> Theme { function gruvbox_dark_theme (line 1212) | fn gruvbox_dark_theme() -> Theme { function one_dark_theme (line 1236) | fn one_dark_theme() -> Theme { function rose_pine_theme (line 1260) | fn rose_pine_theme() -> Theme { function everforest_theme (line 1284) | fn everforest_theme() -> Theme { function kanagawa_theme (line 1308) | fn kanagawa_theme() -> Theme { function ayu_mirage_theme (line 1332) | fn ayu_mirage_theme() -> Theme { function nightfox_theme (line 1356) | fn nightfox_theme() -> Theme { function cyberpunk_aurora_theme (line 1380) | fn cyberpunk_aurora_theme() -> Theme { function synthwave_84_theme (line 1404) | fn synthwave_84_theme() -> Theme { function colorblind_theme (line 1434) | fn colorblind_theme() -> Theme { function apply_a11y_overrides (line 1446) | fn apply_a11y_overrides(theme: Theme) -> Theme { function downgrade_adaptive_color (line 1460) | fn downgrade_adaptive_color(color: AdaptiveColor, profile: ColorProfile)... function downgrade_theme_for_profile (line 1469) | fn downgrade_theme_for_profile(theme: Theme, profile: ColorProfile) -> T... function build_stylesheet (line 1520) | fn build_stylesheet(resolved: ResolvedTheme, options: StyleOptions) -> S... function to_packed (line 1841) | fn to_packed(color: Color) -> PackedRgba { function contrast_check (line 1846) | fn contrast_check(pair: &'static str, fg: Color, bg: Color, minimum: f64... function build_contrast_report (line 1856) | fn build_contrast_report(resolved: ResolvedTheme) -> ThemeContrastReport { function blend (line 1883) | fn blend(a: Color, b: Color, t: f32) -> Color { function preset_parse_and_cycles_are_stable (line 1906) | fn preset_parse_and_cycles_are_stable() { function options_from_values_honor_opt_out_and_profile_override (line 1946) | fn options_from_values_honor_opt_out_and_profile_override() { function options_profile_override_applies_when_color_enabled (line 1969) | fn options_profile_override_applies_when_color_enabled() { function options_ignore_no_color_unless_explicitly_requested (line 1988) | fn options_ignore_no_color_unless_explicitly_requested() { function cass_no_color_always_forces_monochrome (line 2007) | fn cass_no_color_always_forces_monochrome() { function cass_no_color_falsy_values_do_not_force_monochrome (line 2026) | fn cass_no_color_falsy_values_do_not_force_monochrome() { function no_color_without_respect_flag_preserves_full_color (line 2055) | fn no_color_without_respect_flag_preserves_full_color() { function respect_no_color_with_falsy_value_is_not_truthy (line 2074) | fn respect_no_color_with_falsy_value_is_not_truthy() { function invalid_color_profile_falls_back_to_env_detection (line 2098) | fn invalid_color_profile_falls_back_to_env_detection() { function a11y_cascades_no_gradient (line 2117) | fn a11y_cascades_no_gradient() { function no_icons_is_independent_of_color_state (line 2145) | fn no_icons_is_independent_of_color_state() { function no_icons_falsy_values_do_not_disable_icons (line 2165) | fn no_icons_falsy_values_do_not_disable_icons() { function no_gradient_falsy_values_do_not_disable_gradients (line 2187) | fn no_gradient_falsy_values_do_not_disable_gradients() { function dark_mode_follows_preset (line 2213) | fn dark_mode_follows_preset() { function unknown_theme_falls_back_to_tokyo_night (line 2238) | fn unknown_theme_falls_back_to_tokyo_night() { function gradients_enabled_requires_color_support (line 2248) | fn gradients_enabled_requires_color_support() { function env_truthy_edge_cases (line 2275) | fn env_truthy_edge_cases() { function env_precedence_full_matrix (line 2298) | fn env_precedence_full_matrix() { function style_context_mono_produces_no_fg_bg (line 2348) | fn style_context_mono_produces_no_fg_bg() { function all_presets_produce_valid_style_context (line 2368) | fn all_presets_produce_valid_style_context() { function dark_preset_matches_tokyo_night_palette (line 2400) | fn dark_preset_matches_tokyo_night_palette() { function style_context_builds_required_semantic_styles (line 2418) | fn style_context_builds_required_semantic_styles() { function detail_find_token_hierarchy_is_explicit_and_theme_aware (line 2476) | fn detail_find_token_hierarchy_is_explicit_and_theme_aware() { function detail_find_tokens_remain_legible_in_mono_mode (line 2514) | fn detail_find_tokens_remain_legible_in_mono_mode() { function mono_profile_downgrades_theme_colors (line 2540) | fn mono_profile_downgrades_theme_colors() { function accessibility_role_markers_prioritize_text_labels (line 2557) | fn accessibility_role_markers_prioritize_text_labels() { function base_contrast_is_wcag_aa_or_higher_for_all_presets (line 2575) | fn base_contrast_is_wcag_aa_or_higher_for_all_presets() { function high_contrast_preset_keeps_selection_legible (line 2604) | fn high_contrast_preset_keeps_selection_legible() { function theme_config_roundtrip_preserves_fields (line 2628) | fn theme_config_roundtrip_preserves_fields() { function theme_config_json_snapshot_is_stable (line 2642) | fn theme_config_json_snapshot_is_stable() { function theme_config_allows_known_preset_aliases (line 2657) | fn theme_config_allows_known_preset_aliases() { function theme_config_backwards_compat_dark_alias (line 2671) | fn theme_config_backwards_compat_dark_alias() { function theme_config_backwards_compat_light_alias (line 2678) | fn theme_config_backwards_compat_light_alias() { function preset_downgrades_to_ansi16_profile (line 2685) | fn preset_downgrades_to_ansi16_profile() { function theme_config_file_roundtrip_works (line 2709) | fn theme_config_file_roundtrip_works() { function base_preset_switches_dark_mode (line 2731) | fn base_preset_switches_dark_mode() { function empty_config_does_not_change_theme (line 2746) | fn empty_config_does_not_change_theme() { function config_base_preset_overrides_options_preset (line 2764) | fn config_base_preset_overrides_options_preset() { constant CRITICAL_FG_TOKENS (line 2786) | const CRITICAL_FG_TOKENS: &[&str] = &[ constant CRITICAL_BG_TOKENS (line 2806) | const CRITICAL_BG_TOKENS: &[&str] = &[ function critical_fg_tokens_always_have_foreground (line 2815) | fn critical_fg_tokens_always_have_foreground() { function critical_bg_tokens_always_have_background (line 2850) | fn critical_bg_tokens_always_have_background() { function a11y_mode_adds_emphasis_to_roles (line 2885) | fn a11y_mode_adds_emphasis_to_roles() { function gutter_tokens_derive_from_role_tokens (line 2919) | fn gutter_tokens_derive_from_role_tokens() { function deco_full_wide_fancy_uses_rounded (line 2946) | fn deco_full_wide_fancy_uses_rounded() { function deco_full_narrow_downgrades_to_square (line 2958) | fn deco_full_narrow_downgrades_to_square() { function deco_fancy_off_uses_square (line 2972) | fn deco_fancy_off_uses_square() { function deco_simple_borders_forces_square (line 2981) | fn deco_simple_borders_forces_square() { function deco_no_styling_drops_color (line 2995) | fn deco_no_styling_drops_color() { function deco_essential_only_strips_everything (line 3007) | fn deco_essential_only_strips_everything() { function deco_skeleton_drops_content (line 3023) | fn deco_skeleton_drops_content() { function deco_no_color_drops_styling (line 3033) | fn deco_no_color_drops_styling() { function deco_no_icons_suppresses_icons (line 3049) | fn deco_no_icons_suppresses_icons() { function deco_monotonic_degradation (line 3062) | fn deco_monotonic_degradation() { function pane_title_focused_has_bold_accent (line 3118) | fn pane_title_focused_has_bold_accent() { function pane_title_unfocused_is_muted_not_bold (line 3136) | fn pane_title_unfocused_is_muted_not_bold() { function pane_title_focused_differs_from_unfocused (line 3154) | fn pane_title_focused_differs_from_unfocused() { function split_handle_has_fg_and_bg (line 3167) | fn split_handle_has_fg_and_bg() { function split_handle_fg_differs_from_own_bg (line 3183) | fn split_handle_fg_differs_from_own_bg() { function source_local_differs_from_source_remote (line 3198) | fn source_local_differs_from_source_remote() { function source_remote_is_italic (line 3211) | fn source_remote_is_italic() { function location_style_has_fg (line 3225) | fn location_style_has_fg() { function result_scanning_hierarchy_is_ordered (line 3237) | fn result_scanning_hierarchy_is_ordered() { function capability_matrix_profiles_resolve_expected_color_profiles (line 3270) | fn capability_matrix_profiles_resolve_expected_color_profiles() { function capability_matrix_no_color_precedence_matches_policy_contract (line 3322) | fn capability_matrix_no_color_precedence_matches_policy_contract() { function capability_matrix_diagnostic_payload_is_machine_readable_json (line 3393) | fn capability_matrix_diagnostic_payload_is_machine_readable_json() { function capability_matrix_degradation_transitions_are_monotonic (line 3442) | fn capability_matrix_degradation_transitions_are_monotonic() { function agent_accent_style_is_bold_for_all_agents (line 3511) | fn agent_accent_style_is_bold_for_all_agents() { function agent_accent_style_adds_badge_bg_in_color_modes (line 3540) | fn agent_accent_style_adds_badge_bg_in_color_modes() { function agent_accent_style_uses_fg_only_in_no_color_and_a11y_modes (line 3567) | fn agent_accent_style_uses_fg_only_in_no_color_and_a11y_modes() { function result_row_style_for_agent_tints_background_when_color_enabled (line 3600) | fn result_row_style_for_agent_tints_background_when_color_enabled() { function result_row_style_for_agent_preserves_base_style_in_no_color_or_a11y (line 3620) | fn result_row_style_for_agent_preserves_base_style_in_no_color_or_a11y() { function result_row_tints_are_pairwise_distinct_for_representative_agents (line 3657) | fn result_row_tints_are_pairwise_distinct_for_representative_agents() { function result_row_tints_preserve_text_legibility_threshold (line 3690) | fn result_row_tints_preserve_text_legibility_threshold() { function selected_row_affordance_remains_distinct_from_agent_tints (line 3719) | fn selected_row_affordance_remains_distinct_from_agent_tints() { function role_markers_provide_text_disambiguation_in_a11y (line 3760) | fn role_markers_provide_text_disambiguation_in_a11y() { function role_markers_empty_when_no_icons (line 3780) | fn role_markers_empty_when_no_icons() { function context_for_preset (line 3794) | fn context_for_preset(preset: UiThemePreset) -> StyleContext { function pill_active_has_background_for_all_presets (line 3811) | fn pill_active_has_background_for_all_presets() { function tab_active_has_background_for_all_presets (line 3824) | fn tab_active_has_background_for_all_presets() { function tab_inactive_has_no_background (line 3837) | fn tab_inactive_has_no_background() { function tab_active_differs_from_status_info (line 3850) | fn tab_active_differs_from_status_info() { function pill_active_differs_from_text_primary (line 3861) | fn pill_active_differs_from_text_primary() { function tab_and_pill_styles_unique_across_presets (line 3872) | fn tab_and_pill_styles_unique_across_presets() { function pill_inactive_differs_from_pill_active (line 3897) | fn pill_inactive_differs_from_pill_active() { function pill_inactive_is_not_bold (line 3912) | fn pill_inactive_is_not_bold() { function pill_active_is_bold (line 3928) | fn pill_active_is_bold() { function pill_inactive_has_background_for_all_presets (line 3944) | fn pill_inactive_has_background_for_all_presets() { function pill_inactive_is_dim (line 3957) | fn pill_inactive_is_dim() { function pill_label_has_foreground_and_bold (line 3973) | fn pill_label_has_foreground_and_bold() { function pill_hierarchy_is_visually_ordered (line 3994) | fn pill_hierarchy_is_visually_ordered() { function crumb_active_differs_from_inactive (line 4020) | fn crumb_active_differs_from_inactive() { function crumb_active_is_bold (line 4035) | fn crumb_active_is_bold() { function crumb_separator_has_fg (line 4048) | fn crumb_separator_has_fg() { function crumb_separator_differs_from_active (line 4061) | fn crumb_separator_differs_from_active() { function markdown_theme_h1_uses_primary_color (line 4078) | fn markdown_theme_h1_uses_primary_color() { function markdown_theme_code_inline_has_background (line 4090) | fn markdown_theme_code_inline_has_background() { function markdown_theme_code_block_has_background (line 4103) | fn markdown_theme_code_block_has_background() { function markdown_theme_link_is_underlined (line 4116) | fn markdown_theme_link_is_underlined() { function markdown_theme_table_has_themed_border (line 4126) | fn markdown_theme_table_has_themed_border() { function syntax_highlight_theme_matches_dark_mode (line 4144) | fn syntax_highlight_theme_matches_dark_mode() { function markdown_theme_differs_across_presets (line 4158) | fn markdown_theme_differs_across_presets() { function markdown_theme_not_default (line 4173) | fn markdown_theme_not_default() { constant ALL_STYLE_TOKENS (line 4191) | const ALL_STYLE_TOKENS: &[(&str, &str)] = &[ constant INDIRECT_USE_WHITELIST (line 4251) | const INDIRECT_USE_WHITELIST: &[&str] = &[ function style_token_registry_is_complete (line 4268) | fn style_token_registry_is_complete() { function no_dead_style_tokens (line 4311) | fn no_dead_style_tokens() { function all_tokens_resolve_to_non_default_style (line 4371) | fn all_tokens_resolve_to_non_default_style() { function role_tokens_are_pairwise_distinct_per_preset (line 4392) | fn role_tokens_are_pairwise_distinct_per_preset() { function role_gutter_tokens_are_pairwise_distinct_per_preset (line 4420) | fn role_gutter_tokens_are_pairwise_distinct_per_preset() { function status_tokens_are_pairwise_distinct_per_preset (line 4448) | fn status_tokens_are_pairwise_distinct_per_preset() { function text_hierarchy_is_ordered_per_preset (line 4476) | fn text_hierarchy_is_ordered_per_preset() { function score_tokens_form_visual_hierarchy (line 4507) | fn score_tokens_form_visual_hierarchy() { function default_presets_pass_contrast_report (line 4536) | fn default_presets_pass_contrast_report() { function palette_propagation_is_deterministic (line 4552) | fn palette_propagation_is_deterministic() { function rendering_token_affordance_matrix_with_logging (line 4575) | fn rendering_token_affordance_matrix_with_logging() { function markdown_theme_preset_coherence_with_logging (line 4707) | fn markdown_theme_preset_coherence_with_logging() { function degradation_affordance_preservation_with_logging (line 4757) | fn degradation_affordance_preservation_with_logging() { FILE: src/ui/theme.rs constant ENV_NO_COLOR (line 22) | const ENV_NO_COLOR: &str = "NO_COLOR"; constant ENV_CASS_NO_COLOR (line 23) | const ENV_CASS_NO_COLOR: &str = "CASS_NO_COLOR"; constant ENV_CASS_NO_ICONS (line 24) | const ENV_CASS_NO_ICONS: &str = "CASS_NO_ICONS"; constant ENV_CASS_NO_GRADIENT (line 25) | const ENV_CASS_NO_GRADIENT: &str = "CASS_NO_GRADIENT"; constant ENV_CASS_DISABLE_ANIMATIONS (line 26) | const ENV_CASS_DISABLE_ANIMATIONS: &str = "CASS_DISABLE_ANIMATIONS"; constant ENV_CASS_ANIM (line 27) | const ENV_CASS_ANIM: &str = "CASS_ANIM"; constant ENV_CASS_A11Y (line 28) | const ENV_CASS_A11Y: &str = "CASS_A11Y"; constant TEXT_PRIMARY (line 35) | pub const TEXT_PRIMARY: &str = "text.primary"; constant TEXT_SECONDARY (line 36) | pub const TEXT_SECONDARY: &str = "text.secondary"; constant TEXT_MUTED (line 37) | pub const TEXT_MUTED: &str = "text.muted"; constant TEXT_DISABLED (line 38) | pub const TEXT_DISABLED: &str = "text.disabled"; constant ACCENT_PRIMARY (line 41) | pub const ACCENT_PRIMARY: &str = "accent.primary"; constant ACCENT_SECONDARY (line 42) | pub const ACCENT_SECONDARY: &str = "accent.secondary"; constant ACCENT_TERTIARY (line 43) | pub const ACCENT_TERTIARY: &str = "accent.tertiary"; constant BG_DEEP (line 46) | pub const BG_DEEP: &str = "bg.deep"; constant BG_SURFACE (line 47) | pub const BG_SURFACE: &str = "bg.surface"; constant BG_HIGHLIGHT (line 48) | pub const BG_HIGHLIGHT: &str = "bg.highlight"; constant BORDER (line 51) | pub const BORDER: &str = "border"; constant BORDER_FOCUS (line 52) | pub const BORDER_FOCUS: &str = "border.focus"; constant BORDER_MINIMAL (line 53) | pub const BORDER_MINIMAL: &str = "border.minimal"; constant BORDER_EMPHASIZED (line 54) | pub const BORDER_EMPHASIZED: &str = "border.emphasized"; constant ROLE_USER (line 57) | pub const ROLE_USER: &str = "role.user"; constant ROLE_AGENT (line 58) | pub const ROLE_AGENT: &str = "role.agent"; constant ROLE_TOOL (line 59) | pub const ROLE_TOOL: &str = "role.tool"; constant ROLE_SYSTEM (line 60) | pub const ROLE_SYSTEM: &str = "role.system"; constant ROLE_USER_BG (line 63) | pub const ROLE_USER_BG: &str = "role.user.bg"; constant ROLE_AGENT_BG (line 64) | pub const ROLE_AGENT_BG: &str = "role.agent.bg"; constant ROLE_TOOL_BG (line 65) | pub const ROLE_TOOL_BG: &str = "role.tool.bg"; constant ROLE_SYSTEM_BG (line 66) | pub const ROLE_SYSTEM_BG: &str = "role.system.bg"; constant STATUS_SUCCESS (line 69) | pub const STATUS_SUCCESS: &str = "status.success"; constant STATUS_WARNING (line 70) | pub const STATUS_WARNING: &str = "status.warning"; constant STATUS_ERROR (line 71) | pub const STATUS_ERROR: &str = "status.error"; constant STATUS_INFO (line 72) | pub const STATUS_INFO: &str = "status.info"; constant HIGHLIGHT (line 75) | pub const HIGHLIGHT: &str = "highlight"; constant SELECTED (line 76) | pub const SELECTED: &str = "selected"; constant CHIP (line 77) | pub const CHIP: &str = "chip"; constant KBD (line 78) | pub const KBD: &str = "kbd"; constant CODE (line 79) | pub const CODE: &str = "code"; constant STRIPE_EVEN (line 82) | pub const STRIPE_EVEN: &str = "stripe.even"; constant STRIPE_ODD (line 83) | pub const STRIPE_ODD: &str = "stripe.odd"; constant GRADIENT_TOP (line 86) | pub const GRADIENT_TOP: &str = "gradient.top"; constant GRADIENT_MID (line 87) | pub const GRADIENT_MID: &str = "gradient.mid"; constant GRADIENT_BOT (line 88) | pub const GRADIENT_BOT: &str = "gradient.bot"; type ThemeFlags (line 95) | pub struct ThemeFlags { method detect (line 110) | pub fn detect() -> Self { method custom (line 121) | pub fn custom( method all_enabled (line 138) | pub fn all_enabled() -> Self { method default (line 150) | fn default() -> Self { type CassTheme (line 162) | pub struct CassTheme { method from_preset (line 181) | pub fn from_preset(preset: ThemePreset) -> Self { method with_options (line 192) | pub fn with_options(preset: ThemePreset, profile: ColorProfile, flags:... method next_preset (line 211) | pub fn next_preset(&mut self) { method prev_preset (line 217) | pub fn prev_preset(&mut self) { method rebuild (line 223) | fn rebuild(&mut self) { method style (line 236) | pub fn style(&self, name: &str) -> Style { method compose (line 241) | pub fn compose(&self, names: &[&str]) -> Style { method downgrade (line 246) | pub fn downgrade(&mut self, color: Color) -> Color { method legacy_palette (line 251) | pub fn legacy_palette(&self) -> ThemePalette { method show_icons (line 256) | pub fn show_icons(&self) -> bool { method show_gradient (line 261) | pub fn show_gradient(&self) -> bool { method show_animations (line 266) | pub fn show_animations(&self) -> bool { method a11y_mode (line 271) | pub fn a11y_mode(&self) -> bool { method agent_icon (line 276) | pub fn agent_icon(&self, agent: &str) -> &'static str { method role_style (line 285) | pub fn role_style(&self, role: &str) -> Style { method role_bg_style (line 297) | pub fn role_bg_style(&self, role: &str) -> Style { method agent_pane_style (line 309) | pub fn agent_pane_style(&self, agent: &str) -> (Style, Style) { method stripe_style (line 317) | pub fn stripe_style(&self, row_idx: usize) -> Style { method default (line 327) | fn default() -> Self { function build_ftui_theme (line 335) | fn build_ftui_theme(palette: &ThemePalette, is_dark: bool) -> Theme { function build_stylesheet (line 371) | fn build_stylesheet(palette: &ThemePalette, is_dark: bool, flags: &Theme... function env_truthy (line 535) | fn env_truthy(name: &str) -> bool { function env_is (line 550) | fn env_is(name: &str, expected: &str) -> bool { function lerp_u8 (line 557) | pub fn lerp_u8(a: u8, b: u8, t: f32) -> u8 { function lerp_color (line 566) | pub fn lerp_color(from: Color, to: Color, progress: f32) -> Color { function dim_color (line 577) | pub fn dim_color(color: Color, factor: f32) -> Color { function default_creates_dark_theme (line 594) | fn default_creates_dark_theme() { function all_presets_build_without_panic (line 601) | fn all_presets_build_without_panic() { function style_sheet_has_core_styles (line 609) | fn style_sheet_has_core_styles() { function preset_cycling_wraps (line 627) | fn preset_cycling_wraps() { function no_color_forces_mono_profile (line 638) | fn no_color_forces_mono_profile() { function no_icons_suppresses_agent_icons (line 648) | fn no_icons_suppresses_agent_icons() { function icons_shown_by_default (line 657) | fn icons_shown_by_default() { function role_styles_return_non_default (line 665) | fn role_styles_return_non_default() { function stripe_alternates (line 683) | fn stripe_alternates() { function light_theme_has_light_bg (line 696) | fn light_theme_has_light_bg() { function high_contrast_has_core_styles (line 706) | fn high_contrast_has_core_styles() { function compose_merges_styles (line 717) | fn compose_merges_styles() { function lerp_u8_extremes (line 731) | fn lerp_u8_extremes() { function lerp_u8_clamps (line 738) | fn lerp_u8_clamps() { function lerp_color_identity (line 744) | fn lerp_color_identity() { function lerp_color_midpoint (line 751) | fn lerp_color_midpoint() { function dim_color_half (line 762) | fn dim_color_half() { function dim_color_zero_is_black (line 772) | fn dim_color_zero_is_black() { function packed_rgba_to_color_round_trips (line 782) | fn packed_rgba_to_color_round_trips() { function no_gradient_skips_gradient_styles (line 792) | fn no_gradient_skips_gradient_styles() { function gradient_present_when_enabled (line 801) | fn gradient_present_when_enabled() { function a11y_mode_reports_correctly (line 811) | fn a11y_mode_reports_correctly() { function theme_flags_default_all_enabled (line 819) | fn theme_flags_default_all_enabled() { function legacy_palette_matches_preset (line 829) | fn legacy_palette_matches_preset() { FILE: src/ui/time_parser.rs function parse_time_input (line 11) | pub fn parse_time_input(input: &str) -> Option { function local_midnight_to_utc (line 116) | fn local_midnight_to_utc(date: NaiveDate) -> Option { function relative_duration (line 129) | fn relative_duration(unit: &str, val: i64) -> Option { function subtract_duration_ms (line 139) | fn subtract_duration_ms(now_utc: chrono::DateTime, duration: Durati... function test_relative_time (line 150) | fn test_relative_time() { function test_relative_time_overflow_returns_none (line 181) | fn test_relative_time_overflow_returns_none() { function test_keywords (line 205) | fn test_keywords() { function test_date_formats (line 221) | fn test_date_formats() { function test_numeric (line 230) | fn test_numeric() { FILE: src/ui/trace.rs type FrameRecord (line 28) | pub struct FrameRecord { type EventRecord (line 49) | pub struct EventRecord { type SystemInfo (line 63) | pub struct SystemInfo { method capture (line 75) | pub fn capture() -> Self { type TraceWriter (line 93) | pub struct TraceWriter { method open (line 103) | pub fn open(render_path: Option<&Path>, events_path: Option<&Path>) ->... method record_frame (line 126) | pub fn record_frame( method record_event (line 152) | pub fn record_event(&mut self, msg_tag: &str, detail: Option<&str>) ->... method flush (line 168) | pub fn flush(&mut self) -> std::io::Result<()> { method frame_count (line 179) | pub fn frame_count(&self) -> u64 { method event_count (line 184) | pub fn event_count(&self) -> u64 { method is_active (line 189) | pub fn is_active(&self) -> bool { method drop (line 195) | fn drop(&mut self) { function write_trace_bundle (line 209) | pub fn write_trace_bundle( function read_render_trace (line 234) | pub fn read_render_trace(path: &Path) -> std::io::Result std::io::Result bool { method into_writer (line 296) | pub fn into_writer(&self) -> std::io::Result { function wall_millis (line 333) | fn wall_millis() -> u64 { function trace_writer_records_frames_and_events (line 350) | fn trace_writer_records_frames_and_events() { function trace_writer_noop_when_no_paths (line 386) | fn trace_writer_noop_when_no_paths() { function trace_writer_with_text_snapshot (line 399) | fn trace_writer_with_text_snapshot() { function write_and_read_trace_bundle (line 422) | fn write_and_read_trace_bundle() { function system_info_captures_environment (line 437) | fn system_info_captures_environment() { function trace_options_active_detection (line 446) | fn trace_options_active_detection() { function trace_options_bundle_creates_default_paths (line 464) | fn trace_options_bundle_creates_default_paths() { FILE: src/update_check.rs constant CHECK_INTERVAL_SECS (line 18) | const CHECK_INTERVAL_SECS: u64 = 3600; constant HTTP_TIMEOUT_SECS (line 21) | const HTTP_TIMEOUT_SECS: u64 = 5; constant GITHUB_REPO (line 24) | const GITHUB_REPO: &str = "Dicklesworthstone/coding_agent_session_search"; constant UNIX_INSTALL_ASSET (line 26) | const UNIX_INSTALL_ASSET: &str = "install.sh"; constant WINDOWS_INSTALL_ASSET (line 28) | const WINDOWS_INSTALL_ASSET: &str = "install.ps1"; constant CHECKSUMS_ASSET (line 29) | const CHECKSUMS_ASSET: &str = "SHA256SUMS.txt"; function updates_disabled (line 31) | fn updates_disabled() -> bool { type UpdateState (line 40) | pub struct UpdateState { method load (line 49) | pub fn load() -> Self { method load_async (line 66) | pub async fn load_async() -> Self { method save (line 83) | pub fn save(&self) -> Result<()> { method save_async (line 95) | pub async fn save_async(&self) -> Result<()> { method should_check (line 110) | pub fn should_check(&self) -> bool { method mark_checked (line 119) | pub fn mark_checked(&mut self) { method skip_version (line 124) | pub fn skip_version(&mut self, version: &str) { method is_skipped (line 129) | pub fn is_skipped(&self, version: &str) -> bool { method clear_skip (line 134) | pub fn clear_skip(&mut self) { type UpdateInfo (line 141) | pub struct UpdateInfo { method should_show (line 158) | pub fn should_show(&self) -> bool { type GitHubRelease (line 165) | struct GitHubRelease { function check_for_updates (line 176) | pub async fn check_for_updates(current_version: &str) -> Option Option { function skip_version (line 220) | pub fn skip_version(version: &str) -> Result<()> { function open_in_browser (line 227) | pub fn open_in_browser(url: &str) -> std::io::Result<()> { function release_asset_url (line 245) | fn release_asset_url(version: &str, asset: &str) -> String { function unix_self_update_script (line 250) | fn unix_self_update_script() -> &'static str { function windows_self_update_script (line 296) | fn windows_self_update_script() -> &'static str { function run_self_update (line 339) | pub fn run_self_update(version: &str) -> ! { function release_api_base_url (line 413) | fn release_api_base_url() -> String { function is_allowed_update_api_url (line 434) | fn is_allowed_update_api_url(url: &str) -> bool { function state_path (line 450) | fn state_path() -> PathBuf { function legacy_state_path (line 454) | fn legacy_state_path() -> PathBuf { function now_unix (line 462) | fn now_unix() -> i64 { function check_for_updates_sync (line 478) | pub fn check_for_updates_sync(current_version: &str) -> Option Result { function fetch_latest_release_with_cx (line 573) | async fn fetch_latest_release_with_cx(cx: &asupersync::Cx) -> Result Result { function spawn_update_check (line 615) | pub fn spawn_update_check( function test_release_asset_url_uses_immutable_release_downloads (line 636) | fn test_release_asset_url_uses_immutable_release_downloads() { function test_unix_self_update_verifies_installer_script_before_running (line 650) | fn test_unix_self_update_verifies_installer_script_before_running() { function test_windows_self_update_verifies_installer_script_before_running (line 661) | fn test_windows_self_update_verifies_installer_script_before_running() { function test_is_allowed_update_api_url_allows_trusted_https_hosts (line 676) | fn test_is_allowed_update_api_url_allows_trusted_https_hosts() { function test_is_allowed_update_api_url_rejects_untrusted_https_hosts (line 689) | fn test_is_allowed_update_api_url_rejects_untrusted_https_hosts() { function test_is_allowed_update_api_url_allows_http_loopback_only (line 701) | fn test_is_allowed_update_api_url_allows_http_loopback_only() { function test_is_allowed_update_api_url_rejects_non_loopback_http (line 709) | fn test_is_allowed_update_api_url_rejects_non_loopback_http() { function test_is_allowed_update_api_url_rejects_other_schemes (line 719) | fn test_is_allowed_update_api_url_rejects_other_schemes() { function test_state_should_check (line 733) | fn test_state_should_check() { function test_skip_version (line 752) | fn test_skip_version() { function update_check_state_remains_functional_without_session_dismiss_stub (line 766) | fn update_check_state_remains_functional_without_session_dismiss_stub() { function test_update_info_should_show (line 780) | fn test_update_info_should_show() { function test_version_comparison_upgrade_scenarios (line 810) | fn test_version_comparison_upgrade_scenarios() { function test_update_state_persistence_round_trip (line 841) | fn test_update_state_persistence_round_trip() { function test_update_info_upgrade_workflow (line 878) | fn test_update_info_upgrade_workflow() { function test_check_interval_respects_cadence (line 926) | fn test_check_interval_respects_cadence() { function test_github_repo_constant_is_valid (line 947) | fn test_github_repo_constant_is_valid() { function http_response (line 964) | fn http_response(status: u16, body: &str) -> String { function start_test_server (line 985) | fn start_test_server( function integration_fetch_release_success (line 1015) | fn integration_fetch_release_success() { function integration_fetch_release_404_error (line 1048) | fn integration_fetch_release_404_error() { function integration_fetch_release_malformed_json (line 1074) | fn integration_fetch_release_malformed_json() { function integration_fetch_release_missing_fields (line 1094) | fn integration_fetch_release_missing_fields() { function integration_fetch_release_server_error (line 1118) | fn integration_fetch_release_server_error() { function integration_version_comparison_with_real_fetch (line 1138) | fn integration_version_comparison_with_real_fetch() { function integration_prerelease_version_handling (line 1171) | fn integration_prerelease_version_handling() { function integration_connection_refused_is_offline_friendly (line 1213) | fn integration_connection_refused_is_offline_friendly() { function integration_failed_sync_check_does_not_throttle_future_checks (line 1246) | fn integration_failed_sync_check_does_not_throttle_future_checks() { function integration_failed_async_check_does_not_throttle_future_checks (line 1274) | fn integration_failed_async_check_does_not_throttle_future_checks() { function integration_force_check_bypasses_cadence_even_when_state_save_fails (line 1306) | fn integration_force_check_bypasses_cadence_even_when_state_save_fails() { function integration_blocking_fetch_release_success_v1 (line 1372) | fn integration_blocking_fetch_release_success_v1() { function integration_blocking_fetch_release_403_error (line 1399) | fn integration_blocking_fetch_release_403_error() { function integration_release_api_base_url_default (line 1419) | fn integration_release_api_base_url_default() { function integration_release_api_base_url_override (line 1438) | fn integration_release_api_base_url_override() { function integration_http_timeout_is_reasonable (line 1455) | fn integration_http_timeout_is_reasonable() { function integration_check_interval_is_reasonable (line 1471) | fn integration_check_interval_is_reasonable() { FILE: tests/_probe_mot85.rs function probe_mot85_fsqlite_writable_schema_writes (line 24) | fn probe_mot85_fsqlite_writable_schema_writes() { FILE: tests/accessibility/axe-core.test.js constant TEST_CONFIG (line 18) | const TEST_CONFIG = { function runAxeAnalysis (line 38) | async function runAxeAnalysis(page, context = 'full page') { function categorizeViolations (line 67) | function categorizeViolations(violations) { FILE: tests/agent_detection_completeness.rs function public_slug (line 21) | fn public_slug(fad_slug: &str) -> &str { function fad_slug (line 29) | fn fad_slug(public: &str) -> &str { function factory_fad_slugs (line 37) | fn factory_fad_slugs() -> HashSet { function probe_slugs (line 45) | fn probe_slugs() -> HashSet { constant DETECTION_ONLY (line 54) | const DETECTION_ONLY: &[&str] = &["goose", "continue", "windsurf"]; function extract_function_body (line 57) | fn extract_function_body(source: &str, fn_prefix: &str) -> String { function connector_factories_all_instantiate_and_detect (line 91) | fn connector_factories_all_instantiate_and_detect() { function feature_gated_connectors_available (line 140) | fn feature_gated_connectors_available() { function probe_paths_cover_all_factory_connectors (line 159) | fn probe_paths_cover_all_factory_connectors() { function probe_paths_are_tilde_relative (line 201) | fn probe_paths_are_tilde_relative() { function detect_installed_agents_report_structure (line 220) | fn detect_installed_agents_report_structure() { function agent_counts_consistent_across_apis (line 287) | fn agent_counts_consistent_across_apis() { function diagnostics_connector_paths_is_dynamic (line 343) | fn diagnostics_connector_paths_is_dynamic() { function probe_script_uses_fad_api (line 371) | fn probe_script_uses_fad_api() { function slug_mappings_are_correct (line 403) | fn slug_mappings_are_correct() { function new_agent_auto_discovery_documented (line 426) | fn new_agent_auto_discovery_documented() { FILE: tests/atomic_swap_publish_crash_window.rs function cass_cmd (line 43) | fn cass_cmd(home: &std::path::Path) -> Command { function iso_ts (line 55) | fn iso_ts(ts_ms: i64) -> String { function seed_codex_session (line 61) | fn seed_codex_session( function force_federated_publish_env (line 107) | fn force_federated_publish_env(cmd: &mut Command) { function concurrent_reader_never_sees_half_torn_lexical_index_during_publish_swap (line 130) | fn concurrent_reader_never_sees_half_torn_lexical_index_during_publish_s... function concurrent_reader_never_sees_half_torn_federated_lexical_index_during_publish_swap (line 254) | fn concurrent_reader_never_sees_half_torn_federated_lexical_index_during... function kill_relaunch_recovers_lexical_publish_and_search_stays_stable (line 361) | fn kill_relaunch_recovers_lexical_publish_and_search_stays_stable() { FILE: tests/bakeoff_harness.rs type FixtureEmbedder (line 14) | struct FixtureEmbedder { method new (line 21) | fn new(id: &str, dimension: usize) -> Self { method calls (line 29) | fn calls(&self) -> usize { method embed_sync (line 35) | fn embed_sync(&self, text: &str) -> EmbedderResult> { method dimension (line 68) | fn dimension(&self) -> usize { method id (line 72) | fn id(&self) -> &str { method is_semantic (line 76) | fn is_semantic(&self) -> bool { method category (line 80) | fn category(&self) -> ModelCategory { type QualityFixtureEmbedder (line 87) | struct QualityFixtureEmbedder { method new (line 93) | fn new(id: &str, dimension: usize) -> Self { method text_features (line 101) | fn text_features(&self, text: &str) -> Vec { method embed_sync (line 151) | fn embed_sync(&self, text: &str) -> EmbedderResult> { method dimension (line 162) | fn dimension(&self) -> usize { method id (line 166) | fn id(&self) -> &str { method is_semantic (line 170) | fn is_semantic(&self) -> bool { method category (line 174) | fn category(&self) -> ModelCategory { function test_harness_with_fixture_embedder (line 180) | fn test_harness_with_fixture_embedder() { function test_harness_with_quality_embedder (line 211) | fn test_harness_with_quality_embedder() { function test_harness_comparison (line 238) | fn test_harness_comparison() { function test_format_comparison_table (line 285) | fn test_format_comparison_table() { function test_custom_evaluation_config (line 332) | fn test_custom_evaluation_config() { function test_corpus_hash_stability (line 359) | fn test_corpus_hash_stability() { function test_empty_corpus_error (line 370) | fn test_empty_corpus_error() { function test_ineligible_by_date (line 391) | fn test_ineligible_by_date() { FILE: tests/canonicalize_equivalence.rs function test_canonicalize_deterministic_simple (line 25) | fn test_canonicalize_deterministic_simple() { function test_canonicalize_deterministic_repeated (line 45) | fn test_canonicalize_deterministic_repeated() { function test_hash_deterministic (line 57) | fn test_hash_deterministic() { function test_hash_hex_deterministic (line 70) | fn test_hash_hex_deterministic() { function test_edge_empty_string (line 176) | fn test_edge_empty_string() { function test_edge_whitespace_only (line 185) | fn test_edge_whitespace_only() { function test_edge_single_character (line 209) | fn test_edge_single_character() { function test_edge_only_code_blocks (line 226) | fn test_edge_only_code_blocks() { function test_edge_unclosed_code_block (line 245) | fn test_edge_unclosed_code_block() { function test_edge_deeply_nested_markdown (line 258) | fn test_edge_deeply_nested_markdown() { function test_edge_unicode_combining_characters (line 278) | fn test_edge_unicode_combining_characters() { function test_edge_unicode_nfc_nfd_equivalence (line 298) | fn test_edge_unicode_nfc_nfd_equivalence() { function test_edge_rtl_text (line 321) | fn test_edge_rtl_text() { function test_edge_emoji (line 336) | fn test_edge_emoji() { function test_edge_very_long_input (line 359) | fn test_edge_very_long_input() { function test_edge_exactly_max_chars (line 372) | fn test_edge_exactly_max_chars() { function test_edge_low_signal_exact_matches (line 383) | fn test_edge_low_signal_exact_matches() { function test_edge_low_signal_not_substring (line 412) | fn test_edge_low_signal_not_substring() { function test_edge_code_block_exactly_boundary (line 432) | fn test_edge_code_block_exactly_boundary() { function test_edge_code_block_one_over_boundary (line 454) | fn test_edge_code_block_one_over_boundary() { function test_edge_mixed_line_endings (line 473) | fn test_edge_mixed_line_endings() { function test_edge_special_markdown_chars (line 494) | fn test_edge_special_markdown_chars() { function test_hash_different_content_different_hash (line 521) | fn test_hash_different_content_different_hash() { function test_hash_known_value (line 535) | fn test_hash_known_value() { function test_canonicalize_then_hash_pipeline (line 549) | fn test_canonicalize_then_hash_pipeline() { function test_env_var_documentation (line 568) | fn test_env_var_documentation() { function test_realistic_agent_log_content (line 597) | fn test_realistic_agent_log_content() { function test_realistic_tool_output (line 647) | fn test_realistic_tool_output() { FILE: tests/card_defaults_wallclock_ab.rs function create_corpus (line 23) | fn create_corpus(tmp: &TempDir, count: usize) -> (std::path::PathBuf, st... type EnvGuard (line 56) | struct EnvGuard { method set (line 61) | fn set(pairs: &[(&'static str, &str)]) -> Self { method drop (line 76) | fn drop(&mut self) { function run_cell (line 88) | fn run_cell(label: &str, governor: &str, combine: &str, shadow: &str, co... function card_defaults_wallclock_ab_4cell (line 151) | fn card_defaults_wallclock_ab_4cell() { FILE: tests/cli_diag.rs function write_quarantined_manifest (line 8) | fn write_quarantined_manifest(generation_dir: &Path) { function seed_two_retained_publish_backups (line 56) | fn seed_two_retained_publish_backups(data_dir: &Path) { function run_diag_quarantine_with_retention (line 78) | fn run_diag_quarantine_with_retention(test_home: &Path, data_dir: &Path,... function retained_publish_backup_safety_counts (line 106) | fn retained_publish_backup_safety_counts(quarantine: &Value) -> (usize, ... function diag_json_quarantine_surfaces_retained_artifacts (line 122) | fn diag_json_quarantine_surfaces_retained_artifacts() { function diag_quarantine_retention_zero_marks_all_publish_backups_gc_eligible (line 429) | fn diag_quarantine_retention_zero_marks_all_publish_backups_gc_eligible() { function diag_quarantine_retention_three_protects_two_publish_backups (line 462) | fn diag_quarantine_retention_three_protects_two_publish_backups() { function diag_and_doctor_agree_on_quarantine_summary_on_empty_data_dir (line 518) | fn diag_and_doctor_agree_on_quarantine_summary_on_empty_data_dir() { function diag_and_doctor_agree_on_quarantine_summary_on_seeded_state (line 688) | fn diag_and_doctor_agree_on_quarantine_summary_on_seeded_state() { FILE: tests/cli_dispatch_coverage.rs function base_cmd (line 26) | fn base_cmd(temp_home: &Path) -> Command { function simple_cmd (line 40) | fn simple_cmd() -> Command { function run_on_large_stack (line 63) | fn run_on_large_stack(f: F) -> T function parse_cli_ok (line 79) | fn parse_cli_ok( function parse_cli_err (line 88) | fn parse_cli_err(args: [&'static str; N], context: &'sta... function sample_agent (line 97) | fn sample_agent(slug: &str, name: &str) -> Agent { function sample_message (line 107) | fn sample_message(idx: i64, role: MessageRole, ts: i64, content: &str) -... function make_codex_session (line 120) | fn make_codex_session(root: &Path, content: &str, ts: u64) { function sample_conversation (line 133) | fn sample_conversation( function seed_analytics_workspace_fixture (line 159) | fn seed_analytics_workspace_fixture(temp_home: &TempDir) -> (PathBuf, Pa... function seed_analytics_models_workspace_fixture (line 235) | fn seed_analytics_models_workspace_fixture(temp_home: &TempDir) -> PathB... function seed_analytics_remote_source_tokens_fixture (line 456) | fn seed_analytics_remote_source_tokens_fixture(temp_home: &TempDir) { function seed_analytics_remote_source_tools_fixture (line 496) | fn seed_analytics_remote_source_tools_fixture(temp_home: &TempDir) { function completions_bash_outputs_valid_script (line 553) | fn completions_bash_outputs_valid_script() { function completions_zsh_outputs_valid_script (line 571) | fn completions_zsh_outputs_valid_script() { function completions_fish_outputs_valid_script (line 585) | fn completions_fish_outputs_valid_script() { function completions_powershell_outputs_valid_script (line 599) | fn completions_powershell_outputs_valid_script() { function completions_help_shows_shells (line 615) | fn completions_help_shows_shells() { function man_outputs_groff_format (line 631) | fn man_outputs_groff_format() { function man_help_shows_usage (line 649) | fn man_help_shows_usage() { function health_json_outputs_valid_structure (line 660) | fn health_json_outputs_valid_structure() { function health_with_robot_meta_includes_metadata (line 682) | fn health_with_robot_meta_includes_metadata() { function health_help_shows_options (line 713) | fn health_help_shows_options() { function doctor_json_outputs_valid_structure (line 728) | fn doctor_json_outputs_valid_structure() { function doctor_verbose_shows_all_checks (line 753) | fn doctor_verbose_shows_all_checks() { function doctor_help_shows_options (line 771) | fn doctor_help_shows_options() { function doctor_fix_quarantines_corrupted_database_bundle_sidecars (line 782) | fn doctor_fix_quarantines_corrupted_database_bundle_sidecars() { function context_requires_path_argument (line 879) | fn context_requires_path_argument() { function context_json_with_nonexistent_path (line 887) | fn context_json_with_nonexistent_path() { function context_help_shows_options (line 908) | fn context_help_shows_options() { function timeline_json_outputs_valid_structure (line 923) | fn timeline_json_outputs_valid_structure() { function timeline_json_normalizes_remote_provenance_without_source_row (line 954) | fn timeline_json_normalizes_remote_provenance_without_source_row() { function timeline_json_derives_remote_source_id_from_origin_host_when_source_id_blank (line 1041) | fn timeline_json_derives_remote_source_id_from_origin_host_when_source_i... function timeline_human_output_does_not_badge_trimmed_local_source_id (line 1124) | fn timeline_human_output_does_not_badge_trimmed_local_source_id() { function timeline_help_shows_options (line 1201) | fn timeline_help_shows_options() { function expand_requires_path_and_line (line 1217) | fn expand_requires_path_and_line() { function expand_help_shows_options (line 1224) | fn expand_help_shows_options() { function export_requires_path (line 1240) | fn export_requires_path() { function export_help_shows_formats (line 1247) | fn export_help_shows_formats() { function export_html_requires_session (line 1263) | fn export_html_requires_session() { function export_html_help_shows_encryption_options (line 1270) | fn export_html_help_shows_encryption_options() { function sources_list_json_outputs_valid_structure (line 1285) | fn sources_list_json_outputs_valid_structure() { function sources_list_verbose (line 1303) | fn sources_list_verbose() { function sources_doctor_json_outputs_structure (line 1314) | fn sources_doctor_json_outputs_structure() { function sources_help_shows_subcommands (line 1328) | fn sources_help_shows_subcommands() { function write_cli_test_evidence_manifest (line 1341) | fn write_cli_test_evidence_manifest( function write_cli_expected_manifest (line 1365) | fn write_cli_expected_manifest(path: &Path, manifest: &EvidenceBundleMan... function sources_artifact_manifest_verify_existing_json_accepts_complete_manifest (line 1374) | fn sources_artifact_manifest_verify_existing_json_accepts_complete_manif... function sources_artifact_manifest_verify_existing_json_compares_expected_manifest (line 1397) | fn sources_artifact_manifest_verify_existing_json_compares_expected_mani... function sources_artifact_manifest_verify_existing_json_rejects_sidecar_rewrite (line 1429) | fn sources_artifact_manifest_verify_existing_json_rejects_sidecar_rewrit... function sources_artifact_manifest_verify_existing_json_rejects_corrupt_artifact (line 1459) | fn sources_artifact_manifest_verify_existing_json_rejects_corrupt_artifa... function models_status_json_outputs_structure (line 1494) | fn models_status_json_outputs_structure() { function models_verify_json_with_no_model (line 1533) | fn models_verify_json_with_no_model() { function models_help_shows_subcommands (line 1553) | fn models_help_shows_subcommands() { function models_install_help_shows_options (line 1565) | fn models_install_help_shows_options() { function pages_help_shows_options (line 1580) | fn pages_help_shows_options() { function pages_verify_with_nonexistent_path (line 1596) | fn pages_verify_with_nonexistent_path() { function search_requires_query_argument (line 1611) | fn search_requires_query_argument() { function missing_required_arg_returns_error (line 1620) | fn missing_required_arg_returns_error() { function parse_completions_bash (line 1633) | fn parse_completions_bash() { function parse_health_with_stale_threshold (line 1644) | fn parse_health_with_stale_threshold() { function parse_doctor_with_fix (line 1660) | fn parse_doctor_with_fix() { function parse_timeline_with_filters (line 1675) | fn parse_timeline_with_filters() { function parse_expand_with_context (line 1697) | fn parse_expand_with_context() { function parse_context_with_limit (line 1726) | fn parse_context_with_limit() { function parse_sessions_with_workspace_and_limit (line 1741) | fn parse_sessions_with_workspace_and_limit() { function sessions_json_reports_recent_and_current_workspace_sessions (line 1772) | fn sessions_json_reports_recent_and_current_workspace_sessions() { function sessions_json_keeps_local_file_metadata_for_trimmed_local_source_id (line 1915) | fn sessions_json_keeps_local_file_metadata_for_trimmed_local_source_id() { function sessions_json_derives_remote_source_id_from_origin_host_when_source_id_blank (line 1993) | fn sessions_json_derives_remote_source_id_from_origin_host_when_source_i... function sessions_json_keeps_local_file_metadata_for_blank_source_id (line 2062) | fn sessions_json_keeps_local_file_metadata_for_blank_source_id() { function sessions_json_trims_blank_remote_origin_host (line 2130) | fn sessions_json_trims_blank_remote_origin_host() { function sessions_json_distinguishes_same_path_across_sources (line 2199) | fn sessions_json_distinguishes_same_path_across_sources() { function sessions_current_prefers_closest_workspace_over_newer_parent_workspace (line 2298) | fn sessions_current_prefers_closest_workspace_over_newer_parent_workspac... function parse_export_with_format (line 2390) | fn parse_export_with_format() { function parse_export_html_with_encrypt (line 2411) | fn parse_export_html_with_encrypt() { function parse_export_html_rejects_password_argv (line 2438) | fn parse_export_html_rejects_password_argv() { function analytics_help_lists_expected_subcommands (line 2460) | fn analytics_help_lists_expected_subcommands() { function analytics_tokens_help_lists_shared_flags_and_group_by (line 2474) | fn analytics_tokens_help_lists_shared_flags_and_group_by() { function analytics_subcommands_emit_uniform_json_envelope (line 2490) | fn analytics_subcommands_emit_uniform_json_envelope() { function parse_analytics_tokens_with_shared_flags (line 2652) | fn parse_analytics_tokens_with_shared_flags() { function parse_analytics_models_subcommand_name_maps_to_variant (line 2697) | fn parse_analytics_models_subcommand_name_maps_to_variant() { function analytics_group_by_invalid_value_returns_actionable_error (line 2712) | fn analytics_group_by_invalid_value_returns_actionable_error() { function analytics_tokens_json_returns_buckets_and_totals (line 2736) | fn analytics_tokens_json_returns_buckets_and_totals() { function analytics_tokens_group_by_hour (line 2772) | fn analytics_tokens_group_by_hour() { function analytics_tokens_group_by_week (line 2787) | fn analytics_tokens_group_by_week() { function analytics_tokens_group_by_month (line 2802) | fn analytics_tokens_group_by_month() { function analytics_tokens_with_time_filter (line 2817) | fn analytics_tokens_with_time_filter() { function analytics_tokens_with_agent_filter (line 2844) | fn analytics_tokens_with_agent_filter() { function analytics_tokens_source_filter_matches_blank_remote_usage_rollups_via_origin_host (line 2869) | fn analytics_tokens_source_filter_matches_blank_remote_usage_rollups_via... function analytics_tools_source_filter_matches_blank_remote_usage_rollups_via_origin_host (line 2896) | fn analytics_tools_source_filter_matches_blank_remote_usage_rollups_via_... function analytics_tokens_workspace_filter_applies_and_normalizes_filters (line 2926) | fn analytics_tokens_workspace_filter_applies_and_normalizes_filters() { function analytics_status_workspace_filter_applies_and_normalizes_filters (line 2968) | fn analytics_status_workspace_filter_applies_and_normalizes_filters() { function analytics_models_workspace_filter_applies_and_uses_workspace_scoped_breakdown (line 3022) | fn analytics_models_workspace_filter_applies_and_uses_workspace_scoped_b... function analytics_tokens_unknown_workspace_filter_returns_empty (line 3073) | fn analytics_tokens_unknown_workspace_filter_returns_empty() { function analytics_tokens_totals_structure_complete (line 3097) | fn analytics_tokens_totals_structure_complete() { function analytics_rebuild_json_envelope_structure (line 3151) | fn analytics_rebuild_json_envelope_structure() { function analytics_validate_reports_query_failure_for_malformed_schema (line 3201) | fn analytics_validate_reports_query_failure_for_malformed_schema() { function analytics_validate_fix_noops_when_reports_are_clean (line 3270) | fn analytics_validate_fix_noops_when_reports_are_clean() { function analytics_validate_fix_rebuilds_track_a_when_safe (line 3313) | fn analytics_validate_fix_rebuilds_track_a_when_safe() { function analytics_validate_fix_refuses_when_source_schema_is_missing (line 3361) | fn analytics_validate_fix_refuses_when_source_schema_is_missing() { function analytics_rebuild_help_shows_force_flag (line 3418) | fn analytics_rebuild_help_shows_force_flag() { function analytics_rebuild_parses_force_and_json_flags (line 3428) | fn analytics_rebuild_parses_force_and_json_flags() { FILE: tests/cli_doctor.rs function test_canonical_json_value (line 14) | fn test_canonical_json_value(value: Value) -> Value { function test_doctor_canonical_blake3 (line 32) | fn test_doctor_canonical_blake3(prefix: &str, value: Value) -> String { function test_original_path_blake3 (line 42) | fn test_original_path_blake3(path: &str) -> String { function test_error_code (line 50) | fn test_error_code(payload: &Value) -> Option { function write_raw_mirror_fixture (line 58) | fn write_raw_mirror_fixture( function write_raw_mirror_fixture_with_db_links (line 82) | fn write_raw_mirror_fixture_with_db_links( function cass_cmd (line 165) | fn cass_cmd(test_home: &Path) -> Command { function seed_healthy_empty_index (line 176) | fn seed_healthy_empty_index(test_home: &Path, data_dir: &Path) { function cleanup_fingerprint_from_preview (line 195) | fn cleanup_fingerprint_from_preview(payload: &Value) -> String { function run_doctor_cleanup_preview (line 208) | fn run_doctor_cleanup_preview(test_home: &Path, data_dir: &Path) -> Value { function run_doctor_cleanup_apply (line 227) | fn run_doctor_cleanup_apply(test_home: &Path, data_dir: &Path, fingerpri... type DoctorNoWriteTreeEntry (line 250) | struct DoctorNoWriteTreeEntry { function doctor_no_write_snapshot (line 257) | fn doctor_no_write_snapshot(root: &Path) -> BTreeMap i64 { function corrupt_unused_secondary_index_entry (line 336) | fn corrupt_unused_secondary_index_entry(db_path: &Path) { function doctor_json_fails_when_full_integrity_check_finds_archive_corruption (line 432) | fn doctor_json_fails_when_full_integrity_check_finds_archive_corruption() { function make_file_mtime_older_than (line 483) | fn make_file_mtime_older_than(path: &Path, age: Duration) { function write_repair_failure_marker_fixture (line 495) | fn write_repair_failure_marker_fixture( function write_quarantined_manifest (line 545) | fn write_quarantined_manifest(generation_dir: &Path) { function write_quarantined_reclaimable_shard_manifest (line 593) | fn write_quarantined_reclaimable_shard_manifest(generation_dir: &Path) { function write_superseded_reclaimable_manifest (line 641) | fn write_superseded_reclaimable_manifest(generation_dir: &Path, generati... function write_failed_reclaimable_manifest (line 689) | fn write_failed_reclaimable_manifest(generation_dir: &Path, generation_i... function write_superseded_partly_pinned_manifest (line 742) | fn write_superseded_partly_pinned_manifest(generation_dir: &Path, genera... function write_active_manifest (line 806) | fn write_active_manifest(generation_dir: &Path, generation_id: &str) { function doctor_json_surfaces_quarantine_gc_eligibility (line 855) | fn doctor_json_surfaces_quarantine_gc_eligibility() { function doctor_human_output_surfaces_operation_outcome (line 1229) | fn doctor_human_output_surfaces_operation_outcome() { function doctor_rejects_repeated_repair_override_without_fix_before_executor (line 1264) | fn doctor_rejects_repeated_repair_override_without_fix_before_executor() { function doctor_check_json_reports_read_only_truth_surface_without_writes (line 1299) | fn doctor_check_json_reports_read_only_truth_surface_without_writes() { function doctor_check_rejects_mutating_or_rebuild_flags (line 1384) | fn doctor_check_rejects_mutating_or_rebuild_flags() { function doctor_repair_dry_run_reports_fingerprint_plan_without_writes (line 1437) | fn doctor_repair_dry_run_reports_fingerprint_plan_without_writes() { function doctor_repair_apply_refuses_mismatched_fingerprint_without_writes (line 1546) | fn doctor_repair_apply_refuses_mismatched_fingerprint_without_writes() { function doctor_repair_apply_accepts_matching_noop_fingerprint_without_writes (line 1640) | fn doctor_repair_apply_accepts_matching_noop_fingerprint_without_writes() { function doctor_fix_reports_repair_blocked_when_doctor_lock_is_active (line 1724) | fn doctor_fix_reports_repair_blocked_when_doctor_lock_is_active() { function doctor_fix_refuses_repeated_repair_when_failure_marker_exists (line 1850) | fn doctor_fix_refuses_repeated_repair_when_failure_marker_exists() { function doctor_fix_allow_repeated_repair_runs_without_deleting_existing_marker (line 1922) | fn doctor_fix_allow_repeated_repair_runs_without_deleting_existing_marke... function doctor_fix_removes_stale_legacy_index_lock_with_mutation_receipt (line 1975) | fn doctor_fix_removes_stale_legacy_index_lock_with_mutation_receipt() { function doctor_json_reports_interrupted_operation_state_without_deleting_artifacts (line 2074) | fn doctor_json_reports_interrupted_operation_state_without_deleting_arti... function doctor_json_reports_missing_upstream_source_as_coverage_risk_not_data_loss (line 2148) | fn doctor_json_reports_missing_upstream_source_as_coverage_risk_not_data... function doctor_fix_backfills_legacy_raw_mirror_metadata_without_touching_provider_files (line 2434) | fn doctor_fix_backfills_legacy_raw_mirror_metadata_without_touching_prov... function doctor_fix_refuses_lower_coverage_candidate_with_gate_details (line 2779) | fn doctor_fix_refuses_lower_coverage_candidate_with_gate_details() { function doctor_json_verifies_raw_mirror_after_upstream_source_is_pruned (line 2874) | fn doctor_json_verifies_raw_mirror_after_upstream_source_is_pruned() { function doctor_json_does_not_count_quarantined_artifacts_as_reclaimable (line 3124) | fn doctor_json_does_not_count_quarantined_artifacts_as_reclaimable() { function doctor_cleanup_apply_preserves_pinned_superseded_generation (line 3214) | fn doctor_cleanup_apply_preserves_pinned_superseded_generation() { function doctor_cleanup_apply_prunes_safe_derivative_cleanup_candidates (line 3324) | fn doctor_cleanup_apply_prunes_safe_derivative_cleanup_candidates() { function doctor_cleanup_apply_prunes_failed_derived_generation_but_preserves_archive_evidence (line 3685) | fn doctor_cleanup_apply_prunes_failed_derived_generation_but_preserves_a... function doctor_cleanup_apply_refuses_mismatched_fingerprint_without_pruning (line 3868) | fn doctor_cleanup_apply_refuses_mismatched_fingerprint_without_pruning() { function doctor_cleanup_apply_reports_verification_failed_when_post_repair_probe_fails (line 3945) | fn doctor_cleanup_apply_reports_verification_failed_when_post_repair_pro... function doctor_cleanup_apply_blocks_cleanup_when_forensic_bundle_capture_fails (line 4071) | fn doctor_cleanup_apply_blocks_cleanup_when_forensic_bundle_capture_fail... function doctor_cleanup_apply_is_idempotent_across_consecutive_invocations (line 4170) | fn doctor_cleanup_apply_is_idempotent_across_consecutive_invocations() { function doctor_cleanup_apply_refuses_symlinked_retained_publish_backup_targets (line 4324) | fn doctor_cleanup_apply_refuses_symlinked_retained_publish_backup_target... function doctor_cleanup_apply_preserves_reclaimable_generations_when_active_work_exists (line 4394) | fn doctor_cleanup_apply_preserves_reclaimable_generations_when_active_wo... function long_running_maintenance_story_end_to_end_across_diag_doctor_cleanup_diag (line 4499) | fn long_running_maintenance_story_end_to_end_across_diag_doctor_cleanup_... FILE: tests/cli_index.rs function run_on_large_stack (line 13) | fn run_on_large_stack(f: F) -> T function parse_cli_ok (line 29) | fn parse_cli_ok(args: [&'static str; N], context: &'stat... function base_cmd (line 33) | fn base_cmd(temp_home: &std::path::Path) -> Command { function index_help_prints_usage (line 46) | fn index_help_prints_usage() { function index_parses_semantic_flags (line 60) | fn index_parses_semantic_flags() -> Result<(), String> { function index_default_embedder_is_fastembed (line 79) | fn index_default_embedder_is_fastembed() -> Result<(), String> { function index_creates_db_and_index (line 92) | fn index_creates_db_and_index() { function index_full_rebuilds (line 109) | fn index_full_rebuilds() { function index_watch_once_triggers (line 133) | fn index_watch_once_triggers() { function index_refresh_data_dir_scopes_rebuild_semantic_and_watch_once_controls (line 155) | fn index_refresh_data_dir_scopes_rebuild_semantic_and_watch_once_control... function index_refresh_progress_controls_remain_scoped_to_data_dir (line 201) | fn index_refresh_progress_controls_remain_scoped_to_data_dir() -> Result... function index_json_reports_entrypoint_contract_for_incremental_and_watch_once (line 240) | fn index_json_reports_entrypoint_contract_for_incremental_and_watch_once() function index_force_rebuild_flag (line 299) | fn index_force_rebuild_flag() { function index_handles_existing_schema_13_db (line 318) | fn index_handles_existing_schema_13_db() { function codex_iso_timestamp (line 354) | fn codex_iso_timestamp(ts_ms: u64) -> String { function make_codex_session (line 361) | fn make_codex_session( function watch_once_indexes_real_aider_session_with_deferred_tantivy_open (line 415) | fn watch_once_indexes_real_aider_session_with_deferred_tantivy_open() { function index_json_reports_full_refresh_lexical_strategy (line 491) | fn index_json_reports_full_refresh_lexical_strategy() { function index_json_reports_repeat_full_refresh_strategy_on_populated_canonical_db (line 549) | fn index_json_reports_repeat_full_refresh_strategy_on_populated_canonica... function repeat_full_json_preserves_exact_totals_when_noop_scan_underreports (line 613) | fn repeat_full_json_preserves_exact_totals_when_noop_scan_underreports() { function index_full_persists_lexical_rebuild_equivalence_ledger (line 722) | fn index_full_persists_lexical_rebuild_equivalence_ledger() { function index_json_reports_incremental_lexical_strategy (line 860) | fn index_json_reports_incremental_lexical_strategy() { function index_json_reports_watch_once_incremental_lexical_strategy (line 927) | fn index_json_reports_watch_once_incremental_lexical_strategy() { function plain_index_recreates_missing_lexical_checkpoint_from_live_assets (line 998) | fn plain_index_recreates_missing_lexical_checkpoint_from_live_assets() { function incremental_index_only_processes_new_sessions (line 1071) | fn incremental_index_only_processes_new_sessions() { function plain_index_self_heals_when_entire_lexical_index_directory_is_missing (line 1248) | fn plain_index_self_heals_when_entire_lexical_index_directory_is_missing... FILE: tests/cli_model_lifecycle_contract.rs function parse (line 4) | fn parse(args: &[&str]) -> Result { function run_on_large_stack (line 8) | fn run_on_large_stack(f: F) -> Result<(), String> function models_install_from_file_keeps_acquisition_data_dir_scoped (line 25) | fn models_install_from_file_keeps_acquisition_data_dir_scoped() -> Resul... function models_install_from_mirror_keeps_acquisition_data_dir_scoped (line 61) | fn models_install_from_mirror_keeps_acquisition_data_dir_scoped() -> Res... function models_install_rejects_ambiguous_mirror_and_from_file_sources (line 97) | fn models_install_rejects_ambiguous_mirror_and_from_file_sources() -> Re... function models_install_defaults_to_standard_model_with_confirmation (line 126) | fn models_install_defaults_to_standard_model_with_confirmation() -> Resu... function models_verify_repair_controls_remain_data_dir_scoped (line 150) | fn models_verify_repair_controls_remain_data_dir_scoped() -> Result<(), ... function models_verify_defaults_to_inspection_without_repair (line 176) | fn models_verify_defaults_to_inspection_without_repair() -> Result<(), S... function models_verify_json_missing_cache_stays_fail_open_and_read_only (line 201) | fn models_verify_json_missing_cache_stays_fail_open_and_read_only() { function models_remove_requires_explicit_model_and_yes_controls (line 256) | fn models_remove_requires_explicit_model_and_yes_controls() -> Result<()... function models_remove_defaults_to_interactive_reclamation (line 287) | fn models_remove_defaults_to_interactive_reclamation() -> Result<(), Str... function models_check_update_reports_against_scoped_data_dir (line 309) | fn models_check_update_reports_against_scoped_data_dir() -> Result<(), S... function models_backfill_keeps_semantic_work_data_dir_and_db_scoped (line 333) | fn models_backfill_keeps_semantic_work_data_dir_and_db_scoped() -> Resul... function models_install_from_file_nonexistent_path_emits_model_error_envelope (line 408) | fn models_install_from_file_nonexistent_path_emits_model_error_envelope() { function models_install_from_file_empty_dir_emits_required_file_error (line 505) | fn models_install_from_file_empty_dir_emits_required_file_error() { FILE: tests/cli_refresh_contract.rs function parse (line 4) | fn parse(args: &[&str]) -> Result { function run_on_large_stack (line 8) | fn run_on_large_stack(f: F) -> Result<(), String> function search_refresh_and_catch_up_alias_enable_incremental_preflight (line 25) | fn search_refresh_and_catch_up_alias_enable_incremental_preflight() -> R... function tui_refresh_and_catch_up_alias_enable_incremental_preflight (line 49) | fn tui_refresh_and_catch_up_alias_enable_incremental_preflight() -> Resu... function refresh_preflight_stays_opt_in_for_search_and_tui (line 69) | fn refresh_preflight_stays_opt_in_for_search_and_tui() -> Result<(), Str... function refresh_preflight_remains_scoped_to_requested_data_dir (line 91) | fn refresh_preflight_remains_scoped_to_requested_data_dir() -> Result<()... function index_refresh_operator_controls_remain_parseable (line 139) | fn index_refresh_operator_controls_remain_parseable() -> Result<(), Stri... function index_refresh_robot_alias_keeps_global_format_contract (line 172) | fn index_refresh_robot_alias_keeps_global_format_contract() -> Result<()... function index_refresh_force_alias_stays_available_for_repair_scripts (line 208) | fn index_refresh_force_alias_stays_available_for_repair_scripts() -> Res... function index_watch_refresh_entrypoints_remain_parseable (line 225) | fn index_watch_refresh_entrypoints_remain_parseable() -> Result<(), Stri... function index_watch_refresh_defaults_stay_bounded (line 272) | fn index_watch_refresh_defaults_stay_bounded() -> Result<(), String> { FILE: tests/cli_robot.rs function base_cmd (line 20) | fn base_cmd() -> Command { function run_on_large_stack (line 26) | fn run_on_large_stack(f: F) constant SEARCH_DEMO_DATA_DIR (line 41) | const SEARCH_DEMO_DATA_DIR: &str = "tests/fixtures/search_demo_data"; function isolated_search_demo_data (line 43) | fn isolated_search_demo_data() -> TempDir { function decoded_cursor_offset (line 62) | fn decoded_cursor_offset(cursor: &str) -> u64 { function hold_active_lexical_rebuild_lock (line 72) | fn hold_active_lexical_rebuild_lock( function robot_help_prints_contract (line 130) | fn robot_help_prints_contract() { function robot_help_has_sections_and_no_ansi (line 140) | fn robot_help_has_sections_and_no_ansi() { function api_version_reports_contract (line 165) | fn api_version_reports_contract() { function introspect_includes_contract_and_globals (line 181) | fn introspect_includes_contract_and_globals() { function introspect_global_flags_have_types_and_defaults (line 213) | fn introspect_global_flags_have_types_and_defaults() { function introspect_repeatable_and_value_types (line 297) | fn introspect_repeatable_and_value_types() { function state_matches_status (line 359) | fn state_matches_status() { function state_hides_empty_active_rebuild_pipeline_runtime_before_first_heartbeat (line 384) | fn state_hides_empty_active_rebuild_pipeline_runtime_before_first_heartb... function state_and_status_report_active_rebuild_pipeline_runtime (line 410) | fn state_and_status_report_active_rebuild_pipeline_runtime() { function search_cursor_and_token_budget (line 507) | fn search_cursor_and_token_budget() { function search_cursor_jsonl_and_compact (line 675) | fn search_cursor_jsonl_and_compact() { function search_robot_format_sessions_matches_source_paths (line 765) | fn search_robot_format_sessions_matches_source_paths() { function robot_docs_schemas_topic (line 825) | fn robot_docs_schemas_topic() { function robot_docs_commands_includes_tui_reset_and_no_ansi (line 835) | fn robot_docs_commands_includes_tui_reset_and_no_ansi() { function robot_docs_env_lists_key_vars_and_no_ansi (line 855) | fn robot_docs_env_lists_key_vars_and_no_ansi() { function read_fixture (line 873) | fn read_fixture(name: &str) -> Value { function capabilities_matches_golden_contract (line 880) | fn capabilities_matches_golden_contract() { function api_version_matches_golden_contract (line 908) | fn api_version_matches_golden_contract() { function color_never_has_no_ansi (line 939) | fn color_never_has_no_ansi() { function wrap_40_inserts_line_breaks (line 949) | fn wrap_40_inserts_line_breaks() { function tui_bypasses_in_non_tty (line 959) | fn tui_bypasses_in_non_tty() { function search_error_writes_trace (line 969) | fn search_error_writes_trace() { function search_returns_json_results (line 1010) | fn search_returns_json_results() { function search_respects_limit (line 1047) | fn search_respects_limit() { function search_empty_query_returns_all (line 1073) | fn search_empty_query_returns_all() { function search_no_match_returns_empty_hits (line 1102) | fn search_no_match_returns_empty_hits() { function search_writes_trace_on_success (line 1131) | fn search_writes_trace_on_success() { function search_missing_index_returns_json_error_contract (line 1164) | fn search_missing_index_returns_json_error_contract() { function search_missing_index_returns_json_error_contract_with_robot_format_compact (line 1216) | fn search_missing_index_returns_json_error_contract_with_robot_format_co... function search_dry_run_does_not_require_initialized_index (line 1244) | fn search_dry_run_does_not_require_initialized_index() { function search_missing_index_returns_json_error_contract_with_env_output_format (line 1267) | fn search_missing_index_returns_json_error_contract_with_env_output_form... function stats_missing_index_returns_json_error_contract (line 1289) | fn stats_missing_index_returns_json_error_contract() { function search_json_includes_match_type (line 1325) | fn search_json_includes_match_type() { function search_robot_format_is_valid_json_lines (line 1352) | fn search_robot_format_is_valid_json_lines() { function search_robot_meta_includes_fallback_and_cache_stats (line 1377) | fn search_robot_meta_includes_fallback_and_cache_stats() { function search_cursor_manifest_marks_rebuilding_generation_best_effort (line 1551) | fn search_cursor_manifest_marks_rebuilding_generation_best_effort() { function search_robot_meta_reports_explicit_hybrid_fail_open (line 1613) | fn search_robot_meta_reports_explicit_hybrid_fail_open() { function search_robot_meta_reports_explicit_lexical_override (line 1664) | fn search_robot_meta_reports_explicit_lexical_override() { function stats_json_reports_counts (line 1727) | fn stats_json_reports_counts() { function diag_json_reports_database_state (line 1752) | fn diag_json_reports_database_state() { function status_json_reports_index_health (line 1778) | fn status_json_reports_index_health() { function view_json_highlights_requested_line (line 1802) | fn view_json_highlights_requested_line() { function introspect_json_lists_commands (line 1844) | fn introspect_json_lists_commands() { function fetch_introspect_json (line 1863) | fn fetch_introspect_json() -> Value { function find_command (line 1871) | fn find_command<'a>(json: &'a Value, name: &str) -> &'a Value { function find_arg (line 1879) | fn find_arg<'a>(cmd: &'a Value, name: &str) -> &'a Value { function introspect_commands_match_clap_subcommands (line 1888) | fn introspect_commands_match_clap_subcommands() { function introspect_arguments_capture_types_defaults_and_repeatable (line 1924) | fn introspect_arguments_capture_types_defaults_and_repeatable() { function introspect_sessions_command_exposes_workspace_current_and_limit (line 1977) | fn introspect_sessions_command_exposes_workspace_current_and_limit() { function diag_json_reports_paths_and_connectors (line 1996) | fn diag_json_reports_paths_and_connectors() { function view_json_outputs_file_excerpt (line 2035) | fn view_json_outputs_file_excerpt() { function status_json_reports_staleness_flags (line 2050) | fn status_json_reports_staleness_flags() { function stats_missing_db_returns_code_3 (line 2086) | fn stats_missing_db_returns_code_3() { function search_agent_filter_limits_hits (line 2112) | fn search_agent_filter_limits_hits() { function search_offset_skips_results (line 2140) | fn search_offset_skips_results() { function robot_mode_auto_quiet_suppresses_info_logs (line 2191) | fn robot_mode_auto_quiet_suppresses_info_logs() { function non_robot_mode_shows_info_logs (line 2221) | fn non_robot_mode_shows_info_logs() { function fields_filters_to_requested_only (line 2248) | fn fields_filters_to_requested_only() { function fields_minimal_preset_expands (line 2284) | fn fields_minimal_preset_expands() { function fields_summary_preset_expands (line 2319) | fn fields_summary_preset_expands() { function fields_works_with_jsonl_format (line 2356) | fn fields_works_with_jsonl_format() { function max_content_length_truncates_long_content (line 2398) | fn max_content_length_truncates_long_content() { function max_content_length_adds_truncated_indicator (line 2442) | fn max_content_length_adds_truncated_indicator() { function max_content_length_preserves_short_content (line 2483) | fn max_content_length_preserves_short_content() { function max_content_length_works_with_fields (line 2523) | fn max_content_length_works_with_fields() { function status_json_returns_health_info (line 2567) | fn status_json_returns_health_info() { function status_json_reports_stale_threshold (line 2603) | fn status_json_reports_stale_threshold() { function status_missing_db_reports_not_initialized (line 2631) | fn status_missing_db_reports_not_initialized() { function status_empty_index_dir_without_meta_still_reports_not_initialized (line 2698) | fn status_empty_index_dir_without_meta_still_reports_not_initialized() { function health_missing_db_reports_not_initialized (line 2728) | fn health_missing_db_reports_not_initialized() { function doctor_not_initialized_ignores_active_lock_for_other_db (line 2793) | fn doctor_not_initialized_ignores_active_lock_for_other_db() { function doctor_missing_data_dir_reports_not_initialized_without_failure (line 2843) | fn doctor_missing_data_dir_reports_not_initialized_without_failure() { function search_missing_index_reports_current_rebuild_in_progress (line 2899) | fn search_missing_index_reports_current_rebuild_in_progress() { function search_missing_index_explains_initialization_required (line 2965) | fn search_missing_index_explains_initialization_required() { function status_json_reports_open_error_for_unopenable_db_path (line 3009) | fn status_json_reports_open_error_for_unopenable_db_path() { function health_json_reports_open_error_for_unopenable_db_path (line 3057) | fn health_json_reports_open_error_for_unopenable_db_path() { function status_human_readable_output (line 3110) | fn status_human_readable_output() { function aggregate_single_field_returns_buckets (line 3136) | fn aggregate_single_field_returns_buckets() { function aggregate_multiple_fields_returns_all (line 3185) | fn aggregate_multiple_fields_returns_all() { function aggregate_includes_total_matches (line 3212) | fn aggregate_includes_total_matches() { function aggregate_with_limit_returns_both_hits_and_aggs (line 3243) | fn aggregate_with_limit_returns_both_hits_and_aggs() { function aggregate_match_type_returns_exact_wildcard_buckets (line 3278) | fn aggregate_match_type_returns_exact_wildcard_buckets() { function aggregate_empty_query_returns_aggs (line 3321) | fn aggregate_empty_query_returns_aggs() { function aggregate_preserves_offset_when_not_aggregating (line 3347) | fn aggregate_preserves_offset_when_not_aggregating() { function capabilities_json_returns_valid_structure (line 3386) | fn capabilities_json_returns_valid_structure() { function capabilities_json_includes_expected_features (line 3415) | fn capabilities_json_includes_expected_features() { function capabilities_json_includes_connectors (line 3447) | fn capabilities_json_includes_connectors() { function capabilities_connectors_cover_indexer_registry (line 3472) | fn capabilities_connectors_cover_indexer_registry() { function capabilities_json_includes_limits (line 3513) | fn capabilities_json_includes_limits() { function capabilities_human_output_contains_sections (line 3543) | fn capabilities_human_output_contains_sections() { function capabilities_version_matches_crate (line 3566) | fn capabilities_version_matches_crate() { function search_json_includes_suggestions_for_typos (line 3584) | fn search_json_includes_suggestions_for_typos() { function normalize_single_dash_to_double_dash (line 3621) | fn normalize_single_dash_to_double_dash() { function normalize_flag_case (line 3631) | fn normalize_flag_case() { function subcommand_alias_find_to_search (line 3640) | fn subcommand_alias_find_to_search() { function subcommand_alias_query_to_search (line 3659) | fn subcommand_alias_query_to_search() { function subcommand_alias_ls_to_stats (line 3674) | fn subcommand_alias_ls_to_stats() { function subcommand_alias_docs_to_robot_docs (line 3686) | fn subcommand_alias_docs_to_robot_docs() { function flag_as_subcommand_robot_docs (line 3702) | fn flag_as_subcommand_robot_docs() { function correction_notice_appears_on_stderr (line 3717) | fn correction_notice_appears_on_stderr() { function global_flags_hoisted_from_after_subcommand (line 3737) | fn global_flags_hoisted_from_after_subcommand() { function error_messages_include_contextual_examples (line 3753) | fn error_messages_include_contextual_examples() { function multiple_normalizations_combined (line 3769) | fn multiple_normalizations_combined() { function search_json_includes_source_id_provenance (line 3784) | fn search_json_includes_source_id_provenance() { function search_fields_provenance_preset_expands (line 3820) | fn search_fields_provenance_preset_expands() { function search_default_output_includes_provenance_fields (line 3863) | fn search_default_output_includes_provenance_fields() { function introspect_lists_provenance_in_search_fields (line 3901) | fn introspect_lists_provenance_in_search_fields() { function robot_docs_paths_lists_directories (line 3934) | fn robot_docs_paths_lists_directories() { function robot_docs_guide_provides_usage_info (line 3952) | fn robot_docs_guide_provides_usage_info() { function robot_docs_exit_codes_lists_codes (line 3974) | fn robot_docs_exit_codes_lists_codes() { function robot_docs_examples_provides_practical_examples (line 3992) | fn robot_docs_examples_provides_practical_examples() { function robot_docs_sources_documents_agent_exclusions (line 4014) | fn robot_docs_sources_documents_agent_exclusions() { function robot_docs_contracts_describes_api (line 4039) | fn robot_docs_contracts_describes_api() { function robot_docs_analytics_describes_safe_fix_mode (line 4057) | fn robot_docs_analytics_describes_safe_fix_mode() { function robot_docs_wrap_explains_wrapping (line 4078) | fn robot_docs_wrap_explains_wrapping() { function introspect_matches_golden_contract_structure (line 4100) | fn introspect_matches_golden_contract_structure() { function exit_code_0_success_search (line 4173) | fn exit_code_0_success_search() { function exit_code_0_success_stats (line 4187) | fn exit_code_0_success_stats() { function exit_code_0_success_robot_docs (line 4197) | fn exit_code_0_success_robot_docs() { function exit_code_0_success_capabilities (line 4205) | fn exit_code_0_success_capabilities() { function exit_code_2_invalid_subcommand (line 4213) | fn exit_code_2_invalid_subcommand() { function exit_code_2_tui_disabled_non_tty (line 4221) | fn exit_code_2_tui_disabled_non_tty() { function exit_code_3_missing_index_search (line 4229) | fn exit_code_3_missing_index_search() { function exit_code_3_missing_db_stats (line 4250) | fn exit_code_3_missing_db_stats() { function all_exit_codes_documented (line 4264) | fn all_exit_codes_documented() { function trace_includes_contract_fields_on_success (line 4286) | fn trace_includes_contract_fields_on_success() { function trace_includes_error_on_failure (line 4326) | fn trace_includes_error_on_failure() { function introspect_global_flags_quiet_verbose_documented (line 4360) | fn introspect_global_flags_quiet_verbose_documented() { function introspect_global_flags_robot_help_documented (line 4393) | fn introspect_global_flags_robot_help_documented() { function introspect_expand_context_argument (line 4403) | fn introspect_expand_context_argument() { function introspect_view_context_argument (line 4421) | fn introspect_view_context_argument() { function introspect_global_flags_all_optional (line 4436) | fn introspect_global_flags_all_optional() { function introspect_global_flags_complete_list (line 4451) | fn introspect_global_flags_complete_list() { function introspect_status_stale_threshold_default (line 4479) | fn introspect_status_stale_threshold_default() { function introspect_health_stale_threshold_default (line 4496) | fn introspect_health_stale_threshold_default() { function global_quiet_flag_suppresses_info_logs (line 4514) | fn global_quiet_flag_suppresses_info_logs() { function global_verbose_flag_accepted (line 4529) | fn global_verbose_flag_accepted() { function global_flags_work_before_subcommand (line 4537) | fn global_flags_work_before_subcommand() { function global_nowrap_flag_works (line 4552) | fn global_nowrap_flag_works() { function global_wrap_flag_accepts_integer (line 4560) | fn global_wrap_flag_accepts_integer() { function introspect_search_limit_default (line 4568) | fn introspect_search_limit_default() { function introspect_search_offset_default (line 4579) | fn introspect_search_offset_default() { function introspect_global_progress_enum_values (line 4593) | fn introspect_global_progress_enum_values() { function introspect_global_color_enum_values (line 4620) | fn introspect_global_color_enum_values() { function introspect_dynamic_schema_all_commands_present (line 4646) | fn introspect_dynamic_schema_all_commands_present() { function introspect_has_response_schemas (line 4682) | fn introspect_has_response_schemas() { function introspect_search_days_integer_type (line 4702) | fn introspect_search_days_integer_type() { function introspect_view_line_integer_type (line 4719) | fn introspect_view_line_integer_type() { function introspect_expand_line_integer_type (line 4736) | fn introspect_expand_line_integer_type() { function introspect_search_agent_repeatable (line 4753) | fn introspect_search_agent_repeatable() { function introspect_search_workspace_repeatable (line 4766) | fn introspect_search_workspace_repeatable() { function introspect_index_watch_once_repeatable_path (line 4779) | fn introspect_index_watch_once_repeatable_path() { function introspect_index_semantic_flag (line 4796) | fn introspect_index_semantic_flag() { function introspect_index_embedder_default (line 4809) | fn introspect_index_embedder_default() { function parse_index_semantic_embedder_flags (line 4826) | fn parse_index_semantic_embedder_flags() { function parse_index_embedder_default (line 4848) | fn parse_index_embedder_default() { function introspect_search_aggregate_repeatable (line 4869) | fn introspect_search_aggregate_repeatable() { function introspect_global_db_path_type (line 4882) | fn introspect_global_db_path_type() { function introspect_global_trace_file_path_type (line 4896) | fn introspect_global_trace_file_path_type() { function introspect_view_path_positional_type (line 4913) | fn introspect_view_path_positional_type() { function introspect_expand_path_positional_type (line 4930) | fn introspect_expand_path_positional_type() { function introspect_search_data_dir_path_type (line 4947) | fn introspect_search_data_dir_path_type() { function introspect_context_limit_integer_type (line 4960) | fn introspect_context_limit_integer_type() { function introspect_all_repeatable_options_documented (line 4973) | fn introspect_all_repeatable_options_documented() { function introspect_all_path_options_documented (line 4997) | fn introspect_all_path_options_documented() { function introspect_all_integer_options_documented (line 5029) | fn introspect_all_integer_options_documented() { function robot_format_toon_is_valid_option (line 5080) | fn robot_format_toon_is_valid_option() { function cass_output_format_env_triggers_robot_mode (line 5100) | fn cass_output_format_env_triggers_robot_mode() { function toon_default_format_env_json_works (line 5122) | fn toon_default_format_env_json_works() { function cli_robot_format_overrides_env (line 5144) | fn cli_robot_format_overrides_env() { function robot_format_help_includes_toon (line 5167) | fn robot_format_help_includes_toon() { function introspect_robot_format_includes_toon (line 5180) | fn introspect_robot_format_includes_toon() { function cass_output_format_takes_precedence (line 5211) | fn cass_output_format_takes_precedence() { function seed_codex_session_s0cmk (line 5260) | fn seed_codex_session_s0cmk(codex_home: &std::path::Path, filename: &str... function isolated_cass_cmd (line 5266) | fn isolated_cass_cmd(temp_home: &std::path::Path) -> Command { function search_with_intact_db_but_wiped_lexical_degrades_with_truthful_warning (line 5279) | fn search_with_intact_db_but_wiped_lexical_degrades_with_truthful_warnin... function search_explicit_semantic_mode_errors_when_embedder_absent (line 5423) | fn search_explicit_semantic_mode_errors_when_embedder_absent() { function search_hits_as_keys (line 5575) | fn search_hits_as_keys(payload: &Value) -> Vec<(String, i64)> { function run_search_returning_payload (line 5600) | fn run_search_returning_payload( function seed_metamorphic_corpus (line 5621) | fn seed_metamorphic_corpus() -> (TempDir, std::path::PathBuf, std::path:... function search_is_case_insensitive_for_ascii_queries (line 5646) | fn search_is_case_insensitive_for_ascii_queries() { function search_trims_leading_and_trailing_whitespace_from_query (line 5715) | fn search_trims_leading_and_trailing_whitespace_from_query() { function search_limit_monotonicity_smaller_is_prefix_of_larger (line 5775) | fn search_limit_monotonicity_smaller_is_prefix_of_larger() { function stats_by_agent_counts_sum_to_total_conversations (line 5869) | fn stats_by_agent_counts_sum_to_total_conversations() { function stats_date_range_oldest_is_not_after_newest (line 5948) | fn stats_date_range_oldest_is_not_after_newest() { function stats_on_empty_indexed_db_reports_zeroes_and_empty_by_agent (line 6013) | fn stats_on_empty_indexed_db_reports_zeroes_and_empty_by_agent() { FILE: tests/cli_search_semantic_flags.rs function run_on_large_stack (line 10) | fn run_on_large_stack(f: F) -> T function parse_cli (line 24) | fn parse_cli(args: [&'static str; N]) -> Cli { function search_parses_model_flag (line 29) | fn search_parses_model_flag() { function search_parses_rerank_flag (line 41) | fn search_parses_rerank_flag() { function search_parses_reranker_flag (line 53) | fn search_parses_reranker_flag() { function search_parses_daemon_flag (line 68) | fn search_parses_daemon_flag() { function search_parses_no_daemon_flag (line 80) | fn search_parses_no_daemon_flag() { function search_default_flags_are_false (line 92) | fn search_default_flags_are_false() { function search_without_mode_keeps_hybrid_preferred_default_intent (line 115) | fn search_without_mode_keeps_hybrid_preferred_default_intent() { function search_explicit_lexical_and_semantic_modes_are_preserved (line 131) | fn search_explicit_lexical_and_semantic_modes_are_preserved() { function search_combines_mode_and_model_flags (line 155) | fn search_combines_mode_and_model_flags() { function search_combines_rerank_and_daemon_flags (line 178) | fn search_combines_rerank_and_daemon_flags() { function search_parses_approximate_flag (line 208) | fn search_parses_approximate_flag() { function search_approximate_default_is_false (line 220) | fn search_approximate_default_is_false() { function search_combines_mode_semantic_and_approximate (line 232) | fn search_combines_mode_semantic_and_approximate() { function search_combines_mode_hybrid_and_approximate (line 259) | fn search_combines_mode_hybrid_and_approximate() { FILE: tests/cli_stats_source_filter.rs function stats_source_filter_preserves_date_range (line 8) | fn stats_source_filter_preserves_date_range() { FILE: tests/cli_status.rs function write_quarantined_manifest (line 10) | fn write_quarantined_manifest(generation_dir: &Path) { function write_generation_manifest (line 58) | fn write_generation_manifest( function seed_active_rebuild_runtime (line 119) | fn seed_active_rebuild_runtime(data_dir: &Path) -> std::fs::File { function status_json_surfaces_runtime_queue_and_byte_budget_headroom (line 200) | fn status_json_surfaces_runtime_queue_and_byte_budget_headroom() { function status_json_surfaces_quarantine_gc_summary (line 276) | fn status_json_surfaces_quarantine_gc_summary() { function status_json_surfaces_lexical_generation_lifecycle_inventory (line 438) | fn status_json_surfaces_lexical_generation_lifecycle_inventory() { FILE: tests/concurrent_search.rs function concurrent_10_simultaneous_searches (line 26) | fn concurrent_10_simultaneous_searches() { function concurrent_search_during_indexing (line 111) | fn concurrent_search_during_indexing() { function concurrent_cache_contention (line 202) | fn concurrent_cache_contention() { function concurrent_reader_handle_exhaustion (line 288) | fn concurrent_reader_handle_exhaustion() { function concurrent_different_filters_no_interference (line 374) | fn concurrent_different_filters_no_interference() { function concurrent_no_deadlock_mixed_operations (line 483) | fn concurrent_no_deadlock_mixed_operations() { FILE: tests/connector_aider.rs function create_aider_fixture (line 12) | fn create_aider_fixture(dir: &TempDir, filename: &str, content: &str) ->... function aider_parses_chat_history (line 26) | fn aider_parses_chat_history() { function aider_sets_agent_slug (line 68) | fn aider_sets_agent_slug() { function aider_sets_source_path (line 86) | fn aider_sets_source_path() { function aider_sets_external_id_from_filename (line 104) | fn aider_sets_external_id_from_filename() { function aider_title_includes_path (line 125) | fn aider_title_includes_path() { function aider_sets_workspace_to_parent (line 156) | fn aider_sets_workspace_to_parent() { function aider_timestamps_from_mtime (line 183) | fn aider_timestamps_from_mtime() { function aider_since_ts_filters_old_files (line 217) | fn aider_since_ts_filters_old_files() { function aider_no_since_ts_includes_all (line 237) | fn aider_no_since_ts_includes_all() { function aider_message_indices_sequential (line 258) | fn aider_message_indices_sequential() { function aider_author_matches_role (line 285) | fn aider_author_matches_role() { function aider_user_messages_from_prefix (line 309) | fn aider_user_messages_from_prefix() { function aider_multiline_user_input (line 338) | fn aider_multiline_user_input() { function aider_assistant_after_user (line 367) | fn aider_assistant_after_user() { function aider_multiple_turns (line 394) | fn aider_multiple_turns() { function aider_empty_file (line 431) | fn aider_empty_file() { function aider_whitespace_only_file (line 449) | fn aider_whitespace_only_file() { function aider_only_user_messages (line 467) | fn aider_only_user_messages() { function aider_no_user_prefix_content (line 492) | fn aider_no_user_prefix_content() { function aider_scans_subdirectories (line 523) | fn aider_scans_subdirectories() { function aider_only_scans_chat_history_files (line 554) | fn aider_only_scans_chat_history_files() { function aider_multiple_projects (line 577) | fn aider_multiple_projects() { function aider_preserves_commands (line 615) | fn aider_preserves_commands() { function aider_code_blocks_in_response (line 640) | fn aider_code_blocks_in_response() { function aider_markdown_formatting (line 667) | fn aider_markdown_formatting() { function aider_gt_in_code_not_user_input (line 695) | fn aider_gt_in_code_not_user_input() { function aider_detect_requires_marker_and_is_fast (line 731) | fn aider_detect_requires_marker_and_is_fast() { function aider_detect_with_marker_file (line 770) | fn aider_detect_with_marker_file() { function aider_metadata_is_empty (line 801) | fn aider_metadata_is_empty() { function aider_message_extra_is_empty (line 819) | fn aider_message_extra_is_empty() { function aider_message_created_at_is_none (line 839) | fn aider_message_created_at_is_none() { function aider_message_snippets_empty (line 859) | fn aider_message_snippets_empty() { function aider_nonexistent_directory (line 883) | fn aider_nonexistent_directory() { function aider_empty_directory (line 899) | fn aider_empty_directory() { function aider_long_user_input (line 919) | fn aider_long_user_input() { function aider_special_characters (line 940) | fn aider_special_characters() { function aider_blank_lines_between_messages (line 965) | fn aider_blank_lines_between_messages() { function aider_consecutive_user_lines_combined (line 989) | fn aider_consecutive_user_lines_combined() { function aider_trailing_whitespace (line 1018) | fn aider_trailing_whitespace() { FILE: tests/connector_amp.rs function create_amp_dir (line 12) | fn create_amp_dir(root: &std::path::Path) -> PathBuf { function amp_parses_minimal_cache (line 19) | fn amp_parses_minimal_cache() { function amp_includes_all_messages_when_file_modified (line 60) | fn amp_includes_all_messages_when_file_modified() { function amp_skips_malformed_json (line 86) | fn amp_skips_malformed_json() { function amp_parses_alternate_fields (line 129) | fn amp_parses_alternate_fields() { function amp_handles_timestamp_formats (line 177) | fn amp_handles_timestamp_formats() { function amp_extracts_workspace (line 220) | fn amp_extracts_workspace() { function amp_handles_nested_structure (line 278) | fn amp_handles_nested_structure() { function amp_extracts_title (line 311) | fn amp_extracts_title() { function amp_detects_valid_files (line 359) | fn amp_detects_valid_files() { function amp_normalizes_roles (line 388) | fn amp_normalizes_roles() { function amp_extracts_external_id (line 422) | fn amp_extracts_external_id() { function amp_filters_empty_content (line 479) | fn amp_filters_empty_content() { function amp_extracts_author_field (line 515) | fn amp_extracts_author_field() { function amp_handles_empty_directory (line 552) | fn amp_handles_empty_directory() { function amp_sets_correct_agent_slug (line 570) | fn amp_sets_correct_agent_slug() { function amp_sets_source_path (line 596) | fn amp_sets_source_path() { function amp_computes_started_ended_at (line 619) | fn amp_computes_started_ended_at() { function amp_assigns_sequential_indices (line 652) | fn amp_assigns_sequential_indices() { function amp_workspace_from_alternate_keys (line 687) | fn amp_workspace_from_alternate_keys() { function amp_skips_json_without_messages (line 792) | fn amp_skips_json_without_messages() { function amp_handles_camel_case_timestamps (line 837) | fn amp_handles_camel_case_timestamps() { function amp_scans_nested_directories (line 865) | fn amp_scans_nested_directories() { function amp_filters_whitespace_content (line 914) | fn amp_filters_whitespace_content() { function amp_skips_empty_content_conversations (line 949) | fn amp_skips_empty_content_conversations() { FILE: tests/connector_chatgpt.rs function write_json (line 20) | fn write_json(dir: &Path, rel_path: &str, content: &str) -> std::path::P... function chatgpt_real_fixture_root (line 29) | fn chatgpt_real_fixture_root() -> std::path::PathBuf { constant CHATGPT_TEST_KEY (line 33) | const CHATGPT_TEST_KEY: [u8; 32] = [ function load_fixture_bytes (line 38) | fn load_fixture_bytes(rel_path: &str) -> Vec { function encrypt_chatgpt_payload (line 42) | fn encrypt_chatgpt_payload(plaintext: &[u8], nonce_bytes: [u8; 12]) -> V... function detect_does_not_panic (line 57) | fn detect_does_not_panic() { function scan_parses_mapping_format (line 69) | fn scan_parses_mapping_format() { function scan_skips_system_messages_in_mapping (line 137) | fn scan_skips_system_messages_in_mapping() { function scan_parses_messages_array_format (line 186) | fn scan_parses_messages_array_format() { function scan_parses_multiple_conversation_files (line 218) | fn scan_parses_multiple_conversation_files() { function scan_empty_dir_returns_empty (line 244) | fn scan_empty_dir_returns_empty() { function scan_skips_empty_content_in_mapping (line 256) | fn scan_skips_empty_content_in_mapping() { function scan_extracts_id_from_filename_when_missing (line 297) | fn scan_extracts_id_from_filename_when_missing() { function scan_extracts_conversation_id_from_real_fixture (line 322) | fn scan_extracts_conversation_id_from_real_fixture() { function scan_handles_content_text_field (line 349) | fn scan_handles_content_text_field() { function scan_defaults_missing_mapping_role_to_assistant_explicitly (line 382) | fn scan_defaults_missing_mapping_role_to_assistant_explicitly() { function scan_defaults_missing_messages_array_role_to_assistant_explicitly (line 419) | fn scan_defaults_missing_messages_array_role_to_assistant_explicitly() { function scan_joins_multipart_content_from_real_fixture (line 449) | fn scan_joins_multipart_content_from_real_fixture() { function scan_preserves_string_parts_and_drops_object_only_structured_parts_from_real_fixture (line 472) | fn scan_preserves_string_parts_and_drops_object_only_structured_parts_fr... function scan_respects_since_ts (line 502) | fn scan_respects_since_ts() { function scan_skips_encrypted_dir_without_key (line 527) | fn scan_skips_encrypted_dir_without_key() { function scan_parses_encrypted_conversation_id_fixture_with_env_key (line 557) | fn scan_parses_encrypted_conversation_id_fixture_with_env_key() { function scan_parses_encrypted_multipart_fixture_with_env_key (line 598) | fn scan_parses_encrypted_multipart_fixture_with_env_key() { function scan_continues_past_malformed_encrypted_file_with_valid_key (line 633) | fn scan_continues_past_malformed_encrypted_file_with_valid_key() { function scan_skips_oversized_encrypted_file_even_with_key (line 665) | fn scan_skips_oversized_encrypted_file_even_with_key() { function scan_orders_messages_by_create_time (line 703) | fn scan_orders_messages_by_create_time() { function scan_extracts_model_slug (line 757) | fn scan_extracts_model_slug() { FILE: tests/connector_claude.rs function claude_parses_project_fixture (line 11) | fn claude_parses_project_fixture() { function create_claude_temp (line 55) | fn create_claude_temp() -> TempDir { function claude_connector_parses_jsonl_format (line 61) | fn claude_connector_parses_jsonl_format() { function claude_connector_parses_message_type_entries (line 99) | fn claude_connector_parses_message_type_entries() { function claude_connector_filters_summary_entries (line 129) | fn claude_connector_filters_summary_entries() { function claude_connector_extracts_model_as_author (line 161) | fn claude_connector_extracts_model_as_author() { function claude_connector_flattens_tool_use (line 187) | fn claude_connector_flattens_tool_use() { function claude_connector_extracts_title_from_user (line 215) | fn claude_connector_extracts_title_from_user() { function claude_connector_title_fallback_to_workspace (line 239) | fn claude_connector_title_fallback_to_workspace() { function claude_connector_skips_malformed_lines (line 264) | fn claude_connector_skips_malformed_lines() { function claude_connector_filters_empty_content (line 290) | fn claude_connector_filters_empty_content() { function claude_connector_assigns_sequential_indices (line 317) | fn claude_connector_assigns_sequential_indices() { function claude_connector_handles_multiple_files (line 347) | fn claude_connector_handles_multiple_files() { function claude_connector_parses_json_format (line 373) | fn claude_connector_parses_json_format() { function claude_connector_parses_claude_extension (line 404) | fn claude_connector_parses_claude_extension() { function claude_connector_handles_empty_directory (line 431) | fn claude_connector_handles_empty_directory() { function claude_connector_sets_external_id (line 448) | fn claude_connector_sets_external_id() { function claude_connector_sets_source_path (line 474) | fn claude_connector_sets_source_path() { function claude_connector_parses_timestamps (line 497) | fn claude_connector_parses_timestamps() { function claude_connector_truncates_long_title (line 550) | fn claude_connector_truncates_long_title() { function claude_connector_ignores_other_extensions (line 577) | fn claude_connector_ignores_other_extensions() { function claude_connector_handles_nested_projects (line 611) | fn claude_connector_handles_nested_projects() { function claude_connector_uses_entry_type_as_role (line 634) | fn claude_connector_uses_entry_type_as_role() { function connector_handles_various_timezone_formats (line 663) | fn connector_handles_various_timezone_formats() { function connector_handles_epoch_and_iso_timestamps (line 703) | fn connector_handles_epoch_and_iso_timestamps() { function connector_symlinked_directories_not_followed_by_default (line 733) | fn connector_symlinked_directories_not_followed_by_default() { function connector_follows_symlinked_files (line 771) | fn connector_follows_symlinked_files() { function connector_handles_unreadable_files (line 807) | fn connector_handles_unreadable_files() { function connector_handles_long_file_paths (line 859) | fn connector_handles_long_file_paths() { function connector_handles_special_chars_in_paths (line 886) | fn connector_handles_special_chars_in_paths() { function connector_handles_unicode_in_paths (line 910) | fn connector_handles_unicode_in_paths() { function connector_handles_empty_project_dirs (line 932) | fn connector_handles_empty_project_dirs() { function connector_respects_since_ts_filter (line 951) | fn connector_respects_since_ts_filter() { FILE: tests/connector_claude_code_conformance.rs type RequirementLevel (line 10) | enum RequirementLevel { type ConnectorRequirement (line 16) | struct ConnectorRequirement { constant CLAUDE_CODE_NORMALIZATION_SPEC (line 22) | const CLAUDE_CODE_NORMALIZATION_SPEC: &[ConnectorRequirement] = &[ function write_session (line 80) | fn write_session(root: &Path, name: &str, lines: &[&str]) -> std::path::... function scan_fixture (line 86) | fn scan_fixture() -> Vec { function assert_valid_role (line 116) | fn assert_valid_role(message: &NormalizedMessage, requirement: &Connecto... function assert_message_contracts (line 129) | fn assert_message_contracts(conversation: &NormalizedConversation) { function conversation_by_external_id (line 168) | fn conversation_by_external_id<'a>( function claude_code_connector_output_conforms_to_normalized_contract (line 179) | fn claude_code_connector_output_conforms_to_normalized_contract() { FILE: tests/connector_clawdbot.rs function write_session (line 11) | fn write_session(root: &Path, name: &str, lines: &[&str]) -> std::path::... function detect_does_not_panic (line 22) | fn detect_does_not_panic() { function scan_parses_basic_conversation (line 33) | fn scan_parses_basic_conversation() { function scan_multiple_sessions (line 63) | fn scan_multiple_sessions() { function scan_skips_invalid_json_and_empty_lines (line 97) | fn scan_skips_invalid_json_and_empty_lines() { function scan_empty_directory_returns_empty (line 127) | fn scan_empty_directory_returns_empty() { function scan_handles_malformed_json (line 140) | fn scan_handles_malformed_json() { function scan_preserves_message_ordering (line 163) | fn scan_preserves_message_ordering() { function scan_incremental_since_ts (line 195) | fn scan_incremental_since_ts() { function scan_extracts_external_id_from_filename (line 224) | fn scan_extracts_external_id_from_filename() { FILE: tests/connector_clawdbot_conformance.rs type RequirementLevel (line 10) | enum RequirementLevel { type ConnectorRequirement (line 16) | struct ConnectorRequirement { constant CLAWDBOT_NORMALIZATION_SPEC (line 22) | const CLAWDBOT_NORMALIZATION_SPEC: &[ConnectorRequirement] = &[ function write_session (line 70) | fn write_session(root: &Path, name: &str, lines: &[&str]) -> std::path::... function scan_fixture (line 76) | fn scan_fixture() -> Vec { function assert_valid_role (line 104) | fn assert_valid_role(message: &NormalizedMessage, requirement: &Connecto... function assert_message_contracts (line 117) | fn assert_message_contracts(conversation: &NormalizedConversation) { function clawdbot_connector_output_conforms_to_normalized_contract (line 156) | fn clawdbot_connector_output_conforms_to_normalized_contract() { FILE: tests/connector_cline.rs function cline_parses_fixture_task (line 12) | fn cline_parses_fixture_task() { function cline_respects_since_ts_and_resequences_indices (line 46) | fn cline_respects_since_ts_and_resequences_indices() { function cline_skips_unmodified_files_for_since_ts (line 114) | fn cline_skips_unmodified_files_for_since_ts() { function create_task_dir (line 156) | fn create_task_dir(root: &std::path::Path, task_id: &str) -> PathBuf { function cline_prefers_ui_messages (line 164) | fn cline_prefers_ui_messages() { function cline_fallback_to_api_history (line 202) | fn cline_fallback_to_api_history() { function cline_handles_multiple_tasks (line 236) | fn cline_handles_multiple_tasks() { function cline_skips_task_history_json (line 263) | fn cline_skips_task_history_json() { function cline_extracts_title_from_metadata (line 296) | fn cline_extracts_title_from_metadata() { function cline_title_fallback_to_first_message (line 327) | fn cline_title_fallback_to_first_message() { function cline_extracts_workspace_from_rootpath (line 358) | fn cline_extracts_workspace_from_rootpath() { function cline_extracts_workspace_from_cwd (line 389) | fn cline_extracts_workspace_from_cwd() { function cline_filters_empty_content (line 415) | fn cline_filters_empty_content() { function cline_sorts_messages_by_timestamp (line 440) | fn cline_sorts_messages_by_timestamp() { function cline_sets_external_id_from_directory (line 475) | fn cline_sets_external_id_from_directory() { function cline_sets_source_path_to_task_dir (line 495) | fn cline_sets_source_path_to_task_dir() { function cline_handles_empty_directory (line 515) | fn cline_handles_empty_directory() { function cline_skips_task_without_messages (line 530) | fn cline_skips_task_without_messages() { function cline_sets_started_and_ended_at (line 547) | fn cline_sets_started_and_ended_at() { function cline_sets_agent_slug (line 571) | fn cline_sets_agent_slug() { function cline_parses_alternate_content_fields (line 591) | fn cline_parses_alternate_content_fields() { function cline_parses_alternate_timestamp_fields (line 620) | fn cline_parses_alternate_timestamp_fields() { function cline_uses_type_as_role_fallback (line 644) | fn cline_uses_type_as_role_fallback() { function cline_truncates_long_title (line 666) | fn cline_truncates_long_title() { function cline_sets_metadata_source (line 698) | fn cline_sets_metadata_source() { function cline_ignores_files_in_root (line 721) | fn cline_ignores_files_in_root() { function cline_parses_iso_timestamps (line 745) | fn cline_parses_iso_timestamps() { FILE: tests/connector_codex.rs function codex_real_fixture_home (line 8) | fn codex_real_fixture_home() -> PathBuf { function codex_connector_reads_modern_envelope_jsonl (line 14) | fn codex_connector_reads_modern_envelope_jsonl() { function codex_connector_includes_agent_reasoning (line 69) | fn codex_connector_includes_agent_reasoning() { function codex_connector_parses_real_tool_call_fixture (line 137) | fn codex_connector_parses_real_tool_call_fixture() { function codex_connector_ignores_unmatched_token_count (line 219) | fn codex_connector_ignores_unmatched_token_count() { function codex_connector_respects_since_ts_at_file_level_only (line 274) | fn codex_connector_respects_since_ts_at_file_level_only() { function codex_connector_reads_legacy_json_format (line 318) | fn codex_connector_reads_legacy_json_format() { function codex_detect_with_sessions_dir (line 378) | fn codex_detect_with_sessions_dir() { function codex_detect_without_sessions_dir (line 396) | fn codex_detect_without_sessions_dir() { function codex_connector_handles_user_message_event (line 412) | fn codex_connector_handles_user_message_event() { function codex_connector_skips_malformed_lines (line 448) | fn codex_connector_skips_malformed_lines() { function codex_connector_handles_multiple_sessions (line 483) | fn codex_connector_handles_multiple_sessions() { function codex_connector_filters_empty_content (line 519) | fn codex_connector_filters_empty_content() { function codex_connector_extracts_title (line 555) | fn codex_connector_extracts_title() { function codex_connector_assigns_sequential_indices (line 588) | fn codex_connector_assigns_sequential_indices() { function codex_connector_sets_external_id_from_filename (line 624) | fn codex_connector_sets_external_id_from_filename() { function codex_connector_handles_empty_sessions (line 659) | fn codex_connector_handles_empty_sessions() { function codex_connector_parses_millis_timestamp (line 682) | fn codex_connector_parses_millis_timestamp() { function codex_connector_flattens_tool_use_blocks (line 720) | fn codex_connector_flattens_tool_use_blocks() { function codex_connector_handles_missing_cwd (line 758) | fn codex_connector_handles_missing_cwd() { function codex_connector_ignores_non_rollout_files (line 793) | fn codex_connector_ignores_non_rollout_files() { function codex_connector_handles_legacy_json_missing_session (line 836) | fn codex_connector_handles_legacy_json_missing_session() { function codex_connector_title_fallback_to_first_message (line 875) | fn codex_connector_title_fallback_to_first_message() { function codex_connector_handles_nested_directories (line 908) | fn codex_connector_handles_nested_directories() { function codex_connector_filters_turn_aborted (line 937) | fn codex_connector_filters_turn_aborted() { function codex_connector_truncates_long_title (line 974) | fn codex_connector_truncates_long_title() { function codex_connector_sets_source_path (line 1023) | fn codex_connector_sets_source_path() { function codex_connector_metadata_indicates_format (line 1054) | fn codex_connector_metadata_indicates_format() { FILE: tests/connector_copilot.rs function write_json (line 11) | fn write_json(dir: &Path, filename: &str, content: &str) -> std::path::P... function load_fixture (line 20) | fn load_fixture(name: &str) -> String { function detect_does_not_panic (line 35) | fn detect_does_not_panic() { function scan_parses_turns_format (line 46) | fn scan_parses_turns_format() { function scan_parses_messages_format (line 84) | fn scan_parses_messages_format() { function scan_parses_conversations_wrapper (line 114) | fn scan_parses_conversations_wrapper() { function scan_empty_dir_returns_empty (line 140) | fn scan_empty_dir_returns_empty() { function scan_skips_invalid_json (line 152) | fn scan_skips_invalid_json() { function scan_skips_empty_conversations (line 166) | fn scan_skips_empty_conversations() { function scan_respects_since_ts (line 187) | fn scan_respects_since_ts() { function scan_with_scan_roots (line 206) | fn scan_with_scan_roots() { function scan_parses_cli_jsonl_prompt_output_unicode_fixture (line 229) | fn scan_parses_cli_jsonl_prompt_output_unicode_fixture() { function scan_cli_jsonl_skips_truncated_line_and_keeps_valid_messages (line 265) | fn scan_cli_jsonl_skips_truncated_line_and_keeps_valid_messages() { function scan_parses_cli_history_json_with_human_role_and_file_stem_id (line 292) | fn scan_parses_cli_history_json_with_human_role_and_file_stem_id() { FILE: tests/connector_copilot_cli.rs function write_file (line 14) | fn write_file(dir: &Path, filename: &str, content: &str) -> PathBuf { function scan_session_state (line 23) | fn scan_session_state(root: PathBuf) -> Vec { function scan_parses_chronicle_nested_data_content (line 32) | fn scan_parses_chronicle_nested_data_content() { function scan_chronicle_uses_directory_uuid_for_session_id (line 101) | fn scan_chronicle_uses_directory_uuid_for_session_id() { function scan_handles_mixed_legacy_and_chronicle_events (line 123) | fn scan_handles_mixed_legacy_and_chronicle_events() { function scan_empty_session_state_returns_no_conversations (line 143) | fn scan_empty_session_state_returns_no_conversations() { function scan_skips_malformed_lines_without_losing_valid_messages (line 164) | fn scan_skips_malformed_lines_without_losing_valid_messages() { function scan_truncated_session_without_complete_json_returns_empty (line 195) | fn scan_truncated_session_without_complete_json_returns_empty() { function scan_large_chronicle_session_preserves_all_messages_in_order (line 215) | fn scan_large_chronicle_session_preserves_all_messages_in_order() { FILE: tests/connector_crush.rs function create_crush_db (line 12) | fn create_crush_db(path: &Path) -> Connection { function scan_db (line 38) | fn scan_db(path: &Path) -> Vec FrankenConnection { function insert_kv (line 25) | fn insert_kv(conn: &FrankenConnection, key: &str, value: &str) { function insert_item (line 33) | fn insert_item(conn: &FrankenConnection, key: &str, value: &str) { type CursorFixtureRow (line 42) | struct CursorFixtureRow { type CursorFixtureExpectedMessage (line 48) | struct CursorFixtureExpectedMessage { type CursorFixture (line 55) | struct CursorFixture { function load_cursor_fixture (line 64) | fn load_cursor_fixture(name: &str) -> CursorFixture { function scan_cursor_fixture (line 74) | fn scan_cursor_fixture(name: &str) -> NormalizedConversation { function detect_does_not_panic (line 142) | fn detect_does_not_panic() { function scan_parses_tabs_bubbles_format (line 153) | fn scan_parses_tabs_bubbles_format() { function scan_parses_numeric_bubble_types (line 206) | fn scan_parses_numeric_bubble_types() { function scan_parses_simple_text_format (line 258) | fn scan_parses_simple_text_format() { function scan_parses_aichat_chatdata (line 294) | fn scan_parses_aichat_chatdata() { function scan_parses_multiple_composers (line 343) | fn scan_parses_multiple_composers() { function scan_finds_workspace_storage_dbs (line 376) | fn scan_finds_workspace_storage_dbs() { function scan_empty_dir_returns_empty (line 408) | fn scan_empty_dir_returns_empty() { function scan_skips_empty_text_composers (line 417) | fn scan_skips_empty_text_composers() { function scan_skips_empty_bubbles (line 457) | fn scan_skips_empty_bubbles() { function scan_preserves_bubble_ordering (line 496) | fn scan_preserves_bubble_ordering() { function scan_extracts_name_as_title (line 538) | fn scan_extracts_name_as_title() { function scan_respects_since_ts (line 570) | fn scan_respects_since_ts() { function scan_parses_headers_only_fixture_with_workspace_project_dir_and_content_fallbacks (line 601) | fn scan_parses_headers_only_fixture_with_workspace_project_dir_and_conte... function scan_parses_headers_only_fixture_with_file_workspace_uri (line 616) | fn scan_parses_headers_only_fixture_with_file_workspace_uri() { function scan_parses_headers_only_fixture_with_vscode_remote_workspace_uri (line 626) | fn scan_parses_headers_only_fixture_with_vscode_remote_workspace_uri() { FILE: tests/connector_factory.rs function write_jsonl (line 11) | fn write_jsonl(dir: &Path, rel_path: &str, lines: &[&str]) -> std::path:... function explicit_scan_ctx (line 20) | fn explicit_scan_ctx(root: &Path, since_ts: Option) -> ScanContext { function detect_does_not_panic (line 33) | fn detect_does_not_panic() { function scan_parses_basic_session (line 44) | fn scan_parses_basic_session() { function scan_multiple_sessions (line 77) | fn scan_multiple_sessions() { function scan_infers_title_from_first_user_message (line 117) | fn scan_infers_title_from_first_user_message() { function scan_empty_dir_returns_empty (line 145) | fn scan_empty_dir_returns_empty() { function scan_skips_invalid_jsonl_lines (line 157) | fn scan_skips_invalid_jsonl_lines() { function scan_skips_empty_content_messages (line 183) | fn scan_skips_empty_content_messages() { function scan_skips_session_with_no_messages (line 209) | fn scan_skips_session_with_no_messages() { function scan_skips_settings_json (line 228) | fn scan_skips_settings_json() { function scan_preserves_message_ordering (line 262) | fn scan_preserves_message_ordering() { function scan_respects_since_ts (line 295) | fn scan_respects_since_ts() { function scan_extracts_workspace_from_session_start (line 321) | fn scan_extracts_workspace_from_session_start() { function scan_extracts_model_as_author (line 354) | fn scan_extracts_model_as_author() { FILE: tests/connector_gemini.rs function gemini_parses_jsonl_fixture (line 8) | fn gemini_parses_jsonl_fixture() { function gemini_maps_model_role_to_assistant (line 28) | fn gemini_maps_model_role_to_assistant() { function gemini_extracts_metadata (line 47) | fn gemini_extracts_metadata() { function gemini_parses_timestamps (line 68) | fn gemini_parses_timestamps() { function gemini_detect_returns_true_for_existing_dir (line 107) | fn gemini_detect_returns_true_for_existing_dir() { function gemini_includes_all_messages_when_file_modified (line 127) | fn gemini_includes_all_messages_when_file_modified() { function gemini_extracts_workspace_from_agents_md_content (line 183) | fn gemini_extracts_workspace_from_agents_md_content() { function gemini_extracts_workspace_from_working_directory (line 230) | fn gemini_extracts_workspace_from_working_directory() { function gemini_filters_empty_messages (line 268) | fn gemini_filters_empty_messages() { function gemini_skips_malformed_json (line 318) | fn gemini_skips_malformed_json() { function gemini_skips_sessions_without_messages (line 362) | fn gemini_skips_sessions_without_messages() { function gemini_extracts_title_from_first_user_message (line 393) | fn gemini_extracts_title_from_first_user_message() { function gemini_assigns_sequential_message_indices (line 439) | fn gemini_assigns_sequential_message_indices() { function gemini_sets_agent_slug (line 489) | fn gemini_sets_agent_slug() { function gemini_sets_source_path (line 507) | fn gemini_sets_source_path() { function gemini_handles_multiple_sessions (line 528) | fn gemini_handles_multiple_sessions() { function gemini_falls_back_to_hash_directory_for_workspace (line 563) | fn gemini_falls_back_to_hash_directory_for_workspace() { FILE: tests/connector_kimi.rs function kimi_storage (line 9) | fn kimi_storage(tmp: &TempDir) -> PathBuf { function write_wire_file (line 15) | fn write_wire_file( function write_wire_file_without_state (line 33) | fn write_wire_file_without_state( function scan_storage (line 46) | fn scan_storage(storage: &Path) -> Vec std::path:... function write_jsonl_bytes (line 20) | fn write_jsonl_bytes(dir: &Path, rel_path: &str, bytes: &[u8]) -> std::p... function detect_does_not_panic (line 34) | fn detect_does_not_panic() { function scan_parses_basic_session (line 45) | fn scan_parses_basic_session() { function scan_multiple_sessions (line 78) | fn scan_multiple_sessions() { function scan_discovers_multiple_agents (line 117) | fn scan_discovers_multiple_agents() { function scan_preserves_unicode_agent_directory_and_session_filename (line 155) | fn scan_preserves_unicode_agent_directory_and_session_filename() { function scan_flattens_text_and_tool_content_blocks (line 193) | fn scan_flattens_text_and_tool_content_blocks() { function scan_handles_string_content (line 219) | fn scan_handles_string_content() { function scan_skips_invalid_json_lines (line 247) | fn scan_skips_invalid_json_lines() { function scan_empty_jsonl_file_returns_empty (line 272) | fn scan_empty_jsonl_file_returns_empty() { function scan_truncated_tail_preserves_complete_messages (line 287) | fn scan_truncated_tail_preserves_complete_messages() { function scan_non_utf8_jsonl_returns_empty_without_panic (line 314) | fn scan_non_utf8_jsonl_returns_empty_without_panic() { function scan_oversized_sparse_jsonl_returns_empty_without_panic (line 333) | fn scan_oversized_sparse_jsonl_returns_empty_without_panic() { function scan_ignores_non_jsonl_session_files (line 355) | fn scan_ignores_non_jsonl_session_files() { function scan_skips_empty_content (line 374) | fn scan_skips_empty_content() { function scan_empty_directory_returns_empty (line 399) | fn scan_empty_directory_returns_empty() { function scan_skips_non_message_types (line 412) | fn scan_skips_non_message_types() { function scan_respects_since_ts (line 443) | fn scan_respects_since_ts() { function scan_extracts_workspace_from_session_line (line 469) | fn scan_extracts_workspace_from_session_line() { function scan_derives_title_from_first_user_message (line 499) | fn scan_derives_title_from_first_user_message() { function scan_preserves_message_ordering (line 526) | fn scan_preserves_message_ordering() { FILE: tests/connector_opencode.rs function create_test_storage (line 10) | fn create_test_storage(dir: &std::path::Path, sessions: &[TestSession]) ... type TestSession (line 82) | struct TestSession { type TestMessage (line 92) | struct TestMessage { type TestPart (line 100) | struct TestPart { function opencode_parses_json_fixture (line 107) | fn opencode_parses_json_fixture() { function opencode_parses_created_storage (line 124) | fn opencode_parses_created_storage() { function opencode_handles_multiple_sessions (line 182) | fn opencode_handles_multiple_sessions() { function opencode_handles_tool_parts (line 244) | fn opencode_handles_tool_parts() { function opencode_handles_reasoning_parts (line 293) | fn opencode_handles_reasoning_parts() { function opencode_sets_correct_agent_slug (line 342) | fn opencode_sets_correct_agent_slug() { function opencode_handles_empty_storage (line 380) | fn opencode_handles_empty_storage() { function opencode_handles_missing_storage (line 397) | fn opencode_handles_missing_storage() { function opencode_orders_messages_by_timestamp (line 412) | fn opencode_orders_messages_by_timestamp() { function opencode_assigns_sequential_indices (line 478) | fn opencode_assigns_sequential_indices() { function opencode_title_fallback_to_first_message (line 544) | fn opencode_title_fallback_to_first_message() { function opencode_computes_started_ended_at (line 587) | fn opencode_computes_started_ended_at() { function opencode_skips_sessions_without_messages (line 642) | fn opencode_skips_sessions_without_messages() { function opencode_metadata_contains_session_id (line 677) | fn opencode_metadata_contains_session_id() { function opencode_external_id_is_session_id (line 724) | fn opencode_external_id_is_session_id() { function opencode_handles_corrupted_session_json (line 767) | fn opencode_handles_corrupted_session_json() { function opencode_handles_partial_session_data (line 795) | fn opencode_handles_partial_session_data() { function opencode_handles_unicode_content (line 877) | fn opencode_handles_unicode_content() { function opencode_handles_very_long_session (line 946) | fn opencode_handles_very_long_session() { function opencode_handles_empty_message_parts (line 1018) | fn opencode_handles_empty_message_parts() { function opencode_handles_null_text_parts (line 1073) | fn opencode_handles_null_text_parts() { function opencode_handles_deeply_nested_project_dirs (line 1121) | fn opencode_handles_deeply_nested_project_dirs() { FILE: tests/connector_pi_agent.rs function pi_agent_connector_reads_session_jsonl (line 10) | fn pi_agent_connector_reads_session_jsonl() { function pi_agent_connector_includes_thinking_content (line 70) | fn pi_agent_connector_includes_thinking_content() { function pi_agent_connector_handles_tool_calls (line 124) | fn pi_agent_connector_handles_tool_calls() { function pi_agent_connector_handles_model_change (line 186) | fn pi_agent_connector_handles_model_change() { function pi_agent_connector_detection_with_sessions_dir (line 248) | fn pi_agent_connector_detection_with_sessions_dir() { function pi_agent_connector_detection_without_sessions_dir (line 271) | fn pi_agent_connector_detection_without_sessions_dir() { function pi_agent_connector_skips_malformed_lines (line 289) | fn pi_agent_connector_skips_malformed_lines() { function pi_agent_connector_handles_string_content (line 331) | fn pi_agent_connector_handles_string_content() { function pi_agent_connector_filters_empty_content (line 379) | fn pi_agent_connector_filters_empty_content() { function pi_agent_connector_extracts_title_from_first_user_message (line 424) | fn pi_agent_connector_extracts_title_from_first_user_message() { function pi_agent_connector_truncates_long_title (line 464) | fn pi_agent_connector_truncates_long_title() { function pi_agent_connector_assigns_sequential_indices (line 509) | fn pi_agent_connector_assigns_sequential_indices() { function pi_agent_connector_metadata_includes_provider_info (line 552) | fn pi_agent_connector_metadata_includes_provider_info() { function pi_agent_connector_ignores_files_without_underscore (line 605) | fn pi_agent_connector_ignores_files_without_underscore() { function pi_agent_connector_handles_empty_sessions (line 644) | fn pi_agent_connector_handles_empty_sessions() { function pi_agent_connector_skips_thinking_level_change (line 669) | fn pi_agent_connector_skips_thinking_level_change() { function pi_agent_connector_populates_author_for_assistant_messages (line 716) | fn pi_agent_connector_populates_author_for_assistant_messages() { function pi_agent_connector_handles_multiple_model_changes (line 792) | fn pi_agent_connector_handles_multiple_model_changes() { function pi_agent_connector_handles_empty_thinking_block (line 867) | fn pi_agent_connector_handles_empty_thinking_block() { function pi_agent_connector_handles_nested_tool_calls (line 916) | fn pi_agent_connector_handles_nested_tool_calls() { function pi_agent_connector_handles_very_long_session (line 999) | fn pi_agent_connector_handles_very_long_session() { function pi_agent_connector_handles_unicode_content (line 1082) | fn pi_agent_connector_handles_unicode_content() { function pi_agent_connector_handles_null_thinking_content (line 1173) | fn pi_agent_connector_handles_null_thinking_content() { function pi_agent_connector_handles_tool_call_with_null_arguments (line 1220) | fn pi_agent_connector_handles_tool_call_with_null_arguments() { FILE: tests/connector_qwen.rs function qwen_storage (line 9) | fn qwen_storage(tmp: &TempDir) -> PathBuf { function write_session_file (line 15) | fn write_session_file(storage: &Path, project_hash: &str, filename: &str... function write_session_file_without_config (line 29) | fn write_session_file_without_config( function scan_storage (line 42) | fn scan_storage(storage: &Path) -> Vec std::... function write_session_bytes (line 19) | fn write_session_bytes(root: &Path, session_id: &str, bytes: &[u8]) -> s... function detect_does_not_panic (line 32) | fn detect_does_not_panic() { function scan_parses_basic_conversation (line 44) | fn scan_parses_basic_conversation() { function scan_multiple_sessions (line 74) | fn scan_multiple_sessions() { function scan_preserves_unicode_session_directory_external_id (line 104) | fn scan_preserves_unicode_session_directory_external_id() { function scan_skips_invalid_json_and_empty_lines (line 135) | fn scan_skips_invalid_json_and_empty_lines() { function scan_empty_directory_returns_empty (line 165) | fn scan_empty_directory_returns_empty() { function scan_empty_messages_file_returns_empty (line 178) | fn scan_empty_messages_file_returns_empty() { function scan_truncated_tail_preserves_complete_messages (line 192) | fn scan_truncated_tail_preserves_complete_messages() { function scan_non_utf8_messages_file_returns_empty_without_panic (line 218) | fn scan_non_utf8_messages_file_returns_empty_without_panic() { function scan_oversized_sparse_messages_file_returns_empty_without_panic (line 232) | fn scan_oversized_sparse_messages_file_returns_empty_without_panic() { function scan_ignores_non_messages_jsonl_files (line 254) | fn scan_ignores_non_messages_jsonl_files() { function scan_skips_session_with_only_empty_content (line 273) | fn scan_skips_session_with_only_empty_content() { function scan_preserves_message_ordering (line 298) | fn scan_preserves_message_ordering() { function scan_incremental_since_ts (line 330) | fn scan_incremental_since_ts() { function scan_extracts_role_from_speaker_or_nested_message (line 359) | fn scan_extracts_role_from_speaker_or_nested_message() { FILE: tests/cross_workstream_integration.rs type Workstream (line 48) | pub enum Workstream { method fmt (line 60) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type ScenarioClass (line 72) | pub enum ScenarioClass { method fmt (line 82) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Scenario (line 93) | pub struct Scenario { constant SCENARIO_MATRIX (line 112) | pub const SCENARIO_MATRIX: &[Scenario] = &[ type TestMapping (line 330) | pub struct TestMapping { constant TEST_COVERAGE_MAP (line 348) | pub const TEST_COVERAGE_MAP: &[TestMapping] = &[ type Severity (line 519) | pub enum Severity { type IntegrationEvent (line 552) | pub struct IntegrationEvent { type IntegrationPhase (line 579) | pub enum IntegrationPhase { type AssertionOutcome (line 592) | pub struct AssertionOutcome { type IntegrationLogger (line 608) | pub struct IntegrationLogger { method new (line 616) | pub fn new(scenario_id: &str) -> Self { method info (line 629) | pub fn info(&mut self, phase: IntegrationPhase, event: &str, data: Opt... method timed (line 634) | pub fn timed( method assert_ok (line 645) | pub fn assert_ok(&mut self, subject: &str, expected: &str, actual: &st... method assert_fail (line 663) | pub fn assert_fail(&mut self, subject: &str, expected: &str, actual: &... method record (line 680) | fn record( method flush (line 708) | pub fn flush(&self) { method drop (line 732) | fn drop(&mut self) { type TriageEntry (line 744) | pub struct TriageEntry { constant TRIAGE_PLAYBOOK (line 763) | pub const TRIAGE_PLAYBOOK: &[TriageEntry] = &[ constant SIZE_MATRIX (line 914) | const SIZE_MATRIX: &[(u16, u16, &str)] = &[ function palette_at_all_breakpoints (line 937) | fn palette_at_all_breakpoints() { function palette_survives_resize (line 977) | fn palette_survives_resize() { function palette_noop_ultra_narrow (line 1009) | fn palette_noop_ultra_narrow() { function palette_analytics_surface_switch (line 1032) | fn palette_analytics_surface_switch() { function resize_breakpoint_crossing (line 1069) | fn resize_breakpoint_crossing() { function resize_storm_stability (line 1116) | fn resize_storm_stability() { function resize_ultra_narrow_inspector_close (line 1168) | fn resize_ultra_narrow_inspector_close() { function resize_within_breakpoint (line 1208) | fn resize_within_breakpoint() { function inspector_at_all_breakpoints (line 1238) | fn inspector_at_all_breakpoints() { function inspector_across_surface_switch (line 1268) | fn inspector_across_surface_switch() { function inspector_only_debug_overlay (line 1300) | fn inspector_only_debug_overlay() { function frame_timing_accuracy (line 1324) | fn frame_timing_accuracy() { function inspector_shows_breakpoint (line 1369) | fn inspector_shows_breakpoint() { function inspector_timing_during_resize (line 1404) | fn inspector_timing_during_resize() { function palette_inspector_focus_stacking (line 1445) | fn palette_inspector_focus_stacking() { function palette_toggle_inspector (line 1475) | fn palette_toggle_inspector() { function full_interaction_sequence (line 1506) | fn full_interaction_sequence() { function search_analytics_drilldown_roundtrip_updates_search_filters (line 1576) | fn search_analytics_drilldown_roundtrip_updates_search_filters() { function analytics_drilldown_back_stack_roundtrip_preserves_selection (line 1634) | fn analytics_drilldown_back_stack_roundtrip_preserves_selection() { function render_app_text (line 1676) | fn render_app_text(app: &CassApp, width: u16, height: u16) -> String { function make_session_hit (line 1684) | fn make_session_hit(content_hash: u64, line_number: usize, content: Stri... function inline_analytics_badges_match_detail_modal_metrics (line 1709) | fn inline_analytics_badges_match_detail_modal_metrics() { function all_overlays_ultra_narrow (line 1812) | fn all_overlays_ultra_narrow() { function rapid_key_sequence (line 1841) | fn rapid_key_sequence() { function scenario_matrix_completeness (line 1910) | fn scenario_matrix_completeness() { function triage_playbook_covers_all_workstreams (line 1945) | fn triage_playbook_covers_all_workstreams() { function scenario_ids_are_unique (line 1970) | fn scenario_ids_are_unique() { function all_workstreams_represented_in_scenarios (line 1982) | fn all_workstreams_represented_in_scenarios() { FILE: tests/crypto_vectors.rs type AesGcmVector (line 7) | struct AesGcmVector { type Argon2Vector (line 19) | struct Argon2Vector { type HkdfVector (line 31) | struct HkdfVector { function load_test_vectors (line 40) | fn load_test_vectors Deserialize<'de>>(filename: &str) -> Ve... function test_aes_gcm_vectors (line 49) | fn test_aes_gcm_vectors() { function test_argon2_vectors (line 75) | fn test_argon2_vectors() { function test_hkdf_vectors (line 96) | fn test_hkdf_vectors() { FILE: tests/daemon_client_integration.rs type DaemonMode (line 17) | enum DaemonMode { type DaemonRequest (line 22) | enum DaemonRequest { type ChannelDaemonClient (line 37) | struct ChannelDaemonClient { method send_request (line 46) | fn send_request( method id (line 70) | fn id(&self) -> &str { method is_available (line 74) | fn is_available(&self) -> bool { method embed (line 78) | fn embed(&self, _text: &str, _request_id: &str) -> Result, Daem... method embed_batch (line 86) | fn embed_batch(&self, texts: &[&str], _request_id: &str) -> Result Self { method client (line 171) | fn client(&self) -> Arc { method set_available (line 175) | fn set_available(&self, available: bool) { method calls (line 179) | fn calls(&self) -> usize { method drop (line 185) | fn drop(&mut self) { function respond (line 193) | fn respond( type StaticEmbedder (line 208) | struct StaticEmbedder { method embed_sync (line 214) | fn embed_sync(&self, _text: &str) -> EmbedderResult> { method embed_batch_sync (line 218) | fn embed_batch_sync(&self, texts: &[&str]) -> EmbedderResult usize { method id (line 226) | fn id(&self) -> &str { method is_semantic (line 230) | fn is_semantic(&self) -> bool { method category (line 234) | fn category(&self) -> ModelCategory { type StaticReranker (line 239) | struct StaticReranker { method rerank_sync (line 244) | fn rerank_sync( method id (line 261) | fn id(&self) -> &str { method model_name (line 265) | fn model_name(&self) -> &str { method is_available (line 269) | fn is_available(&self) -> bool { function daemon_integration_embed_and_rerank (line 275) | fn daemon_integration_embed_and_rerank() { function daemon_integration_crash_falls_back (line 300) | fn daemon_integration_crash_falls_back() { function daemon_integration_timeout_backoff_with_jitter (line 329) | fn daemon_integration_timeout_backoff_with_jitter() { FILE: tests/deploy_cloudflare.rs function temp_cloudflare_deployer (line 13) | fn temp_cloudflare_deployer() -> Result<(TempDir, CloudflareDeployer)> { function prereqs_fixture (line 17) | fn prereqs_fixture() -> Prerequisites { function assert_missing_contains (line 28) | fn assert_missing_contains + std::fmt::Debug>(missing: &[T... function test_prerequisites_all_ready_with_auth (line 42) | fn test_prerequisites_all_ready_with_auth() { function test_prerequisites_ready_with_api_credentials (line 54) | fn test_prerequisites_ready_with_api_credentials() { function test_prerequisites_ready_with_api_credentials_without_wrangler (line 67) | fn test_prerequisites_ready_with_api_credentials_without_wrangler() { function test_prerequisites_wrangler_not_installed (line 80) | fn test_prerequisites_wrangler_not_installed() { function test_prerequisites_not_authenticated (line 93) | fn test_prerequisites_not_authenticated() { function test_config_default (line 107) | fn test_config_default() { function test_deployer_builder_chain (line 119) | fn test_deployer_builder_chain() { function test_deployer_default_creation (line 133) | fn test_deployer_default_creation() { function test_generate_headers_file (line 144) | fn test_generate_headers_file() -> Result<()> { function test_generate_headers_file_cache_exceptions (line 172) | fn test_generate_headers_file_cache_exceptions() -> Result<()> { function test_generate_redirects_file (line 188) | fn test_generate_redirects_file() -> Result<()> { function test_cloudflare_bundle_structure (line 209) | fn test_cloudflare_bundle_structure() -> Result<()> { function test_cloudflare_headers_dont_overwrite_existing (line 230) | fn test_cloudflare_headers_dont_overwrite_existing() -> Result<()> { function test_cloudflare_progress_phases (line 253) | fn test_cloudflare_progress_phases() { function test_progress_callback_tracking (line 264) | fn test_progress_callback_tracking() { function test_generate_headers_file_invalid_path (line 289) | fn test_generate_headers_file_invalid_path() { function test_generate_redirects_file_invalid_path (line 297) | fn test_generate_redirects_file_invalid_path() { function test_prerequisites_missing_multiple (line 305) | fn test_prerequisites_missing_multiple() { function test_auth_state_combinations (line 335) | fn test_auth_state_combinations() { function test_deploy_result_serialization (line 384) | fn test_deploy_result_serialization() -> Result<()> { function test_prerequisites_serialization (line 407) | fn test_prerequisites_serialization() -> Result<()> { function test_custom_domain_configuration (line 430) | fn test_custom_domain_configuration() { function test_multiple_branch_configurations (line 438) | fn test_multiple_branch_configurations() { FILE: tests/deploy_github.rs function test_prerequisites_all_ready (line 16) | fn test_prerequisites_all_ready() { function test_prerequisites_gh_not_installed (line 31) | fn test_prerequisites_gh_not_installed() { function test_prerequisites_gh_not_authenticated (line 47) | fn test_prerequisites_gh_not_authenticated() { function test_prerequisites_git_not_installed (line 63) | fn test_prerequisites_git_not_installed() { function test_deployer_default_creation (line 83) | fn test_deployer_default_creation() { function test_deployer_builder_chain (line 90) | fn test_deployer_builder_chain() { function test_size_check_empty_directory (line 103) | fn test_size_check_empty_directory() -> Result<()> { function test_size_check_small_files (line 118) | fn test_size_check_small_files() -> Result<()> { function test_size_check_nested_directories (line 140) | fn test_size_check_nested_directories() -> Result<()> { function test_bundle_structure_validation (line 164) | fn test_bundle_structure_validation() -> Result<()> { function test_progress_phases (line 193) | fn test_progress_phases() { function test_prerequisites_error_messages_are_helpful (line 214) | fn test_prerequisites_error_messages_are_helpful() { function test_github_size_limits (line 236) | fn test_github_size_limits() { function test_deployer_public_private_toggle (line 253) | fn test_deployer_public_private_toggle() { function test_deployer_force_toggle (line 260) | fn test_deployer_force_toggle() { function test_deployer_description (line 267) | fn test_deployer_description() { function create_local_bare_repo (line 278) | fn create_local_bare_repo(name: &str) -> Result<(TempDir, std::path::Pat... function create_working_repo_from_bare (line 297) | fn create_working_repo_from_bare( function configure_git_user (line 324) | fn configure_git_user(repo_path: &std::path::Path) -> Result<()> { function test_local_git_bare_repo_creation (line 339) | fn test_local_git_bare_repo_creation() -> Result<()> { function test_local_git_clone_and_push (line 352) | fn test_local_git_clone_and_push() -> Result<()> { function test_local_git_orphan_branch_workflow (line 411) | fn test_local_git_orphan_branch_workflow() -> Result<()> { function test_copy_bundle_preserves_structure (line 479) | fn test_copy_bundle_preserves_structure() -> Result<()> { function copy_dir_recursive (line 517) | fn copy_dir_recursive(src: &std::path::Path, dst: &std::path::Path) -> R... function test_copy_bundle_overwrites_existing (line 538) | fn test_copy_bundle_overwrites_existing() -> Result<()> { function test_progress_callback_tracking (line 567) | fn test_progress_callback_tracking() { function test_size_check_missing_directory (line 602) | fn test_size_check_missing_directory() { function test_prerequisites_missing_multiple (line 610) | fn test_prerequisites_missing_multiple() { function test_prerequisites_auth_state_combinations (line 640) | fn test_prerequisites_auth_state_combinations() { function test_deploy_result_serialization (line 679) | fn test_deploy_result_serialization() -> Result<()> { function test_prerequisites_serialization (line 704) | fn test_prerequisites_serialization() -> Result<()> { FILE: tests/docs/help.rs function test_help_flag_works (line 22) | fn test_help_flag_works() { function test_short_help_flag (line 57) | fn test_short_help_flag() { function test_version_flag (line 85) | fn test_version_flag() { function test_subcommand_help_available (line 116) | fn test_subcommand_help_available() { function test_help_mentions_use_cases (line 158) | fn test_help_mentions_use_cases() { function test_invalid_command_error (line 195) | fn test_invalid_command_error() { function test_missing_args_error (line 225) | fn test_missing_args_error() { function test_help_html_valid (line 260) | fn test_help_html_valid() { function test_recovery_html_valid (line 316) | fn test_recovery_html_valid() { function test_security_doc_complete (line 384) | fn test_security_doc_complete() { FILE: tests/docs/readme.rs function create_test_summary (line 22) | fn create_test_summary(conversation_count: usize, agents: Vec<(&str, usi... function parse_conversation_count (line 71) | fn parse_conversation_count(readme: &str) -> Option { function parse_date_range (line 85) | fn parse_date_range(readme: &str) -> Option<(String, String)> { function agent_listed (line 93) | fn agent_listed(readme: &str, agent_name: &str) -> bool { function test_readme_conversation_count_accurate (line 103) | fn test_readme_conversation_count_accurate() { function test_readme_agents_listed (line 122) | fn test_readme_agents_listed() { function test_readme_date_range_accurate (line 162) | fn test_readme_date_range_accurate() { function test_readme_url_included (line 182) | fn test_readme_url_included() { function test_readme_argon_params_included (line 199) | fn test_readme_argon_params_included() { function test_readme_has_required_sections (line 219) | fn test_readme_has_required_sections() { function test_readme_includes_version (line 248) | fn test_readme_includes_version() { function test_readme_empty_agents (line 269) | fn test_readme_empty_agents() { function test_readme_single_agent (line 286) | fn test_readme_single_agent() { function test_readme_large_counts (line 305) | fn test_readme_large_counts() { FILE: tests/doctor_e2e_runner.rs function doctor_e2e_cli_args_parse_labels_scenarios_and_flags (line 15) | fn doctor_e2e_cli_args_parse_labels_scenarios_and_flags() { function doctor_e2e_label_filter_selects_matching_scenarios (line 40) | fn doctor_e2e_label_filter_selects_matching_scenarios() { function doctor_e2e_include_failure_self_test_selects_intentional_failure (line 51) | fn doctor_e2e_include_failure_self_test_selects_intentional_failure() { function doctor_fixture_source_truncation_keeps_mirror_and_present_source_distinct (line 76) | fn doctor_fixture_source_truncation_keeps_mirror_and_present_source_dist... function doctor_e2e_runner_refuses_unsafe_run_roots (line 122) | fn doctor_e2e_runner_refuses_unsafe_run_roots() { function doctor_e2e_json_parse_failures_are_diagnostic (line 131) | fn doctor_e2e_json_parse_failures_are_diagnostic() { function doctor_e2e_manifest_validation_rejects_missing_artifacts (line 140) | fn doctor_e2e_manifest_validation_rejects_missing_artifacts() { function doctor_e2e_runner_records_artifacts_and_no_mutation_for_pruned_source (line 169) | fn doctor_e2e_runner_records_artifacts_and_no_mutation_for_pruned_source... function doctor_e2e_runner_records_truncated_source_with_verified_mirror (line 325) | fn doctor_e2e_runner_records_truncated_source_with_verified_mirror() { function doctor_e2e_runner_reports_no_safe_rebuild_authority_without_mirror (line 425) | fn doctor_e2e_runner_reports_no_safe_rebuild_authority_without_mirror() { function doctor_e2e_runner_builds_candidate_with_fix_and_logs_lifecycle (line 519) | fn doctor_e2e_runner_builds_candidate_with_fix_and_logs_lifecycle() { function doctor_e2e_runner_cleanup_low_disk_prunes_only_derived_and_logs (line 654) | fn doctor_e2e_runner_cleanup_low_disk_prunes_only_derived_and_logs() { function data_file_hashes (line 778) | fn data_file_hashes(tree: &serde_json::Value) -> BTreeMap { function filtered_hashes (line 799) | fn filtered_hashes(entries: &BTreeMap, prefix: &str) -> ... function doctor_e2e_runner_reconstructs_candidate_from_mirror_when_db_is_corrupt (line 808) | fn doctor_e2e_runner_reconstructs_candidate_from_mirror_when_db_is_corru... function doctor_e2e_runner_records_multi_file_source_artifacts (line 897) | fn doctor_e2e_runner_records_multi_file_source_artifacts() { function doctor_e2e_intentional_failure_preserves_failure_context_and_artifacts (line 972) | fn doctor_e2e_intentional_failure_preserves_failure_context_and_artifact... function doctor_e2e_scripted_scenarios (line 1000) | fn doctor_e2e_scripted_scenarios() { FILE: tests/doctor_fixture_factory.rs function doctor_fixture_factory_is_deterministic_and_root_confined (line 10) | fn doctor_fixture_factory_is_deterministic_and_root_confined() { function doctor_fixture_factory_rejects_hostile_paths (line 35) | fn doctor_fixture_factory_rejects_hostile_paths() { function doctor_fixture_factory_provider_matrix_never_targets_real_agent_homes (line 43) | fn doctor_fixture_factory_provider_matrix_never_targets_real_agent_homes... function doctor_fixture_factory_places_privacy_sentinel_without_manifest_leak (line 73) | fn doctor_fixture_factory_places_privacy_sentinel_without_manifest_leak() { function doctor_fixture_factory_can_materialize_all_named_scenarios (line 94) | fn doctor_fixture_factory_can_materialize_all_named_scenarios() { function doctor_fixture_manifest_declares_safety_and_artifact_contracts (line 137) | fn doctor_fixture_manifest_declares_safety_and_artifact_contracts() { function doctor_fixture_manifest_validation_rejects_sensitive_default_output_policy (line 177) | fn doctor_fixture_manifest_validation_rejects_sensitive_default_output_p... function doctor_fixture_manifest_validation_catches_missing_artifacts (line 192) | fn doctor_fixture_manifest_validation_catches_missing_artifacts() { function doctor_fixture_manifest_drives_doctor_json_assertions_for_pruned_mirror (line 212) | fn doctor_fixture_manifest_drives_doctor_json_assertions_for_pruned_mirr... function doctor_fixture_raw_mirror_keeps_source_id_distinct_from_origin_kind (line 254) | fn doctor_fixture_raw_mirror_keeps_source_id_distinct_from_origin_kind() { FILE: tests/e2e/cloudflare/cloudflare-smoke.spec.ts constant CLOUDFLARE_URL (line 28) | const CLOUDFLARE_URL = process.env.CLOUDFLARE_TEST_URL; constant ARCHIVE_PASSWORD (line 29) | const ARCHIVE_PASSWORD = process.env.CLOUDFLARE_TEST_PASSWORD || 'test-p... constant REPORT_DIR (line 30) | const REPORT_DIR = process.env.CLOUDFLARE_REPORT_DIR || constant EXPECTED_HEADERS (line 34) | const EXPECTED_HEADERS = { constant CSP_DIRECTIVES (line 44) | const CSP_DIRECTIVES = [ type SmokeTestReport (line 55) | interface SmokeTestReport { function generateRemediation (line 85) | function generateRemediation(issue: string): string { function saveReport (line 102) | function saveReport(report: SmokeTestReport, filename: string): string { FILE: tests/e2e/export/html-export-e2e.spec.ts constant ARTIFACT_DIR (line 21) | const ARTIFACT_DIR = path.join(process.cwd(), 'test-results', 'e2e', 'ht... FILE: tests/e2e/export/pages-pipeline-e2e.spec.ts constant ARTIFACT_DIR (line 23) | const ARTIFACT_DIR = path.join(process.cwd(), 'test-results', 'e2e', 'pa... constant PAGES_PREVIEW_DIR (line 26) | const PAGES_PREVIEW_DIR = process.env.TEST_PAGES_PREVIEW_DIR || FILE: tests/e2e/mobile/performance.spec.ts function measureFrame (line 156) | function measureFrame() { FILE: tests/e2e/pages_preview/bundle/site/attachments.js constant BLOB_NONCE_DOMAIN (line 14) | const BLOB_NONCE_DOMAIN = 'cass-blob-nonce-v1'; constant CACHE_CONFIG (line 17) | const CACHE_CONFIG = { function initAttachments (line 42) | async function initAttachments(dek, exportId) { function loadManifest (line 70) | async function loadManifest(dek, exportId) { function hasAttachments (line 111) | function hasAttachments() { function getManifest (line 119) | function getManifest() { function getMessageAttachments (line 128) | function getMessageAttachments(messageId) { function loadBlob (line 143) | async function loadBlob(hash, dek, exportId) { function loadBlobAsUrl (line 204) | async function loadBlobAsUrl(hash, mimeType, dek, exportId) { function deriveBlobNonce (line 236) | async function deriveBlobNonce(identifier) { function hexToBytes (line 269) | function hexToBytes(hex) { function cacheBlob (line 280) | function cacheBlob(hash, data) { function updateLru (line 303) | function updateLru(hash) { function evictOldest (line 314) | function evictOldest() { function clearCache (line 332) | function clearCache() { function reset (line 346) | function reset() { function getCacheStats (line 357) | function getCacheStats() { function createAttachmentElement (line 374) | function createAttachmentElement(entry, dek, exportId) { function createImageAttachment (line 393) | function createImageAttachment(entry, dek, exportId) { function loadImageAttachment (line 451) | async function loadImageAttachment(container, img, hash, mimeType, dek, ... function createPdfAttachment (line 481) | function createPdfAttachment(entry, dek, exportId) { function createDownloadAttachment (line 503) | function createDownloadAttachment(entry, dek, exportId) { function downloadAttachment (line 525) | async function downloadAttachment(entry, dek, exportId) { function escapeHtml (line 545) | function escapeHtml(text) { function formatSize (line 554) | function formatSize(bytes) { FILE: tests/e2e/pages_preview/bundle/site/auth.js constant SESSION_KEYS (line 19) | const SESSION_KEYS = { function init (line 49) | async function init() { function cacheElements (line 103) | function cacheElements() { function setupEventListeners (line 129) | function setupEventListeners() { function loadConfig (line 177) | async function loadConfig() { function getTofuKey (line 185) | function getTofuKey(fingerprint) { function displayFingerprint (line 193) | async function displayFingerprint() { function setupUnencryptedMode (line 225) | function setupUnencryptedMode() { function verifyTofu (line 282) | async function verifyTofu(currentFingerprint, storageKey) { function displayTofuStatus (line 314) | function displayTofuStatus(result) { function showTofuWarning (line 340) | function showTofuWarning(result) { function acceptNewFingerprint (line 392) | function acceptNewFingerprint(newFingerprint) { function computeFingerprint (line 412) | async function computeFingerprint(data) { function formatFingerprint (line 423) | function formatFingerprint(bytes) { function handleUnlockClick (line 432) | async function handleUnlockClick(event) { function togglePasswordVisibility (line 470) | function togglePasswordVisibility() { function toggleFingerprintTooltip (line 486) | function toggleFingerprintTooltip() { function openQrScanner (line 493) | async function openQrScanner() { function closeQrScanner (line 536) | async function closeQrScanner() { function handleQrSuccess (line 551) | function handleQrSuccess(decodedText) { function handleQrError (line 578) | function handleQrError(error) { function handleWorkerMessage (line 588) | function handleWorkerMessage(event) { function handleWorkerError (line 624) | function handleWorkerError(error) { function handleUnlockSuccess (line 634) | function handleUnlockSuccess(data) { function handleUnlockFailed (line 653) | function handleUnlockFailed(data) { function handleDecryptSuccess (line 668) | async function handleDecryptSuccess(data) { function handleDecryptFailed (line 719) | function handleDecryptFailed(data) { function handleDatabaseReady (line 733) | function handleDatabaseReady(data) { function transitionToApp (line 742) | function transitionToApp() { function transitionToAppUnencrypted (line 758) | async function transitionToAppUnencrypted() { function loadUnencryptedDatabase (line 780) | async function loadUnencryptedDatabase() { function getUnencryptedPayloadPath (line 800) | function getUnencryptedPayloadPath() { function lockArchive (line 811) | function lockArchive() { function checkExistingSession (line 833) | function checkExistingSession() { function getPreferredSessionMode (line 840) | function getPreferredSessionMode() { function getSessionStorage (line 856) | function getSessionStorage(mode) { function persistSession (line 870) | function persistSession(dekBase64) { function restoreSession (line 887) | function restoreSession() { function clearStoredSession (line 921) | function clearStoredSession() { function loadViewerModule (line 937) | async function loadViewerModule() { function showError (line 950) | function showError(message) { function hideError (line 961) | function hideError() { function showProgress (line 968) | function showProgress(text) { function updateProgress (line 977) | function updateProgress(phase, percent) { function hideProgress (line 985) | function hideProgress() { function disableForm (line 992) | function disableForm() { function enableForm (line 1001) | function enableForm() { function base64ToBytes (line 1010) | function base64ToBytes(base64) { FILE: tests/e2e/pages_preview/bundle/site/coi-detector.js constant COI_STATE (line 16) | const COI_STATE = { constant SETUP_COMPLETE_KEY (line 24) | const SETUP_COMPLETE_KEY = 'cass-coi-setup-complete'; function isSetupComplete (line 30) | function isSetupComplete() { function markSetupComplete (line 41) | function markSetupComplete() { function clearSetupComplete (line 52) | function clearSetupComplete() { function isCrossOriginIsolated (line 64) | function isCrossOriginIsolated() { function isServiceWorkerActive (line 72) | async function isServiceWorkerActive() { function isServiceWorkerSupported (line 87) | function isServiceWorkerSupported() { function isSharedArrayBufferAvailable (line 95) | function isSharedArrayBufferAvailable() { function getCOIState (line 108) | async function getCOIState() { function getArgon2Config (line 139) | function getArgon2Config() { function showInstallingUI (line 159) | function showInstallingUI(container) { function updateProgressStep (line 188) | function updateProgressStep(stepId, status) { function showReloadRequiredUI (line 219) | function showReloadRequiredUI(container, options = {}) { function showDegradedModeWarning (line 340) | function showDegradedModeWarning() { function hideStatusUI (line 366) | function hideStatusUI(container) { function initCOIDetection (line 381) | async function initCOIDetection({ function onServiceWorkerActivated (line 489) | function onServiceWorkerActivated(callback) { FILE: tests/e2e/pages_preview/bundle/site/conversation.js constant VIRTUAL_CONFIG (line 13) | const VIRTUAL_CONFIG = { constant MEMORY_CONFIG (line 20) | const MEMORY_CONFIG = { constant SANITIZE_CONFIG (line 31) | const SANITIZE_CONFIG = { function initConversationViewer (line 61) | function initConversationViewer(container, backCallback) { function loadConversation (line 71) | async function loadConversation(conversationId, highlightMessageId = nul... function render (line 120) | function render(conv, messages, highlightId) { function renderVirtualMessages (line 187) | function renderVirtualMessages(messages, highlightId) { function renderDirectMessages (line 219) | function renderDirectMessages(messages, highlightId) { function createMessageElement (line 231) | function createMessageElement(message, index, isHighlighted = false) { function highlightCodeInElement (line 269) | function highlightCodeInElement(element) { function destroyVirtualList (line 290) | function destroyVirtualList() { function renderMessage (line 300) | function renderMessage(message, index, isHighlighted = false) { function setupEventListeners (line 331) | function setupEventListeners() { function renderMarkdown (line 360) | function renderMarkdown(content) { function simpleMarkdown (line 380) | function simpleMarkdown(text) { function sanitizeHtml (line 427) | function sanitizeHtml(html) { function applySyntaxHighlighting (line 457) | function applySyntaxHighlighting() { function scrollToMessage (line 478) | function scrollToMessage(messageId) { function copyConversation (line 494) | async function copyConversation() { function formatConversationAsText (line 511) | function formatConversationAsText(conv, messages) { function showCopyFeedback (line 538) | function showCopyFeedback(message) { function showError (line 552) | function showError(message) { function formatAgentName (line 577) | function formatAgentName(agent) { function formatDate (line 585) | function formatDate(timestamp) { function formatTime (line 602) | function formatTime(timestamp) { function formatDuration (line 615) | function formatDuration(ms) { function escapeHtml (line 634) | function escapeHtml(text) { function getCurrentConversationId (line 644) | function getCurrentConversationId() { function getCurrentConversation (line 651) | function getCurrentConversation() { function unloadOldestConversation (line 659) | function unloadOldestConversation() { function clearOldConversations (line 671) | function clearOldConversations(keepCount = 1) { function showMemoryWarning (line 687) | function showMemoryWarning() { function hideMemoryWarning (line 724) | function hideMemoryWarning() { function startMemoryMonitoring (line 734) | function startMemoryMonitoring() { function stopMemoryMonitoring (line 749) | function stopMemoryMonitoring() { function getCacheStats (line 761) | function getCacheStats() { function clearViewer (line 775) | function clearViewer() { function clearAllCache (line 787) | function clearAllCache() { FILE: tests/e2e/pages_preview/bundle/site/crypto_worker.js function handleUnlockPassword (line 51) | async function handleUnlockPassword(password, cfg) { function handleUnlockRecovery (line 89) | async function handleUnlockRecovery(recoverySecret, cfg) { function deriveKekFromPassword (line 140) | async function deriveKekFromPassword(password, slot) { function deriveKekFromRecovery (line 165) | async function deriveKekFromRecovery(secretBytes, slot) { function unwrapDek (line 196) | async function unwrapDek(kek, slot, exportId) { function handleDecryptDatabase (line 232) | async function handleDecryptDatabase(dekBase64, cfg, opfsEnabled) { function validateSupportedPayloadFormat (line 326) | function validateSupportedPayloadFormat(cfg) { function deriveChunkNonce (line 366) | function deriveChunkNonce(baseNonce, counter) { function buildChunkAad (line 384) | function buildChunkAad(exportId, chunkIndex) { function concatenateChunks (line 402) | function concatenateChunks(chunks) { function decompressDeflate (line 418) | async function decompressDeflate(compressed) { function initDatabase (line 451) | async function initDatabase(dbBytes, opfsEnabled) { function getConversationCount (line 500) | function getConversationCount(db) { function getMessageCount (line 512) | function getMessageCount(db) { function clearKeys (line 524) | function clearKeys() { function loadArgon2 (line 546) | async function loadArgon2() { function loadFflate (line 557) | async function loadFflate() { function loadSqlite (line 568) | async function loadSqlite() { function base64ToArray (line 579) | function base64ToArray(base64) { function arrayToBase64 (line 591) | function arrayToBase64(bytes) { FILE: tests/e2e/pages_preview/bundle/site/database.js constant CANONICAL_SEARCH_TABLES (line 14) | const CANONICAL_SEARCH_TABLES = Object.freeze({ constant FALLBACK_SEARCH_TABLES (line 18) | const FALLBACK_SEARCH_TABLES = Object.freeze({ function initDatabase (line 29) | async function initDatabase(dbBytes) { function loadSqliteWasm (line 73) | async function loadSqliteWasm() { function writeBytesToOPFS (line 87) | async function writeBytesToOPFS(bytes) { function withQuery (line 104) | function withQuery(sql, params = [], callback) { function queryAll (line 126) | function queryAll(sql, params = []) { function queryOne (line 142) | function queryOne(sql, params = []) { function queryValue (line 154) | function queryValue(sql, params = []) { function execute (line 166) | function execute(sql, params = []) { function tableExists (line 175) | function tableExists(name) { function canQueryFtsTable (line 184) | function canQueryFtsTable(name) { function areSearchTablesQueryable (line 198) | function areSearchTablesQueryable(tables) { function rebuildSearchTables (line 202) | function rebuildSearchTables(tables, dropExisting = false) { function ensureSearchIndexes (line 230) | function ensureSearchIndexes() { function getExportMeta (line 260) | function getExportMeta() { function getStatistics (line 273) | function getStatistics() { function getRecentConversations (line 287) | function getRecentConversations(limit = 50) { function getConversation (line 301) | function getConversation(convId) { function getConversationMessages (line 314) | function getConversationMessages(convId) { function isCodeQuery (line 348) | function isCodeQuery(query) { function escapeFts5Query (line 407) | function escapeFts5Query(query) { function searchConversations (line 429) | function searchConversations(query, options = {}) { function getConversationsByAgent (line 493) | function getConversationsByAgent(agent, limit = 50) { function getConversationsByWorkspace (line 509) | function getConversationsByWorkspace(workspace, limit = 50) { function getConversationsByTimeRange (line 526) | function getConversationsByTimeRange(since, until, limit = 50) { function getMemoryUsage (line 544) | function getMemoryUsage() { function checkMemoryPressure (line 563) | function checkMemoryPressure() { function closeDatabase (line 575) | function closeDatabase() { function isDatabaseReady (line 589) | function isDatabaseReady() { function detectSearchMode (line 600) | function detectSearchMode(query) { FILE: tests/e2e/pages_preview/bundle/site/search.js constant SEARCH_CONFIG (line 19) | const SEARCH_CONFIG = { function initSearch (line 64) | function initSearch(container, onSelect) { function renderSearchUI (line 87) | function renderSearchUI() { function cacheElements (line 157) | function cacheElements() { function setupEventListeners (line 173) | function setupEventListeners() { function populateFilters (line 309) | async function populateFilters() { function setSearchMode (line 331) | function setSearchMode(mode) { function updateSearchModeIndicator (line 347) | function updateSearchModeIndicator(query) { function updateTimeFilter (line 378) | function updateTimeFilter(value) { function handleSearch (line 408) | async function handleSearch(query) { function performSearch (line 433) | async function performSearch() { function loadRecentConversations (line 463) | async function loadRecentConversations() { function renderResults (line 504) | function renderResults() { function renderVirtualResults (line 526) | function renderVirtualResults() { function renderDirectResults (line 552) | function renderDirectResults() { function sanitizeSnippet (line 568) | function sanitizeSnippet(html) { function createResultCard (line 593) | function createResultCard(result, index) { function createResultCardHtml (line 634) | function createResultCardHtml(result) { function destroyVirtualList (line 666) | function destroyVirtualList() { function updateResultCount (line 676) | function updateResultCount() { function announceToScreenReader (line 699) | function announceToScreenReader(message) { function showLoading (line 714) | function showLoading() { function hideLoading (line 722) | function hideLoading() { function showNoResults (line 730) | function showNoResults() { function hideNoResults (line 739) | function hideNoResults() { function showError (line 746) | function showError(message) { function formatAgentName (line 759) | function formatAgentName(agent) { function formatWorkspace (line 769) | function formatWorkspace(workspace) { function formatTime (line 782) | function formatTime(timestamp) { function escapeHtml (line 818) | function escapeHtml(text) { function setSearchQuery (line 829) | async function setSearchQuery(query, options = {}) { function clearSearch (line 850) | function clearSearch() { function getSearchState (line 884) | function getSearchState() { FILE: tests/e2e/pages_preview/bundle/site/session.js constant SESSION_CONFIG (line 9) | const SESSION_CONFIG = { class MemoryStorage (line 33) | class MemoryStorage { method constructor (line 34) | constructor() { method getItem (line 38) | getItem(key) { method setItem (line 42) | setItem(key, value) { method removeItem (line 46) | removeItem(key) { method clear (line 50) | clear() { class SessionManager (line 60) | class SessionManager { method constructor (line 61) | constructor(options = {}) { method startSession (line 83) | async startSession(dek, rememberMe = false) { method restoreSession (line 110) | async restoreSession() { method endSession (line 147) | endSession() { method extendSession (line 177) | extendSession(additionalMs = null) { method getDek (line 204) | getDek() { method isActive (line 212) | isActive() { method getRemainingTime (line 220) | getRemainingTime() { method setTimers (line 231) | setTimers(expiry) { method clearTimers (line 256) | clearTimers() { method getStorage (line 270) | getStorage() { method clearStorage (line 285) | clearStorage() { method generateSessionKey (line 294) | generateSessionKey() { method encryptDekForStorage (line 301) | async encryptDekForStorage(dek, sessionKey) { method decryptDekFromStorage (line 326) | async decryptDekFromStorage(token, sessionKey) { method setupCleanupHandlers (line 350) | setupCleanupHandlers() { method removeCleanupHandlers (line 358) | removeCleanupHandlers() { method handleVisibilityChange (line 366) | handleVisibilityChange() { method handleBeforeUnload (line 384) | handleBeforeUnload() { class ActivityMonitor (line 397) | class ActivityMonitor { method constructor (line 398) | constructor(sessionManager, options = {}) { method start (line 411) | start() { method stop (line 426) | stop() { method onActivity (line 441) | onActivity() { method getIdleTime (line 456) | getIdleTime() { function createSessionManager (line 464) | function createSessionManager(options = {}) { FILE: tests/e2e/pages_preview/bundle/site/settings.js function getEffectiveStorageMode (line 34) | function getEffectiveStorageMode() { function initSettings (line 48) | function initSettings(container, options = {}) { function render (line 59) | async function render() { function setupEventHandlers (line 267) | function setupEventHandlers() { function handleStorageModeChange (line 345) | async function handleStorageModeChange(e) { function handleOPFSToggle (line 380) | async function handleOPFSToggle(e) { function handleClearCurrentStorage (line 421) | async function handleClearCurrentStorage() { function handleClearOPFS (line 440) | async function handleClearOPFS() { function handleClearSWCache (line 461) | async function handleClearSWCache() { function handleClearAll (line 481) | async function handleClearAll() { function handleLockSession (line 509) | function handleLockSession() { function handleResetSession (line 527) | async function handleResetSession() { function applyTheme (line 563) | function applyTheme(theme) { function showNotification (line 576) | function showNotification(message, type = 'info') { FILE: tests/e2e/pages_preview/bundle/site/sw-register.js function registerServiceWorker (line 15) | async function registerServiceWorker() { function hasSharedArrayBuffer (line 54) | function hasSharedArrayBuffer() { function setupUpdateListener (line 66) | function setupUpdateListener(reg) { function showUpdateNotification (line 97) | function showUpdateNotification() { function applyUpdate (line 163) | function applyUpdate() { function isUpdateAvailable (line 176) | function isUpdateAvailable() { function getRegistration (line 184) | function getRegistration() { function unregisterServiceWorker (line 191) | async function unregisterServiceWorker() { function clearCache (line 202) | async function clearCache() { function getVersion (line 221) | async function getVersion() { method isSupported (line 239) | get isSupported() { method isRegistered (line 242) | get isRegistered() { method isActive (line 245) | get isActive() { method hasSharedArrayBuffer (line 248) | get hasSharedArrayBuffer() { method updateAvailable (line 251) | get updateAvailable() { FILE: tests/e2e/pages_preview/bundle/site/sw.js constant CACHE_NAME (line 8) | const CACHE_NAME = 'cass-archive-v1'; constant STATIC_ASSETS (line 9) | const STATIC_ASSETS = [ constant LOG (line 26) | const LOG = { function log (line 35) | function log(level, ...args) { function handleFetch (line 124) | async function handleFetch(request) { function addSecurityHeaders (line 181) | function addSecurityHeaders(response) { FILE: tests/e2e/pages_preview/bundle/site/viewer.js function init (line 54) | function init() { function handleDatabaseReady (line 80) | function handleDatabaseReady(event) { function initializeViews (line 89) | function initializeViews() { function createViewContainers (line 136) | function createViewContainers() { function setupNavLinks (line 171) | function setupNavLinks() { function updateActiveNavLink (line 184) | function updateActiveNavLink(activeView) { function handleRouteChange (line 198) | function handleRouteChange(route) { function handleSearchRoute (line 230) | function handleSearchRoute(query = {}) { function handleConversationRoute (line 258) | function handleConversationRoute(conversationId, messageId = null) { function handleSettingsRoute (line 286) | function handleSettingsRoute() { function handleStatsRoute (line 309) | function handleStatsRoute() { function handleNotFoundRoute (line 332) | function handleNotFoundRoute(path) { function showViewContainer (line 353) | function showViewContainer(viewName) { function displayStats (line 385) | function displayStats() { function renderSettingsPanel (line 415) | function renderSettingsPanel() { function applyTheme (line 433) | function applyTheme(theme) { function applyStoredTheme (line 443) | function applyStoredTheme() { function renderStatsPanel (line 456) | function renderStatsPanel() { function renderNotFoundPanel (line 464) | function renderNotFoundPanel(path) { function handleResultSelect (line 480) | function handleResultSelect(conversationId, messageId = null) { function handleBackToSearch (line 490) | function handleBackToSearch() { function handleSessionReset (line 499) | function handleSessionReset(action) { function navigateToConversation (line 509) | function navigateToConversation(conversationId, messageId = null) { function navigateToSearch (line 518) | function navigateToSearch(query = null) { function getCurrentShareLink (line 527) | function getCurrentShareLink() { function copyCurrentLink (line 537) | async function copyCurrentLink() { function shareCurrentConversation (line 553) | async function shareCurrentConversation() { function showNotification (line 566) | function showNotification(message, type = 'info') { function formatAgentName (line 595) | function formatAgentName(agent) { function formatDate (line 604) | function formatDate(timestamp) { function escapeHtml (line 620) | function escapeHtml(text) { function cleanup (line 630) | function cleanup() { function getState (line 646) | function getState() { function getViewerRouter (line 653) | function getViewerRouter() { FILE: tests/e2e/pages_preview/bundle/site/virtual-list.js class VirtualList (line 22) | class VirtualList { method constructor (line 33) | constructor({ container, itemHeight, totalCount, renderItem, overscan ... method _init (line 60) | _init() { method _createThrottledHandler (line 92) | _createThrottledHandler(fn, wait) { method _onResize (line 109) | _onResize() { method _onScroll (line 118) | _onScroll() { method _isNearEnd (line 132) | _isNearEnd() { method _getVisibleRange (line 142) | _getVisibleRange() { method _render (line 156) | _render() { method updateTotalCount (line 204) | updateTotalCount(newCount) { method scrollToIndex (line 218) | scrollToIndex(index, align = 'start') { method refresh (line 233) | refresh() { method getVisibleRange (line 247) | getVisibleRange() { method getMetrics (line 255) | getMetrics() { method destroy (line 262) | destroy() { class VariableHeightVirtualList (line 301) | class VariableHeightVirtualList { method constructor (line 311) | constructor({ container, totalCount, estimatedItemHeight, renderItem, ... method _init (line 336) | _init() { method _calculatePositions (line 373) | _calculatePositions() { method _updateTotalHeight (line 387) | _updateTotalHeight() { method _getItemHeight (line 396) | _getItemHeight(index) { method _getItemPosition (line 404) | _getItemPosition(index) { method _findIndexAtPosition (line 412) | _findIndexAtPosition(scrollTop) { method _onResize (line 432) | _onResize() { method _onScroll (line 441) | _onScroll() { method _getVisibleRange (line 450) | _getVisibleRange() { method _render (line 463) | _render() { method _measureItem (line 511) | _measureItem(index, element) { method scrollToIndex (line 540) | scrollToIndex(index, align = 'start') { method updateTotalCount (line 557) | updateTotalCount(newCount) { method refresh (line 568) | refresh() { method destroy (line 580) | destroy() { FILE: tests/e2e/reporters/jsonl-reporter.ts type E2eEnvironment (line 27) | interface E2eEnvironment { type E2eTestInfo (line 38) | interface E2eTestInfo { type E2eTestResult (line 45) | interface E2eTestResult { type E2ePhase (line 51) | interface E2ePhase { type E2eError (line 56) | interface E2eError { type E2eMetrics (line 62) | interface E2eMetrics { type E2eRunSummary (line 69) | interface E2eRunSummary { type E2eEvent (line 78) | type E2eEvent = function nowIso (line 87) | function nowIso(): string { function timestampId (line 91) | function timestampId(): string { function randomSuffix (line 97) | function randomSuffix(): string { function execOrNull (line 101) | function execOrNull(cmd: string): string | null { function slugify (line 109) | function slugify(value: string): string { function captureEnvironment (line 117) | function captureEnvironment(): E2eEnvironment { function testStatusToE2e (line 130) | function testStatusToE2e(status: TestResult['status']): string { class JsonlReporter (line 145) | class JsonlReporter implements Reporter { method constructor (line 153) | constructor() { method writeEvent (line 164) | private writeEvent(eventData: E2eEvent): void { method getTestInfo (line 177) | private getTestInfo(test: TestCase): E2eTestInfo { method onBegin (line 201) | onBegin(config: FullConfig, _suite: Suite): void { method onTestBegin (line 220) | onTestBegin(test: TestCase, _result: TestResult): void { method onTestEnd (line 227) | onTestEnd(test: TestCase, result: TestResult): void { method emitMetricsFromAttachments (line 272) | private emitMetricsFromAttachments(test: TestCase, result: TestResult)... method onStepBegin (line 321) | onStepBegin(test: TestCase, _result: TestResult, step: TestStep): void { method onStepEnd (line 334) | onStepEnd(test: TestCase, _result: TestResult, step: TestStep): void { method onEnd (line 350) | onEnd(result: FullResult): void { FILE: tests/e2e/setup/global-setup.ts function globalSetup (line 13) | async function globalSetup() { function waitForUrl (line 323) | async function waitForUrl(url: string, timeoutMs: number): Promise { function globalTeardown (line 27) | async function globalTeardown() { FILE: tests/e2e/setup/test-utils.ts type ConsoleEntry (line 25) | type ConsoleEntry = { type PageErrorEntry (line 32) | type PageErrorEntry = { type RequestFailureEntry (line 39) | type RequestFailureEntry = { function nowIso (line 47) | function nowIso(): string { function readJsonIfExists (line 51) | function readJsonIfExists(filePath?: string): unknown | null { function shouldAttachLogs (line 62) | function shouldAttachLogs(status: string | undefined, expected: string |... type TestFixtures (line 70) | interface TestFixtures { function gotoFile (line 229) | async function gotoFile(page: Page, filePath: string): Promise { function collectConsoleErrors (line 236) | async function collectConsoleErrors(page: Page): Promise { function waitForPageReady (line 250) | async function waitForPageReady(page: Page): Promise { function countMessages (line 278) | async function countMessages(page: Page): Promise { function getCurrentTheme (line 285) | async function getCurrentTheme(page: Page): Promise { FILE: tests/e2e_cli_flows.rs function make_codex_session (line 32) | fn make_codex_session(root: &std::path::Path, content: &str, ts: u64) { function make_claude_session (line 46) | fn make_claude_session(root: &std::path::Path, project: &str, content: &... function base_cmd (line 58) | fn base_cmd() -> Command { function tracker_for (line 64) | fn tracker_for(test_name: &str) -> PhaseTracker { function setup_indexed_env (line 69) | fn setup_indexed_env() -> (TempDir, std::path::PathBuf) { function search_with_trace_file_creates_trace (line 123) | fn search_with_trace_file_creates_trace() { function search_basic_returns_valid_json (line 153) | fn search_basic_returns_valid_json() { function search_returns_hits_with_expected_fields (line 196) | fn search_returns_hits_with_expected_fields() { function view_command_returns_session_detail (line 256) | fn view_command_returns_session_detail() { function expand_command_with_context (line 302) | fn expand_command_with_context() { function search_filter_by_agent (line 342) | fn search_filter_by_agent() { function search_filter_by_days (line 384) | fn search_filter_by_days() { function search_combined_filters (line 412) | fn search_combined_filters() { function search_with_workspace_filter (line 449) | fn search_with_workspace_filter() { function trace_output_contains_operation_markers (line 477) | fn trace_output_contains_operation_markers() { function verbose_mode_increases_logging (line 505) | fn verbose_mode_increases_logging() { function robot_mode_suppresses_ansi (line 531) | fn robot_mode_suppresses_ansi() { function robot_mode_json_output_only (line 559) | fn robot_mode_json_output_only() { function health_command_returns_structured_output (line 585) | fn health_command_returns_structured_output() { function stats_command_returns_aggregations (line 620) | fn stats_command_returns_aggregations() { function capabilities_command_lists_features (line 659) | fn capabilities_command_lists_features() { function search_no_index_handles_gracefully (line 687) | fn search_no_index_handles_gracefully() { function truly_invalid_command_returns_error (line 713) | fn truly_invalid_command_returns_error() { function view_nonexistent_file_handles_gracefully (line 733) | fn view_nonexistent_file_handles_gracefully() { function index_incremental_processes_file_changes (line 768) | fn index_incremental_processes_file_changes() { function search_semantic_mode (line 874) | fn search_semantic_mode() { function search_hybrid_mode (line 932) | fn search_hybrid_mode() { function search_lexical_mode_explicit (line 988) | fn search_lexical_mode_explicit() { function diag_command_returns_diagnostic_info (line 1042) | fn diag_command_returns_diagnostic_info() { function status_command_returns_index_status (line 1086) | fn status_command_returns_index_status() { function search_across_multiple_agents (line 1135) | fn search_across_multiple_agents() { FILE: tests/e2e_deploy.rs constant TEST_REPO_NAME (line 35) | const TEST_REPO_NAME: &str = "cass-archive-test"; function tracker_for (line 41) | fn tracker_for(test_name: &str) -> PhaseTracker { function create_local_bare_repo (line 50) | fn create_local_bare_repo(temp_dir: &Path, name: &str) -> Result { function create_test_bundle (line 66) | fn create_test_bundle(temp_dir: &Path) -> Result { function clone_local_repo (line 103) | fn clone_local_repo(bare_repo: &Path, work_dir: &Path) -> Result<()> { function create_and_push_orphan (line 122) | fn create_and_push_orphan(work_dir: &Path, branch_name: &str, bundle_dir... function copy_dir_recursive (line 211) | fn copy_dir_recursive(src: &Path, dst: &Path) -> Result<()> { function e2e_github_prerequisites_validation (line 231) | fn e2e_github_prerequisites_validation() { function e2e_github_size_check (line 308) | fn e2e_github_size_check() -> Result<()> { function e2e_local_git_orphan_branch_workflow (line 347) | fn e2e_local_git_orphan_branch_workflow() -> Result<()> { function e2e_local_git_bundle_copy_integrity (line 421) | fn e2e_local_git_bundle_copy_integrity() -> Result<()> { function e2e_cloudflare_prerequisites_validation (line 496) | fn e2e_cloudflare_prerequisites_validation() { function e2e_cloudflare_headers_generation (line 571) | fn e2e_cloudflare_headers_generation() -> Result<()> { function e2e_cloudflare_redirects_generation (line 639) | fn e2e_cloudflare_redirects_generation() -> Result<()> { function e2e_full_deploy_bundle_preparation (line 682) | fn e2e_full_deploy_bundle_preparation() -> Result<()> { function e2e_deploy_error_paths (line 751) | fn e2e_deploy_error_paths() -> Result<()> { FILE: tests/e2e_error_recovery.rs function tracker_for (line 37) | fn tracker_for(test_name: &str) -> PhaseTracker { function create_test_database (line 46) | fn create_test_database(db_path: &Path, conversation_count: usize) -> an... function create_connector_fixtures (line 78) | fn create_connector_fixtures(dir: &Path, session_count: usize) -> anyhow... function corrupt_database (line 105) | fn corrupt_database(db_path: &Path) -> anyhow::Result<()> { function truncate_file (line 123) | fn truncate_file(path: &Path, keep_bytes: u64) -> anyhow::Result<()> { function test_corrupted_database_detection (line 135) | fn test_corrupted_database_detection() { function test_corrupted_database_fresh_creation (line 194) | fn test_corrupted_database_fresh_creation() { function test_corrupted_index_triggers_rebuild (line 247) | fn test_corrupted_index_triggers_rebuild() { function test_export_handles_missing_source (line 346) | fn test_export_handles_missing_source() { function test_export_no_partial_on_interrupt (line 419) | fn test_export_no_partial_on_interrupt() { function test_truncated_archive_detection (line 480) | fn test_truncated_archive_detection() { function test_wrong_password_clear_error (line 562) | fn test_wrong_password_clear_error() { function test_permission_denied_export_directory (line 634) | fn test_permission_denied_export_directory() { function test_database_lock_timeout (line 722) | fn test_database_lock_timeout() { function test_wal_recovery (line 770) | fn test_wal_recovery() { function test_phase_tracker_creation (line 849) | fn test_phase_tracker_creation() { function test_create_test_database_helper (line 858) | fn test_create_test_database_helper() { function test_corrupt_database_helper (line 871) | fn test_corrupt_database_helper() { function test_truncate_file_helper (line 887) | fn test_truncate_file_helper() { FILE: tests/e2e_filters.rs function tracker_for (line 17) | fn tracker_for(test_name: &str) -> PhaseTracker { function make_codex_session_at (line 23) | fn make_codex_session_at( function make_claude_session_at (line 42) | fn make_claude_session_at(claude_home: &Path, project_name: &str, conten... function filter_by_agent_codex (line 55) | fn filter_by_agent_codex() { function filter_by_time_since (line 152) | fn filter_by_time_since() { function filter_by_time_until (line 255) | fn filter_by_time_until() { function filter_by_time_range (line 358) | fn filter_by_time_range() { function filter_combined_agent_and_time (line 483) | fn filter_combined_agent_and_time() { function filter_no_matches (line 612) | fn filter_no_matches() { function filter_by_workspace (line 699) | fn filter_by_workspace() { function filter_by_days (line 812) | fn filter_by_days() { function filter_by_source_local (line 917) | fn filter_by_source_local() { function filter_by_source_specific_name (line 1009) | fn filter_by_source_specific_name() { function filter_by_source_nonexistent (line 1091) | fn filter_by_source_nonexistent() { function filter_by_source_remote_empty (line 1167) | fn filter_by_source_remote_empty() { function filter_by_source_all_explicit (line 1240) | fn filter_by_source_all_explicit() { function filter_by_source_remote_returns_empty_without_remote_indexing (line 1306) | fn filter_by_source_remote_returns_empty_without_remote_indexing() { function filter_by_source_specific_unindexed_source (line 1379) | fn filter_by_source_specific_unindexed_source() { function timeline_source_local (line 1459) | fn timeline_source_local() { function timeline_source_remote_empty (line 1524) | fn timeline_source_remote_empty() { function timeline_source_specific (line 1593) | fn timeline_source_specific() { function stats_source_local (line 1666) | fn stats_source_local() { function stats_source_remote_empty (line 1738) | fn stats_source_remote_empty() { function stats_by_source_grouping (line 1807) | fn stats_by_source_grouping() { function stats_by_source_with_filter (line 1878) | fn stats_by_source_with_filter() { FILE: tests/e2e_full_integration.rs function create_codex_session (line 27) | fn create_codex_session(root: &Path, date_path: &str, filename: &str, co... function create_claude_session (line 41) | fn create_claude_session(root: &Path, project: &str, filename: &str, con... function count_messages (line 53) | fn count_messages(db_path: &Path) -> i64 { function count_conversations (line 62) | fn count_conversations(db_path: &Path) -> i64 { function count_agents (line 73) | fn count_agents(db_path: &Path) -> i64 { function parse_search_hits (line 83) | fn parse_search_hits(output: &[u8]) -> Vec { function e2e_multi_agent_index_and_search (line 104) | fn e2e_multi_agent_index_and_search() { function e2e_robot_mode_json_structure (line 287) | fn e2e_robot_mode_json_structure() { function e2e_database_integrity (line 366) | fn e2e_database_integrity() { function e2e_stats_after_index (line 491) | fn e2e_stats_after_index() { function e2e_diag_after_index (line 559) | fn e2e_diag_after_index() { FILE: tests/e2e_health.rs constant LARGE_HEALTH_DB_CONVERSATIONS (line 15) | const LARGE_HEALTH_DB_CONVERSATIONS: i64 = 2_000; constant LARGE_HEALTH_DB_MESSAGES (line 16) | const LARGE_HEALTH_DB_MESSAGES: i64 = LARGE_HEALTH_DB_CONVERSATIONS * 2; constant LARGE_HEALTH_DB_INSERT_CHUNK (line 17) | const LARGE_HEALTH_DB_INSERT_CHUNK: i64 = 250; constant HEALTH_LATENCY_WARMUP_RUNS (line 18) | const HEALTH_LATENCY_WARMUP_RUNS: usize = 3; constant HEALTH_LATENCY_MEASURED_RUNS (line 19) | const HEALTH_LATENCY_MEASURED_RUNS: usize = 9; function seed_active_rebuild_runtime (line 21) | fn seed_active_rebuild_runtime(data_dir: &Path) -> std::fs::File { function health_json_surfaces_runtime_queue_and_byte_budget_headroom (line 102) | fn health_json_surfaces_runtime_queue_and_byte_budget_headroom() { function status_recommended_action_during_active_rebuild_says_wait_not_reindex (line 207) | fn status_recommended_action_during_active_rebuild_says_wait_not_reindex... function health_recommended_action_during_active_rebuild_says_wait_not_reindex (line 296) | fn health_recommended_action_during_active_rebuild_says_wait_not_reindex... function seed_codex_session_cold_start (line 406) | fn seed_codex_session_cold_start(codex_home: &std::path::Path, filename:... function isolated_cass_cmd (line 412) | fn isolated_cass_cmd(home: &Path) -> Command { function seed_large_health_latency_db (line 423) | fn seed_large_health_latency_db(data_dir: &Path) { function health_json_large_seeded_db_p50_stays_under_50ms (line 528) | fn health_json_large_seeded_db_p50_stays_under_50ms() { function cold_start_health_surface_transitions_from_not_initialized_to_lexical_only (line 652) | fn cold_start_health_surface_transitions_from_not_initialized_to_lexical... function cass_status_reaps_stale_index_run_lock_and_reports_not_active (line 878) | fn cass_status_reaps_stale_index_run_lock_and_reports_not_active() { function seed_yc4h7_corpus (line 1003) | fn seed_yc4h7_corpus(codex_home: &Path) { function sigkill_mid_index_run_still_allows_cass_status_and_subsequent_index_to_recover (line 1022) | fn sigkill_mid_index_run_still_allows_cass_status_and_subsequent_index_t... function health_and_status_agree_on_shared_fields_during_active_rebuild (line 1210) | fn health_and_status_agree_on_shared_fields_during_active_rebuild() { FILE: tests/e2e_index_tui.rs function truncate_output (line 9) | fn truncate_output(bytes: &[u8], max_len: usize) -> String { function tracker_for (line 22) | fn tracker_for(test_name: &str) -> PhaseTracker { function make_codex_fixture (line 26) | fn make_codex_fixture(root: &Path) { function index_then_tui_once_headless (line 37) | fn index_then_tui_once_headless() { FILE: tests/e2e_install_easy.rs function should_run_install_tests (line 39) | fn should_run_install_tests() -> bool { function truncate_output (line 55) | fn truncate_output(bytes: &[u8], max_len: usize) -> String { function tracker_for (line 68) | fn tracker_for(test_name: &str) -> PhaseTracker { function fixture (line 72) | fn fixture(name: &str) -> PathBuf { function save_command_artifacts (line 77) | fn save_command_artifacts(tracker: &PhaseTracker, stdout: &[u8], stderr:... function save_binary_checksum (line 92) | fn save_binary_checksum(tracker: &PhaseTracker, binary_path: &std::path:... function sha256_hex (line 105) | fn sha256_hex(data: &[u8]) -> String { function cleanup_stale_install_lock (line 117) | fn cleanup_stale_install_lock() { type InstallFixture (line 144) | struct InstallFixture { method new (line 152) | fn new() -> Self { method artifact_url (line 176) | fn artifact_url(&self) -> String { method binary_path (line 180) | fn binary_path(&self) -> PathBuf { function install_easy_mode_end_to_end (line 192) | fn install_easy_mode_end_to_end() { function install_basic_mode (line 330) | fn install_basic_mode() { function install_quiet_mode (line 408) | fn install_quiet_mode() { function install_checksum_mismatch_fails (line 477) | fn install_checksum_mismatch_fails() { function install_missing_artifact_fails (line 550) | fn install_missing_artifact_fails() { function install_help_flag (line 610) | fn install_help_flag() { function install_lock_prevents_concurrent (line 658) | fn install_lock_prevents_concurrent() { function install_creates_expected_artifacts (line 736) | fn install_creates_expected_artifacts() { FILE: tests/e2e_jsonl_schema_test.rs function tracker_for (line 13) | fn tracker_for(test_name: &str) -> PhaseTracker { constant EVENT_SPECIFIC_FIELDS (line 19) | const EVENT_SPECIFIC_FIELDS: &[(&str, &[&str])] = &[ constant COMMON_FIELDS (line 30) | const COMMON_FIELDS: &[&str] = &["ts", "event", "run_id", "runner"]; function is_log_file (line 32) | fn is_log_file(path: &Path) -> bool { function collect_jsonl_logs (line 51) | fn collect_jsonl_logs(root: &Path) -> Vec { function validate_event (line 72) | fn validate_event(json: &Value) -> Result<(), String> { function validate_file_structure (line 137) | fn validate_file_structure(events: &[Value]) -> Vec { function jsonl_files_valid_schema (line 160) | fn jsonl_files_valid_schema() { function jsonl_timestamps_are_rfc3339 (line 258) | fn jsonl_timestamps_are_rfc3339() { function jsonl_run_ids_consistent_within_file (line 313) | fn jsonl_run_ids_consistent_within_file() { FILE: tests/e2e_large_dataset.rs function run_cass_with_timeout (line 46) | fn run_cass_with_timeout( function tracker_for (line 67) | fn tracker_for(test_name: &str) -> PhaseTracker { function make_codex_session (line 76) | fn make_codex_session(root: &Path, date_path: &str, filename: &str, cont... function make_large_codex_session (line 90) | fn make_large_codex_session(root: &Path, message_count: usize) { function make_many_sessions (line 119) | fn make_many_sessions(root: &Path, session_count: usize, messages_per_se... function count_messages (line 148) | fn count_messages(db_path: &Path) -> i64 { function count_conversations (line 156) | fn count_conversations(db_path: &Path) -> i64 { function index_large_single_session (line 177) | fn index_large_single_session() { function index_many_conversations (line 284) | fn index_many_conversations() { function search_large_result_set (line 365) | fn search_large_result_set() { function memory_bounded_during_index (line 491) | fn memory_bounded_during_index() { function incremental_index_on_large_base (line 571) | fn incremental_index_on_large_base() { FILE: tests/e2e_lexical_fail_open.rs function cass_cmd (line 34) | fn cass_cmd(temp_home: &std::path::Path) -> Command { function seed_codex_session (line 45) | fn seed_codex_session(codex_home: &std::path::Path, filename: &str, keyw... function run_fresh_index (line 51) | fn run_fresh_index(home: &Path, data_dir: &Path) { function lexical_checkpoint (line 65) | fn lexical_checkpoint(data_dir: &Path) -> Value { function semantic_inputs_from_db (line 82) | fn semantic_inputs_from_db(db_path: &Path) -> Vec { function build_hash_semantic_assets (line 115) | fn build_hash_semantic_assets(data_dir: &Path, sharded: bool) { function mark_first_semantic_shard_not_ready (line 187) | fn mark_first_semantic_shard_not_ready(data_dir: &Path) { function run_hybrid_hash_search (line 207) | fn run_hybrid_hash_search(home: &Path, data_dir: &Path, query: &str) -> ... function run_lexical_search (line 241) | fn run_lexical_search(home: &Path, data_dir: &Path, query: &str) -> Value { function explicit_hybrid_mode_fails_open_to_lexical_when_semantic_assets_missing (line 274) | fn explicit_hybrid_mode_fails_open_to_lexical_when_semantic_assets_missi... function hit_keys (line 407) | fn hit_keys(hits: &[Value]) -> Vec<(String, i64)> { function default_hybrid_hit_list_equals_explicit_lexical_when_semantic_absent (line 440) | fn default_hybrid_hit_list_equals_explicit_lexical_when_semantic_absent() { function explicit_hybrid_hit_list_matches_monolithic_when_semantic_shards_are_promoted (line 646) | fn explicit_hybrid_hit_list_matches_monolithic_when_semantic_shards_are_... function explicit_hybrid_fails_open_when_semantic_shard_generation_is_incomplete (line 737) | fn explicit_hybrid_fails_open_when_semantic_shard_generation_is_incomple... FILE: tests/e2e_multi_connector.rs function tracker_for (line 17) | fn tracker_for(test_name: &str) -> PhaseTracker { function truncate_output (line 21) | fn truncate_output(bytes: &[u8], max_len: usize) -> String { function make_codex_fixture (line 34) | fn make_codex_fixture(root: &Path) { function make_claude_fixture (line 45) | fn make_claude_fixture(root: &Path) { function make_gemini_fixture (line 56) | fn make_gemini_fixture(root: &Path) { function make_cline_fixture (line 70) | fn make_cline_fixture(root: &Path) { function make_amp_fixture (line 85) | fn make_amp_fixture(root: &Path) { function multi_connector_pipeline (line 101) | fn multi_connector_pipeline() { function make_codex_session (line 399) | fn make_codex_session( function make_claude_session (line 418) | fn make_claude_session( function multi_connector_codex_and_claude (line 437) | fn multi_connector_codex_and_claude() { function multi_connector_agent_filter_isolation (line 579) | fn multi_connector_agent_filter_isolation() { function multi_connector_unique_content (line 794) | fn multi_connector_unique_content() { function multi_connector_aggregation (line 979) | fn multi_connector_aggregation() { function multi_connector_incremental_index (line 1154) | fn multi_connector_incremental_index() { function multi_connector_multiple_agent_filter (line 1378) | fn multi_connector_multiple_agent_filter() { function multi_connector_empty_connector (line 1527) | fn multi_connector_empty_connector() { FILE: tests/e2e_pages.rs constant TEST_PASSWORD (line 49) | const TEST_PASSWORD: &str = "test-password-123!"; constant TEST_RECOVERY_SECRET (line 50) | const TEST_RECOVERY_SECRET: &[u8] = b"recovery-secret-32bytes-padding!"; constant CHUNK_SIZE (line 51) | const CHUNK_SIZE: usize = 1024 * 1024; function tracker_for (line 57) | fn tracker_for(test_name: &str) -> PhaseTracker { function pages_wizard_guard (line 63) | fn pages_wizard_guard() -> std::sync::MutexGuard<'static, ()> { function cass_bin_path (line 70) | fn cass_bin_path() -> &'static str { function spawn_capture_thread (line 74) | fn spawn_capture_thread( function wait_for_output_growth (line 95) | fn wait_for_output_growth( function wait_for_output_contains (line 116) | fn wait_for_output_contains( function wait_for_output_stable (line 137) | fn wait_for_output_stable(captured: &Arc>>, stable_for: Du... function send_key_sequence (line 154) | fn send_key_sequence(writer: &mut (dyn Write + Send), bytes: &[u8]) { function send_line_and_wait (line 159) | fn send_line_and_wait( function send_confirm_yes_and_wait (line 175) | fn send_confirm_yes_and_wait( function wait_for_prompt (line 188) | fn wait_for_prompt(captured: &Arc>>, prompt: &str) { function pick_unused_local_port (line 207) | fn pick_unused_local_port() -> u16 { function wait_for_port (line 214) | fn wait_for_port(port: u16, timeout: Duration) -> bool { function http_request (line 227) | fn http_request(port: u16, request: &str) -> String { function write_pages_config (line 240) | fn write_pages_config(path: &Path, output_dir: &Path) { function setup_test_db (line 275) | fn setup_test_db(data_dir: &Path, conversation_count: usize) -> std::pat... type PipelineArtifacts (line 321) | struct PipelineArtifacts { function build_full_pipeline (line 327) | fn build_full_pipeline( function test_full_export_pipeline_password_only (line 436) | fn test_full_export_pipeline_password_only() { function test_full_export_pipeline_dual_auth (line 487) | fn test_full_export_pipeline_dual_auth() { function test_integrity_decrypt_roundtrip_password (line 535) | fn test_integrity_decrypt_roundtrip_password() { function test_integrity_decrypt_roundtrip_recovery (line 579) | fn test_integrity_decrypt_roundtrip_recovery() { function test_tampering_fails_authentication (line 636) | fn test_tampering_fails_authentication() { function test_cli_verify_command (line 706) | fn test_cli_verify_command() { function test_cli_pages_full_workflow_end_to_end (line 741) | fn test_cli_pages_full_workflow_end_to_end() { function test_pages_wizard_pty_respects_db_override_and_writes_bundle_root (line 952) | fn test_pages_wizard_pty_respects_db_override_and_writes_bundle_root() { function test_search_in_decrypted_archive (line 1197) | fn test_search_in_decrypted_archive() { function test_summary_generation_multi_agent_fixtures (line 1279) | fn test_summary_generation_multi_agent_fixtures() { function test_summary_with_agent_filter (line 1398) | fn test_summary_with_agent_filter() { function test_summary_with_workspace_exclusions (line 1499) | fn test_summary_with_workspace_exclusions() { function test_export_filter_date_range (line 1623) | fn test_export_filter_date_range() { function test_exclusion_pattern_matching (line 1745) | fn test_exclusion_pattern_matching() { function test_prepublish_summary_render (line 1843) | fn test_prepublish_summary_render() { function test_size_estimation_accuracy (line 1954) | fn test_size_estimation_accuracy() { FILE: tests/e2e_search_index.rs function tracker_for (line 38) | fn tracker_for(test_name: &str) -> PhaseTracker { function codex_iso_timestamp (line 42) | fn codex_iso_timestamp(ts_millis: u64) -> String { function write_jsonl_lines (line 48) | fn write_jsonl_lines(file: &Path, lines: &[serde_json::Value]) { function append_jsonl_lines (line 57) | fn append_jsonl_lines(file: &Path, lines: &[serde_json::Value]) { function make_codex_session (line 73) | fn make_codex_session(root: &Path, date_path: &str, filename: &str, cont... function make_claude_session (line 113) | fn make_claude_session(root: &Path, project: &str, filename: &str, conte... function append_codex_session (line 125) | fn append_codex_session(file: &Path, content: &str, ts: u64) { function make_codex_session_with_turns (line 151) | fn make_codex_session_with_turns( function make_bulk_codex_sessions (line 205) | fn make_bulk_codex_sessions( function count_messages (line 227) | fn count_messages(db_path: &Path) -> i64 { function total_matches_from_search_output (line 235) | fn total_matches_from_search_output(output: &[u8]) -> u64 { function force_federated_publish_env (line 247) | fn force_federated_publish_env(cmd: &mut assert_cmd::Command) { function cass_std_cmd (line 270) | fn cass_std_cmd(home: &Path, codex_home: &Path) -> StdCommand { function lexical_publish_in_progress_backup_path (line 281) | fn lexical_publish_in_progress_backup_path(index_path: &Path) -> std::pa... function lexical_publish_backups_dir (line 290) | fn lexical_publish_backups_dir(index_path: &Path) -> std::path::PathBuf { function wait_for_publish_kill_relaunch_sentinel (line 298) | fn wait_for_publish_kill_relaunch_sentinel(path: &Path, timeout: Duratio... type SearchLoopStats (line 325) | struct SearchLoopStats { function duplicate_fts_schema_rows_do_not_block_cli_reads_and_writes (line 333) | fn duplicate_fts_schema_rows_do_not_block_cli_reads_and_writes() { function concurrent_search_processes_do_not_block_incremental_index_json (line 540) | fn concurrent_search_processes_do_not_block_incremental_index_json() { function force_rebuild_preserves_search_results_and_reader_surface_during_atomic_publish (line 856) | fn force_rebuild_preserves_search_results_and_reader_surface_during_atom... function force_rebuild_preserves_search_results_and_reader_surface_during_federated_atomic_publish (line 1173) | fn force_rebuild_preserves_search_results_and_reader_surface_during_fede... function repeated_force_rebuild_preserves_federated_reader_and_search_stability (line 1525) | fn repeated_force_rebuild_preserves_federated_reader_and_search_stabilit... function force_rebuild_recovers_cleanly_after_sigkill_between_linux_swap_and_retain (line 1744) | fn force_rebuild_recovers_cleanly_after_sigkill_between_linux_swap_and_r... function index_full_creates_artifacts (line 2040) | fn index_full_creates_artifacts() { function incremental_reindex_preserves_and_appends_messages (line 2138) | fn incremental_reindex_preserves_and_appends_messages() { function reindex_does_not_drop_messages_in_db_or_search (line 2308) | fn reindex_does_not_drop_messages_in_db_or_search() { function search_returns_hits_with_match_type (line 2401) | fn search_returns_hits_with_match_type() { function search_aggregations_include_agents (line 2479) | fn search_aggregations_include_agents() { function watch_once_indexes_specified_path (line 2562) | fn watch_once_indexes_specified_path() { function search_with_filters (line 2639) | fn search_with_filters() { function search_returns_pagination_info (line 2707) | fn search_returns_pagination_info() { function force_rebuild_recreates_index (line 2782) | fn force_rebuild_recreates_index() { function index_json_output_mode (line 2905) | fn index_json_output_mode() { function index_help_includes_options (line 2957) | fn index_help_includes_options() { function search_help_includes_options (line 2990) | fn search_help_includes_options() { function search_wildcard_query (line 3012) | fn search_wildcard_query() { function trace_logging_to_file (line 3077) | fn trace_logging_to_file() { function empty_query_returns_recent (line 3117) | fn empty_query_returns_recent() { function large_message_minimal_search_stays_on_the_tantivy_fast_path (line 3186) | fn large_message_minimal_search_stays_on_the_tantivy_fast_path() { function incremental_index_repairs_sparse_tantivy_from_canonical_db_before_scanning_new_files (line 3290) | fn incremental_index_repairs_sparse_tantivy_from_canonical_db_before_sca... FILE: tests/e2e_semantic_backfill_robot.rs type TestResult (line 13) | type TestResult = Result>; function sample_agent (line 15) | fn sample_agent() -> Agent { function sample_conversation (line 25) | fn sample_conversation(external_id: &str, content: &str) -> Conversation { function seed_canonical_db (line 52) | fn seed_canonical_db(db_path: &Path) -> TestResult { function run_robot_backfill (line 68) | fn run_robot_backfill(data_dir: &Path, db_path: &Path) -> TestResult Self { method manifest_json (line 241) | fn manifest_json(&self) -> Value { type LiveRobotArtifact (line 155) | struct LiveRobotArtifact { function env_truthy (line 165) | fn env_truthy(key: &str) -> bool { function env_usize (line 172) | fn env_usize(key: &str, default: usize) -> usize { function env_u64 (line 179) | fn env_u64(key: &str, default: u64) -> u64 { function now_ms (line 186) | fn now_ms() -> u64 { function live_rollout_run_label (line 195) | fn live_rollout_run_label() -> String { function resolve_live_bootstrap_paths (line 199) | fn resolve_live_bootstrap_paths( function write_live_json_artifact (line 266) | fn write_live_json_artifact(path: &Path, payload: &Value) -> TestResult { function run_live_robot_capture (line 272) | fn run_live_robot_capture( function assert_default_hybrid_contract (line 333) | fn assert_default_hybrid_contract( function robot_models_backfill_checkpoints_then_publishes_fast_tier (line 387) | fn robot_models_backfill_checkpoints_then_publishes_fast_tier() -> TestR... function robot_models_backfill_scheduled_yields_to_foreground_pressure (line 463) | fn robot_models_backfill_scheduled_yields_to_foreground_pressure() -> Te... function live_bootstrap_paths_default_under_standard_data_dir (line 496) | fn live_bootstrap_paths_default_under_standard_data_dir() { function live_canonical_bootstrap_captures_repeatable_robot_artifacts (line 514) | fn live_canonical_bootstrap_captures_repeatable_robot_artifacts() -> Tes... FILE: tests/e2e_semantic_search.rs function tracker_for (line 24) | fn tracker_for(test_name: &str) -> PhaseTracker { function make_claude_session (line 30) | fn make_claude_session(root: &Path, project: &str, filename: &str, conte... function make_codex_session (line 42) | fn make_codex_session(root: &Path, date_path: &str, filename: &str, cont... function has_vector_index (line 56) | fn has_vector_index(data_dir: &Path) -> bool { function has_hnsw_index (line 71) | fn has_hnsw_index(data_dir: &Path) -> bool { function semantic_index_builds_vector_file (line 91) | fn semantic_index_builds_vector_file() { function semantic_index_builds_hnsw (line 207) | fn semantic_index_builds_hnsw() { function search_semantic_mode_returns_results (line 283) | fn search_semantic_mode_returns_results() { function search_hybrid_mode_combines_results (line 380) | fn search_hybrid_mode_combines_results() { function search_approximate_uses_hnsw (line 474) | fn search_approximate_uses_hnsw() { function semantic_without_index_reports_error (line 576) | fn semantic_without_index_reports_error() { function approximate_without_hnsw_reports_error (line 658) | fn approximate_without_hnsw_reports_error() { function semantic_search_emits_timing (line 752) | fn semantic_search_emits_timing() { FILE: tests/e2e_sources.rs function tracker_for (line 25) | fn tracker_for(test_name: &str) -> PhaseTracker { function create_sources_config (line 30) | fn create_sources_config(config_dir: &Path, toml_content: &str) { function read_sources_config (line 37) | fn read_sources_config(config_dir: &Path) -> String { function cass_data_dir (line 42) | fn cass_data_dir(data_root: &Path) -> std::path::PathBuf { function seed_archive_conversation (line 46) | fn seed_archive_conversation(db_path: &Path, agent_slug: &str, marker: &... function sources_list_empty (line 103) | fn sources_list_empty() { function sources_list_with_sources (line 147) | fn sources_list_with_sources() { function sources_agents_exclude_and_list_json (line 199) | fn sources_agents_exclude_and_list_json() { function sources_agents_include_removes_existing_exclusion (line 268) | fn sources_agents_include_removes_existing_exclusion() { function sources_agents_exclude_purges_local_archive_data_by_default (line 312) | fn sources_agents_exclude_purges_local_archive_data_by_default() { function sources_list_verbose (line 420) | fn sources_list_verbose() { function sources_list_json (line 488) | fn sources_list_json() { function sources_add_no_test (line 569) | fn sources_add_no_test() { function sources_add_explicit_paths (line 635) | fn sources_add_explicit_paths() { function sources_add_no_paths_error (line 698) | fn sources_add_no_paths_error() { function sources_add_duplicate_error (line 746) | fn sources_add_duplicate_error() { function sources_add_reserved_local_name_error (line 809) | fn sources_add_reserved_local_name_error() { function sources_add_duplicate_error_case_insensitive (line 862) | fn sources_add_duplicate_error_case_insensitive() { function sources_add_invalid_url (line 939) | fn sources_add_invalid_url() { function sources_add_auto_name (line 990) | fn sources_add_auto_name() { function sources_add_auto_name_disambiguates_reserved_local (line 1043) | fn sources_add_auto_name_disambiguates_reserved_local() { function sources_remove_basic (line 1110) | fn sources_remove_basic() { function sources_remove_nonexistent (line 1178) | fn sources_remove_nonexistent() { function sources_remove_with_purge (line 1232) | fn sources_remove_with_purge() { function sources_remove_with_purge_case_insensitive_uses_stored_name (line 1314) | fn sources_remove_with_purge_case_insensitive_uses_stored_name() { function sources_remove_prompt_uses_stored_name_case_insensitive (line 1420) | fn sources_remove_prompt_uses_stored_name_case_insensitive() { function sources_doctor_no_sources (line 1500) | fn sources_doctor_no_sources() { function sources_doctor_json (line 1547) | fn sources_doctor_json() { function sources_doctor_single_source (line 1619) | fn sources_doctor_single_source() { function sources_sync_no_sources (line 1690) | fn sources_sync_no_sources() { function sources_sync_dry_run (line 1741) | fn sources_sync_dry_run() { function sources_sync_single_source (line 1809) | fn sources_sync_single_source() { function sources_sync_json (line 1889) | fn sources_sync_json() { function sources_workflow_add_list_remove (line 1988) | fn sources_workflow_add_list_remove() { function sources_multiple_add_list (line 2088) | fn sources_multiple_add_list() { function mappings_list_empty (line 2172) | fn mappings_list_empty() { function mappings_list_with_mappings (line 2234) | fn mappings_list_with_mappings() { function mappings_list_json (line 2300) | fn mappings_list_json() { function mappings_list_nonexistent_source (line 2368) | fn mappings_list_nonexistent_source() { function mappings_add_basic (line 2428) | fn mappings_add_basic() { function mappings_add_with_agents (line 2492) | fn mappings_add_with_agents() { function mappings_add_multiple (line 2561) | fn mappings_add_multiple() { function mappings_add_nonexistent_source (line 2642) | fn mappings_add_nonexistent_source() { function mappings_remove_by_index (line 2711) | fn mappings_remove_by_index() { function mappings_remove_invalid_index (line 2785) | fn mappings_remove_invalid_index() { function mappings_remove_from_empty (line 2849) | fn mappings_remove_from_empty() { function mappings_test_match (line 2909) | fn mappings_test_match() { function mappings_test_no_match (line 2977) | fn mappings_test_no_match() { function mappings_test_with_agent (line 3052) | fn mappings_test_with_agent() { function mappings_workflow_complete (line 3138) | fn mappings_workflow_complete() { FILE: tests/e2e_ssh_sources.rs type DockerSshServer (line 39) | struct DockerSshServer { method start (line 51) | fn start() -> Result { method ssh_host (line 156) | fn ssh_host(&self) -> String { method port (line 161) | fn port(&self) -> u16 { method key_path (line 166) | fn key_path(&self) -> &Path { method stop (line 171) | fn stop(&self) { method drop (line 181) | fn drop(&mut self) { function find_available_port (line 187) | fn find_available_port() -> Result { function wait_for_ssh (line 198) | fn wait_for_ssh(key_path: &Path, port: u16) -> Result<(), String> { function tracker_for (line 243) | fn tracker_for(test_name: &str) -> PhaseTracker { function docker_available (line 248) | fn docker_available() -> bool { function create_ssh_sources_config (line 259) | fn create_ssh_sources_config( function create_ssh_config (line 296) | fn create_ssh_config(config_dir: &Path, host_alias: &str, port: u16, ide... function ssh_sources_sync_rsync (line 330) | fn ssh_sources_sync_rsync() { function ssh_sources_provenance_tracking (line 436) | fn ssh_sources_provenance_tracking() { function ssh_sources_sync_sftp_fallback (line 555) | fn ssh_sources_sync_sftp_fallback() { function ssh_sources_sync_multiple_paths (line 681) | fn ssh_sources_sync_multiple_paths() { function ssh_sources_path_rewriting (line 789) | fn ssh_sources_path_rewriting() { function ssh_sources_doctor (line 915) | fn ssh_sources_doctor() { function write_test_log (line 996) | fn write_test_log(test_name: &str, filename: &str, content: &str) { function ssh_sources_setup_dry_run (line 1016) | fn ssh_sources_setup_dry_run() { function ssh_sources_mappings_list (line 1102) | fn ssh_sources_mappings_list() { function ssh_sources_full_e2e_flow (line 1195) | fn ssh_sources_full_e2e_flow() { function test_find_available_port (line 1365) | fn test_find_available_port() { function test_write_test_log (line 1371) | fn test_write_test_log() { FILE: tests/e2e_tui_smoke_flows.rs function tui_flow_guard (line 33) | fn tui_flow_guard() -> std::sync::MutexGuard<'static, ()> { function artifact_dir (line 41) | fn artifact_dir() -> PathBuf { function trace_id (line 48) | fn trace_id() -> String { function truncate_output (line 58) | fn truncate_output(bytes: &[u8], max_len: usize) -> String { function strip_terminal_control_sequences (line 72) | fn strip_terminal_control_sequences(bytes: &[u8]) -> String { function rendered_contains_detail_messages_marker (line 129) | fn rendered_contains_detail_messages_marker(rendered: &str) -> bool { function rendered_contains_hello_fixture_detail (line 134) | fn rendered_contains_hello_fixture_detail(rendered: &str) -> bool { function rendered_contains_auth_fixture_result (line 138) | fn rendered_contains_auth_fixture_result(rendered: &str) -> bool { function exported_html_contains_codex_fixture (line 144) | fn exported_html_contains_codex_fixture(rendered: &str) -> bool { function save_artifact (line 151) | fn save_artifact(name: &str, trace: &str, content: &[u8]) -> PathBuf { function tracker_for (line 159) | fn tracker_for(test_name: &str) -> PhaseTracker { constant PTY_STARTUP_TIMEOUT (line 167) | const PTY_STARTUP_TIMEOUT: Duration = Duration::from_secs(8); constant PTY_EXIT_TIMEOUT (line 168) | const PTY_EXIT_TIMEOUT: Duration = Duration::from_secs(20); constant PTY_POLL (line 169) | const PTY_POLL: Duration = Duration::from_millis(40); constant PERF_SEARCH_P95_BUDGET_MS (line 170) | const PERF_SEARCH_P95_BUDGET_MS: u64 = 1_500; constant PERF_TUI_STARTUP_BUDGET_MS (line 171) | const PERF_TUI_STARTUP_BUDGET_MS: u64 = 5_000; constant PERF_TUI_DETAIL_OPEN_BUDGET_MS (line 172) | const PERF_TUI_DETAIL_OPEN_BUDGET_MS: u64 = 5_000; constant PERF_TUI_OUTPUT_BYTES_BUDGET (line 173) | const PERF_TUI_OUTPUT_BYTES_BUDGET: u64 = 600_000; constant PERF_TUI_BYTES_PER_ACTION_BUDGET (line 174) | const PERF_TUI_BYTES_PER_ACTION_BUDGET: u64 = 180_000; type FtuiPtyEnv (line 176) | struct FtuiPtyEnv { function cass_bin_path (line 184) | fn cass_bin_path() -> &'static str { function prepare_ftui_pty_env (line 188) | fn prepare_ftui_pty_env(trace: &str, tracker: &PhaseTracker) -> FtuiPtyE... function apply_ftui_env (line 270) | fn apply_ftui_env(cmd: &mut CommandBuilder, env: &FtuiPtyEnv) { function spawn_reader (line 282) | fn spawn_reader(reader: Box) -> (Arc>>, t... function wait_for_child_exit (line 304) | fn wait_for_child_exit( function wait_for_output_growth (line 327) | fn wait_for_output_growth( function send_key_sequence (line 348) | fn send_key_sequence(writer: &mut (dyn Write + Send), bytes: &[u8]) { function quit_tui_with_escape (line 353) | fn quit_tui_with_escape( function percentile_ms (line 376) | fn percentile_ms(samples: &[u64], percentile: f64) -> u64 { function make_codex_fixture (line 393) | fn make_codex_fixture(root: &Path) -> PathBuf { function make_claude_fixture (line 413) | fn make_claude_fixture(root: &Path, workspace_name: &str) { function tui_pty_launch_quit_and_terminal_cleanup (line 430) | fn tui_pty_launch_quit_and_terminal_cleanup() { function tui_pty_help_overlay_open_close_flow (line 515) | fn tui_pty_help_overlay_open_close_flow() { function tui_pty_search_detail_and_quit_flow (line 618) | fn tui_pty_search_detail_and_quit_flow() { function tui_pty_enter_selected_hit_opens_detail_modal (line 721) | fn tui_pty_enter_selected_hit_opens_detail_modal() { function tui_pty_search_query_with_space_opens_detail_modal (line 837) | fn tui_pty_search_query_with_space_opens_detail_modal() { function tui_pty_detail_modal_shows_markdown_content (line 943) | fn tui_pty_detail_modal_shows_markdown_content() { function tui_pty_performance_guardrails_smoke (line 1058) | fn tui_pty_performance_guardrails_smoke() { function tui_search_flow_with_logging (line 1265) | fn tui_search_flow_with_logging() { function tui_filter_flow_with_logging (line 1448) | fn tui_filter_flow_with_logging() { function tui_export_flow_with_logging (line 1579) | fn tui_export_flow_with_logging() { function tui_empty_dataset_flow_with_logging (line 1770) | fn tui_empty_dataset_flow_with_logging() { function tui_unicode_flow_with_logging (line 1892) | fn tui_unicode_flow_with_logging() { function tui_pty_analytics_navigation_flow (line 2021) | fn tui_pty_analytics_navigation_flow() { function tui_pty_inline_mode_no_altscreen (line 2136) | fn tui_pty_inline_mode_no_altscreen() { function tui_pty_record_macro_creates_file (line 2238) | fn tui_pty_record_macro_creates_file() { function tui_typing_writes_latency_trace (line 2333) | fn tui_typing_writes_latency_trace() { FILE: tests/e2e_two_tier_search.rs type FixtureQualityDaemon (line 25) | struct FixtureQualityDaemon { method new (line 30) | fn new(dimension: usize) -> Self { method id (line 38) | fn id(&self) -> &str { method is_available (line 42) | fn is_available(&self) -> bool { method embed (line 46) | fn embed( method embed_batch (line 57) | fn embed_batch( method rerank (line 68) | fn rerank( type TestDocument (line 85) | struct TestDocument { function create_test_documents (line 94) | fn create_test_documents() -> Vec { function compute_ground_truth_rankings (line 141) | fn compute_ground_truth_rankings( function dot_product (line 165) | fn dot_product(a: &[f32], b: &[f32]) -> f32 { function build_test_index (line 170) | fn build_test_index( function fast_search_matches_ground_truth (line 206) | fn fast_search_matches_ground_truth() { function quality_search_matches_ground_truth (line 267) | fn quality_search_matches_ground_truth() { function two_tier_progressive_search_correctness (line 313) | fn two_tier_progressive_search_correctness() { function fast_only_mode_skips_refinement (line 423) | fn fast_only_mode_skips_refinement() { function refinement_degrades_gracefully_without_daemon (line 461) | fn refinement_degrades_gracefully_without_daemon() { function fast_search_latency_under_budget (line 498) | fn fast_search_latency_under_budget() { function quality_search_latency_under_budget (line 546) | fn quality_search_latency_under_budget() { function progressive_search_timing (line 594) | fn progressive_search_timing() { function score_normalization_correctness (line 662) | fn score_normalization_correctness() { function score_blending_correctness (line 706) | fn score_blending_correctness() { function quality_weight_affects_ranking (line 740) | fn quality_weight_affects_ranking() { function search_empty_index (line 799) | fn search_empty_index() { function search_k_larger_than_docs (line 819) | fn search_k_larger_than_docs() { function different_queries_different_rankings (line 844) | fn different_queries_different_rankings() { FILE: tests/fixture_helpers.rs constant FIXTURE_PREFIX (line 27) | pub const FIXTURE_PREFIX: &str = "fixture-"; constant LEGACY_PREFIX (line 30) | pub const LEGACY_PREFIX: &str = "mock-"; constant EMBEDDER_MODEL_FIXTURE_DIR (line 33) | pub const EMBEDDER_MODEL_FIXTURE_DIR: &str = constant RERANKER_MODEL_FIXTURE_DIR (line 36) | pub const RERANKER_MODEL_FIXTURE_DIR: &str = function setup_connector_test (line 50) | pub fn setup_connector_test(agent_name: &str) -> (TempDir, PathBuf) { function setup_connector_test_with_projects (line 60) | pub fn setup_connector_test_with_projects(agent_name: &str) -> (TempDir,... function copy_fixture (line 75) | pub fn copy_fixture(fixture_path: &str, dest_path: &Path) -> std::io::Re... function load_fixture (line 85) | pub fn load_fixture(fixture_path: &str) -> std::io::Result { function embedder_fixture_dir (line 91) | pub fn embedder_fixture_dir() -> PathBuf { function reranker_fixture_dir (line 96) | pub fn reranker_fixture_dir() -> PathBuf { function verify_model_fixture_checksums (line 101) | pub fn verify_model_fixture_checksums() -> Result<(), String> { function verify_checksums_in_dir (line 107) | fn verify_checksums_in_dir(fixture_dir: &Path) -> Result<(), String> { function create_project_dir (line 159) | pub fn create_project_dir(data_dir: &Path, project_name: &str) -> PathBuf { function write_session_file (line 168) | pub fn write_session_file(project_dir: &Path, filename: &str, content: &... function check_legacy_naming (line 178) | pub fn check_legacy_naming(path: &Path) -> bool { function test_setup_connector_test (line 196) | fn test_setup_connector_test() { function test_setup_with_projects (line 204) | fn test_setup_with_projects() { function test_create_project_dir (line 211) | fn test_create_project_dir() { function test_model_fixture_checksums (line 220) | fn test_model_fixture_checksums() { FILE: tests/fixtures/html_export/mod.rs function fixture_path (line 52) | pub fn fixture_path(category: &str, name: &str) -> PathBuf { function fixtures_in_category (line 60) | pub fn fixtures_in_category(category: &str) -> Vec { function validate_real_session_fixtures (line 89) | fn validate_real_session_fixtures() { function validate_edge_case_fixtures (line 128) | fn validate_edge_case_fixtures() { function validate_malformed_fixtures (line 165) | fn validate_malformed_fixtures() { function validate_large_session_size (line 191) | fn validate_large_session_size() { function validate_unicode_fixture_content (line 205) | fn validate_unicode_fixture_content() { function validate_all_message_types (line 219) | fn validate_all_message_types() { FILE: tests/frankensqlite_compat_gates.rs function rusqlite_is_dev_dependency_only (line 19) | fn rusqlite_is_dev_dependency_only() { function gate1_fts5_create_virtual_table (line 48) | fn gate1_fts5_create_virtual_table() { function gate1_fts5_create_with_trigram_tokenizer (line 55) | fn gate1_fts5_create_with_trigram_tokenizer() { function gate1_fts5_create_with_porter_tokenizer (line 63) | fn gate1_fts5_create_with_porter_tokenizer() { function gate1_fts5_insert (line 70) | fn gate1_fts5_insert() { function gate1_fts5_match_query (line 84) | fn gate1_fts5_match_query() { function gate1_fts5_trigram_substring_match (line 108) | fn gate1_fts5_trigram_substring_match() { function gate1_fts5_prefix_match (line 133) | fn gate1_fts5_prefix_match() { function gate1_fts5_highlight_function (line 158) | fn gate1_fts5_highlight_function() { function gate1_fts5_rebuild_command (line 184) | fn gate1_fts5_rebuild_command() { function gate1_fts5_optimize_command (line 196) | fn gate1_fts5_optimize_command() { function gate1_fts5_multi_column (line 208) | fn gate1_fts5_multi_column() { function gate1_fts5_rank_function (line 234) | fn gate1_fts5_rank_function() { function gate1_fts5_within_transaction (line 260) | fn gate1_fts5_within_transaction() { function gate1_fts5_transaction_rollback (line 281) | fn gate1_fts5_transaction_rollback() { function gate1_fts5_multiple_tables_coexist (line 301) | fn gate1_fts5_multiple_tables_coexist() { function gate1_fts5_bulk_insert_performance (line 333) | fn gate1_fts5_bulk_insert_performance() { function gate2_file_compat_create_with_rusqlite_read_with_frankensqlite (line 376) | fn gate2_file_compat_create_with_rusqlite_read_with_frankensqlite() { function gate2_file_compat_pragma_user_version (line 450) | fn gate2_file_compat_pragma_user_version() { function gate2_file_compat_wal_mode (line 478) | fn gate2_file_compat_wal_mode() { function gate2_file_compat_filtered_query (line 520) | fn gate2_file_compat_filtered_query() { function gate2_file_compat_write_back (line 566) | fn gate2_file_compat_write_back() { function gate2_file_compat_cass_schema_simulation (line 607) | fn gate2_file_compat_cass_schema_simulation() { type TableInfoRow (line 700) | struct TableInfoRow { type IndexListRow (line 710) | struct IndexListRow { function quoted_sql_literal (line 717) | fn quoted_sql_literal(input: &str) -> String { function schema_tables (line 732) | fn schema_tables(conn: &rusqlite::Connection) -> Vec { function table_info (line 752) | fn table_info(conn: &rusqlite::Connection, table_name: &str) -> Vec Vec std::path::PathBuf { function setup_simple_db (line 29) | fn setup_simple_db(dir: &TempDir) -> std::path::PathBuf { function open_configured (line 46) | fn open_configured(path: &std::path::Path) -> Connection { function with_retry (line 55) | fn with_retry(max_retries: usize, mut f: F) -> anyhow::Result function stress_parallel_connector_writes (line 98) | fn stress_parallel_connector_writes() { function stress_write_heavy_contention (line 179) | fn stress_write_heavy_contention() { function stress_read_write_mix (line 299) | fn stress_read_write_mix() { function stress_crash_recovery_uncommitted_data_absent (line 419) | fn stress_crash_recovery_uncommitted_data_absent() { function stress_large_transaction (line 460) | fn stress_large_transaction() { function stress_retry_convergence_conflicting_writes (line 504) | fn stress_retry_convergence_conflicting_writes() { function stress_connection_manager_parallel_writers (line 615) | fn stress_connection_manager_parallel_writers() { FILE: tests/fs_errors.rs function scan_nonexistent_directory_handles_gracefully (line 25) | fn scan_nonexistent_directory_handles_gracefully() { function file_deleted_mid_scan_handles_gracefully (line 49) | fn file_deleted_mid_scan_handles_gracefully() { function empty_directory_returns_no_conversations (line 83) | fn empty_directory_returns_no_conversations() { function missing_session_file_in_project (line 102) | fn missing_session_file_in_project() { function symlink_to_valid_file_is_followed (line 126) | fn symlink_to_valid_file_is_followed() { function broken_symlink_is_handled_gracefully (line 163) | fn broken_symlink_is_handled_gracefully() { function symlink_to_directory_is_followed (line 189) | fn symlink_to_directory_is_followed() { function directory_named_like_session_file (line 229) | fn directory_named_like_session_file() { function zero_byte_file_handles_gracefully (line 254) | fn zero_byte_file_handles_gracefully() { function newlines_only_file_handles_gracefully (line 277) | fn newlines_only_file_handles_gracefully() { function path_with_spaces_is_handled (line 303) | fn path_with_spaces_is_handled() { function path_with_unicode_is_handled (line 331) | fn path_with_unicode_is_handled() { function deeply_nested_directory_is_handled (line 357) | fn deeply_nested_directory_is_handled() { function gemini_handles_missing_chats_dir (line 394) | fn gemini_handles_missing_chats_dir() { function codex_handles_missing_sessions_dir (line 418) | fn codex_handles_missing_sessions_dir() { function error_contains_path_context (line 445) | fn error_contains_path_context() { function multiple_bad_files_dont_prevent_good_file_processing (line 472) | fn multiple_bad_files_dont_prevent_good_file_processing() { function file_readable_with_other_handle (line 528) | fn file_readable_with_other_handle() { FILE: tests/fsqlite_repro.rs function test_query_after_migrations (line 4) | fn test_query_after_migrations() { FILE: tests/ftui_harness_snapshots.rs function ftui_snapshot_block_paragraph_baseline (line 18) | fn ftui_snapshot_block_paragraph_baseline() { function ftui_snapshot_list_selection_baseline (line 29) | fn ftui_snapshot_list_selection_baseline() { function ftui_snapshot_ansi_styled_text_baseline (line 44) | fn ftui_snapshot_ansi_styled_text_baseline() { FILE: tests/golden_error_envelope.rs function golden_path (line 17) | fn golden_path() -> PathBuf { function lib_rs_path (line 25) | fn lib_rs_path() -> PathBuf { function extract_kind_literals (line 31) | fn extract_kind_literals() -> BTreeMap> { function extract_kind_exit_codes (line 45) | fn extract_kind_exit_codes() -> BTreeMap> { function build_golden_json (line 72) | fn build_golden_json(kinds: &BTreeMap>) -> serde_json::... function error_kinds_are_strictly_kebab_case (line 90) | fn error_kinds_are_strictly_kebab_case() { function error_kinds_golden_coverage (line 112) | fn error_kinds_golden_coverage() { function error_kinds_exit_codes_match_golden (line 186) | fn error_kinds_exit_codes_match_golden() { FILE: tests/golden_fuzz_corpus.rs constant SUBCOMMANDS (line 19) | const SUBCOMMANDS: &[&str] = &[ constant LONG_FLAGS (line 43) | const LONG_FLAGS: &[&str] = &[ constant MAX_ARGV_LEN (line 77) | const MAX_ARGV_LEN: usize = 32; constant MAX_STRING_BYTES (line 78) | const MAX_STRING_BYTES: usize = 256; type DashStyle (line 81) | enum DashStyle { type CasePerturbation (line 88) | enum CasePerturbation { type FlagToken (line 95) | struct FlagToken { type ValueStyle (line 104) | enum ValueStyle { type ArgKind (line 111) | enum ArgKind { type ArgvInput (line 118) | struct ArgvInput { function bounded_string (line 122) | fn bounded_string(mut value: String, max_bytes: usize) -> String { function mangle_case (line 134) | fn mangle_case(flag: &str, case: &CasePerturbation) -> String { function prefix (line 152) | fn prefix(dash: &DashStyle) -> &'static str { function build_argv (line 160) | fn build_argv(input: ArgvInput) -> Vec { function contains_help_or_version (line 195) | fn contains_help_or_version(argv: &[String]) -> bool { function corpus_dir (line 206) | fn corpus_dir() -> PathBuf { function golden_path (line 213) | fn golden_path() -> PathBuf { function fuzz_corpus_replay_no_panics (line 221) | fn fuzz_corpus_replay_no_panics() { function fuzz_corpus_seed_count_golden (line 320) | fn fuzz_corpus_seed_count_golden() { FILE: tests/golden_memo_trace.rs type TraceEventCollector (line 24) | struct TraceEventCollector { method snapshot (line 29) | fn snapshot(&self) -> Vec { method on_event (line 38) | fn on_event(&self, event: &Event<'_>, _ctx: Context<'_, S>) { type JsonVisitor (line 65) | struct JsonVisitor { method record_bool (line 70) | fn record_bool(&mut self, field: &Field, value: bool) { method record_i64 (line 75) | fn record_i64(&mut self, field: &Field, value: i64) { method record_u64 (line 80) | fn record_u64(&mut self, field: &Field, value: u64) { method record_f64 (line 85) | fn record_f64(&mut self, field: &Field, value: f64) { method record_str (line 92) | fn record_str(&mut self, field: &Field, value: &str) { method record_debug (line 97) | fn record_debug(&mut self, field: &Field, value: &dyn std::fmt::Debug) { function sort_json (line 105) | fn sort_json(value: Value) -> Value { function assert_golden (line 119) | fn assert_golden(name: &str, actual: &str) -> Result<()> { function capture_memo_trace_json (line 167) | fn capture_memo_trace_json() -> Result { function semantic_prep_memo_trace_matches_golden (line 200) | fn semantic_prep_memo_trace_matches_golden() -> Result<()> { FILE: tests/golden_metamorphic_search.rs constant AGENTS (line 27) | const AGENTS: &[&str] = &["claude", "codex", "amp"]; function fixed_now_ms (line 29) | fn fixed_now_ms() -> i64 { function seed_corpus (line 33) | fn seed_corpus(index: &mut TantivyIndex, dir: &std::path::Path, now_ms: ... function golden_dir (line 70) | fn golden_dir() -> PathBuf { function assert_golden (line 77) | fn assert_golden(name: &str, actual: &str) { function golden_corpus_shape (line 116) | fn golden_corpus_shape() { function golden_limit_prefix_ordering (line 159) | fn golden_limit_prefix_ordering() { function golden_agent_filter_breakdown (line 238) | fn golden_agent_filter_breakdown() { function golden_days_filter_staircase (line 287) | fn golden_days_filter_staircase() { function golden_case_invariance (line 345) | fn golden_case_invariance() { FILE: tests/golden_readiness.rs function cass_cmd (line 21) | fn cass_cmd(test_home: &Path) -> Command { function scrub_robot_json (line 30) | fn scrub_robot_json(input: &str, test_home: &Path) -> String { function assert_golden (line 97) | fn assert_golden(name: &str, actual: &str) { function capture_data_dir_robot_json (line 137) | fn capture_data_dir_robot_json(data_dir: &Path, subcommand: &str, allow_... function seed_semantic_progress_fixture (line 190) | fn seed_semantic_progress_fixture( function health_semantic_progress_json_matches_golden (line 247) | fn health_semantic_progress_json_matches_golden() { function status_semantic_progress_json_matches_golden (line 255) | fn status_semantic_progress_json_matches_golden() { function health_semantic_backfill_wait_json_matches_golden (line 263) | fn health_semantic_backfill_wait_json_matches_golden() { function status_semantic_backfill_wait_json_matches_golden (line 271) | fn status_semantic_backfill_wait_json_matches_golden() { FILE: tests/golden_regression_search.rs function cass_cmd (line 13) | fn cass_cmd(test_home: &Path) -> Command { function seed_claude_code_fixture (line 24) | fn seed_claude_code_fixture(test_home: &Path) -> PathBuf { function scrub_temp_home (line 43) | fn scrub_temp_home(input: &str, test_home: &Path) -> String { function assert_golden (line 47) | fn assert_golden(name: &str, actual: &str) { function indexed_claude_code_positive_search_matches_golden (line 82) | fn indexed_claude_code_positive_search_matches_golden() { FILE: tests/golden_robot_docs.rs function cass_cmd (line 20) | fn cass_cmd(test_home: &Path) -> Command { function scrub_robot_docs (line 33) | fn scrub_robot_docs(input: &str, test_home: &Path) -> String { function assert_golden (line 44) | fn assert_golden(name: &str, actual: &str) { function capture_docs (line 77) | fn capture_docs(topic: &str) -> String { function robot_docs_exit_codes_matches_golden (line 94) | fn robot_docs_exit_codes_matches_golden() { function robot_docs_env_matches_golden (line 102) | fn robot_docs_env_matches_golden() { function robot_docs_paths_matches_golden (line 107) | fn robot_docs_paths_matches_golden() { function robot_docs_schemas_matches_golden (line 112) | fn robot_docs_schemas_matches_golden() { function robot_docs_commands_matches_golden (line 130) | fn robot_docs_commands_matches_golden() { function robot_docs_guide_matches_golden (line 135) | fn robot_docs_guide_matches_golden() { function robot_docs_examples_matches_golden (line 140) | fn robot_docs_examples_matches_golden() { function robot_docs_contracts_matches_golden (line 145) | fn robot_docs_contracts_matches_golden() { function robot_docs_wrap_matches_golden (line 153) | fn robot_docs_wrap_matches_golden() { function robot_docs_sources_matches_golden (line 158) | fn robot_docs_sources_matches_golden() { function robot_docs_analytics_matches_golden (line 163) | fn robot_docs_analytics_matches_golden() { function capture_robot_help (line 173) | fn capture_robot_help() -> String { function robot_help_matches_golden (line 190) | fn robot_help_matches_golden() { FILE: tests/golden_robot_json.rs function cass_cmd (line 36) | fn cass_cmd(test_home: &std::path::Path) -> Command { function write_quarantined_manifest (line 49) | fn write_quarantined_manifest(generation_dir: &std::path::Path) { function seed_diag_quarantine_fixture (line 97) | fn seed_diag_quarantine_fixture(test_home: &std::path::Path) -> PathBuf { function isolated_search_demo_data (line 149) | fn isolated_search_demo_data(test_home: &std::path::Path) -> PathBuf { function json_value_schema (line 174) | fn json_value_schema(value: &Value) -> Value { function scrub_robot_json (line 216) | fn scrub_robot_json(input: &str, test_home: &std::path::Path) -> String { function assert_golden (line 352) | fn assert_golden(name: &str, actual: &str) { function capture_robot_json (line 405) | fn capture_robot_json( function capture_robot_json_value (line 430) | fn capture_robot_json_value( type ExpectStatus (line 453) | enum ExpectStatus { function capabilities_json_matches_golden (line 459) | fn capabilities_json_matches_golden() { function capabilities_shape_matches_golden (line 470) | fn capabilities_shape_matches_golden() { function models_status_json_matches_golden (line 483) | fn models_status_json_matches_golden() { function models_status_shape_matches_golden (line 499) | fn models_status_shape_matches_golden() { function health_json_matches_golden (line 512) | fn health_json_matches_golden() { function health_shape_matches_golden (line 534) | fn health_shape_matches_golden() { function diag_json_matches_golden (line 547) | fn diag_json_matches_golden() { function diag_shape_matches_golden (line 562) | fn diag_shape_matches_golden() { function diag_quarantine_json_matches_golden (line 572) | fn diag_quarantine_json_matches_golden() { function doctor_quarantine_json_matches_golden (line 603) | fn doctor_quarantine_json_matches_golden() { function status_quarantine_json_matches_golden (line 632) | fn status_quarantine_json_matches_golden() { function status_quarantine_full_json_matches_golden (line 661) | fn status_quarantine_full_json_matches_golden() { function quarantine_summary_shape_matches_golden (line 690) | fn quarantine_summary_shape_matches_golden() { function api_version_json_matches_golden (line 749) | fn api_version_json_matches_golden() { function api_version_shape_matches_golden (line 766) | fn api_version_shape_matches_golden() { function stats_json_missing_db_error_envelope_matches_golden (line 779) | fn stats_json_missing_db_error_envelope_matches_golden() { function stats_json_happy_path_matches_golden (line 812) | fn stats_json_happy_path_matches_golden() { function stats_json_happy_path_shape_matches_golden (line 847) | fn stats_json_happy_path_shape_matches_golden() { function stats_json_missing_db_error_envelope_shape_matches_golden (line 872) | fn stats_json_missing_db_error_envelope_shape_matches_golden() { function introspect_json_matches_golden (line 893) | fn introspect_json_matches_golden() { function introspect_shape_matches_golden (line 915) | fn introspect_shape_matches_golden() { function search_robot_json_matches_golden (line 928) | fn search_robot_json_matches_golden() { function search_robot_shape_matches_golden (line 959) | fn search_robot_shape_matches_golden() { function export_html_shape_matches_golden (line 1008) | fn export_html_shape_matches_golden() { function doctor_json_matches_golden (line 1091) | fn doctor_json_matches_golden() { function status_shape_matches_golden (line 1102) | fn status_shape_matches_golden() { function doctor_shape_matches_golden (line 1124) | fn doctor_shape_matches_golden() { function sessions_json_missing_db_error_envelope_shape_matches_golden (line 1137) | fn sessions_json_missing_db_error_envelope_shape_matches_golden() { function models_verify_json_not_acquired_shape_matches_golden (line 1163) | fn models_verify_json_not_acquired_shape_matches_golden() { function models_check_update_json_not_installed_shape_matches_golden (line 1192) | fn models_check_update_json_not_installed_shape_matches_golden() { FILE: tests/html_export/html_export_encryption.test.js constant TEST_PASSWORD (line 17) | const TEST_PASSWORD = 'correct-horse-battery-staple'; constant WRONG_PASSWORD (line 18) | const WRONG_PASSWORD = 'totally-wrong-password'; constant PLAINTEXT_HTML (line 19) | const PLAINTEXT_HTML = constant ITERATIONS (line 21) | const ITERATIONS = 1000; function logEvent (line 26) | function logEvent(event) { function escapeHtml (line 30) | function escapeHtml(value) { function toBase64 (line 37) | function toBase64(bytes) { function encryptPayload (line 41) | async function encryptPayload() { function buildHtml (line 88) | function buildHtml(payload) { FILE: tests/html_export_e2e.rs function base_cmd (line 18) | fn base_cmd() -> Command { function export_fixture (line 25) | fn export_fixture(fixture_name: &str) -> String { function count_pattern (line 70) | fn count_pattern(html: &str, pattern: &str) -> usize { function test_no_separate_tool_articles (line 80) | fn test_no_separate_tool_articles() { function test_tool_badges_in_header (line 108) | fn test_tool_badges_in_header() { function test_message_group_structure (line 135) | fn test_message_group_structure() { function test_user_and_assistant_messages_present (line 153) | fn test_user_and_assistant_messages_present() { function test_glassmorphism_css_present (line 175) | fn test_glassmorphism_css_present() { function test_color_variables_defined (line 189) | fn test_color_variables_defined() { function test_popover_css_present (line 204) | fn test_popover_css_present() { function test_tool_badge_styling (line 222) | fn test_tool_badge_styling() { function test_responsive_design (line 239) | fn test_responsive_design() { function test_popover_js_present (line 254) | fn test_popover_js_present() { function test_aria_expanded_attribute (line 268) | fn test_aria_expanded_attribute() { function test_keyboard_navigation_support (line 279) | fn test_keyboard_navigation_support() { function test_aria_labels_present (line 297) | fn test_aria_labels_present() { function test_semantic_html_structure (line 307) | fn test_semantic_html_structure() { function test_badges_are_interactive (line 321) | fn test_badges_are_interactive() { function test_color_contrast_indicators (line 337) | fn test_color_contrast_indicators() { function test_claude_format_export (line 359) | fn test_claude_format_export() { function test_codex_format_export (line 375) | fn test_codex_format_export() { function test_cursor_format_export (line 390) | fn test_cursor_format_export() { function test_opencode_format_export (line 405) | fn test_opencode_format_export() { function test_edge_cases_export (line 421) | fn test_edge_cases_export() { function test_export_produces_valid_html (line 444) | fn test_export_produces_valid_html() { function test_export_includes_styles (line 458) | fn test_export_includes_styles() { function test_export_includes_scripts (line 486) | fn test_export_includes_scripts() { function test_export_self_contained (line 497) | fn test_export_self_contained() { function test_export_reasonable_size (line 513) | fn test_export_reasonable_size() { function test_export_completes_quickly (line 530) | fn test_export_completes_quickly() { FILE: tests/html_export_integration.rs function fixture_path (line 24) | fn fixture_path(category: &str, name: &str) -> PathBuf { function create_test_session (line 32) | fn create_test_session(dir: &Path, messages: &[(&str, &str)]) -> PathBuf { function base_cmd (line 47) | fn base_cmd() -> Command { function test_export_pipeline_complete_success (line 58) | fn test_export_pipeline_complete_success() { function test_export_preserves_message_content (line 101) | fn test_export_preserves_message_content() { function test_export_all_message_types (line 131) | fn test_export_all_message_types() { function test_export_large_session_performance (line 166) | fn test_export_large_session_performance() { function test_export_unicode_content (line 211) | fn test_export_unicode_content() { function test_encrypted_export_flow (line 247) | fn test_encrypted_export_flow() { function test_encrypted_export_requires_password (line 315) | fn test_encrypted_export_requires_password() { function test_cli_export_basic (line 346) | fn test_cli_export_basic() { function test_cli_export_dry_run (line 373) | fn test_cli_export_dry_run() { function test_cli_export_explain (line 406) | fn test_cli_export_explain() { function test_cli_export_session_not_found (line 425) | fn test_cli_export_session_not_found() { function test_cli_export_with_custom_filename (line 441) | fn test_cli_export_with_custom_filename() { function test_cli_export_with_options (line 473) | fn test_cli_export_with_options() { function test_cli_export_no_cdn (line 507) | fn test_cli_export_no_cdn() { function test_export_empty_session (line 542) | fn test_export_empty_session() { function test_export_single_message (line 573) | fn test_export_single_message() { function test_export_malformed_json_graceful_handling (line 602) | fn test_export_malformed_json_graceful_handling() { function test_export_truncated_file (line 628) | fn test_export_truncated_file() { function benchmark_export_small_session (line 656) | fn benchmark_export_small_session() { function benchmark_export_medium_session (line 684) | fn benchmark_export_medium_session() { function test_export_creates_output_directory (line 716) | fn test_export_creates_output_directory() { function test_export_handles_special_characters_in_path (line 743) | fn test_export_handles_special_characters_in_path() { function test_export_html_structure (line 770) | fn test_export_html_structure() { function test_export_has_theme_toggle (line 810) | fn test_export_has_theme_toggle() { function test_export_has_print_styles (line 840) | fn test_export_has_print_styles() { function test_export_multiple_sessions_sequentially (line 871) | fn test_export_multiple_sessions_sequentially() { FILE: tests/indexer_memoization_policy.rs function key (line 6) | fn key(label: &str) -> MemoKey { function bounded_capacity_policy_evicts_cold_entries_under_sustained_load (line 15) | fn bounded_capacity_policy_evicts_cold_entries_under_sustained_load() ->... FILE: tests/indexer_tantivy.rs function read_schema_hash (line 7) | fn read_schema_hash(dir: &TempDir) -> String { function open_or_create_writes_schema_hash (line 13) | fn open_or_create_writes_schema_hash() { function open_or_create_reuses_when_hash_matches (line 33) | fn open_or_create_reuses_when_hash_matches() { function open_or_create_rebuilds_on_schema_mismatch (line 53) | fn open_or_create_rebuilds_on_schema_mismatch() { function optimize_if_idle_triggers_when_segment_threshold_met (line 81) | fn optimize_if_idle_triggers_when_segment_threshold_met() { function incremental_commit_preserves_existing_docs (line 129) | fn incremental_commit_preserves_existing_docs() { FILE: tests/install_scripts.rs function fixture (line 13) | fn fixture(path: &str) -> PathBuf { function isolated_home (line 17) | fn isolated_home() -> tempfile::TempDir { function make_executable_script (line 25) | fn make_executable_script(path: &std::path::Path, body: &str) { type HttpFixtureServer (line 33) | struct HttpFixtureServer { method drop (line 41) | fn drop(&mut self) { function start_http_fixture_server (line 50) | fn start_http_fixture_server(routes: Vec<(&str, Vec, &str)>) -> Http... function handle_http_request (line 83) | fn handle_http_request(mut stream: TcpStream, routes: &BTreeMap Option { function install_ps1_succeeds_with_valid_checksum (line 394) | fn install_ps1_succeeds_with_valid_checksum() { function install_ps1_fails_with_bad_checksum (line 434) | fn install_ps1_fails_with_bad_checksum() { function install_ps1_falls_back_to_sibling_sha256sums_for_custom_artifact_url (line 472) | fn install_ps1_falls_back_to_sibling_sha256sums_for_custom_artifact_url() { function upgrade_replaces_existing_binary (line 542) | fn upgrade_replaces_existing_binary() { function concurrent_installs_are_serialized (line 614) | fn concurrent_installs_are_serialized() { function verify_flag_runs_self_test (line 698) | fn verify_flag_runs_self_test() { FILE: tests/lifecycle_matrix.rs function isolated_health_json (line 38) | fn isolated_health_json(test_home: Arc) -> String { function scrub (line 56) | fn scrub(input: &str, test_home: &Path) -> String { function cass_json_with_data_dir (line 90) | fn cass_json_with_data_dir(data_dir: &Path, subcommand: &str) -> serde_j... function seed_semantic_progress_fixture (line 102) | fn seed_semantic_progress_fixture( function write_quarantined_generation_manifest (line 158) | fn write_quarantined_generation_manifest(generation_dir: &Path) { function concurrent_health_readings_agree_on_readiness_snapshot (line 207) | fn concurrent_health_readings_agree_on_readiness_snapshot() { function cross_surface_version_agreement (line 237) | fn cross_surface_version_agreement() { function capabilities_surface_is_home_independent (line 296) | fn capabilities_surface_is_home_independent() { function scheduler_pause_resume_trace_is_artifact_backed (line 347) | fn scheduler_pause_resume_trace_is_artifact_backed() { function cleanup_quarantine_inventory_trace_is_artifact_backed (line 475) | fn cleanup_quarantine_inventory_trace_is_artifact_backed() { function maintenance_publish_pause_resume_cleanup_story_is_artifact_backed (line 637) | fn maintenance_publish_pause_resume_cleanup_story_is_artifact_backed() { function derivative_retention_dry_run_keeps_protected_assets_out_of_reclaim_plan (line 837) | fn derivative_retention_dry_run_keeps_protected_assets_out_of_reclaim_pl... function api_and_contract_versions_agree_across_capabilities_and_api_version (line 1065) | fn api_and_contract_versions_agree_across_capabilities_and_api_version() { function capabilities_and_diag_connectors_enumerate_the_same_set (line 1109) | fn capabilities_and_diag_connectors_enumerate_the_same_set() { function health_and_diag_agree_on_db_and_index_presence (line 1164) | fn health_and_diag_agree_on_db_and_index_presence() { function health_status_and_healthy_flag_are_internally_consistent (line 1226) | fn health_status_and_healthy_flag_are_internally_consistent() { function health_and_status_agree_on_readiness_contract (line 1284) | fn health_and_status_agree_on_readiness_contract() { function health_and_status_agree_on_semantic_fallback_state (line 1330) | fn health_and_status_agree_on_semantic_fallback_state() { function health_and_status_surface_semantic_backlog_checkpoint_and_tier_truth (line 1369) | fn health_and_status_surface_semantic_backlog_checkpoint_and_tier_truth() { function semantic_backfill_without_ready_fast_tier_recommends_waiting (line 1395) | fn semantic_backfill_without_ready_fast_tier_recommends_waiting() { function semantic_readiness_reports_lexical_fallback_when_models_absent (line 1419) | fn semantic_readiness_reports_lexical_fallback_when_models_absent() { function diag_reports_zero_sizes_for_absent_db_and_index (line 1478) | fn diag_reports_zero_sizes_for_absent_db_and_index() { function concurrent_diag_readings_agree_on_inventory_snapshot (line 1538) | fn concurrent_diag_readings_agree_on_inventory_snapshot() { function concurrent_introspect_readings_agree_after_btreemap_fix (line 1586) | fn concurrent_introspect_readings_agree_after_btreemap_fix() { function capabilities_features_and_connectors_contain_no_duplicates (line 1646) | fn capabilities_features_and_connectors_contain_no_duplicates() { function semantic_readiness_block_has_expected_shape (line 1707) | fn semantic_readiness_block_has_expected_shape() { function index_readiness_exposes_stale_refresh_config (line 1777) | fn index_readiness_exposes_stale_refresh_config() { function diag_artifact_paths_nest_inside_data_dir_for_safe_gc (line 1838) | fn diag_artifact_paths_nest_inside_data_dir_for_safe_gc() { function diag_quarantine_gc_flags_match_retention_and_cleanup_policy (line 1901) | fn diag_quarantine_gc_flags_match_retention_and_cleanup_policy() { function status_diag_and_doctor_quarantine_summaries_stay_in_lockstep (line 2027) | fn status_diag_and_doctor_quarantine_summaries_stay_in_lockstep() { function status_diag_and_doctor_cleanup_payloads_stay_in_lockstep (line 2130) | fn status_diag_and_doctor_cleanup_payloads_stay_in_lockstep() { function index_subcommand_exposes_all_entrypoint_flags (line 2275) | fn index_subcommand_exposes_all_entrypoint_flags() { function diag_connector_entries_have_uniform_shape (line 2322) | fn diag_connector_entries_have_uniform_shape() { function db_and_index_surface_flags_match_actual_filesystem (line 2387) | fn db_and_index_surface_flags_match_actual_filesystem() { function index_checkpoint_and_fingerprint_blocks_have_stable_shape (line 2463) | fn index_checkpoint_and_fingerprint_blocks_have_stable_shape() { function diag_paths_use_canonical_filename_and_index_parent (line 2537) | fn diag_paths_use_canonical_filename_and_index_parent() { function diag_absent_artifacts_report_zero_counters_and_sizes (line 2625) | fn diag_absent_artifacts_report_zero_counters_and_sizes() { function models_status_model_dir_nests_under_data_dir_and_coheres_on_absence (line 2708) | fn models_status_model_dir_nests_under_data_dir_and_coheres_on_absence() { function absent_db_drives_null_checkpoint_and_fingerprint_state (line 2826) | fn absent_db_drives_null_checkpoint_and_fingerprint_state() { function absent_index_collapses_timestamp_and_document_fields_to_null (line 2922) | fn absent_index_collapses_timestamp_and_document_fields_to_null() { function models_status_aggregates_equal_component_sums_and_files_cohere_on_absence (line 3015) | fn models_status_aggregates_equal_component_sums_and_files_cohere_on_abs... function models_status_and_cache_lifecycle_agree_on_state_machine_identity (line 3160) | fn models_status_and_cache_lifecycle_agree_on_state_machine_identity() { function models_status_fail_open_and_manifest_integrity_invariants (line 3294) | fn models_status_fail_open_and_manifest_integrity_invariants() { function models_verify_and_status_agree_on_cache_identity_and_phase (line 3413) | fn models_verify_and_status_agree_on_cache_identity_and_phase() { function models_check_update_and_status_agree_on_revision_when_absent (line 3542) | fn models_check_update_and_status_agree_on_revision_when_absent() { function model_dir_lives_under_canonical_models_parent (line 3645) | fn model_dir_lives_under_canonical_models_parent() { function semantic_not_initialized_collapses_readiness_and_path_fields (line 3744) | fn semantic_not_initialized_collapses_readiness_and_path_fields() { function status_and_diag_agree_on_db_path_and_absence_coherence (line 3834) | fn status_and_diag_agree_on_db_path_and_absence_coherence() { function status_and_health_stale_threshold_diverge_in_default_only_not_in_computation (line 3959) | fn status_and_health_stale_threshold_diverge_in_default_only_not_in_comp... function idle_rebuild_block_collapses_metadata_and_has_actionable_recommendation (line 4079) | fn idle_rebuild_block_collapses_metadata_and_has_actionable_recommendati... function doctor_dry_run_is_read_only_and_counters_agree_with_checks (line 4178) | fn doctor_dry_run_is_read_only_and_counters_agree_with_checks() { FILE: tests/load_archive_size.rs function load_test_guard (line 33) | fn load_test_guard() -> std::sync::MutexGuard<'static, ()> { function generate_conversation (line 43) | fn generate_conversation( type ContentSize (line 130) | enum ContentSize { method as_str (line 138) | fn as_str(&self) -> &'static str { function setup_load_index (line 149) | fn setup_load_index( function get_memory_mb (line 183) | fn get_memory_mb() -> f64 { function trim_allocator (line 217) | fn trim_allocator() { function trim_allocator (line 227) | fn trim_allocator() {} function measure_search (line 230) | fn measure_search(client: &SearchClient, query: &str, limit: usize) -> (... function load_1k_conversations (line 247) | fn load_1k_conversations() { function load_10k_conversations (line 280) | fn load_10k_conversations() { function load_50k_conversations (line 313) | fn load_50k_conversations() { function load_large_messages (line 349) | fn load_large_messages() { function load_many_small_messages (line 377) | fn load_many_small_messages() { function load_memory_bounded_search (line 409) | fn load_memory_bounded_search() { function load_resource_cleanup (line 456) | fn load_resource_cleanup() { function load_test_summary (line 511) | fn load_test_summary() { FILE: tests/load_concurrent.rs function generate_conversation (line 24) | fn generate_conversation(conv_id: i64, msg_count: i64) -> NormalizedConv... function setup_test_index (line 60) | fn setup_test_index(conv_count: i64, msgs_per_conv: i64) -> (TempDir, Pa... function concurrent_search_parallel (line 85) | fn concurrent_search_parallel() { function concurrent_sustained_load (line 167) | fn concurrent_sustained_load() { function concurrent_varied_queries (line 221) | fn concurrent_varied_queries() { function concurrent_search_during_index (line 300) | fn concurrent_search_during_index() { function concurrent_stress_high_threads (line 387) | fn concurrent_stress_high_threads() { function concurrent_test_summary (line 463) | fn concurrent_test_summary() { FILE: tests/logging.rs function norm_msg (line 10) | fn norm_msg(idx: i64) -> NormalizedMessage { function search_logs_backend_selection (line 24) | fn search_logs_backend_selection() { function amp_connector_emits_scan_span (line 75) | fn amp_connector_emits_scan_span() { function persist_conversation_logs_counts (line 118) | fn persist_conversation_logs_counts() { type EnvVarGuard (line 148) | struct EnvVarGuard { method set (line 154) | fn set(key: &'static str, value: &std::path::Path) -> Self { method drop (line 164) | fn drop(&mut self) { function run_index_does_not_drop_storage_without_explicit_close (line 174) | fn run_index_does_not_drop_storage_without_explicit_close() { FILE: tests/memory_tests.rs function memory_test_guard (line 24) | fn memory_test_guard() -> std::sync::MutexGuard<'static, ()> { function sample_conv (line 32) | fn sample_conv(i: i64, msgs: i64) -> NormalizedConversation { function setup_test_index (line 63) | fn setup_test_index(conv_count: i64, msgs_per_conv: i64) -> (TempDir, Se... function get_process_memory_bytes (line 87) | fn get_process_memory_bytes() -> usize { function test_search_memory_no_leak (line 131) | fn test_search_memory_no_leak() { function test_indexing_memory_no_leak (line 189) | fn test_indexing_memory_no_leak() { function test_vector_search_memory_no_leak (line 250) | fn test_vector_search_memory_no_leak() { FILE: tests/metamorphic_agent_detection.rs type ConversationKey (line 31) | type ConversationKey = (String, PathBuf, Option); function key (line 33) | fn key(conv: &NormalizedConversation) -> ConversationKey { function seed_codex_session_under (line 44) | fn seed_codex_session_under(root: &Path, filename: &str, ts_millis: u64,... function scan_codex_collected (line 56) | fn scan_codex_collected(scan_roots: Vec, data_dir: &Path) -> V... function mr_codex_scan_invariant_under_root_permutation (line 86) | fn mr_codex_scan_invariant_under_root_permutation() { function mr_codex_preflight_explicit_file_roots_match_directory_root_scan (line 167) | fn mr_codex_preflight_explicit_file_roots_match_directory_root_scan() { FILE: tests/metamorphic_html_export.rs function fixture_path (line 26) | fn fixture_path(category: &str, name: &str) -> PathBuf { function cass_cmd (line 34) | fn cass_cmd() -> Command { function export_to (line 42) | fn export_to(session_path: &Path, out_dir: &Path, filename: &str) -> Pat... function scrub_transient (line 79) | fn scrub_transient(html: &str) -> String { function clamp_down_to_char_boundary (line 90) | fn clamp_down_to_char_boundary(s: &str, mut idx: usize) -> usize { function clamp_up_to_char_boundary (line 98) | fn clamp_up_to_char_boundary(s: &str, mut idx: usize) -> usize { function diff_context_window (line 106) | fn diff_context_window(s: &str, idx: usize, radius: usize) -> &str { function diff_context_window_handles_non_char_boundary_indices (line 113) | fn diff_context_window_handles_non_char_boundary_indices() { function mr_html_export_byte_idempotent_for_same_source (line 134) | fn mr_html_export_byte_idempotent_for_same_source() { FILE: tests/metamorphic_introspect_schema.rs function cass_cmd (line 18) | fn cass_cmd(test_home: &Path) -> Command { function fixture_path (line 27) | fn fixture_path(parts: &[&str]) -> PathBuf { function isolated_search_demo_data (line 35) | fn isolated_search_demo_data(test_home: &Path) -> PathBuf { function json_value_schema (line 57) | fn json_value_schema(value: &Value) -> Value { type ExpectStatus (line 93) | enum ExpectStatus { function run_json (line 98) | fn run_json(test_home: &Path, args: &[String], expect_status: ExpectStat... function advertised_types (line 121) | fn advertised_types(schema: &Value) -> Vec<&str> { function schema_allows_type (line 129) | fn schema_allows_type(schema: &Value, actual_type: &str) -> bool { function schema_allows_dynamic_properties (line 136) | fn schema_allows_dynamic_properties(schema: &Value) -> bool { function assert_runtime_shape_covered (line 144) | fn assert_runtime_shape_covered(surface: &str, path: &str, runtime: &Val... function surface_command (line 202) | fn surface_command( function introspect_response_schemas_cover_runtime_json_shapes (line 324) | fn introspect_response_schemas_cover_runtime_json_shapes() { FILE: tests/metamorphic_search.rs constant AGENTS (line 28) | const AGENTS: &[&str] = &["claude", "codex", "amp"]; function seed_corpus (line 38) | fn seed_corpus(index: &mut TantivyIndex, dir: &std::path::Path, now_ms: ... function fixed_now_ms (line 76) | fn fixed_now_ms() -> i64 { type HitKey (line 87) | struct HitKey { method from (line 93) | fn from(h: &coding_agent_search::search::query::SearchHit) -> Self { function hit_keys (line 101) | fn hit_keys(hits: &[coding_agent_search::search::query::SearchHit]) -> V... function hit_key_set (line 105) | fn hit_key_set(hits: &[coding_agent_search::search::query::SearchHit]) -... function mr1_search_idempotence (line 117) | fn mr1_search_idempotence() { function mr2_limit_prefix (line 166) | fn mr2_limit_prefix() { function mr3_agent_filter_union (line 213) | fn mr3_agent_filter_union() { function mr4_reindex_idempotence (line 277) | fn mr4_reindex_idempotence() { function mr5_days_filter_subset (line 337) | fn mr5_days_filter_subset() { function mr6_case_invariance (line 418) | fn mr6_case_invariance() { function mr7_offset_pagination_consistency (line 467) | fn mr7_offset_pagination_consistency() { function mr8_agent_filter_exclusivity (line 514) | fn mr8_agent_filter_exclusivity() { FILE: tests/metamorphic_stats.rs type StatsFixture (line 27) | struct StatsFixture { method new (line 35) | fn new() -> Self { method env_guards (line 50) | fn env_guards(&self) -> (EnvGuard, EnvGuard) { method index_full (line 57) | fn index_full(&self) { method stats_json (line 69) | fn stats_json(&self, by_source: bool) -> serde_json::Value { method seed (line 96) | fn seed(&self, day: &str, rollout: &str, content: &str, ts_millis: u64) { function write_codex_session (line 107) | fn write_codex_session( function mr_stats_total_equals_sum_of_by_source (line 132) | fn mr_stats_total_equals_sum_of_by_source() { function mr_stats_empty_data_dir_produces_zero_counters_or_structured_error (line 214) | fn mr_stats_empty_data_dir_produces_zero_counters_or_structured_error() { function mr_stats_date_range_oldest_lte_newest (line 271) | fn mr_stats_date_range_oldest_lte_newest() { FILE: tests/multi_source_integration.rs function sample_agent (line 19) | fn sample_agent() -> Agent { function msg (line 29) | fn msg(idx: i64, created_at: i64, content: &str) -> Message { function conv_with_source (line 42) | fn conv_with_source( function norm_conv_with_provenance (line 67) | fn norm_conv_with_provenance( function norm_msg (line 97) | fn norm_msg( function index_local_and_remote_sources_preserves_provenance (line 120) | fn index_local_and_remote_sources_preserves_provenance() { function persist_conversation_extracts_provenance_from_metadata (line 281) | fn persist_conversation_extracts_provenance_from_metadata() { function filter_conversations_local_only (line 357) | fn filter_conversations_local_only() { function filter_conversations_remote_only (line 444) | fn filter_conversations_remote_only() { function filter_conversations_specific_source (line 531) | fn filter_conversations_specific_source() { function incremental_index_new_remote_source (line 635) | fn incremental_index_new_remote_source() { function incremental_append_to_remote_conversation (line 743) | fn incremental_append_to_remote_conversation() { function stats_reflect_source_distribution (line 833) | fn stats_reflect_source_distribution() { function source_kind_available_via_join (line 951) | fn source_kind_available_via_join() { function resync_same_conversation_updates_not_duplicates (line 1019) | fn resync_same_conversation_updates_not_duplicates() { function same_id_different_sources_are_distinct (line 1101) | fn same_id_different_sources_are_distinct() { function dedup_within_source_not_across (line 1199) | fn dedup_within_source_not_across() { function composite_key_unique_constraint (line 1277) | fn composite_key_unique_constraint() { function update_conversation_preserves_metadata (line 1363) | fn update_conversation_preserves_metadata() { FILE: tests/pages_accessibility_e2e.rs constant MIN_CONTRAST_NORMAL_TEXT (line 13) | const MIN_CONTRAST_NORMAL_TEXT: f64 = 4.5; constant MIN_CONTRAST_LARGE_TEXT (line 14) | const MIN_CONTRAST_LARGE_TEXT: f64 = 3.0; type AccessibilityAudit (line 18) | pub struct AccessibilityAudit { method new (line 25) | pub fn new() -> Self { method is_compliant (line 33) | pub fn is_compliant(&self) -> bool { method add_violation (line 37) | pub fn add_violation(&mut self, rule: &str, message: &str, element: Op... method add_warning (line 45) | pub fn add_warning(&mut self, rule: &str, message: &str) { method add_pass (line 52) | pub fn add_pass(&mut self, check: &str) { method default (line 58) | fn default() -> Self { type AccessibilityViolation (line 64) | pub struct AccessibilityViolation { type AccessibilityWarning (line 71) | pub struct AccessibilityWarning { function audit_html (line 77) | pub fn audit_html(html: &str) -> AccessibilityAudit { function check_lang_attribute (line 108) | fn check_lang_attribute(html: &str, audit: &mut AccessibilityAudit) { function check_document_structure (line 123) | fn check_document_structure(html: &str, audit: &mut AccessibilityAudit) { function check_form_accessibility (line 157) | fn check_form_accessibility(html: &str, audit: &mut AccessibilityAudit) { function check_image_alt_text (line 195) | fn check_image_alt_text(html: &str, audit: &mut AccessibilityAudit) { function check_link_text (line 221) | fn check_link_text(html: &str, audit: &mut AccessibilityAudit) { function check_heading_structure (line 246) | fn check_heading_structure(html: &str, audit: &mut AccessibilityAudit) { function check_interactive_elements (line 291) | fn check_interactive_elements(html: &str, audit: &mut AccessibilityAudit) { function check_aria_usage (line 319) | fn check_aria_usage(html: &str, audit: &mut AccessibilityAudit) { function relative_luminance (line 340) | pub fn relative_luminance(r: u8, g: u8, b: u8) -> f64 { function srgb_to_linear (line 348) | fn srgb_to_linear(c: f64) -> f64 { function contrast_ratio (line 357) | pub fn contrast_ratio(l1: f64, l2: f64) -> f64 { function meets_wcag_aa_normal (line 364) | pub fn meets_wcag_aa_normal(ratio: f64) -> bool { function meets_wcag_aa_large (line 369) | pub fn meets_wcag_aa_large(ratio: f64) -> bool { function parse_hex_color (line 374) | pub fn parse_hex_color(hex: &str) -> Option<(u8, u8, u8)> { function generate_report (line 393) | pub fn generate_report(audit: &AccessibilityAudit) -> String { constant TEST_HTML (line 445) | const TEST_HTML: &str = include_str!("../src/pages_assets/index.html"); function test_audit_index_html (line 448) | fn test_audit_index_html() { function test_color_contrast_calculation (line 484) | fn test_color_contrast_calculation() { function test_color_contrast_wcag_boundaries (line 496) | fn test_color_contrast_wcag_boundaries() { function test_parse_hex_color (line 510) | fn test_parse_hex_color() { function test_theme_colors_contrast (line 519) | fn test_theme_colors_contrast() { function test_primary_button_contrast (line 549) | fn test_primary_button_contrast() { function test_muted_text_contrast (line 562) | fn test_muted_text_contrast() { function test_heading_structure_detection (line 578) | fn test_heading_structure_detection() { function test_missing_alt_text_detection (line 595) | fn test_missing_alt_text_detection() { function test_keyboard_focus_order (line 612) | fn test_keyboard_focus_order() { function test_generate_report_format (line 623) | fn test_generate_report_format() { function test_index_html_has_aria_labels (line 641) | fn test_index_html_has_aria_labels() { function test_index_html_has_form_labels (line 650) | fn test_index_html_has_form_labels() { function test_reduced_motion_support (line 659) | fn test_reduced_motion_support() { function test_focus_styles_exist (line 670) | fn test_focus_styles_exist() { FILE: tests/pages_bundle.rs function setup_encrypted_archive (line 14) | fn setup_encrypted_archive(dir: &Path) -> Result<()> { function run_node_module_assertions (line 31) | fn run_node_module_assertions(script: &str) -> Result<()> { function test_bundle_creates_directory_structure (line 48) | fn test_bundle_creates_directory_structure() -> Result<()> { function test_bundle_copies_all_assets (line 77) | fn test_bundle_copies_all_assets() -> Result<()> { function test_bundle_copies_payload_chunks (line 143) | fn test_bundle_copies_payload_chunks() -> Result<()> { function test_bundle_does_not_publish_unlisted_stale_payload_bins (line 177) | fn test_bundle_does_not_publish_unlisted_stale_payload_bins() -> Result<... function test_bundle_generates_integrity_manifest (line 207) | fn test_bundle_generates_integrity_manifest() -> Result<()> { function test_bundle_generates_fingerprint (line 272) | fn test_bundle_generates_fingerprint() -> Result<()> { function test_bundle_writes_private_artifacts (line 298) | fn test_bundle_writes_private_artifacts() -> Result<()> { function test_bundle_site_has_no_secrets (line 337) | fn test_bundle_site_has_no_secrets() -> Result<()> { function test_bundle_robots_txt_content (line 373) | fn test_bundle_robots_txt_content() -> Result<()> { function test_bundle_site_metadata (line 392) | fn test_bundle_site_metadata() -> Result<()> { function test_bundle_fails_without_config (line 417) | fn test_bundle_fails_without_config() -> Result<()> { function test_bundle_fails_without_payload (line 439) | fn test_bundle_fails_without_payload() -> Result<()> { function test_bundle_progress_callback (line 475) | fn test_bundle_progress_callback() -> Result<()> { function test_pages_share_and_router_reject_malformed_routes (line 506) | fn test_pages_share_and_router_reject_malformed_routes() -> Result<()> { function test_stats_role_bar_markup_uses_slugged_class (line 554) | fn test_stats_role_bar_markup_uses_slugged_class() { function test_stats_markup_stays_csp_safe_without_inline_styles (line 567) | fn test_stats_markup_stays_csp_safe_without_inline_styles() { function test_viewer_lock_paths_reset_hash_to_home (line 589) | fn test_viewer_lock_paths_reset_hash_to_home() { function test_conversation_fallback_sanitizer_blocks_unsafe_link_schemes (line 612) | fn test_conversation_fallback_sanitizer_blocks_unsafe_link_schemes() -> ... function test_search_result_card_ids_are_unique_per_hit (line 658) | fn test_search_result_card_ids_are_unique_per_hit() -> Result<()> { function test_search_paths_round_trip_symbolic_time_filters (line 697) | fn test_search_paths_round_trip_symbolic_time_filters() -> Result<()> { function test_search_paths_preserve_explicit_zero_timestamp_filters (line 745) | fn test_search_paths_preserve_explicit_zero_timestamp_filters() -> Resul... function test_search_cleanup_paths_reset_virtual_results_presentation (line 770) | fn test_search_cleanup_paths_reset_virtual_results_presentation() { function test_search_route_state_restores_filters_and_back_navigation (line 787) | fn test_search_route_state_restores_filters_and_back_navigation() { function test_restored_session_reinstalls_cleanup_handlers (line 808) | fn test_restored_session_reinstalls_cleanup_handlers() -> Result<()> { function test_variable_virtual_list_coalesces_scroll_frames (line 928) | fn test_variable_virtual_list_coalesces_scroll_frames() -> Result<()> { function test_virtual_list_scroll_to_index_renders_target_range_immediately (line 1034) | fn test_virtual_list_scroll_to_index_renders_target_range_immediately() ... function test_auth_qr_scanner_cancel_invalidates_pending_start_and_clears_dom (line 1137) | fn test_auth_qr_scanner_cancel_invalidates_pending_start_and_clears_dom() { function test_auth_live_session_expiry_is_enforced_without_extending_on_mode_change (line 1171) | fn test_auth_live_session_expiry_is_enforced_without_extending_on_mode_c... function test_conversation_load_has_error_boundary_for_render_failures (line 1202) | fn test_conversation_load_has_error_boundary_for_render_failures() { function test_settings_async_handlers_await_rerender (line 1221) | fn test_settings_async_handlers_await_rerender() { function test_index_bootstrap_respects_csp_without_inline_module_script (line 1297) | fn test_index_bootstrap_respects_csp_without_inline_module_script() { function test_service_worker_activation_callbacks_handle_async_rejections (line 1340) | fn test_service_worker_activation_callbacks_handle_async_rejections() { function test_service_worker_message_handler_ignores_malformed_payloads (line 1351) | fn test_service_worker_message_handler_ignores_malformed_payloads() { function test_service_worker_fetch_keeps_network_success_when_cache_write_fails (line 1372) | fn test_service_worker_fetch_keeps_network_success_when_cache_write_fail... function test_sw_register_handles_unsupported_or_missing_registrations_safely (line 1388) | fn test_sw_register_handles_unsupported_or_missing_registrations_safely() { function test_stats_timeline_tabs_only_expose_available_data_views (line 1409) | fn test_stats_timeline_tabs_only_expose_available_data_views() { function test_attachment_manifest_failures_only_cache_true_absence (line 1430) | fn test_attachment_manifest_failures_only_cache_true_absence() { function test_conversation_attachment_state_keeps_transient_manifest_failures_retryable (line 1457) | fn test_conversation_attachment_state_keeps_transient_manifest_failures_... function test_search_keyboard_navigation_tracks_logical_result_indices (line 1471) | fn test_search_keyboard_navigation_tracks_logical_result_indices() { function test_attachment_blob_loading_deduplicates_concurrent_requests (line 1493) | fn test_attachment_blob_loading_deduplicates_concurrent_requests() -> Re... function test_attachment_image_loading_handles_immediately_complete_images (line 1589) | fn test_attachment_image_loading_handles_immediately_complete_images() -... function test_worker_message_paths_guard_malformed_payloads_and_report_generic_failures (line 1738) | fn test_worker_message_paths_guard_malformed_payloads_and_report_generic... function test_crypto_worker_rejects_unsupported_archive_compression (line 1767) | fn test_crypto_worker_rejects_unsupported_archive_compression() { function test_crypto_worker_inflates_each_encrypted_payload_chunk_independently (line 1778) | fn test_crypto_worker_inflates_each_encrypted_payload_chunk_independentl... function test_crypto_worker_allows_zero_chunk_archives_like_rust_validator (line 1791) | fn test_crypto_worker_allows_zero_chunk_archives_like_rust_validator() { FILE: tests/pages_error_handling_e2e.rs constant TEST_PASSWORD (line 30) | const TEST_PASSWORD: &str = "test-password-for-error-handling"; constant TEST_RECOVERY_SECRET (line 31) | const TEST_RECOVERY_SECRET: &[u8] = b"test-recovery-secret-32-bytes!!"; function create_test_archive (line 38) | fn create_test_archive(temp_dir: &Path, password: &str) -> std::path::Pa... function create_test_archive_with_recovery (line 58) | fn create_test_archive_with_recovery( function test_wrong_password_error (line 83) | fn test_wrong_password_error() { function test_empty_password_validation (line 109) | fn test_empty_password_validation() { function test_password_error_no_timing_leak (line 126) | fn test_password_error_no_timing_leak() { function test_wrong_recovery_key_error (line 185) | fn test_wrong_recovery_key_error() { function test_corrupted_config_header (line 201) | fn test_corrupted_config_header() { function test_corrupted_ciphertext (line 214) | fn test_corrupted_ciphertext() { function test_truncated_archive (line 249) | fn test_truncated_archive() { function test_missing_chunk_file (line 278) | fn test_missing_chunk_file() { function test_version_mismatch (line 304) | fn test_version_mismatch() { function test_invalid_format_error (line 324) | fn test_invalid_format_error() { function test_corrupt_database_error (line 349) | fn test_corrupt_database_error() { function test_missing_table_error (line 368) | fn test_missing_table_error() { function test_invalid_query_error (line 387) | fn test_invalid_query_error() { function test_error_messages_are_user_friendly (line 417) | fn test_error_messages_are_user_friendly() { function test_error_messages_no_technical_jargon (line 442) | fn test_error_messages_no_technical_jargon() { function test_error_messages_dont_leak_secrets (line 483) | fn test_error_messages_dont_leak_secrets() { function test_all_errors_have_suggestions (line 512) | fn test_all_errors_have_suggestions() { function test_error_codes_exist_and_unique (line 549) | fn test_error_codes_exist_and_unique() { function test_browser_error_messages (line 604) | fn test_browser_error_messages() { function test_browser_error_suggestions_actionable (line 628) | fn test_browser_error_suggestions_actionable() { function test_network_error_messages (line 659) | fn test_network_error_messages() { function test_network_error_no_internal_details (line 688) | fn test_network_error_no_internal_details() { function test_export_error_messages (line 709) | fn test_export_error_messages() { function test_export_error_suggestions (line 735) | fn test_export_error_suggestions() { function test_error_chain_authentication_to_recovery (line 758) | fn test_error_chain_authentication_to_recovery() { function test_graceful_degradation_corrupted_archive (line 785) | fn test_graceful_degradation_corrupted_archive() { function test_error_creation_is_fast (line 811) | fn test_error_creation_is_fast() { function test_error_display_is_fast (line 833) | fn test_error_display_is_fast() { FILE: tests/pages_export.rs function setup_source_db (line 12) | fn setup_source_db(path: &Path) -> Result<()> { function open_franken_db (line 87) | fn open_franken_db(path: &Path) -> Result { function query_i64 (line 92) | fn query_i64(conn: &Connection, sql: &str) -> Result { function query_string (line 96) | fn query_string(conn: &Connection, sql: &str) -> Result { function setup_franken_source_db (line 100) | fn setup_franken_source_db(path: &Path) -> Result<()> { function test_export_engine_basic (line 196) | fn test_export_engine_basic() -> Result<()> { function test_export_filter_agent (line 237) | fn test_export_filter_agent() -> Result<()> { function test_export_engine_frankensqlite_source_and_output_are_queryable (line 265) | fn test_export_engine_frankensqlite_source_and_output_are_queryable() ->... function test_export_path_mode_hash (line 315) | fn test_export_path_mode_hash() -> Result<()> { function test_export_filter_multiple_agents (line 343) | fn test_export_filter_multiple_agents() -> Result<()> { function test_export_filter_time_range (line 370) | fn test_export_filter_time_range() -> Result<()> { function test_export_preserves_message_identity_and_optional_metadata (line 408) | fn test_export_preserves_message_identity_and_optional_metadata() -> Res... function test_export_derives_model_from_extra_json_when_column_missing (line 468) | fn test_export_derives_model_from_extra_json_when_column_missing() -> Re... function test_export_filter_workspace (line 545) | fn test_export_filter_workspace() -> Result<()> { function test_export_empty_result (line 574) | fn test_export_empty_result() -> Result<()> { function test_export_path_mode_basename (line 613) | fn test_export_path_mode_basename() -> Result<()> { function test_export_path_mode_full (line 641) | fn test_export_path_mode_full() -> Result<()> { function test_export_progress_callback (line 669) | fn test_export_progress_callback() -> Result<()> { function test_export_engine_creates_missing_output_parent_directories (line 706) | fn test_export_engine_creates_missing_output_parent_directories() -> Res... function test_run_pages_export_rejects_invalid_since (line 735) | fn test_run_pages_export_rejects_invalid_since() -> Result<()> { function test_run_pages_export_rejects_reversed_time_range (line 759) | fn test_run_pages_export_rejects_reversed_time_range() -> Result<()> { FILE: tests/pages_export_golden.rs constant GOLDEN_BYTES_LABEL (line 25) | const GOLDEN_BYTES_LABEL: &str = "z2hck-html-export-golden-v1"; function fixture_phrase (line 27) | fn fixture_phrase() -> String { function cass_cmd (line 31) | fn cass_cmd(test_home: &Path) -> Command { function write_fixture_session (line 42) | fn write_fixture_session(test_home: &Path) -> PathBuf { function export_html (line 90) | fn export_html( function canonicalize_html (line 136) | fn canonicalize_html(input: &str) -> String { function scrub_html (line 146) | fn scrub_html(input: &str, test_home: &Path) -> String { function assert_golden (line 195) | fn assert_golden(name: &str, actual: &str) { function basic_export_html_matches_golden (line 242) | fn basic_export_html_matches_golden() { function encrypted_export_html_matches_golden (line 268) | fn encrypted_export_html_matches_golden() { FILE: tests/pages_export_integration.rs type TestResult (line 15) | type TestResult = anyhow::Result; function open_db (line 17) | fn open_db(path: &Path) -> TestResult { function query_i64 (line 22) | fn query_i64(conn: &Connection, sql: &str) -> TestResult { function query_string (line 26) | fn query_string(conn: &Connection, sql: &str) -> TestResult { function query_strings (line 30) | fn query_strings(conn: &Connection, sql: &str) -> TestResult> { function query_table_columns (line 34) | fn query_table_columns(conn: &Connection, table_name: &str) -> TestResul... function query_message_pairs (line 39) | fn query_message_pairs(conn: &Connection, sql: &str) -> TestResult TestResult<()> { function insert_test_data (line 91) | fn insert_test_data(conn: &Connection) -> TestResult<()> { function verify_export_schema (line 183) | fn verify_export_schema(conn: &Connection) -> TestResult<()> { function export_engine_exports_all_conversations_with_no_filter (line 222) | fn export_engine_exports_all_conversations_with_no_filter() { function export_engine_filters_by_single_agent (line 261) | fn export_engine_filters_by_single_agent() { function export_engine_filters_by_multiple_agents (line 293) | fn export_engine_filters_by_multiple_agents() { function export_engine_filters_by_workspace (line 321) | fn export_engine_filters_by_workspace() { function export_engine_filters_by_time_range (line 354) | fn export_engine_filters_by_time_range() { function export_engine_combined_filters (line 385) | fn export_engine_combined_filters() { function export_engine_transforms_paths_with_full_mode (line 417) | fn export_engine_transforms_paths_with_full_mode() { function export_engine_transforms_paths_with_basename_mode (line 446) | fn export_engine_transforms_paths_with_basename_mode() { function export_engine_transforms_paths_with_relative_mode (line 475) | fn export_engine_transforms_paths_with_relative_mode() { function export_engine_transforms_paths_with_hash_mode (line 504) | fn export_engine_transforms_paths_with_hash_mode() { function export_engine_handles_empty_filter_results (line 538) | fn export_engine_handles_empty_filter_results() { function export_engine_handles_empty_agents_list (line 569) | fn export_engine_handles_empty_agents_list() { function export_engine_cancellation_via_running_flag (line 596) | fn export_engine_cancellation_via_running_flag() { function export_engine_rejects_same_source_and_output (line 627) | fn export_engine_rejects_same_source_and_output() { function export_engine_rejects_output_directory (line 653) | fn export_engine_rejects_output_directory() { function export_engine_preserves_existing_output_on_cancelled_rerun (line 679) | fn export_engine_preserves_existing_output_on_cancelled_rerun() { function export_engine_populates_fts_indexes (line 740) | fn export_engine_populates_fts_indexes() { function export_engine_preserves_message_order (line 791) | fn export_engine_preserves_message_order() { function export_engine_calls_progress_callback (line 833) | fn export_engine_calls_progress_callback() { FILE: tests/pages_fts.rs function open_franken_db (line 20) | fn open_franken_db(path: &Path) -> Result { function setup_fts_source_db (line 26) | fn setup_fts_source_db(path: &Path) -> Result<()> { function create_export_db (line 115) | fn create_export_db(temp_dir: &TempDir) -> Result<(FrankenConnection, st... function create_runtime_fts_db (line 136) | fn create_runtime_fts_db(temp_dir: &TempDir) -> Result { function test_fts5_porter_stemming_run_matches_running (line 216) | fn test_fts5_porter_stemming_run_matches_running() -> Result<()> { function test_fts5_porter_stemming_bidirectional (line 247) | fn test_fts5_porter_stemming_bidirectional() -> Result<()> { function test_fts5_code_underscore_token (line 268) | fn test_fts5_code_underscore_token() -> Result<()> { function test_fts5_code_filename_with_extension (line 300) | fn test_fts5_code_filename_with_extension() -> Result<()> { function test_fts5_empty_query_returns_empty (line 324) | fn test_fts5_empty_query_returns_empty() -> Result<()> { function test_fts5_escape_prevents_injection (line 347) | fn test_fts5_escape_prevents_injection() -> Result<()> { function test_fts5_escape_quotes_doubled (line 388) | fn test_fts5_escape_quotes_doubled() { function test_fts5_bm25_ranking_more_matches_higher (line 402) | fn test_fts5_bm25_ranking_more_matches_higher() -> Result<()> { function test_detect_search_mode_natural_language (line 446) | fn test_detect_search_mode_natural_language() { function test_detect_search_mode_code_patterns (line 462) | fn test_detect_search_mode_code_patterns() { function test_format_fts5_query_routing (line 477) | fn test_format_fts5_query_routing() { function test_fts5_both_indexes_populated (line 498) | fn test_fts5_both_indexes_populated() -> Result<()> { function test_fts5_snippet_generation (line 520) | fn test_fts5_snippet_generation() -> Result<()> { function test_build_fts5_search_sql_works (line 550) | fn test_build_fts5_search_sql_works() -> Result<()> { function test_build_fts5_search_sql_with_agent_filter (line 570) | fn test_build_fts5_search_sql_with_agent_filter() -> Result<()> { FILE: tests/pages_master_e2e.rs function count_export_messages_containing (line 49) | fn count_export_messages_containing(db_path: &Path, needle: &str) -> i64 { constant TEST_PASSWORD (line 64) | const TEST_PASSWORD: &str = "master-e2e-test-password"; constant TEST_PASSWORD_2 (line 65) | const TEST_PASSWORD_2: &str = "secondary-password-for-multi-slot"; constant TEST_RECOVERY_SECRET (line 66) | const TEST_RECOVERY_SECRET: &[u8] = b"master-e2e-recovery-secret-32bytes!"; type E2EConfig (line 70) | struct E2EConfig { method default (line 84) | fn default() -> Self { type PipelineArtifacts (line 100) | struct PipelineArtifacts { function build_pipeline (line 108) | fn build_pipeline(config: &E2EConfig) -> PipelineArtifacts { function setup_test_db (line 223) | fn setup_test_db(data_dir: &Path, config: &E2EConfig) -> std::path::Path... function test_full_export_workflow (line 272) | fn test_full_export_workflow() { function test_password_authentication_flow (line 301) | fn test_password_authentication_flow() { function test_recovery_key_authentication (line 342) | fn test_recovery_key_authentication() { function test_recovery_secret_faster_than_password (line 376) | fn test_recovery_secret_faster_than_password() { function test_multi_key_slot_management (line 423) | fn test_multi_key_slot_management() { function test_corruption_detection (line 484) | fn test_corruption_detection() { function test_large_archive_handling (line 522) | fn test_large_archive_handling() { function test_xlarge_archive_100k (line 571) | fn test_xlarge_archive_100k() { function dir_size (line 640) | fn dir_size(path: &Path) -> u64 { function test_empty_archive_handling (line 659) | fn test_empty_archive_handling() { function test_export_with_filters (line 681) | fn test_export_with_filters() { function test_performance_benchmarks (line 778) | fn test_performance_benchmarks() { function setup_test_tracing (line 813) | fn setup_test_tracing(_test_name: &str) -> tracing::subscriber::DefaultG... type TestOutcome (line 832) | pub struct TestOutcome { type TestStatus (line 841) | pub enum TestStatus { method as_str (line 849) | fn as_str(&self) -> &'static str { function run_with_logging (line 859) | pub fn run_with_logging( function generate_html_report (line 931) | pub fn generate_html_report(outcomes: &[TestOutcome], total_duration: Du... function html_escape (line 1162) | fn html_escape(s: &str) -> String { function run_master_suite (line 1195) | pub fn run_master_suite() -> std::io::Result { type MasterSuiteReport (line 1348) | pub struct MasterSuiteReport { method write_html (line 1358) | pub fn write_html(&self, path: impl AsRef) -> std::io... method all_passed (line 1363) | pub fn all_passed(&self) -> bool { method count_by_status (line 1368) | pub fn count_by_status(&self, status: TestStatus) -> usize { function test_master_suite_runner (line 1378) | fn test_master_suite_runner() { FILE: tests/pages_pipeline_e2e.rs constant TEST_PASSWORD (line 19) | const TEST_PASSWORD: &str = "test-password"; constant TEST_PASSWORD_2 (line 20) | const TEST_PASSWORD_2: &str = "second-password"; constant TEST_RECOVERY_SECRET (line 21) | const TEST_RECOVERY_SECRET: &[u8] = b"recovery-secret-bytes"; type PipelineArtifacts (line 23) | struct PipelineArtifacts { function build_pipeline (line 28) | fn build_pipeline(temp_dir: &TempDir) -> PipelineArtifacts { function test_pages_export_pipeline_e2e (line 98) | fn test_pages_export_pipeline_e2e() { function test_pages_pipeline_decrypt_roundtrip (line 117) | fn test_pages_pipeline_decrypt_roundtrip() { function test_pages_bundle_excludes_raw_mirror_artifacts_by_default (line 152) | fn test_pages_bundle_excludes_raw_mirror_artifacts_by_default() { function test_pages_config_validate_cli (line 225) | fn test_pages_config_validate_cli() { function test_pages_bundle_key_add_revoke_cycle (line 273) | fn test_pages_bundle_key_add_revoke_cycle() { function test_pages_bundle_verify_detects_corruption (line 306) | fn test_pages_bundle_verify_detects_corruption() { function test_secret_scan_gating (line 330) | fn test_secret_scan_gating() { function setup_db (line 388) | fn setup_db(data_dir: &Path) { function setup_db_with_secret (line 392) | fn setup_db_with_secret(data_dir: &Path) { function setup_db_internal (line 396) | fn setup_db_internal(data_dir: &Path, include_secret: bool) { FILE: tests/pages_preview_integration.rs function tracker_for (line 23) | fn tracker_for(test_name: &str) -> PhaseTracker { function get_ephemeral_port (line 28) | fn get_ephemeral_port() -> u16 { function bundle_creates_complete_structure (line 44) | fn bundle_creates_complete_structure() -> Result<()> { function bundle_integrity_manifest_valid (line 168) | fn bundle_integrity_manifest_valid() -> Result<()> { function bundle_site_metadata_correct (line 271) | fn bundle_site_metadata_correct() -> Result<()> { function preview_ephemeral_port_binding (line 324) | fn preview_ephemeral_port_binding() { function preview_config_defaults (line 363) | fn preview_config_defaults() { function preview_error_display (line 384) | fn preview_error_display() { function start_preview_server_background (line 432) | fn start_preview_server_background( function preview_serves_static_files (line 457) | fn preview_serves_static_files() -> Result<()> { function preview_blocks_traversal (line 566) | fn preview_blocks_traversal() -> Result<()> { function integration_build_and_preview (line 608) | fn integration_build_and_preview() -> Result<()> { function integration_preview_accepts_bundle_root (line 705) | fn integration_preview_accepts_bundle_root() -> Result<()> { FILE: tests/pages_verify.rs function fixture_root (line 5) | fn fixture_root(name: &str) -> PathBuf { function test_pages_verify_valid_bundle_json (line 12) | fn test_pages_verify_valid_bundle_json() { function test_pages_verify_missing_required_file_fails (line 39) | fn test_pages_verify_missing_required_file_fails() { function test_pages_verify_secret_leak_fails (line 66) | fn test_pages_verify_secret_leak_fails() { FILE: tests/pages_wizard.rs function test_wizard_state_default (line 19) | fn test_wizard_state_default() { function test_wizard_state_with_custom_config (line 66) | fn test_wizard_state_with_custom_config() { function test_wizard_state_no_encryption_mode (line 105) | fn test_wizard_state_no_encryption_mode() { function test_deploy_target_display (line 131) | fn test_deploy_target_display() { function test_deploy_target_equality (line 143) | fn test_deploy_target_equality() { function test_exclusion_set_empty (line 159) | fn test_exclusion_set_empty() { function test_exclusion_set_add_conversations (line 168) | fn test_exclusion_set_add_conversations() { function test_exclusion_set_workspaces (line 191) | fn test_exclusion_set_workspaces() { function test_wizard_state_validation_password_required_for_encryption (line 220) | fn test_wizard_state_validation_password_required_for_encryption() { function test_wizard_state_validation_output_dir (line 232) | fn test_wizard_state_validation_output_dir() { function test_wizard_state_secret_scan_no_findings (line 260) | fn test_wizard_state_secret_scan_no_findings() { function test_wizard_state_secret_scan_with_findings (line 271) | fn test_wizard_state_secret_scan_with_findings() { function test_wizard_state_secret_scan_critical_findings (line 288) | fn test_wizard_state_secret_scan_critical_findings() { function test_wizard_state_to_export_filter (line 309) | fn test_wizard_state_to_export_filter() { function test_wizard_state_final_site_dir_tracking (line 329) | fn test_wizard_state_final_site_dir_tracking() { function open_franken_connection (line 363) | fn open_franken_connection(path: &Path) -> FrankenConnection { function query_i64 (line 368) | fn query_i64(conn: &FrankenConnection, sql: &str) -> i64 { function query_strings (line 373) | fn query_strings(conn: &FrankenConnection, sql: &str) -> Vec { function query_i64s (line 378) | fn query_i64s(conn: &FrankenConnection, sql: &str) -> Vec { function fixture_db_path (line 384) | fn fixture_db_path() -> PathBuf { function test_wizard_with_real_fixture_database (line 393) | fn test_wizard_with_real_fixture_database() { function test_export_with_real_fixture_all_agents (line 427) | fn test_export_with_real_fixture_all_agents() { function test_export_with_real_fixture_agent_filter (line 468) | fn test_export_with_real_fixture_agent_filter() { function test_export_with_real_fixture_nonexistent_agent (line 505) | fn test_export_with_real_fixture_nonexistent_agent() { function test_export_with_real_fixture_explicit_empty_workspace_filter (line 537) | fn test_export_with_real_fixture_explicit_empty_workspace_filter() { function test_export_with_real_fixture_path_modes (line 566) | fn test_export_with_real_fixture_path_modes() { function test_pages_config_to_wizard_state_with_real_db (line 604) | fn test_pages_config_to_wizard_state_with_real_db() { function test_wizard_state_with_fixture_export_flow (line 653) | fn test_wizard_state_with_fixture_export_flow() { function test_exclusion_set_with_real_conversation_ids (line 712) | fn test_exclusion_set_with_real_conversation_ids() { function test_config_validation_scenarios (line 754) | fn test_config_validation_scenarios() { FILE: tests/parse_errors.rs function create_claude_temp (line 22) | fn create_claude_temp() -> TempDir { function claude_skips_invalid_json_syntax (line 28) | fn claude_skips_invalid_json_syntax() { function claude_skips_missing_type_field (line 56) | fn claude_skips_missing_type_field() { function claude_handles_wrong_field_types (line 82) | fn claude_handles_wrong_field_types() { function claude_handles_truncated_json (line 110) | fn claude_handles_truncated_json() { function claude_handles_binary_in_content (line 134) | fn claude_handles_binary_in_content() { function claude_returns_error_on_invalid_utf8 (line 166) | fn claude_returns_error_on_invalid_utf8() { function claude_handles_empty_file (line 202) | fn claude_handles_empty_file() { function claude_handles_whitespace_only_file (line 223) | fn claude_handles_whitespace_only_file() { function gemini_skips_invalid_json (line 248) | fn gemini_skips_invalid_json() { function gemini_handles_missing_messages (line 269) | fn gemini_handles_missing_messages() { function gemini_handles_wrong_messages_type (line 298) | fn gemini_handles_wrong_messages_type() { function codex_skips_invalid_json (line 331) | fn codex_skips_invalid_json() { function codex_handles_missing_events (line 361) | fn codex_handles_missing_events() { function cline_skips_invalid_json (line 395) | fn cline_skips_invalid_json() { function cline_handles_missing_task_history (line 415) | fn cline_handles_missing_task_history() { function claude_processes_valid_files_despite_bad_ones (line 447) | fn claude_processes_valid_files_despite_bad_ones() { function claude_handles_extremely_long_content (line 486) | fn claude_handles_extremely_long_content() { function claude_handles_deeply_nested_json (line 512) | fn claude_handles_deeply_nested_json() { FILE: tests/perf_e2e.rs constant TEST_CORPUS_SIZE (line 20) | const TEST_CORPUS_SIZE: usize = 15_000; constant VECTOR_DIMENSION (line 21) | const VECTOR_DIMENSION: usize = 64; function normalize_in_place (line 23) | fn normalize_in_place(vec: &mut [f32]) { function create_test_index (line 34) | fn create_test_index() -> (TempDir, PathBuf, VectorIndex) { function create_query_vector (line 78) | fn create_query_vector() -> Vec { function create_query_vector_seed (line 87) | fn create_query_vector_seed(seed: usize) -> Vec { type SearchResult (line 96) | struct SearchResult { function run_search (line 101) | fn run_search(index: &VectorIndex, query: &[f32], k: usize) -> SearchRes... function run_search_with_scores (line 115) | fn run_search_with_scores( function e2e_full_optimization_chain (line 131) | fn e2e_full_optimization_chain() { function e2e_rollback_env_vars (line 181) | fn e2e_rollback_env_vars() { function f16_preconvert_equivalence (line 220) | fn f16_preconvert_equivalence() { function e2e_parallel_search_with_filters (line 262) | fn e2e_parallel_search_with_filters() { function e2e_performance_scaling (line 318) | fn e2e_performance_scaling() { function create_index_with_size (line 358) | fn create_index_with_size( FILE: tests/perf_evidence_replay.rs function ledger (line 9) | fn ledger(run_id: &str, p99_ms: u64, elapsed_ms: u64) -> PerfEvidenceLed... function workload_ledger (line 20) | fn workload_ledger( function phase (line 83) | fn phase( function split_four_ways (line 106) | fn split_four_ways(total: u64) -> [u64; 4] { function replay_harness_writes_reads_and_gates_saved_ledger_artifacts (line 117) | fn replay_harness_writes_reads_and_gates_saved_ledger_artifacts() { function representative_query_index_ledgers_are_generated_and_replay_cleanly (line 173) | fn representative_query_index_ledgers_are_generated_and_replay_cleanly() { function replay_harness_rejects_missing_field_artifact (line 232) | fn replay_harness_rejects_missing_field_artifact() { FILE: tests/perf_proptest.rs constant VECTOR_DIMENSION (line 11) | const VECTOR_DIMENSION: usize = 64; constant VECTOR_COUNT (line 12) | const VECTOR_COUNT: usize = 256; constant TOP_K (line 13) | const TOP_K: usize = 10; function normalize_in_place (line 15) | fn normalize_in_place(vec: &mut [f32]) { function write_index (line 25) | fn write_index(path: &std::path::Path) -> VectorIndex { function query_vector_strategy (line 60) | fn query_vector_strategy() -> impl Strategy> { function text_strategy (line 64) | fn text_strategy() -> impl Strategy { function make_hit (line 73) | fn make_hit(id: &str, score: f32) -> SearchHit { function vector_search_preconvert_invariant (line 96) | fn vector_search_preconvert_invariant() { FILE: tests/performance/assertions.js constant TARGETS (line 7) | const TARGETS = { function assertLighthouse (line 31) | function assertLighthouse(metrics) { function assertDecrypt (line 70) | function assertDecrypt(metrics, isMobile = false) { function assertSearch (line 106) | function assertSearch(results) { function assertMemory (line 140) | function assertMemory(metrics) { function assertScroll (line 169) | function assertScroll(metrics) { function assertAll (line 207) | function assertAll(perfData) { FILE: tests/performance/decrypt-timing.test.js function runDecryptTiming (line 1) | async function runDecryptTiming(page, password) { FILE: tests/performance/memory-profiler.test.js function runMemoryProfile (line 1) | async function runMemoryProfile(page, iterations) { FILE: tests/performance/mobile-decrypt.test.js constant MOBILE_CPU_SLOWDOWN (line 12) | const MOBILE_CPU_SLOWDOWN = 4; function runMobileDecryptTiming (line 17) | async function runMobileDecryptTiming(page, password) { function getMobileViewport (line 42) | function getMobileViewport() { constant MOBILE_DEVICES (line 55) | const MOBILE_DEVICES = { function runDeviceDecryptTiming (line 85) | async function runDeviceDecryptTiming(browser, url, password, deviceConf... function assertMobileDecrypt (line 122) | function assertMobileDecrypt(metrics) { FILE: tests/performance/run_perf.js constant DEFAULT_QUERIES (line 11) | const DEFAULT_QUERIES = [ function parseArgs (line 22) | function parseArgs() { function contentType (line 54) | function contentType(filePath) { function startServer (line 76) | function startServer(rootDir) { function runLighthouse (line 102) | async function runLighthouse(url) { function main (line 131) | async function main() { FILE: tests/performance/scroll-performance.test.js function runScrollPerformance (line 10) | async function runScrollPerformance(page, options = {}) { function runBidirectionalScroll (line 134) | async function runBidirectionalScroll(page, options = {}) { FILE: tests/performance/search-latency.test.js function runSearchLatency (line 1) | async function runSearchLatency(page, queries) { FILE: tests/ranking.rs function blended_score (line 4) | fn blended_score(hit: &SearchHit, max_created: i64, alpha: f32) -> f32 { function exact_hits_rank_above_wildcards_at_equal_recency_and_score (line 14) | fn exact_hits_rank_above_wildcards_at_equal_recency_and_score() { function recency_boost_can_outweigh_quality_when_far_newer (line 67) | fn recency_boost_can_outweigh_quality_when_far_newer() { function relevance_heavy_mode_prefers_quality_over_recency (line 121) | fn relevance_heavy_mode_prefers_quality_over_recency() { function match_quality_heavy_mode_balances_quality_and_recency (line 176) | fn match_quality_heavy_mode_balances_quality_and_recency() { function ranking_handles_missing_created_at (line 224) | fn ranking_handles_missing_created_at() { function ranking_handles_zero_max_created (line 280) | fn ranking_handles_zero_max_created() { function all_ranking_modes_maintain_quality_ordering_at_equal_inputs (line 313) | fn all_ranking_modes_maintain_quality_ordering_at_equal_inputs() { FILE: tests/recovery/disaster.rs function setup_encrypted_archive (line 23) | fn setup_encrypted_archive(dir: &Path, password: &str, content: &[u8]) -... function setup_multi_chunk_archive (line 37) | fn setup_multi_chunk_archive(dir: &Path, password: &str) -> Result Result<()> { function test_detect_missing_config_json (line 78) | fn test_detect_missing_config_json() -> Result<()> { function test_detect_truncated_config_json (line 96) | fn test_detect_truncated_config_json() -> Result<()> { function test_detect_invalid_json_structure (line 116) | fn test_detect_invalid_json_structure() -> Result<()> { function test_detect_corrupted_chunk (line 139) | fn test_detect_corrupted_chunk() -> Result<()> { function test_detect_missing_chunk (line 170) | fn test_detect_missing_chunk() -> Result<()> { function test_detect_truncated_chunk (line 193) | fn test_detect_truncated_chunk() -> Result<()> { function test_integrity_manifest_validates_files (line 228) | fn test_integrity_manifest_validates_files() -> Result<()> { function test_detect_integrity_mismatch (line 252) | fn test_detect_integrity_mismatch() -> Result<()> { function sha256_hex (line 286) | fn sha256_hex(data: &[u8]) -> String { function test_corrupted_wrapped_dek_detected (line 298) | fn test_corrupted_wrapped_dek_detected() -> Result<()> { function test_corrupted_salt_detected (line 335) | fn test_corrupted_salt_detected() -> Result<()> { function test_archive_copy_preserves_decryptability (line 372) | fn test_archive_copy_preserves_decryptability() -> Result<()> { function copy_dir_recursive (line 401) | fn copy_dir_recursive(src: &Path, dst: &Path) -> Result<()> { function test_partial_archive_detected (line 418) | fn test_partial_archive_detected() -> Result<()> { function test_recover_with_valid_recovery_key_after_password_corruption (line 442) | fn test_recover_with_valid_recovery_key_after_password_corruption() -> R... function test_graceful_error_on_completely_corrupted_archive (line 495) | fn test_graceful_error_on_completely_corrupted_archive() -> Result<()> { function test_error_messages_are_informative (line 514) | fn test_error_messages_are_informative() -> Result<()> { FILE: tests/recovery/key_slots.rs function setup_encrypted_archive (line 23) | fn setup_encrypted_archive(dir: &Path, password: &str) -> Result Result<()> { function test_recovery_key_works_after_password_change (line 119) | fn test_recovery_key_works_after_password_change() -> Result<()> { function test_invalid_recovery_secret_rejected (line 146) | fn test_invalid_recovery_secret_rejected() -> Result<()> { function test_add_password_slot_to_existing_archive (line 166) | fn test_add_password_slot_to_existing_archive() -> Result<()> { function test_add_recovery_slot_to_existing_archive (line 204) | fn test_add_recovery_slot_to_existing_archive() -> Result<()> { function test_revoke_slot_from_archive (line 231) | fn test_revoke_slot_from_archive() -> Result<()> { function test_cannot_revoke_last_slot (line 266) | fn test_cannot_revoke_last_slot() -> Result<()> { function test_cannot_revoke_authenticating_slot (line 289) | fn test_cannot_revoke_authenticating_slot() -> Result<()> { function test_all_active_slots_work_independently (line 316) | fn test_all_active_slots_work_independently() -> Result<()> { function test_slot_ids_remain_stable_after_revocation (line 354) | fn test_slot_ids_remain_stable_after_revocation() -> Result<()> { function test_key_rotation_basic (line 394) | fn test_key_rotation_basic() -> Result<()> { function test_key_rotation_with_recovery (line 429) | fn test_key_rotation_with_recovery() -> Result<()> { function test_empty_password_rejected (line 464) | fn test_empty_password_rejected() { function test_unicode_password_support (line 471) | fn test_unicode_password_support() -> Result<()> { function test_password_case_sensitivity (line 490) | fn test_password_case_sensitivity() -> Result<()> { function test_long_password_support (line 522) | fn test_long_password_support() -> Result<()> { function test_whitespace_only_password_rejected (line 540) | fn test_whitespace_only_password_rejected() { function test_password_with_special_characters (line 558) | fn test_password_with_special_characters() -> Result<()> { FILE: tests/regex_cache.rs function create_test_index_with_patterns (line 18) | fn create_test_index_with_patterns(dir: &TempDir) -> TantivyIndex { function test_regex_cache_equivalence_suffix_pattern (line 62) | fn test_regex_cache_equivalence_suffix_pattern() { function test_regex_cache_equivalence_substring_pattern (line 116) | fn test_regex_cache_equivalence_substring_pattern() { function test_regex_cache_equivalence_multiple_patterns (line 149) | fn test_regex_cache_equivalence_multiple_patterns() { function test_regex_cache_repeated_queries_consistent (line 197) | fn test_regex_cache_repeated_queries_consistent() { function test_regex_cache_different_patterns_independent (line 236) | fn test_regex_cache_different_patterns_independent() { function test_regex_cache_concurrent_reads (line 290) | fn test_regex_cache_concurrent_reads() { function test_regex_cache_concurrent_different_patterns (line 334) | fn test_regex_cache_concurrent_different_patterns() { function test_regex_cache_concurrent_read_write (line 381) | fn test_regex_cache_concurrent_read_write() { function test_regex_cache_disabled_via_env (line 422) | fn test_regex_cache_disabled_via_env() { function test_regex_cache_disabled_false_string (line 459) | fn test_regex_cache_disabled_false_string() { function test_regex_cache_empty_pattern_core (line 489) | fn test_regex_cache_empty_pattern_core() { function test_regex_cache_special_regex_chars (line 510) | fn test_regex_cache_special_regex_chars() { function test_regex_cache_unicode_patterns (line 549) | fn test_regex_cache_unicode_patterns() { function test_regex_cache_very_long_pattern (line 581) | fn test_regex_cache_very_long_pattern() { FILE: tests/regression_behavioral.rs function detect_must_complete_within_100ms_all_connectors (line 33) | fn detect_must_complete_within_100ms_all_connectors() { function aider_detect_must_not_scan_recursively (line 98) | fn aider_detect_must_not_scan_recursively() { function incremental_reindex_preserves_all_messages (line 147) | fn incremental_reindex_preserves_all_messages() { function repeated_reindex_maintains_message_integrity (line 285) | fn repeated_reindex_maintains_message_integrity() { function agent_colors_are_visually_distinct (line 379) | fn agent_colors_are_visually_distinct() { function agent_colors_distinct_from_base (line 422) | fn agent_colors_distinct_from_base() { function no_duplicate_agent_colors (line 461) | fn no_duplicate_agent_colors() { function fresh_index_returns_expected_results (line 498) | fn fresh_index_returns_expected_results() { function user_can_find_exact_words_they_typed (line 570) | fn user_can_find_exact_words_they_typed() { function user_can_find_assistant_responses (line 593) | fn user_can_find_assistant_responses() { function user_can_find_code_symbols (line 619) | fn user_can_find_code_symbols() { function wildcard_searches_work (line 648) | fn wildcard_searches_work() { function empty_query_does_not_crash (line 668) | fn empty_query_does_not_crash() { function agent_filter_only_returns_matching_agent (line 689) | fn agent_filter_only_returns_matching_agent() { function all_connectors_content_searchable (line 731) | fn all_connectors_content_searchable() { function agent_slugs_are_correct (line 765) | fn agent_slugs_are_correct() { function json_output_is_valid (line 807) | fn json_output_is_valid() { function index_json_output_is_valid (line 831) | fn index_json_output_is_valid() { function very_long_query_handled_gracefully (line 862) | fn very_long_query_handled_gracefully() { function empty_files_handled_gracefully (line 881) | fn empty_files_handled_gracefully() { function malformed_json_handled_gracefully (line 899) | fn malformed_json_handled_gracefully() { function extract_rgb (line 928) | fn extract_rgb(color: ftui::render::cell::PackedRgba) -> (u8, u8, u8) { function color_distance (line 932) | fn color_distance(a: (u8, u8, u8), b: (u8, u8, u8)) -> f64 { type TestEnv (line 943) | struct TestEnv { method new (line 953) | fn new() -> Self { method create_codex_session (line 979) | fn create_codex_session(&self, filename: &str, messages: &[(&str, &str... method create_claude_session (line 1013) | fn create_claude_session(&self, filename: &str, messages: &[(&str, &st... method full_index (line 1042) | fn full_index(&self) { method search (line 1052) | fn search(&self, query: &str) -> Vec { method search_raw (line 1062) | fn search_raw(&self, query: &str) -> std::process::Output { method search_with_agent (line 1071) | fn search_with_agent(&self, query: &str, agent: &str) -> Vec { type SearchHit (line 1089) | struct SearchHit { function parse_hits (line 1095) | fn parse_hits(json: &serde_json::Value) -> Vec { FILE: tests/regression_coding_agent_session_search_dyoj4.rs function malformed_key_slot_nonce_returns_error_without_panic (line 12) | fn malformed_key_slot_nonce_returns_error_without_panic() { FILE: tests/regression_coding_agent_session_search_vmtms.rs function oversized_relative_time_filters_are_rejected_without_panicking (line 20) | fn oversized_relative_time_filters_are_rejected_without_panicking() { function parse_time_input_is_total_for_adversarial_inputs (line 37) | fn parse_time_input_is_total_for_adversarial_inputs() { function parse_time_input_empty_and_whitespace_returns_none (line 92) | fn parse_time_input_empty_and_whitespace_returns_none() { function parse_time_input_trims_leading_and_trailing_whitespace (line 108) | fn parse_time_input_trims_leading_and_trailing_whitespace() { function parse_time_input_keywords_are_case_insensitive (line 141) | fn parse_time_input_keywords_are_case_insensitive() { function parse_time_input_negative_durations_are_monotonic (line 171) | fn parse_time_input_negative_durations_are_monotonic() { function parse_time_input_equivalent_unit_spellings_agree (line 197) | fn parse_time_input_equivalent_unit_spellings_agree() { function parse_time_input_numeric_heuristic_cutoff_holds (line 241) | fn parse_time_input_numeric_heuristic_cutoff_holds() { FILE: tests/reproduce_query_bug.rs function test_not_or_semantics_regression (line 10) | fn test_not_or_semantics_regression() -> anyhow::Result<()> { FILE: tests/reproduction_sync_oscillation.rs function test_path_to_safe_dirname_stability (line 4) | fn test_path_to_safe_dirname_stability() { function test_path_to_safe_dirname_distinct_configs (line 31) | fn test_path_to_safe_dirname_distinct_configs() { FILE: tests/robot_perf.rs function base_cmd (line 11) | fn base_cmd() -> Command { function health_fixture_data_dir (line 17) | fn health_fixture_data_dir() -> PathBuf { function measure_cmd (line 25) | fn measure_cmd(cmd: &mut Command) -> (Duration, bool) { function measure_median (line 34) | fn measure_median(args: &[&str], runs: usize) -> Duration { function robot_help_latency_under_200ms (line 53) | fn robot_help_latency_under_200ms() { function robot_help_with_color_never_latency (line 67) | fn robot_help_with_color_never_latency() { function robot_docs_guide_latency_under_300ms (line 84) | fn robot_docs_guide_latency_under_300ms() { function robot_docs_commands_latency_under_300ms (line 97) | fn robot_docs_commands_latency_under_300ms() { function robot_docs_topics_latency_under_200ms (line 110) | fn robot_docs_topics_latency_under_200ms() { function robot_docs_exit_codes_latency_under_200ms (line 123) | fn robot_docs_exit_codes_latency_under_200ms() { function robot_docs_wrap_latency_under_200ms (line 136) | fn robot_docs_wrap_latency_under_200ms() { function introspect_latency_under_300ms (line 153) | fn introspect_latency_under_300ms() { function api_version_latency_under_150ms (line 166) | fn api_version_latency_under_150ms() { function capabilities_latency_under_300ms (line 179) | fn capabilities_latency_under_300ms() { function trace_mode_adds_minimal_overhead (line 196) | fn trace_mode_adds_minimal_overhead() { function trace_mode_on_robot_docs_adds_minimal_overhead (line 219) | fn trace_mode_on_robot_docs_adds_minimal_overhead() { function help_flag_latency_under_200ms (line 246) | fn help_flag_latency_under_200ms() { function version_flag_latency_under_150ms (line 259) | fn version_flag_latency_under_150ms() { function robot_help_cold_start_under_500ms (line 276) | fn robot_help_cold_start_under_500ms() { function typical_agent_discovery_workflow_under_1sec (line 295) | fn typical_agent_discovery_workflow_under_1sec() { function health_check_latency_under_100ms (line 317) | fn health_check_latency_under_100ms() { FILE: tests/search_asset_harness.rs type LogEntry (line 38) | pub struct LogEntry { type HarnessLog (line 50) | pub struct HarnessLog { method new (line 55) | pub fn new() -> Self { method phase (line 60) | pub fn phase(&mut self, phase: &str, message: &str) { method phase_with_artifacts (line 70) | pub fn phase_with_artifacts( method snapshot_dir (line 85) | pub fn snapshot_dir(&mut self, phase: &str, dir: &Path) { method to_jsonl (line 98) | pub fn to_jsonl(&self) -> String { method entries (line 117) | pub fn entries(&self) -> &[LogEntry] { type CorpusConfig (line 126) | pub struct CorpusConfig { method default (line 140) | fn default() -> Self { type TestConversation (line 157) | pub struct TestConversation { type TestMessage (line 167) | pub struct TestMessage { type TestCorpus (line 174) | pub struct TestCorpus { method generate (line 181) | pub fn generate(config: CorpusConfig) -> Self { method total_messages (line 232) | pub fn total_messages(&self) -> usize { method total_conversations (line 237) | pub fn total_conversations(&self) -> usize { type CorruptionInjector (line 246) | pub struct CorruptionInjector { method new (line 251) | pub fn new(data_dir: &Path) -> Self { method remove_semantic_manifest (line 258) | pub fn remove_semantic_manifest(&self) -> bool { method corrupt_semantic_manifest (line 264) | pub fn corrupt_semantic_manifest(&self) { method write_future_version_manifest (line 273) | pub fn write_future_version_manifest(&self) { method write_stale_schema_manifest (line 287) | pub fn write_stale_schema_manifest(&self) { method remove_vector_index_dir (line 316) | pub fn remove_vector_index_dir(&self) -> bool { method remove_vector_index_file (line 322) | pub fn remove_vector_index_file(&self, embedder_id: &str) -> bool { method truncate_vector_index (line 331) | pub fn truncate_vector_index(&self, embedder_id: &str) { method remove_lexical_checkpoint (line 339) | pub fn remove_lexical_checkpoint(&self) { method write_legacy_vector_index (line 345) | pub fn write_legacy_vector_index(&self, embedder_id: &str, content: &[... method write_partial_build (line 355) | pub fn write_partial_build(&self, embedder_id: &str) { type GoldenQuery (line 388) | pub struct GoldenQuery { function golden_queries (line 402) | pub fn golden_queries() -> Vec { type TestEnvironment (line 452) | pub struct TestEnvironment { method new (line 462) | pub fn new() -> Self { method with_config (line 467) | pub fn with_config(config: CorpusConfig) -> Self { method ensure_vector_dir (line 485) | pub fn ensure_vector_dir(&self) { method write_manifest (line 491) | pub fn write_manifest(&self, manifest: &mut SemanticManifest) { method load_manifest (line 497) | pub fn load_manifest(&self) -> Option { method default (line 503) | fn default() -> Self { function now_ms (line 510) | fn now_ms() -> i64 { function corpus_generation_is_deterministic (line 526) | fn corpus_generation_is_deterministic() { function corpus_counts_are_correct (line 546) | fn corpus_counts_are_correct() { function corpus_agents_cycle_correctly (line 558) | fn corpus_agents_cycle_correctly() { function injector_corrupt_manifest_produces_parse_error (line 576) | fn injector_corrupt_manifest_produces_parse_error() { function injector_future_version_produces_version_error (line 586) | fn injector_future_version_produces_version_error() { function injector_stale_schema_manifest_detected_as_incompatible (line 596) | fn injector_stale_schema_manifest_detected_as_incompatible() { function injector_remove_manifest_returns_none_on_load (line 610) | fn injector_remove_manifest_returns_none_on_load() { function injector_partial_build_has_checkpoint_not_ready (line 623) | fn injector_partial_build_has_checkpoint_not_ready() { function injector_legacy_layout_no_manifest (line 655) | fn injector_legacy_layout_no_manifest() { function harness_log_records_phases (line 671) | fn harness_log_records_phases() { function harness_log_jsonl_is_parseable (line 684) | fn harness_log_jsonl_is_parseable() { function harness_log_snapshots_directory (line 710) | fn harness_log_snapshots_directory() { function golden_queries_cover_expected_scenarios (line 727) | fn golden_queries_cover_expected_scenarios() { function test_environment_setup_is_clean (line 743) | fn test_environment_setup_is_clean() { function test_environment_manifest_write_and_load (line 752) | fn test_environment_manifest_write_and_load() { function sample_e2e_scenario_corrupt_manifest_recovery (line 765) | fn sample_e2e_scenario_corrupt_manifest_recovery() { FILE: tests/search_asset_simulation.rs function run_robot_style_demo (line 11) | fn run_robot_style_demo() -> ( function load_script_is_deterministic_and_saturates_at_tail (line 143) | fn load_script_is_deterministic_and_saturates_at_tail() { function failpoint_crashes_once_and_then_clears (line 169) | fn failpoint_crashes_once_and_then_clears() { function simulation_failure_display_and_source_are_preserved (line 196) | fn simulation_failure_display_and_source_are_preserved() { function contention_plan_records_per_actor_traces_and_outcomes (line 221) | fn contention_plan_records_per_actor_traces_and_outcomes() { function rollout_gate_verdict_persists_thresholds_and_recovery_evidence (line 276) | fn rollout_gate_verdict_persists_thresholds_and_recovery_evidence() { function many_core_responsiveness_gate_persists_phase_utilization_evidence (line 412) | fn many_core_responsiveness_gate_persists_phase_utilization_evidence() { function segment_farm_rebuild_validates_shards_before_atomic_publish (line 619) | fn segment_farm_rebuild_validates_shards_before_atomic_publish() { function shadow_divergence_demotes_segment_farm_to_verified_serial_path (line 889) | fn shadow_divergence_demotes_segment_farm_to_verified_serial_path() { function unified_refresh_controller_records_policy_budget_and_demotion_reasons (line 1068) | fn unified_refresh_controller_records_policy_budget_and_demotion_reasons... function unified_refresh_controller_preserves_pressure_mode_operator_controls (line 1288) | fn unified_refresh_controller_preserves_pressure_mode_operator_controls() { function robot_style_demo_is_deterministic_and_persists_artifacts (line 1533) | fn robot_style_demo_is_deterministic_and_persists_artifacts() { FILE: tests/search_caching.rs function search_client_caches_repeated_queries (line 8) | fn search_client_caches_repeated_queries() { function search_client_prefix_cache_works (line 57) | fn search_client_prefix_cache_works() { FILE: tests/search_filters.rs function commit_and_open_client (line 7) | fn commit_and_open_client(index: &mut TantivyIndex, dir: &TempDir) -> Se... function agent_filter_limits_results (line 16) | fn agent_filter_limits_results() { function workspace_filter_limits_results (line 55) | fn workspace_filter_limits_results() { function time_filter_respects_since_until (line 92) | fn time_filter_respects_since_until() { function minimal_field_mask_preserves_order (line 131) | fn minimal_field_mask_preserves_order() { FILE: tests/search_frankensearch_integration.rs function no_direct_tantivy_imports_in_src (line 29) | fn no_direct_tantivy_imports_in_src() { function no_direct_tantivy_in_cargo_toml (line 75) | fn no_direct_tantivy_in_cargo_toml() { function semantic_filter_implements_search_filter_directly (line 98) | fn semantic_filter_implements_search_filter_directly() { function unrestricted_semantic_filter_matches_all (line 161) | fn unrestricted_semantic_filter_matches_all() { function parse_semantic_doc_id_roundtrip (line 176) | fn parse_semantic_doc_id_roundtrip() { function parse_semantic_doc_id_without_hash (line 193) | fn parse_semantic_doc_id_without_hash() { function parse_semantic_doc_id_rejects_invalid (line 204) | fn parse_semantic_doc_id_rejects_invalid() { function frankensearch_vector_index_write_and_search (line 218) | fn frankensearch_vector_index_write_and_search() { function frankensearch_vector_search_with_semantic_filter (line 260) | fn frankensearch_vector_search_with_semantic_filter() { function lexical_search_through_frankensearch_pipeline (line 313) | fn lexical_search_through_frankensearch_pipeline() { function agent_filter_through_frankensearch_pipeline (line 360) | fn agent_filter_through_frankensearch_pipeline() { function frankensearch_rrf_fuse_produces_valid_scores (line 414) | fn frankensearch_rrf_fuse_produces_valid_scores() { function search_results_are_deterministic (line 498) | fn search_results_are_deterministic() { function search_results_have_expected_fields (line 552) | fn search_results_have_expected_fields() { FILE: tests/search_latency_under_indexing.rs function seed_baseline_corpus (line 47) | fn seed_baseline_corpus(index: &mut TantivyIndex, base_dir: &Path, count... function spawn_background_indexer (line 66) | fn spawn_background_indexer( function percentile (line 98) | fn percentile(sorted: &[Duration], pct: f64) -> Duration { type LatencyReport (line 107) | struct LatencyReport { method from_durations (line 115) | fn from_durations(mut durations: Vec) -> Self { function measure_foreground_latency (line 131) | fn measure_foreground_latency( function search_p95_stays_within_budget_while_indexing_in_background (line 174) | fn search_p95_stays_within_budget_while_indexing_in_background() { type EnvGuard (line 257) | struct EnvGuard { method set (line 263) | fn set(key: &'static str, value: &str) -> Self { method drop (line 276) | fn drop(&mut self) { function governor_disabled_run_matches_idle_baseline (line 289) | fn governor_disabled_run_matches_idle_baseline() { FILE: tests/search_pipeline.rs function prefix_wildcard_matches_start_of_term (line 28) | fn prefix_wildcard_matches_start_of_term() { function suffix_wildcard_matches_end_of_term (line 70) | fn suffix_wildcard_matches_end_of_term() { function substring_wildcard_matches_middle_of_term (line 105) | fn substring_wildcard_matches_middle_of_term() { function edge_ngram_enables_prefix_search (line 143) | fn edge_ngram_enables_prefix_search() { function multiple_terms_with_wildcards (line 177) | fn multiple_terms_with_wildcards() { function cache_hit_returns_identical_results (line 221) | fn cache_hit_returns_identical_results() { function cache_shortfall_fetches_more_results (line 276) | fn cache_shortfall_fetches_more_results() { function different_filters_have_separate_cache_entries (line 320) | fn different_filters_have_separate_cache_entries() { function recency_affects_ranking (line 397) | fn recency_affects_ranking() { function term_frequency_affects_bm25_score (line 452) | fn term_frequency_affects_bm25_score() { function snippet_includes_context_around_match (line 506) | fn snippet_includes_context_around_match() { function content_field_preserves_full_text (line 545) | fn content_field_preserves_full_text() { function title_field_is_searchable (line 582) | fn title_field_is_searchable() { function empty_query_does_not_panic (line 617) | fn empty_query_does_not_panic() { function whitespace_query_does_not_panic (line 650) | fn whitespace_query_does_not_panic() { function special_characters_handled (line 699) | fn special_characters_handled() { function only_wildcard_query (line 750) | fn only_wildcard_query() { function search_spans_multiple_messages (line 797) | fn search_spans_multiple_messages() { function pagination_offset_works (line 837) | fn pagination_offset_works() { function deduplication_removes_duplicates (line 886) | fn deduplication_removes_duplicates() { function indexing_skips_message_level_noise (line 929) | fn indexing_skips_message_level_noise() { function search_hides_system_prompts_unless_query_requests_them (line 1035) | fn search_hides_system_prompts_unless_query_requests_them() { FILE: tests/search_wildcard_fallback.rs function implicit_wildcard_fallback_finds_substrings (line 8) | fn implicit_wildcard_fallback_finds_substrings() { function explicit_wildcard_works_without_fallback (line 47) | fn explicit_wildcard_works_without_fallback() { FILE: tests/secret_scan.rs function severity_rank (line 13) | fn severity_rank(s: SecretSeverity) -> u8 { function open_db (line 22) | fn open_db(path: &Path) -> Result { function setup_db (line 27) | fn setup_db(path: &Path, message_content: &str) -> Result<()> { function setup_db_full (line 74) | fn setup_db_full( function no_filters (line 138) | fn no_filters() -> SecretScanFilters { function default_config (line 147) | fn default_config() -> SecretScanConfig { function scan (line 151) | fn scan(db_path: &Path) -> Result { function fixture (line 155) | fn fixture(parts: &[&str]) -> String { function oai_fixture (line 159) | fn oai_fixture() -> String { function allowlisted_oai_fixture (line 163) | fn allowlisted_oai_fixture() -> String { function anthropic_fixture (line 167) | fn anthropic_fixture() -> String { function aws_access_fixture (line 171) | fn aws_access_fixture() -> String { function aws_s_fixture (line 175) | fn aws_s_fixture() -> String { function gh_fixture (line 179) | fn gh_fixture() -> String { function jwt_fixture (line 183) | fn jwt_fixture() -> String { function private_block_fixture (line 193) | fn private_block_fixture(kind: &str, body: &str) -> String { function database_url_fixture (line 197) | fn database_url_fixture(scheme: &str, userinfo: &str, host: &str, path: ... function generic_kv_line (line 201) | fn generic_kv_line(value: &str) -> String { function test_secret_scan_detects_oai_fixture (line 210) | fn test_secret_scan_detects_oai_fixture() -> Result<()> { function test_secret_scan_allowlist_suppresses (line 222) | fn test_secret_scan_allowlist_suppresses() -> Result<()> { function test_secret_scan_entropy_detection (line 237) | fn test_secret_scan_entropy_detection() -> Result<()> { function detects_secret_in_message_snippet (line 260) | fn detects_secret_in_message_snippet() -> Result<()> { function detects_aws_access_key_id (line 305) | fn detects_aws_access_key_id() -> Result<()> { function detects_aws_s_fixture (line 329) | fn detects_aws_s_fixture() -> Result<()> { function detects_gh_fixture (line 356) | fn detects_gh_fixture() -> Result<()> { function detects_anthropic_fixture (line 377) | fn detects_anthropic_fixture() -> Result<()> { function anthropic_key_is_not_reported_as_oai_fixture (line 397) | fn anthropic_key_is_not_reported_as_oai_fixture() -> Result<()> { function detects_jwt_token (line 411) | fn detects_jwt_token() -> Result<()> { function detects_private_key_header (line 427) | fn detects_private_key_header() -> Result<()> { function detects_encrypted_private_key_header (line 450) | fn detects_encrypted_private_key_header() -> Result<()> { function detects_database_url (line 467) | fn detects_database_url() -> Result<()> { function detects_generic_api_key (line 492) | fn detects_generic_api_key() -> Result<()> { function detects_secret_in_conversation_title (line 516) | fn detects_secret_in_conversation_title() -> Result<()> { function detects_secret_in_metadata_json (line 559) | fn detects_secret_in_metadata_json() -> Result<()> { function detects_secret_in_message_extra_json (line 599) | fn detects_secret_in_message_extra_json() -> Result<()> { function agent_filter_limits_scan_to_matching_agent (line 632) | fn agent_filter_limits_scan_to_matching_agent() -> Result<()> { function workspace_filter_limits_scan (line 664) | fn workspace_filter_limits_scan() -> Result<()> { function time_range_filter_excludes_old_conversations (line 696) | fn time_range_filter_excludes_old_conversations() -> Result<()> { function empty_database_returns_empty_report (line 731) | fn empty_database_returns_empty_report() -> Result<()> { function safe_content_produces_no_findings (line 762) | fn safe_content_produces_no_findings() -> Result<()> { function multiple_secrets_in_multiple_messages (line 780) | fn multiple_secrets_in_multiple_messages() -> Result<()> { function findings_sorted_by_severity_then_kind (line 819) | fn findings_sorted_by_severity_then_kind() -> Result<()> { function summary_counts_match_findings (line 855) | fn summary_counts_match_findings() -> Result<()> { function has_critical_flag_set_when_critical_found (line 880) | fn has_critical_flag_set_when_critical_found() -> Result<()> { function has_critical_flag_false_when_no_critical (line 891) | fn has_critical_flag_false_when_no_critical() -> Result<()> { function denylist_via_database_scan_always_critical (line 906) | fn denylist_via_database_scan_always_critical() -> Result<()> { function redaction_does_not_leak_full_match (line 923) | fn redaction_does_not_leak_full_match() -> Result<()> { function finding_includes_agent_and_source_path (line 946) | fn finding_includes_agent_and_source_path() -> Result<()> { function nonexistent_database_returns_error (line 991) | fn nonexistent_database_returns_error() { function hex_entropy_detection_for_long_hex_strings (line 1003) | fn hex_entropy_detection_for_long_hex_strings() -> Result<()> { function openssh_private_key_detected (line 1021) | fn openssh_private_key_detected() -> Result<()> { function ec_private_key_detected (line 1038) | fn ec_private_key_detected() -> Result<()> { function mysql_connection_url_detected (line 1052) | fn mysql_connection_url_detected() -> Result<()> { function mongodb_connection_url_detected (line 1069) | fn mongodb_connection_url_detected() -> Result<()> { FILE: tests/security_nonce.rs function derive_chunk_nonce (line 12) | fn derive_chunk_nonce(base_nonce: &[u8; 12], chunk_index: u32) -> [u8; 1... function test_nonce_uniqueness_sequential_chunks (line 20) | fn test_nonce_uniqueness_sequential_chunks() { function test_nonce_uniqueness_with_zeros_base (line 40) | fn test_nonce_uniqueness_with_zeros_base() { function test_nonce_uniqueness_with_max_base (line 58) | fn test_nonce_uniqueness_with_max_base() { function test_nonce_counter_overwrites_base (line 76) | fn test_nonce_counter_overwrites_base() { function test_nonce_different_bases_produce_different_nonces (line 97) | fn test_nonce_different_bases_produce_different_nonces() { function test_nonce_big_endian_counter (line 115) | fn test_nonce_big_endian_counter() { function test_no_xor_vulnerability (line 127) | fn test_no_xor_vulnerability() { FILE: tests/semantic_integration.rs function make_codex_session (line 20) | fn make_codex_session( function test_models_status_command (line 44) | fn test_models_status_command() { function test_models_status_json_output (line 69) | fn test_models_status_json_output() { function test_models_verify_command (line 112) | fn test_models_verify_command() { function test_models_verify_json_output (line 134) | fn test_models_verify_json_output() { function test_models_check_update_command (line 181) | fn test_models_check_update_command() { function test_models_check_update_json_output (line 203) | fn test_models_check_update_json_output() { function test_models_help_shows_subcommands (line 247) | fn test_models_help_shows_subcommands() { function test_mode_flag_lexical (line 286) | fn test_mode_flag_lexical() { function test_mode_flag_semantic (line 343) | fn test_mode_flag_semantic() { function test_mode_flag_hybrid (line 402) | fn test_mode_flag_hybrid() { function test_same_query_same_results (line 465) | fn test_same_query_same_results() { function test_result_ordering_deterministic (line 540) | fn test_result_ordering_deterministic() { function test_robot_output_schema (line 612) | fn test_robot_output_schema() { function test_incremental_index_skips_unchanged (line 715) | fn test_incremental_index_skips_unchanged() { function test_incremental_index_picks_up_new_files (line 768) | fn test_incremental_index_picks_up_new_files() { function test_filter_parity_agent_filter (line 845) | fn test_filter_parity_agent_filter() { function test_offline_mode_environment (line 925) | fn test_offline_mode_environment() { function test_search_mode_flag_consistency (line 963) | fn test_search_mode_flag_consistency() { function test_models_install_from_file_directory_validates_checksums (line 1032) | fn test_models_install_from_file_directory_validates_checksums() { function test_models_install_rejects_invalid_mirror_url (line 1065) | fn test_models_install_rejects_invalid_mirror_url() { function test_models_install_rejects_conflicting_mirror_and_from_file (line 1094) | fn test_models_install_rejects_conflicting_mirror_and_from_file() { function test_models_install_from_file_missing_directory (line 1125) | fn test_models_install_from_file_missing_directory() { function test_approximate_flag_semantic_mode (line 1166) | fn test_approximate_flag_semantic_mode() { function test_approximate_flag_lexical_mode_warning (line 1230) | fn test_approximate_flag_lexical_mode_warning() { function test_approximate_flag_hybrid_mode (line 1293) | fn test_approximate_flag_hybrid_mode() { function test_index_build_hnsw_flag (line 1355) | fn test_index_build_hnsw_flag() { function test_introspect_includes_models_command (line 1412) | fn test_introspect_includes_models_command() { FILE: tests/serialization_compat.rs function golden_path (line 16) | fn golden_path(name: &str) -> PathBuf { function load_golden (line 22) | fn load_golden(name: &str) -> String { function build_full_conversation (line 28) | fn build_full_conversation() -> NormalizedConversation { function build_minimal_conversation (line 89) | fn build_minimal_conversation() -> NormalizedConversation { function build_full_message (line 113) | fn build_full_message() -> NormalizedMessage { function build_full_snippet (line 150) | fn build_full_snippet() -> NormalizedSnippet { function build_detection_result (line 168) | fn build_detection_result() -> DetectionResult { function deserialize_golden_conversation (line 188) | fn deserialize_golden_conversation() { function deserialize_golden_conversation_minimal (line 230) | fn deserialize_golden_conversation_minimal() { function deserialize_golden_message (line 248) | fn deserialize_golden_message() { function deserialize_golden_snippet (line 274) | fn deserialize_golden_snippet() { function deserialize_golden_detection_result (line 296) | fn deserialize_golden_detection_result() { function serialize_matches_golden_conversation (line 312) | fn serialize_matches_golden_conversation() { function serialize_matches_golden_conversation_minimal (line 325) | fn serialize_matches_golden_conversation_minimal() { function serialize_matches_golden_message (line 338) | fn serialize_matches_golden_message() { function serialize_matches_golden_snippet (line 351) | fn serialize_matches_golden_snippet() { function serialize_matches_golden_detection_result (line 364) | fn serialize_matches_golden_detection_result() { function roundtrip_conversation_json (line 381) | fn roundtrip_conversation_json() { function roundtrip_minimal_conversation_json (line 406) | fn roundtrip_minimal_conversation_json() { function roundtrip_message_json (line 421) | fn roundtrip_message_json() { function roundtrip_snippet_json (line 435) | fn roundtrip_snippet_json() { function roundtrip_detection_result_json (line 448) | fn roundtrip_detection_result_json() { function roundtrip_conversation_messagepack (line 463) | fn roundtrip_conversation_messagepack() { function roundtrip_minimal_conversation_messagepack (line 489) | fn roundtrip_minimal_conversation_messagepack() { function roundtrip_message_messagepack (line 502) | fn roundtrip_message_messagepack() { function roundtrip_snippet_messagepack (line 515) | fn roundtrip_snippet_messagepack() { function cross_format_json_to_msgpack_to_json (line 533) | fn cross_format_json_to_msgpack_to_json() { function conversation_json_has_expected_top_level_fields (line 573) | fn conversation_json_has_expected_top_level_fields() { function message_json_has_expected_fields (line 604) | fn message_json_has_expected_fields() { function snippet_json_has_expected_fields (line 632) | fn snippet_json_has_expected_fields() { function backwards_compat_extra_fields_ignored (line 662) | fn backwards_compat_extra_fields_ignored() { function backwards_compat_null_optionals (line 688) | fn backwards_compat_null_optionals() { FILE: tests/serialization_golden.rs function load_golden (line 18) | fn load_golden(name: &str) -> String { function make_test_snippet (line 27) | fn make_test_snippet() -> NormalizedSnippet { function make_test_message (line 45) | fn make_test_message() -> NormalizedMessage { function make_test_conversation (line 78) | fn make_test_conversation() -> NormalizedConversation { function make_minimal_conversation (line 137) | fn make_minimal_conversation() -> NormalizedConversation { function deserialize_golden_conversation (line 163) | fn deserialize_golden_conversation() { function deserialize_golden_message (line 192) | fn deserialize_golden_message() { function deserialize_golden_snippet (line 211) | fn deserialize_golden_snippet() { function deserialize_golden_minimal_conversation (line 227) | fn deserialize_golden_minimal_conversation() { function serialize_matches_golden_conversation (line 245) | fn serialize_matches_golden_conversation() { function serialize_matches_golden_message (line 258) | fn serialize_matches_golden_message() { function serialize_matches_golden_snippet (line 271) | fn serialize_matches_golden_snippet() { function serialize_matches_golden_minimal (line 284) | fn serialize_matches_golden_minimal() { function json_roundtrip_conversation (line 299) | fn json_roundtrip_conversation() { function json_roundtrip_message (line 325) | fn json_roundtrip_message() { function json_roundtrip_snippet (line 340) | fn json_roundtrip_snippet() { function messagepack_roundtrip_conversation (line 355) | fn messagepack_roundtrip_conversation() { function messagepack_roundtrip_message (line 370) | fn messagepack_roundtrip_message() { function messagepack_roundtrip_snippet (line 382) | fn messagepack_roundtrip_snippet() { function json_to_msgpack_to_json_conversation (line 396) | fn json_to_msgpack_to_json_conversation() { function all_role_variants_roundtrip (line 415) | fn all_role_variants_roundtrip() { function empty_messages_roundtrip (line 437) | fn empty_messages_roundtrip() { function unicode_content_roundtrip (line 456) | fn unicode_content_roundtrip() { function large_idx_roundtrip (line 484) | fn large_idx_roundtrip() { FILE: tests/setup_workflow.rs function setup_options_default_values (line 28) | fn setup_options_default_values() { function setup_options_custom_values (line 48) | fn setup_options_custom_values() { function setup_state_default_is_empty (line 83) | fn setup_state_default_is_empty() { function setup_state_has_progress_empty (line 105) | fn setup_state_has_progress_empty() { function setup_state_has_progress_discovery (line 112) | fn setup_state_has_progress_discovery() { function setup_state_has_progress_probing (line 125) | fn setup_state_has_progress_probing() { function setup_state_has_progress_selection (line 138) | fn setup_state_has_progress_selection() { function setup_state_has_progress_installation (line 151) | fn setup_state_has_progress_installation() { function setup_state_has_progress_indexing (line 164) | fn setup_state_has_progress_indexing() { function setup_state_has_progress_configuration (line 177) | fn setup_state_has_progress_configuration() { function setup_state_serde_roundtrip (line 190) | fn setup_state_serde_roundtrip() { function setup_state_json_format (line 232) | fn setup_state_json_format() { function setup_state_with_probe_results (line 250) | fn setup_state_with_probe_results() { function setup_state_with_multiple_probe_results (line 272) | fn setup_state_with_multiple_probe_results() { function setup_error_cancelled_display (line 304) | fn setup_error_cancelled_display() { function setup_error_no_hosts_display (line 311) | fn setup_error_no_hosts_display() { function setup_error_interrupted_display (line 318) | fn setup_error_interrupted_display() { function setup_error_io_display (line 325) | fn setup_error_io_display() { function setup_error_json_display (line 333) | fn setup_error_json_display() { function setup_result_structure (line 346) | fn setup_result_structure() { function setup_result_dry_run (line 364) | fn setup_result_dry_run() { function cass_status_not_found_not_installed (line 383) | fn cass_status_not_found_not_installed() { function cass_status_unknown_not_installed (line 390) | fn cass_status_unknown_not_installed() { function cass_status_installed_not_indexed_is_installed (line 397) | fn cass_status_installed_not_indexed_is_installed() { function cass_status_indexed_is_installed (line 406) | fn cass_status_indexed_is_installed() { function setup_state_phase_progression (line 421) | fn setup_state_phase_progression() { function setup_state_sync_complete_not_in_has_progress (line 480) | fn setup_state_sync_complete_not_in_has_progress() { FILE: tests/ssh_sync_integration.rs function require_docker (line 19) | fn require_docker() { function test_sync_source_real_ssh (line 33) | fn test_sync_source_real_ssh() { function test_sync_multiple_paths (line 92) | fn test_sync_multiple_paths() { function test_sources_sync_e2e_real_ssh (line 158) | fn test_sources_sync_e2e_real_ssh() { function test_get_remote_home (line 336) | fn test_get_remote_home() { function test_tilde_expansion_with_rsync (line 350) | fn test_tilde_expansion_with_rsync() { function test_sync_nonexistent_path (line 397) | fn test_sync_nonexistent_path() { function test_ssh_wrong_port_fails (line 426) | fn test_ssh_wrong_port_fails() { function test_probe_host_real_ssh (line 454) | fn test_probe_host_real_ssh() { function test_list_remote_files (line 474) | fn test_list_remote_files() { function test_rsync_stats_parsing (line 503) | fn test_rsync_stats_parsing() { function test_container_cleanup (line 541) | fn test_container_cleanup() { FILE: tests/ssh_test_helper.rs type SshTestError (line 33) | pub enum SshTestError { type SshTestServer (line 52) | pub struct SshTestServer { constant IMAGE_NAME (line 63) | const IMAGE_NAME: &'static str = "cass-ssh-test:latest"; method start (line 74) | pub fn start() -> Result { method start_with_timeout (line 79) | pub fn start_with_timeout(timeout: Duration) -> Result bool { method ensure_image_built (line 183) | fn ensure_image_built() -> Result<(), SshTestError> { method get_container_port (line 223) | fn get_container_port(container_name: &str) -> Result Result<(), SshTestError> { method check_ssh_ready (line 266) | fn check_ssh_ready(&self) -> bool { method ssh_base_args (line 279) | fn ssh_base_args(&self) -> Vec { method ssh_user_host (line 297) | fn ssh_user_host(&self) -> String { method ssh_target (line 305) | pub fn ssh_target(&self) -> String { method port (line 310) | pub fn port(&self) -> u16 { method private_key_path (line 315) | pub fn private_key_path(&self) -> &PathBuf { method remote_home (line 320) | pub fn remote_home(&self) -> &str { method ssh_exec (line 325) | pub fn ssh_exec(&self, cmd: &str) -> Result { method ssh_exec_with_stdin (line 343) | pub fn ssh_exec_with_stdin(&self, stdin_data: &str) -> Result String { method rsync_ssh_opts (line 381) | pub fn rsync_ssh_opts(&self) -> String { method drop (line 391) | fn drop(&mut self) { function docker_available (line 404) | pub fn docker_available() -> bool { function test_docker_available_check (line 419) | fn test_docker_available_check() { FILE: tests/storage.rs function open_fixture_db (line 9) | fn open_fixture_db(path: impl AsRef) -> FrankenConnection { function sample_agent (line 14) | fn sample_agent() -> Agent { function sample_conv (line 24) | fn sample_conv(external_id: Option<&str>, messages: Vec) -> Con... function msg (line 42) | fn msg(idx: i64, created_at: i64) -> Message { function schema_version_uses_schema_migrations_after_open (line 56) | fn schema_version_uses_schema_migrations_after_open() { function rebuild_fts_repopulates_rows (line 80) | fn rebuild_fts_repopulates_rows() { function duplicate_idx_within_new_conversation_keeps_first_message (line 128) | fn duplicate_idx_within_new_conversation_keeps_first_message() { function insert_conversation_tree_succeeds_without_db_resident_fts (line 159) | fn insert_conversation_tree_succeeds_without_db_resident_fts() { function insert_conversations_batched_succeeds_without_db_resident_fts (line 200) | fn insert_conversations_batched_succeeds_without_db_resident_fts() { function append_only_updates_existing_conversation (line 250) | fn append_only_updates_existing_conversation() { function large_batch_insert_keeps_fts_in_sync (line 292) | fn large_batch_insert_keeps_fts_in_sync() { function last_scan_ts_roundtrip (line 340) | fn last_scan_ts_roundtrip() { function last_scan_ts_overwrite (line 358) | fn last_scan_ts_overwrite() { function open_ignores_stale_meta_schema_version_once_schema_migrations_exist (line 369) | fn open_ignores_stale_meta_schema_version_once_schema_migrations_exist() { function fresh_db_creates_all_tables (line 399) | fn fresh_db_creates_all_tables() { function fresh_db_creates_all_indexes (line 453) | fn fresh_db_creates_all_indexes() { function migration_v16_drops_redundant_message_conv_idx (line 487) | fn migration_v16_drops_redundant_message_conv_idx() { function migration_v17_drops_message_created_idx (line 524) | fn migration_v17_drops_message_created_idx() { function agents_table_has_correct_columns (line 555) | fn agents_table_has_correct_columns() { function conversations_table_has_correct_columns (line 589) | fn conversations_table_has_correct_columns() { function messages_table_has_correct_columns (line 629) | fn messages_table_has_correct_columns() { function fts_messages_is_fts5_virtual_table (line 652) | fn fts_messages_is_fts5_virtual_table() { function fresh_database_fts_messages_is_queryable_via_frankensqlite (line 693) | fn fresh_database_fts_messages_is_queryable_via_frankensqlite() { function open_disables_frankensqlite_autocommit_retain (line 708) | fn open_disables_frankensqlite_autocommit_retain() { function migration_from_v1_requires_rebuild (line 732) | fn migration_from_v1_requires_rebuild() { function migration_from_v2_requires_rebuild (line 836) | fn migration_from_v2_requires_rebuild() { function foreign_keys_are_enforced (line 952) | fn foreign_keys_are_enforced() { function unique_constraints_work (line 969) | fn unique_constraints_work() { function pragmas_are_applied (line 994) | fn pragmas_are_applied() { function local_source_auto_created_on_init (line 1020) | fn local_source_auto_created_on_init() { function list_sources_includes_local (line 1036) | fn list_sources_includes_local() { function upsert_and_get_source (line 1050) | fn upsert_and_get_source() { function upsert_updates_existing_source (line 1108) | fn upsert_updates_existing_source() { function delete_source_removes_it (line 1159) | fn delete_source_removes_it() { function delete_nonexistent_source_returns_false (line 1180) | fn delete_nonexistent_source_returns_false() { function cannot_delete_local_source (line 1190) | fn cannot_delete_local_source() { function sources_table_has_correct_columns (line 1204) | fn sources_table_has_correct_columns() { function migration_from_v3_requires_rebuild (line 1227) | fn migration_from_v3_requires_rebuild() { function is_user_data_file_detects_protected_files (line 1350) | fn is_user_data_file_detects_protected_files() { function current_schema_version_matches_internal (line 1366) | fn current_schema_version_matches_internal() { function create_backup_creates_named_copy (line 1379) | fn create_backup_creates_named_copy() { function create_backup_returns_none_for_nonexistent_file (line 1409) | fn create_backup_returns_none_for_nonexistent_file() { function cleanup_old_backups_keeps_recent (line 1421) | fn cleanup_old_backups_keeps_recent() { function open_or_rebuild_creates_fresh_db (line 1453) | fn open_or_rebuild_creates_fresh_db() { function open_or_rebuild_requires_rebuild_for_legacy_v4_schema (line 1468) | fn open_or_rebuild_requires_rebuild_for_legacy_v4_schema() { function open_or_rebuild_triggers_rebuild_for_future_version (line 1587) | fn open_or_rebuild_triggers_rebuild_for_future_version() { function open_or_rebuild_handles_corrupted_db (line 1629) | fn open_or_rebuild_handles_corrupted_db() { function sample_conv_with_source (line 1656) | fn sample_conv_with_source( function timeline_source_filter_local_only (line 1684) | fn timeline_source_filter_local_only() { function timeline_source_filter_remote_only (line 1749) | fn timeline_source_filter_remote_only() { function timeline_source_filter_specific_source (line 1814) | fn timeline_source_filter_specific_source() { function timeline_json_includes_source_id_field (line 1895) | fn timeline_json_includes_source_id_field() { function timeline_json_includes_origin_kind_field (line 1944) | fn timeline_json_includes_origin_kind_field() { function timeline_json_includes_origin_host_field (line 2022) | fn timeline_json_includes_origin_host_field() { function timeline_json_grouped_output_includes_provenance (line 2100) | fn timeline_json_grouped_output_includes_provenance() { function daily_stats_table_created_on_fresh_db (line 2181) | fn daily_stats_table_created_on_fresh_db() { function daily_stats_day_id_conversion (line 2216) | fn daily_stats_day_id_conversion() { function daily_stats_rebuild_from_conversations (line 2233) | fn daily_stats_rebuild_from_conversations() { function daily_stats_count_sessions_in_range (line 2282) | fn daily_stats_count_sessions_in_range() { function daily_stats_histogram (line 2334) | fn daily_stats_histogram() { function daily_stats_uses_materialized_after_insert (line 2423) | fn daily_stats_uses_materialized_after_insert() { function daily_stats_health_no_drift_after_inserts (line 2461) | fn daily_stats_health_no_drift_after_inserts() { function daily_stats_null_timestamp_consistency (line 2535) | fn daily_stats_null_timestamp_consistency() { function daily_stats_batched_insert_no_drift (line 2595) | fn daily_stats_batched_insert_no_drift() { function daily_stats_tree_insert_no_drift (line 2657) | fn daily_stats_tree_insert_no_drift() { function dump_agent_workspace_state (line 2712) | fn dump_agent_workspace_state(storage: &SqliteStorage) -> (Vec<(i64, Str... function cache_agent_id_consistency (line 2732) | fn cache_agent_id_consistency() { function cache_workspace_id_consistency (line 2762) | fn cache_workspace_id_consistency() { function cache_statistics_tracking (line 2790) | fn cache_statistics_tracking() { function cache_clear_resets_state (line 2851) | fn cache_clear_resets_state() { function cache_multiple_unique_entries (line 2894) | fn cache_multiple_unique_entries() { function cache_env_var_control (line 2956) | fn cache_env_var_control() { function cache_stress_test_large_corpus (line 2991) | fn cache_stress_test_large_corpus() { function cache_id_stability_across_runs (line 3075) | fn cache_id_stability_across_runs() { function cache_benchmark_speedup (line 3124) | fn cache_benchmark_speedup() { function cache_hit_ratio_targets (line 3237) | fn cache_hit_ratio_targets() { function cache_benchmark_large_corpus (line 3315) | fn cache_benchmark_large_corpus() { function cache_memory_overhead_acceptable (line 3425) | fn cache_memory_overhead_acceptable() { FILE: tests/storage_frankensqlite_parity.rs function make_agent (line 24) | fn make_agent(slug: &str, name: &str) -> Agent { function make_conversation (line 34) | fn make_conversation( function make_message (line 57) | fn make_message(idx: i64, role: MessageRole, content: &str) -> Message { function make_message_with_snippet (line 70) | fn make_message_with_snippet(idx: i64, content: &str, snippet_text: &str... function make_source (line 90) | fn make_source(id: &str, kind: SourceKind, host: Option<&str>) -> Source { function open_both (line 104) | fn open_both() -> (TempDir, SqliteStorage, FrankenStorage) { function parity_schema_version_matches (line 118) | fn parity_schema_version_matches() { function parity_migration_creates_local_source (line 128) | fn parity_migration_creates_local_source() { function parity_ensure_agent_returns_id (line 152) | fn parity_ensure_agent_returns_id() { function parity_ensure_agent_idempotent (line 164) | fn parity_ensure_agent_idempotent() { function parity_list_agents_ordering (line 184) | fn parity_list_agents_ordering() { function parity_ensure_workspace (line 207) | fn parity_ensure_workspace() { function parity_list_workspaces (line 219) | fn parity_list_workspaces() { function parity_upsert_and_get_source (line 241) | fn parity_upsert_and_get_source() { function parity_list_sources (line 258) | fn parity_list_sources() { function parity_get_source_ids (line 276) | fn parity_get_source_ids() { function parity_delete_source (line 292) | fn parity_delete_source() { function parity_delete_local_source_fails (line 310) | fn parity_delete_local_source_fails() { function parity_insert_and_list_conversations (line 328) | fn parity_insert_and_list_conversations() { function parity_insert_and_fetch_messages (line 368) | fn parity_insert_and_fetch_messages() { function parity_fetch_messages_four_msgs (line 412) | fn parity_fetch_messages_four_msgs() { function parity_insert_with_snippets (line 451) | fn parity_insert_with_snippets() { function parity_conversation_dedup_by_external_id (line 485) | fn parity_conversation_dedup_by_external_id() { function parity_list_conversations_pagination (line 532) | fn parity_list_conversations_pagination() { function parity_scan_timestamp_roundtrip (line 574) | fn parity_scan_timestamp_roundtrip() { function parity_rebuild_fts_and_query (line 593) | fn parity_rebuild_fts_and_query() { function parity_empty_database_agents_and_sources (line 625) | fn parity_empty_database_agents_and_sources() { function parity_empty_database_conversations (line 639) | fn parity_empty_database_conversations() { function parity_unicode_content (line 649) | fn parity_unicode_content() { function parity_null_handling (line 679) | fn parity_null_handling() { function parity_large_content (line 728) | fn parity_large_content() { function parity_multiple_agents_multiple_conversations (line 762) | fn parity_multiple_agents_multiple_conversations() { function parity_multiple_agents_only (line 818) | fn parity_multiple_agents_only() { function parity_source_upsert_updates_existing (line 848) | fn parity_source_upsert_updates_existing() { function parity_get_nonexistent_source_returns_none (line 870) | fn parity_get_nonexistent_source_returns_none() { function parity_delete_nonexistent_source_returns_false (line 878) | fn parity_delete_nonexistent_source_returns_false() { function parity_embedding_job_lifecycle (line 893) | fn parity_embedding_job_lifecycle() { function parity_embedding_job_failure (line 923) | fn parity_embedding_job_failure() { function parity_cancel_embedding_jobs (line 946) | fn parity_cancel_embedding_jobs() { function transition_rusqlite_db_readable_by_frankenstorage_basic (line 972) | fn transition_rusqlite_db_readable_by_frankenstorage_basic() { function transition_rusqlite_db_conversations_readable (line 1015) | fn transition_rusqlite_db_conversations_readable() { function transition_frankenstorage_data_readable_by_rusqlite (line 1040) | fn transition_frankenstorage_data_readable_by_rusqlite() { function parity_count_sessions_in_range (line 1083) | fn parity_count_sessions_in_range() { FILE: tests/storage_migration_safety.rs function create_v1_db (line 7) | fn create_v1_db(path: &Path) { function test_migration_v1_requires_rebuild (line 90) | fn test_migration_v1_requires_rebuild() { function test_rebuild_safety_on_corruption (line 113) | fn test_rebuild_safety_on_corruption() { function test_missing_meta_triggers_rebuild (line 149) | fn test_missing_meta_triggers_rebuild() { function test_future_schema_triggers_rebuild (line 170) | fn test_future_schema_triggers_rebuild() { FILE: tests/streaming_index.rs function make_codex_session (line 22) | fn make_codex_session(root: &Path, date_path: &str, filename: &str, cont... function make_test_corpus (line 36) | fn make_test_corpus(codex_home: &Path, count: usize) { function count_messages (line 46) | fn count_messages(db_path: &Path) -> i64 { function count_conversations (line 54) | fn count_conversations(db_path: &Path) -> i64 { function test_streaming_enabled_when_var_set_to_1 (line 69) | fn test_streaming_enabled_when_var_set_to_1() { function test_streaming_disabled_via_env_var (line 79) | fn test_streaming_disabled_via_env_var() { function test_streaming_enabled_with_non_zero_value (line 89) | fn test_streaming_enabled_with_non_zero_value() { function test_streaming_batch_equivalence_message_count (line 103) | fn test_streaming_batch_equivalence_message_count() { function test_streaming_batch_equivalence_search_results (line 162) | fn test_streaming_batch_equivalence_search_results() { function test_streaming_indexing_deterministic (line 269) | fn test_streaming_indexing_deterministic() { function test_streaming_larger_corpus (line 331) | fn test_streaming_larger_corpus() { function test_streaming_incremental_indexing (line 373) | fn test_streaming_incremental_indexing() { function test_streaming_empty_corpus (line 437) | fn test_streaming_empty_corpus() { function test_switch_from_batch_to_streaming (line 469) | fn test_switch_from_batch_to_streaming() { FILE: tests/tui_flows.rs function tui_flow_guard (line 11) | fn tui_flow_guard() -> std::sync::MutexGuard<'static, ()> { function pin_dark_theme (line 18) | fn pin_dark_theme(app: &mut CassApp) { function extract_msgs (line 25) | fn extract_msgs(cmd: ftui::Cmd) -> Vec { function drain_cmd_messages (line 35) | fn drain_cmd_messages(app: &mut CassApp, cmd: ftui::Cmd) { function key (line 43) | fn key(app: &mut CassApp, code: KeyCode, modifiers: Modifiers) { function type_text (line 54) | fn type_text(app: &mut CassApp, text: &str) { function complete_search (line 60) | fn complete_search(app: &mut CassApp, hits: Vec) { function render_app_text (line 74) | fn render_app_text(app: &CassApp, width: u16, height: u16) -> String { function flow_snapshot (line 86) | fn flow_snapshot(app: &CassApp, flow: &str, keys: &str) -> String { function search_hit (line 105) | fn search_hit( function message (line 132) | fn message(idx: i64, role: MessageRole, content: &str, snippets: Vec Snippet { function conversation_view (line 156) | fn conversation_view(title: &str, source_path: &str, messages: Vec Command { function setup_empty_data_dir (line 35) | fn setup_empty_data_dir(data_dir: &Path) { function setup_indexed_data_dir (line 41) | fn setup_indexed_data_dir(temp_home: &Path) -> std::path::PathBuf { function tui_headless_exits_cleanly_with_index (line 58) | fn tui_headless_exits_cleanly_with_index() { function tui_headless_ftui_runtime_selection_exits_cleanly (line 74) | fn tui_headless_ftui_runtime_selection_exits_cleanly() { function tui_headless_handles_empty_data_dir (line 87) | fn tui_headless_handles_empty_data_dir() { function tui_headless_no_panic_on_empty_dataset (line 112) | fn tui_headless_no_panic_on_empty_dataset() { function tui_headless_exit_code_success (line 136) | fn tui_headless_exit_code_success() { function tui_headless_exit_code_success_empty_data_dir (line 148) | fn tui_headless_exit_code_success_empty_data_dir() { function tui_headless_reset_state_flag (line 165) | fn tui_headless_reset_state_flag() { function tui_headless_emits_debug_logs_when_enabled (line 192) | fn tui_headless_emits_debug_logs_when_enabled() { function tui_headless_completes_quickly (line 210) | fn tui_headless_completes_quickly() { function tui_once_flag_recognized (line 235) | fn tui_once_flag_recognized() { function tui_data_dir_flag_recognized (line 253) | fn tui_data_dir_flag_recognized() { function tui_headless_asciicast_writes_truthful_sentinel_cast (line 281) | fn tui_headless_asciicast_writes_truthful_sentinel_cast() { function tui_after_index_works (line 324) | fn tui_after_index_works() { function tui_and_search_use_same_index (line 346) | fn tui_and_search_use_same_index() { FILE: tests/tui_integration_smoke.rs function base_cmd (line 36) | fn base_cmd(temp_home: &Path) -> Command { function make_codex_fixture (line 48) | fn make_codex_fixture(root: &Path) { function make_claude_fixture (line 61) | fn make_claude_fixture(root: &Path) { function build_full_index (line 74) | fn build_full_index(temp_home: &Path, data_dir: &Path, codex_home: &Path) { function assert_search_no_panic (line 84) | fn assert_search_no_panic(output: &std::process::Output) -> (bool, Strin... function setup_codex_env (line 99) | fn setup_codex_env() -> (TempDir, std::path::PathBuf) { function setup_multi_agent_env (line 109) | fn setup_multi_agent_env() -> (TempDir, std::path::PathBuf) { function integration_tui_launches_with_populated_index (line 133) | fn integration_tui_launches_with_populated_index() { function integration_tui_ftui_runtime_with_populated_index (line 151) | fn integration_tui_ftui_runtime_with_populated_index() { function integration_search_pipeline_no_panic (line 165) | fn integration_search_pipeline_no_panic() { function integration_search_lexical_mode (line 193) | fn integration_search_lexical_mode() { function integration_search_agent_filter_no_panic (line 230) | fn integration_search_agent_filter_no_panic() { function integration_search_mode_switching_no_panic (line 275) | fn integration_search_mode_switching_no_panic() { function integration_stats_from_frankensqlite (line 311) | fn integration_stats_from_frankensqlite() { function integration_diag_reports_stack_health (line 329) | fn integration_diag_reports_stack_health() { function integration_asciicast_records_with_data (line 350) | fn integration_asciicast_records_with_data() { function integration_multi_agent_index_and_tui (line 386) | fn integration_multi_agent_index_and_tui() { function integration_multi_agent_search_no_panic (line 397) | fn integration_multi_agent_search_no_panic() { function integration_tui_reset_state_with_data (line 438) | fn integration_tui_reset_state_with_data() { function integration_search_completes_quickly (line 463) | fn integration_search_completes_quickly() { function integration_tui_launch_completes_quickly (line 493) | fn integration_tui_launch_completes_quickly() { function integration_health_check_passes (line 516) | fn integration_health_check_passes() { FILE: tests/tui_smoke.rs constant CODEX_SMOKE_QUERY (line 23) | const CODEX_SMOKE_QUERY: &str = "codexsentinel"; function tui_smoke_guard (line 25) | fn tui_smoke_guard() -> std::sync::MutexGuard<'static, ()> { function make_codex_fixture (line 42) | fn make_codex_fixture(root: &Path) { function make_claude_fixture (line 54) | fn make_claude_fixture(root: &Path, workspace_name: &str) { function make_multi_agent_fixtures (line 68) | fn make_multi_agent_fixtures(_data_dir: &Path, codex_home: &Path, claude... function assert_robot_search_hit (line 76) | fn assert_robot_search_hit(stdout: &[u8], query: &str, expected_agent: &... function tui_headless_launches_with_valid_index (line 109) | fn tui_headless_launches_with_valid_index() { function tui_headless_exits_cleanly_on_empty_dataset (line 152) | fn tui_headless_exits_cleanly_on_empty_dataset() { function tui_headless_no_panic_without_index (line 195) | fn tui_headless_no_panic_without_index() { function tui_headless_search_executes_successfully (line 233) | fn tui_headless_search_executes_successfully() { function tui_headless_multi_agent_index_and_search (line 285) | fn tui_headless_multi_agent_index_and_search() { function tui_headless_reset_state_clears_persisted_state (line 365) | fn tui_headless_reset_state_clears_persisted_state() { function tui_headless_exit_code_success_with_data (line 432) | fn tui_headless_exit_code_success_with_data() { function health_check_before_tui_launch (line 475) | fn health_check_before_tui_launch() { function tui_help_flag_shows_usage (line 524) | fn tui_help_flag_shows_usage() { function tui_accepts_data_dir_flag (line 536) | fn tui_accepts_data_dir_flag() { function diag_command_provides_useful_info (line 580) | fn diag_command_provides_useful_info() { function status_command_shows_health (line 623) | fn status_command_shows_health() { function tui_handles_unicode_content (line 663) | fn tui_handles_unicode_content() { function tui_handles_large_message_content (line 718) | fn tui_handles_large_message_content() { function smoke_test_summary (line 773) | fn smoke_test_summary() { FILE: tests/ui_hotkeys.rs function source_filter_cycle_api_exists (line 10) | fn source_filter_cycle_api_exists() { function source_filter_display_for_status_messages (line 19) | fn source_filter_display_for_status_messages() { FILE: tests/ui_snap.rs function cli_shows_help (line 14) | fn cli_shows_help() { function highlight_style_has_background_color (line 24) | fn highlight_style_has_background_color() { function highlight_style_is_theme_aware (line 45) | fn highlight_style_is_theme_aware() { function all_themes_have_valid_highlight_style (line 61) | fn all_themes_have_valid_highlight_style() { function stripe_colors_are_distinct (line 85) | fn stripe_colors_are_distinct() { function stripe_even_matches_background (line 96) | fn stripe_even_matches_background() { function all_themes_have_stripe_colors (line 112) | fn all_themes_have_stripe_colors() { function stripe_colors_have_subtle_contrast (line 141) | fn stripe_colors_have_subtle_contrast() { function theme_preset_cycle_is_complete (line 179) | fn theme_preset_cycle_is_complete() { function all_themes_have_role_colors (line 200) | fn all_themes_have_role_colors() { function high_contrast_theme_has_pure_colors (line 220) | fn high_contrast_theme_has_pure_colors() { function role_theme_returns_complete_styling (line 255) | fn role_theme_returns_complete_styling() { function role_theme_has_distinct_backgrounds (line 287) | fn role_theme_has_distinct_backgrounds() { function gradient_shades_header_has_depth (line 306) | fn gradient_shades_header_has_depth() { function gradient_shades_pill_creates_centered_effect (line 320) | fn gradient_shades_pill_creates_centered_effect() { function gradient_shades_styles_returns_three_styles (line 335) | fn gradient_shades_styles_returns_three_styles() { function terminal_width_classification (line 350) | fn terminal_width_classification() { function terminal_width_decorations (line 361) | fn terminal_width_decorations() { function adaptive_borders_for_different_widths (line 372) | fn adaptive_borders_for_different_widths() { function adaptive_borders_focused_has_focus_color (line 394) | fn adaptive_borders_focused_has_focus_color() { function contrast_ratio_black_white (line 406) | fn contrast_ratio_black_white() { function contrast_ratio_same_color (line 416) | fn contrast_ratio_same_color() { function contrast_level_classification (line 429) | fn contrast_level_classification() { function contrast_level_meets_requirement (line 440) | fn contrast_level_meets_requirement() { function high_contrast_theme_meets_wcag_aaa (line 453) | fn high_contrast_theme_meets_wcag_aaa() { function all_themes_meet_wcag_aa_for_text (line 465) | fn all_themes_meet_wcag_aa_for_text() { function detail_highlight_style_has_required_attributes (line 484) | fn detail_highlight_style_has_required_attributes() { function detail_highlight_contrasts_with_background (line 510) | fn detail_highlight_contrasts_with_background() { function detail_highlight_uses_themed_accent (line 528) | fn detail_highlight_uses_themed_accent() { function all_themes_have_consistent_highlight_fg (line 553) | fn all_themes_have_consistent_highlight_fg() { function highlight_style_bg_uses_accent_color (line 569) | fn highlight_style_bg_uses_accent_color() { function detail_highlight_meets_aa_large_contrast (line 598) | fn detail_highlight_meets_aa_large_contrast() { function role_themes_support_highlight_overlay (line 618) | fn role_themes_support_highlight_overlay() { function stripe_colors_allow_highlight_visibility (line 638) | fn stripe_colors_allow_highlight_visibility() { function input_mode_has_detail_find_variant (line 668) | fn input_mode_has_detail_find_variant() { function input_mode_covers_all_filter_types (line 681) | fn input_mode_covers_all_filter_types() { function role_style_returns_distinct_colors_for_roles (line 704) | fn role_style_returns_distinct_colors_for_roles() { function role_style_is_theme_consistent (line 727) | fn role_style_is_theme_consistent() { function role_style_handles_other_role (line 750) | fn role_style_handles_other_role() { function role_style_all_themes_provide_valid_colors (line 765) | fn role_style_all_themes_provide_valid_colors() { function role_colors_are_wcag_readable (line 797) | fn role_colors_are_wcag_readable() { function agent_pane_text_meets_wcag_aa (line 828) | fn agent_pane_text_meets_wcag_aa() { function agent_pane_accent_meets_wcag_aa_large (line 860) | fn agent_pane_accent_meets_wcag_aa_large() { function hint_text_meets_wcag_aa_large (line 889) | fn hint_text_meets_wcag_aa_large() { function accent_colors_meet_wcag_aa_large (line 905) | fn accent_colors_meet_wcag_aa_large() { function surface_text_meets_wcag_aa (line 929) | fn surface_text_meets_wcag_aa() { function stripe_odd_allows_text_visibility (line 944) | fn stripe_odd_allows_text_visibility() { function remote_source_badge_contrast (line 959) | fn remote_source_badge_contrast() { function dark_theme_specific_color_audit (line 975) | fn dark_theme_specific_color_audit() { function role_theme_backgrounds_allow_text_visibility (line 1013) | fn role_theme_backgrounds_allow_text_visibility() { FILE: tests/upgrade/compatibility.rs constant _ (line 16) | const _: () = { function open_fixture_db (line 27) | fn open_fixture_db(path: &Path) -> FrankenConnection { function test_schema_version_exists (line 38) | fn test_schema_version_exists() { function test_new_database_has_current_schema (line 44) | fn test_new_database_has_current_schema() { function test_detects_older_schema (line 63) | fn test_detects_older_schema() { function test_ignores_unknown_tables (line 102) | fn test_ignores_unknown_tables() { function test_handles_missing_optional_columns (line 141) | fn test_handles_missing_optional_columns() { function test_parse_v1_encryption_config (line 212) | fn test_parse_v1_encryption_config() { function test_parse_v2_encryption_config (line 257) | fn test_parse_v2_encryption_config() { function test_parse_config_with_unknown_fields (line 313) | fn test_parse_config_with_unknown_fields() { function test_detect_config_version (line 366) | fn test_detect_config_version() { function test_reject_schema_version_0 (line 382) | fn test_reject_schema_version_0() { function test_search_without_fts (line 426) | fn test_search_without_fts() { function test_path_dependency_compile_contracts (line 511) | fn test_path_dependency_compile_contracts() { FILE: tests/upgrade/migration.rs function open_fixture_db (line 16) | fn open_fixture_db(path: &Path) -> FrankenConnection { function test_migration_creates_backup (line 27) | fn test_migration_creates_backup() { function test_migration_preserves_data (line 112) | fn test_migration_preserves_data() { function test_migration_handles_corruption (line 210) | fn test_migration_handles_corruption() { function test_schema_version_5_to_current (line 256) | fn test_schema_version_5_to_current() { function create_v5_schema (line 293) | fn create_v5_schema(path: &Path) { function test_fts_rebuild (line 363) | fn test_fts_rebuild() { function test_legacy_single_slot_config (line 467) | fn test_legacy_single_slot_config() { function test_failed_migration_preserves_original (line 519) | fn test_failed_migration_preserves_original() { FILE: tests/util/doctor_e2e_runner.rs constant DOCTOR_E2E_SCHEMA_VERSION (line 18) | const DOCTOR_E2E_SCHEMA_VERSION: u32 = 1; constant PRIVACY_SENTINEL_VALUE (line 19) | const PRIVACY_SENTINEL_VALUE: &str = "CASS_DOCTOR_PRIVACY_SENTINEL_DO_NO... type DoctorE2eCliArgs (line 22) | pub struct DoctorE2eCliArgs { method parse_from (line 150) | pub fn parse_from(args: I) -> Result method selects (line 188) | pub fn selects(&self, scenario: &DoctorE2eScenarioSpec) -> bool { type DoctorE2eScenarioSpec (line 30) | pub struct DoctorE2eScenarioSpec { method new (line 203) | pub fn new( method expect_exit_success (line 220) | pub fn expect_exit_success(mut self, expected: bool) -> Self { method allow_mutation (line 225) | pub fn allow_mutation(mut self, allow: bool) -> Self { method cleanup_apply (line 235) | pub fn cleanup_apply(mut self) -> Self { method env (line 241) | pub fn env(mut self, key: impl Into, value: impl Into)... method require_json_pointer (line 246) | pub fn require_json_pointer(mut self, pointer: impl Into) -> S... method expected_runner_status (line 251) | pub fn expected_runner_status(&self) -> &'static str { type DoctorE2eCommandMode (line 42) | pub enum DoctorE2eCommandMode { type DoctorE2eArtifactManifest (line 49) | pub struct DoctorE2eArtifactManifest { type DoctorE2eFailureContext (line 65) | pub struct DoctorE2eFailureContext { type DoctorE2eRunResult (line 78) | pub struct DoctorE2eRunResult { type DoctorE2eFileTreeSnapshot (line 88) | pub struct DoctorE2eFileTreeSnapshot { method capture (line 749) | pub fn capture(roots: &[(&str, &Path)]) -> Result { method diff (line 803) | pub fn diff(&self, after: &Self) -> Vec { method file_checksums (line 823) | pub fn file_checksums(&self) -> Vec { method entry_map (line 840) | fn entry_map(&self) -> BTreeMap { type DoctorE2eFileTreeRoot (line 93) | pub struct DoctorE2eFileTreeRoot { type DoctorE2eFileEntry (line 99) | pub struct DoctorE2eFileEntry { type DoctorE2eCommandRecord (line 108) | pub struct DoctorE2eCommandRecord { type DoctorE2eRunner (line 124) | pub struct DoctorE2eRunner { method new (line 261) | pub fn new(run_root: impl AsRef) -> Result { method with_cass_bin (line 276) | pub fn with_cass_bin(mut self, cass_bin: impl AsRef) -> Self { method run_root (line 281) | pub fn run_root(&self) -> &Path { method run_scenario (line 285) | pub fn run_scenario(&self, spec: &DoctorE2eScenarioSpec) -> Result String { type RecordedDoctorCommand (line 134) | struct RecordedDoctorCommand { type DoctorCommandArtifactPaths (line 142) | struct DoctorCommandArtifactPaths<'a> { function run_recorded_doctor_command (line 653) | fn run_recorded_doctor_command( function cleanup_approval_fingerprint_from_json (line 736) | fn cleanup_approval_fingerprint_from_json(value: &Value) -> Option bool { function doctor_command_env (line 1241) | fn doctor_command_env(fixture: &DoctorFixtureFactory) -> BTreeMap Vec { function failure_self_test_doctor_e2e_scenario (line 1393) | pub fn failure_self_test_doctor_e2e_scenario() -> DoctorE2eScenarioSpec { function doctor_e2e_scenarios_for_args (line 1402) | pub fn doctor_e2e_scenarios_for_args(args: &DoctorE2eCliArgs) -> Vec PathBuf { function select_scenarios (line 1419) | pub fn select_scenarios<'a>( function validate_artifact_manifest (line 1429) | pub fn validate_artifact_manifest(path: &Path) -> Result<(), String> { function validate_artifact_manifest_value (line 1440) | pub fn validate_artifact_manifest_value( function parse_doctor_json_stdout (line 1479) | pub fn parse_doctor_json_stdout(bytes: &[u8]) -> Result { function extend_csv_set (line 1483) | fn extend_csv_set(set: &mut BTreeSet, value: &str) { function validate_run_root (line 1493) | fn validate_run_root(run_root: &Path) -> Result<(), String> { function validate_scenario_id (line 1514) | fn validate_scenario_id(scenario_id: &str) -> Result<(), String> { function validate_artifact_relative_path (line 1527) | fn validate_artifact_relative_path(relative: &str) -> Result<(), String> { function create_new_dir (line 1543) | fn create_new_dir(path: &Path) -> Result<(), String> { function write_json_artifact (line 1553) | fn write_json_artifact( function write_text_artifact (line 1565) | fn write_text_artifact( function write_jsonl_artifact (line 1577) | fn write_jsonl_artifact( function artifact_path (line 1591) | fn artifact_path(artifact_dir: &Path, relative: &str) -> Result String { function write_json_file_new (line 1624) | fn write_json_file_new(path: &Path, value: &T) -> Result<(... function write_file_new (line 1629) | fn write_file_new(path: &Path, bytes: &[u8]) -> Result<(), String> { function file_blake3 (line 1642) | fn file_blake3(path: &Path) -> Result { function redact_json_value (line 1649) | fn redact_json_value(value: Value, redactor: &DoctorE2eRedactor) -> Value { function render_failure_summary (line 1667) | fn render_failure_summary(scenario_id: &str, context: &DoctorE2eFailureC... function tail_chars (line 1685) | fn tail_chars(text: &str, max_chars: usize) -> String { function panic_payload_to_string (line 1694) | fn panic_payload_to_string(payload: Box) -> St... function elapsed_ms (line 1704) | fn elapsed_ms(start: Instant) -> u64 { function epoch_millis (line 1708) | fn epoch_millis() -> u128 { FILE: tests/util/doctor_fixture.rs constant MANIFEST_SCHEMA_VERSION (line 15) | const MANIFEST_SCHEMA_VERSION: u32 = 1; constant RAW_MIRROR_SCHEMA_VERSION (line 16) | const RAW_MIRROR_SCHEMA_VERSION: u32 = 1; constant RAW_MIRROR_MANIFEST_KIND (line 17) | const RAW_MIRROR_MANIFEST_KIND: &str = "cass_raw_session_mirror_v1"; constant RAW_MIRROR_HASH_ALGORITHM (line 18) | const RAW_MIRROR_HASH_ALGORITHM: &str = "blake3"; constant FIXTURE_BASE_TS_MS (line 19) | const FIXTURE_BASE_TS_MS: i64 = 1_733_000_000_000; constant PRIVACY_SENTINEL_ID (line 20) | const PRIVACY_SENTINEL_ID: &str = "doctor-fixture-secret-token"; constant PRIVACY_SENTINEL_VALUE (line 21) | const PRIVACY_SENTINEL_VALUE: &str = "CASS_DOCTOR_PRIVACY_SENTINEL_DO_NO... type DoctorFixtureFactory (line 24) | pub struct DoctorFixtureFactory { method new (line 189) | pub fn new(fixture_id: impl Into) -> Self { method new_under (line 199) | pub fn new_under(parent: impl AsRef, fixture_id: impl Into Self { method root (line 259) | pub fn root(&self) -> &Path { method home_dir (line 263) | pub fn home_dir(&self) -> &Path { method data_dir (line 267) | pub fn data_dir(&self) -> &Path { method manifest (line 271) | pub fn manifest(&self) -> &DoctorFixtureScenarioManifest { method into_manifest (line 275) | pub fn into_manifest(self) -> DoctorFixtureScenarioManifest { method cass_cmd (line 279) | pub fn cass_cmd(&self) -> Command { method seed_empty_archive_db (line 289) | pub fn seed_empty_archive_db(&mut self) -> &mut Self { method seed_empty_search_index (line 300) | pub fn seed_empty_search_index(&mut self) -> &mut Self { method add_all_provider_source_trees (line 325) | pub fn add_all_provider_source_trees(&mut self) -> &mut Self { method add_provider_source (line 332) | pub fn add_provider_source( method apply_scenario (line 413) | pub fn apply_scenario(&mut self, scenario: DoctorFixtureScenario) -> &... method write_provider_sidecars (line 689) | fn write_provider_sidecars(&mut self, provider: DoctorProviderSpec, so... method set_contract (line 704) | fn set_contract( method add_privacy_sentinel (line 715) | pub fn add_privacy_sentinel(&mut self) -> &mut Self { method confined_home_path (line 738) | pub fn confined_home_path(&self, relative: &str) -> Result Result Result<(), String> { method assert_doctor_payload_matches_manifest (line 750) | pub fn assert_doctor_payload_matches_manifest(&self, payload: &Value) { method insert_conversation (line 815) | fn insert_conversation( method write_raw_mirror (line 857) | fn write_raw_mirror( method write_marker (line 943) | fn write_marker(&mut self, relative_data_path: &str, bytes: &[u8]) { method write_failed_reclaimable_generation_fixture (line 950) | fn write_failed_reclaimable_generation_fixture(&mut self) { method write_confined_file (line 1011) | fn write_confined_file(&mut self, path: &Path, bytes: &[u8], kind: &st... method overwrite_confined_file_for_corruption (line 1043) | fn overwrite_confined_file_for_corruption(&mut self, path: &Path, byte... method overwrite_confined_file_for_fixture_drift (line 1062) | fn overwrite_confined_file_for_fixture_drift(&mut self, path: &Path, b... method record_file (line 1089) | fn record_file(&mut self, kind: &str, path: &Path) { method register_provider (line 1111) | fn register_provider(&mut self, provider: &str) { method log (line 1115) | fn log(&mut self, step: &str, detail: &str) { method relative_to_root (line 1122) | fn relative_to_root(&self, path: &Path) -> String { method display_fixture_path (line 1129) | fn display_fixture_path(&self, path: &Path) -> String { method confined_path (line 1135) | fn confined_path(&self, base: &Path, relative: &str) -> Result &Path { type DoctorFixtureScenarioManifest (line 39) | pub struct DoctorFixtureScenarioManifest { method validate_against_root (line 1166) | pub fn validate_against_root(&self, root: &Path) -> Result<(), String> { type DoctorFixtureSourceInventoryExpectation (line 61) | pub struct DoctorFixtureSourceInventoryExpectation { type DoctorFixtureMutabilityExpectation (line 69) | pub struct DoctorFixtureMutabilityExpectation { type DoctorFixtureRedactionExpectation (line 76) | pub struct DoctorFixtureRedactionExpectation { type DoctorFixturePrivacySentinel (line 84) | pub struct DoctorFixturePrivacySentinel { type DoctorFixtureCleanupExpectation (line 92) | pub struct DoctorFixtureCleanupExpectation { type DoctorFixtureArtifact (line 99) | pub struct DoctorFixtureArtifact { type DoctorFixtureLogEntry (line 107) | pub struct DoctorFixtureLogEntry { type DoctorFixtureScenario (line 113) | pub enum DoctorFixtureScenario { type DoctorProviderSpec (line 133) | pub struct DoctorProviderSpec { method all (line 1326) | pub fn all() -> Vec { method claude_code (line 1346) | pub fn claude_code() -> Self { method codex (line 1354) | pub fn codex() -> Self { method cursor (line 1362) | pub fn cursor() -> Self { method gemini (line 1370) | pub fn gemini() -> Self { method aider (line 1374) | pub fn aider() -> Self { method amp (line 1378) | pub fn amp() -> Self { method cline (line 1386) | pub fn cline() -> Self { method opencode (line 1394) | pub fn opencode() -> Self { method pi_agent (line 1398) | pub fn pi_agent() -> Self { method copilot (line 1402) | pub fn copilot() -> Self { method openclaw (line 1406) | pub fn openclaw() -> Self { method clawdbot (line 1410) | pub fn clawdbot() -> Self { method vibe (line 1414) | pub fn vibe() -> Self { method chatgpt (line 1418) | pub fn chatgpt() -> Self { method fad_backed (line 1426) | pub fn fad_backed() -> Self { method new (line 1434) | fn new(slug: &'static str, name: &'static str, relative_source_path: &... type DoctorFixtureSource (line 141) | pub struct DoctorFixtureSource { method default (line 153) | fn default() -> Self { method default (line 169) | fn default() -> Self { function default_allowed_commands (line 1272) | fn default_allowed_commands() -> Vec { function default_forbidden_live_path_patterns (line 1276) | fn default_forbidden_live_path_patterns() -> Vec { function default_expected_artifact_keys (line 1286) | pub fn default_expected_artifact_keys() -> Vec { function validate_non_empty_field (line 1307) | fn validate_non_empty_field(field: &str, value: &str) -> Result<(), Stri... function validate_non_empty_list (line 1315) | fn validate_non_empty_list(field: &str, values: &[String]) -> Result<(),... type PushUnique (line 1444) | trait PushUnique { method push_unique (line 1445) | fn push_unique(&mut self, value: &str); method push_unique (line 1449) | fn push_unique(&mut self, value: &str) { function validate_manifest_relative_path (line 1457) | fn validate_manifest_relative_path(relative: &str) -> Result<(), String> { function canonical_json_value (line 1475) | fn canonical_json_value(value: Value) -> Value { function canonical_blake3 (line 1491) | fn canonical_blake3(prefix: &str, value: Value) -> String { function raw_original_path_blake3 (line 1501) | fn raw_original_path_blake3(path: &str) -> String { function fixture_origin_kind (line 1509) | fn fixture_origin_kind(source_id: &str) -> &'static str { function safe_fixture_dirname (line 1513) | fn safe_fixture_dirname(fixture_id: &str) -> String { function blake3_hex (line 1527) | fn blake3_hex(bytes: &[u8]) -> String { FILE: tests/util/e2e_log.rs type E2eEnvironment (line 35) | pub struct E2eEnvironment { method capture (line 51) | pub fn capture() -> Self { method git_sha (line 64) | fn git_sha() -> Option { method git_branch (line 73) | fn git_branch() -> Option { method rust_version (line 82) | fn rust_version() -> Option { method node_version (line 95) | fn node_version() -> Option { method cass_version (line 104) | fn cass_version() -> Option { type E2eTestInfo (line 112) | pub struct E2eTestInfo { method new (line 128) | pub fn new(name: &str, suite: &str, file: &str, line: u32) -> Self { method simple (line 140) | pub fn simple(name: &str, suite: &str) -> Self { type E2eTestResult (line 155) | pub struct E2eTestResult { type E2eError (line 167) | pub struct E2eError { method new (line 205) | pub fn new(message: impl Into) -> Self { method with_type (line 215) | pub fn with_type(message: impl Into, error_type: impl Into) -> Self { method with_context (line 231) | pub fn with_context(mut self, context: E2eErrorContext) -> Self { type E2eErrorContext (line 179) | pub struct E2eErrorContext { method new (line 239) | pub fn new() -> Self { method with_state (line 252) | pub fn with_state( method add_state (line 261) | pub fn add_state( method with_screenshot (line 274) | pub fn with_screenshot(mut self, path: impl Into) -> Self { method capture_env (line 280) | pub fn capture_env(mut self) -> Self { method with_env (line 286) | pub fn with_env(mut self, env: std::collections::HashMap Self { method with_command (line 300) | pub fn with_command(mut self, cmd: impl Into) -> Self { method with_output (line 306) | pub fn with_output(mut self, stdout: Option, stderr: Option Self { function capture_sanitized_env (line 324) | pub fn capture_sanitized_env() -> std::collections::HashMap Self { method with_duration (line 446) | pub fn with_duration(mut self, ms: u64) -> Self { method with_memory (line 452) | pub fn with_memory(mut self, bytes: u64) -> Self { method with_peak_memory (line 458) | pub fn with_peak_memory(mut self, bytes: u64) -> Self { method with_throughput (line 464) | pub fn with_throughput(mut self, items: u64, duration_ms: u64) -> Self { method with_io (line 474) | pub fn with_io(mut self, reads: u64, writes: u64, bytes_read: u64, byt... method with_network (line 483) | pub fn with_network(mut self, requests: u64) -> Self { method with_custom (line 489) | pub fn with_custom(mut self, key: &str, value: impl Into Option { method capture_io (line 524) | pub fn capture_io() -> Option<(u64, u64)> { type E2eLogContext (line 546) | pub struct E2eLogContext { type E2eArtifactPaths (line 558) | pub struct E2eArtifactPaths { method prepare (line 590) | pub fn prepare(suite: &str, test_name: &str, trace_id: &str) -> std::i... type E2eArtifactManifest (line 569) | pub struct E2eArtifactManifest { method from_paths (line 578) | fn from_paths(paths: &E2eArtifactPaths) -> Self { function artifact_dir (line 616) | fn artifact_dir(suite: &str, test_name: &str) -> PathBuf { function truncate_file (line 627) | fn truncate_file(path: &Path) -> std::io::Result<()> { type E2eConfig (line 638) | pub struct E2eConfig { type BaseEvent (line 650) | struct BaseEvent { type E2eLogger (line 659) | pub struct E2eLogger { method new (line 676) | pub fn new(runner: &str) -> std::io::Result { method with_path (line 698) | pub fn with_path(runner: &str, output_path: PathBuf) -> std::io::Resul... method run_id (line 722) | pub fn run_id(&self) -> &str { method output_path (line 727) | pub fn output_path(&self) -> &PathBuf { method run_start (line 732) | pub fn run_start(&self, config: Option) -> std::io::Result<... method test_start (line 757) | pub fn test_start(&self, test: &E2eTestInfo) -> std::io::Result<()> { method test_pass (line 779) | pub fn test_pass( method test_fail (line 789) | pub fn test_fail( method test_skip (line 800) | pub fn test_skip(&self, test: &E2eTestInfo) -> std::io::Result<()> { method test_end (line 805) | pub fn test_end( method test_end_with_metrics (line 817) | pub fn test_end_with_metrics( method test_pass_with_metrics (line 857) | pub fn test_pass_with_metrics( method run_end (line 867) | pub fn run_end(&self, summary: E2eRunSummary, exit_code: i32) -> std::... method log (line 892) | pub fn log( method info (line 924) | pub fn info(&self, msg: &str) -> std::io::Result<()> { method warn (line 929) | pub fn warn(&self, msg: &str) -> std::io::Result<()> { method error (line 934) | pub fn error(&self, msg: &str) -> std::io::Result<()> { method debug (line 939) | pub fn debug(&self, msg: &str) -> std::io::Result<()> { method phase_start (line 944) | pub fn phase_start(&self, phase: &E2ePhase) -> std::io::Result<()> { method phase_end (line 966) | pub fn phase_end(&self, phase: &E2ePhase, duration_ms: u64) -> std::io... method metrics (line 993) | pub fn metrics(&self, name: &str, metrics: &E2ePerformanceMetrics) -> ... method flush (line 1017) | pub fn flush(&self) -> std::io::Result<()> { method emit_metric (line 1031) | pub fn emit_metric(&self, name: &str, value: f64, unit: &str) -> std::... method write_event (line 1058) | fn write_event(&self, event: &T) -> std::io::Result<()> { method output_dir (line 1065) | fn output_dir() -> std::io::Result { method iso_timestamp (line 1074) | fn iso_timestamp() -> String { method timestamp_id (line 1087) | fn timestamp_id() -> String { method random_suffix (line 1097) | fn random_suffix() -> String { type PhaseTracker (line 1117) | pub struct PhaseTracker { method new (line 1129) | pub fn new(suite: &str, test_name: &str) -> Self { method artifacts (line 1173) | pub fn artifacts(&self) -> &E2eArtifactPaths { method trace_id (line 1178) | pub fn trace_id(&self) -> &str { method trace_env_guard (line 1183) | pub fn trace_env_guard(&self) -> E2eTraceGuard { method phase (line 1188) | pub fn phase(&self, name: &str, description: &str, f: F) -> R method start (line 1221) | pub fn start(&self, name: &str, description: Option<&str>) -> Instant { method end (line 1240) | pub fn end(&self, name: &str, description: Option<&str>, start: Instan... method metrics (line 1255) | pub fn metrics(&self, name: &str, metrics: &E2ePerformanceMetrics) { method verbose (line 1265) | pub fn verbose(&self, msg: &str) { method complete (line 1272) | pub fn complete(mut self) { method fail (line 1288) | pub fn fail(mut self, error: E2eError) { method flush (line 1310) | pub fn flush(&self) { type E2eTraceGuard (line 1318) | pub struct E2eTraceGuard { method new (line 1324) | fn new(artifacts: &E2eArtifactPaths) -> Self { function generate_trace_id (line 1334) | fn generate_trace_id() -> String { method drop (line 1349) | fn drop(&mut self) { type FailureDump (line 1391) | pub struct FailureDump { method new (line 1400) | pub fn new(test_name: &str, suite: &str) -> Self { method write (line 1412) | pub fn write(&self, artifact_dir: &Path) -> std::io::Result<()> { method dump_dir (line 1472) | fn dump_dir() -> std::io::Result { method dump_environment (line 1479) | fn dump_environment(&self, f: &mut File) -> std::io::Result<()> { method dump_directory_listing (line 1499) | fn dump_directory_listing(&self, f: &mut File, dir: &Path) -> std::io:... method list_dir_recursive (line 1513) | fn list_dir_recursive( method dump_log_tail (line 1560) | fn dump_log_tail(&self, f: &mut File, artifact_dir: &Path) -> std::io:... method dump_database_state (line 1592) | fn dump_database_state(&self, f: &mut File, artifact_dir: &Path) -> st... method dump_sqlite_info (line 1620) | fn dump_sqlite_info(&self, f: &mut File, db_path: &Path) -> std::io::R... method dump_git_state (line 1672) | fn dump_git_state(&self, f: &mut File) -> std::io::Result<()> { method dump_process_info (line 1727) | fn dump_process_info(&self, f: &mut File) -> std::io::Result<()> { function dump_failure_state (line 1776) | pub fn dump_failure_state( function init_metrics_file (line 1800) | pub fn init_metrics_file(path: &Path) -> std::io::Result<()> { function emit_metric (line 1821) | pub fn emit_metric(name: &str, value: f64, unit: &str) -> std::io::Resul... type MetricBaseline (line 1849) | pub struct MetricBaseline { type BaselineComparison (line 1860) | pub struct BaselineComparison { function load_baselines (line 1871) | pub fn load_baselines() -> std::io::Result) -> st... function update_baseline (line 1901) | pub fn update_baseline(name: &str, value: f64, unit: &str) -> std::io::R... function compare_to_baseline (line 1930) | pub fn compare_to_baseline( function check_metric_regression (line 1969) | pub fn check_metric_regression( function baselines_path (line 1991) | fn baselines_path() -> std::io::Result { constant INDEXING_DURATION_MS (line 2004) | pub const INDEXING_DURATION_MS: &str = "indexing_duration_ms"; constant SEARCH_LATENCY_P50_MS (line 2006) | pub const SEARCH_LATENCY_P50_MS: &str = "search_latency_p50_ms"; constant SEARCH_LATENCY_P99_MS (line 2008) | pub const SEARCH_LATENCY_P99_MS: &str = "search_latency_p99_ms"; constant MEMORY_PEAK_KB (line 2010) | pub const MEMORY_PEAK_KB: &str = "memory_peak_kb"; constant INDEX_SIZE_BYTES (line 2012) | pub const INDEX_SIZE_BYTES: &str = "index_size_bytes"; constant FILES_PROCESSED (line 2014) | pub const FILES_PROCESSED: &str = "files_processed"; constant QUERIES_PER_SECOND (line 2016) | pub const QUERIES_PER_SECOND: &str = "queries_per_second"; function run_logged_test (line 2021) | pub fn run_logged_test(name: &str, suite: &str, file: &str, line: u32... function test_environment_capture (line 2114) | fn test_environment_capture() { function test_logger_creates_file (line 2121) | fn test_logger_creates_file() { function test_logger_test_lifecycle (line 2136) | fn test_logger_test_lifecycle() { function test_logger_error_event (line 2171) | fn test_logger_error_event() { function test_e2e_error_new (line 2202) | fn test_e2e_error_new() { function test_e2e_error_with_type (line 2211) | fn test_e2e_error_with_type() { function test_e2e_error_with_stack (line 2218) | fn test_e2e_error_with_stack() { function test_e2e_error_builder_chain (line 2224) | fn test_e2e_error_builder_chain() { function test_error_context_new (line 2242) | fn test_error_context_new() { function test_error_context_default (line 2254) | fn test_error_context_default() { function test_error_context_add_state (line 2260) | fn test_error_context_add_state() { function test_error_context_with_state (line 2271) | fn test_error_context_with_state() { function test_error_context_with_screenshot (line 2281) | fn test_error_context_with_screenshot() { function test_error_context_capture_cwd (line 2287) | fn test_error_context_capture_cwd() { function test_error_context_with_command (line 2295) | fn test_error_context_with_command() { function test_error_context_capture_env (line 2309) | fn test_error_context_capture_env() { function test_error_context_with_env (line 2319) | fn test_error_context_with_env() { function test_sanitized_env_redacts_sensitive (line 2329) | fn test_sanitized_env_redacts_sensitive() { function test_sanitized_env_preserves_safe (line 2351) | fn test_sanitized_env_preserves_safe() { function test_logger_error_with_context (line 2375) | fn test_logger_error_with_context() { function test_log_levels (line 2401) | fn test_log_levels() { function test_performance_metrics_new (line 2423) | fn test_performance_metrics_new() { function test_performance_metrics_with_duration (line 2431) | fn test_performance_metrics_with_duration() { function test_performance_metrics_with_memory (line 2437) | fn test_performance_metrics_with_memory() { function test_performance_metrics_with_throughput (line 2446) | fn test_performance_metrics_with_throughput() { function test_performance_metrics_with_io (line 2454) | fn test_performance_metrics_with_io() { function test_performance_metrics_with_network (line 2463) | fn test_performance_metrics_with_network() { function test_performance_metrics_with_custom (line 2469) | fn test_performance_metrics_with_custom() { function test_performance_metrics_builder_chain (line 2479) | fn test_performance_metrics_builder_chain() { function test_performance_metrics_capture_memory (line 2494) | fn test_performance_metrics_capture_memory() { function test_performance_metrics_capture_io (line 2503) | fn test_performance_metrics_capture_io() { function test_logger_test_pass_with_metrics (line 2512) | fn test_logger_test_pass_with_metrics() { function test_logger_test_end_with_metrics (line 2536) | fn test_logger_test_end_with_metrics() { function test_logger_test_end_without_metrics_still_works (line 2560) | fn test_logger_test_end_without_metrics_still_works() { function test_phase_tracker_new (line 2580) | fn test_phase_tracker_new() { function test_phase_tracker_phase_lifecycle (line 2587) | fn test_phase_tracker_phase_lifecycle() { function test_phase_tracker_manual_timing (line 2605) | fn test_phase_tracker_manual_timing() { function test_phase_tracker_nested_phases (line 2621) | fn test_phase_tracker_nested_phases() { function test_phase_tracker_complete_prevents_double_log (line 2637) | fn test_phase_tracker_complete_prevents_double_log() { function test_phase_tracker_drop_without_complete (line 2645) | fn test_phase_tracker_drop_without_complete() { function test_phase_tracker_fail (line 2653) | fn test_phase_tracker_fail() { function test_phase_tracker_metrics (line 2660) | fn test_phase_tracker_metrics() { function test_failure_dump_new (line 2676) | fn test_failure_dump_new() { function test_failure_dump_write (line 2684) | fn test_failure_dump_write() { function test_failure_dump_standalone_function (line 2725) | fn test_failure_dump_standalone_function() { function test_failure_dump_captures_log_tail (line 2747) | fn test_failure_dump_captures_log_tail() { function test_emit_metric_without_file (line 2784) | fn test_emit_metric_without_file() { function test_emit_metric_with_file (line 2791) | fn test_emit_metric_with_file() { function test_baseline_save_load_roundtrip (line 2814) | fn test_baseline_save_load_roundtrip() { function test_compare_to_baseline_no_regression (line 2849) | fn test_compare_to_baseline_no_regression() { function test_standard_metrics_constants (line 2858) | fn test_standard_metrics_constants() { FILE: tests/util/mod.rs function cass_bin (line 27) | pub fn cass_bin() -> String { function seed_codex_session (line 50) | pub fn seed_codex_session( function is_verbose (line 119) | pub fn is_verbose() -> bool { function init_verbose_log (line 126) | pub fn init_verbose_log(path: &std::path::Path) -> std::io::Result<()> { function verbose_log (line 151) | pub fn verbose_log(msg: &str) { type VerboseLogger (line 188) | pub struct VerboseLogger { method new (line 196) | pub fn new(suite: &str, test_name: &str) -> Self { method log_path (line 218) | pub fn log_path(&self) -> &std::path::Path { method phase_start (line 223) | pub fn phase_start(&self, phase: &str, description: Option<&str>) { method phase_end (line 232) | pub fn phase_end(&self, phase: &str, duration_ms: u64) { method operation (line 237) | pub fn operation(&self, op: &str, details: &str) { method file_op (line 242) | pub fn file_op(&self, op: &str, path: &std::path::Path) { method command (line 247) | pub fn command(&self, cmd: &str, args: &[&str]) { method assertion (line 252) | pub fn assertion(&self, name: &str, expected: &str, actual: &str) { method state (line 259) | pub fn state(&self, key: &str, value: &str) { function assert_ftui_snapshot (line 273) | pub fn assert_ftui_snapshot( function assert_ftui_snapshot_buffer (line 288) | pub fn assert_ftui_snapshot_buffer(name: &str, buf: &ftui::Buffer) { function assert_ftui_snapshot_ansi (line 314) | pub fn assert_ftui_snapshot_ansi( function load_probe_fixture (line 366) | pub fn load_probe_fixture(name: &str) -> HostProbeResult { function indexed_host (line 380) | pub fn indexed_host() -> HostProbeResult { function not_indexed_host (line 385) | pub fn not_indexed_host() -> HostProbeResult { function no_cass_host (line 390) | pub fn no_cass_host() -> HostProbeResult { function empty_index_host (line 395) | pub fn empty_index_host() -> HostProbeResult { function unreachable_host (line 400) | pub fn unreachable_host() -> HostProbeResult { function unknown_status_host (line 405) | pub fn unknown_status_host() -> HostProbeResult { type TestTracing (line 412) | pub struct TestTracing { method new (line 418) | pub fn new() -> Self { method install (line 424) | pub fn install(&self) -> tracing::subscriber::DefaultGuard { method output (line 435) | pub fn output(&self) -> String { method assert_contains (line 441) | pub fn assert_contains(&self, needle: &str) { method lines (line 450) | pub fn lines(&self) -> Vec { type EnvGuard (line 459) | pub struct EnvGuard { method set (line 466) | pub fn set(key: &str, val: impl AsRef) -> Self { method drop (line 477) | fn drop(&mut self) { type CwdGuard (line 488) | pub struct CwdGuard { method change_to (line 495) | pub fn change_to(path: impl AsRef) -> std::io::Result... method drop (line 503) | fn drop(&mut self) { type TestWriter (line 509) | struct TestWriter(std::sync::Arc>>); method write (line 512) | fn write(&mut self, buf: &[u8]) -> std::io::Result { method flush (line 518) | fn flush(&mut self) -> std::io::Result<()> { type TempFixtureDir (line 524) | pub struct TempFixtureDir { method new (line 530) | pub fn new() -> Self { method path (line 536) | pub fn path(&self) -> PathBuf { type ConversationFixtureBuilder (line 545) | pub struct ConversationFixtureBuilder { method new (line 560) | pub fn new(agent_slug: impl Into) -> Self { method title (line 577) | pub fn title(mut self, title: impl Into) -> Self { method external_id (line 582) | pub fn external_id(mut self, id: impl Into) -> Self { method workspace (line 587) | pub fn workspace(mut self, path: impl Into) -> Self { method source_path (line 592) | pub fn source_path(mut self, path: impl Into) -> Self { method base_ts (line 597) | pub fn base_ts(mut self, ts: i64) -> Self { method content_prefix (line 602) | pub fn content_prefix(mut self, prefix: impl Into) -> Self { method messages (line 607) | pub fn messages(mut self, count: usize) -> Self { method with_content (line 612) | pub fn with_content(mut self, idx: usize, content: impl Into) ... method with_snippet (line 622) | pub fn with_snippet(mut self, spec: SnippetSpec) -> Self { method with_snippet_text (line 628) | pub fn with_snippet_text(self, text: impl Into, language: impl... method build_normalized (line 638) | pub fn build_normalized(self) -> NormalizedConversation { method build_conversation (line 694) | pub fn build_conversation(self) -> Conversation { type SearchHitAssert (line 760) | pub struct SearchHitAssert<'a> { function assert_hit (line 765) | pub fn assert_hit(hit: &SearchHit) -> SearchHitAssert<'_> { function title (line 771) | pub fn title(self, expected: impl AsRef) -> Self { function agent (line 781) | pub fn agent(self, expected: impl AsRef) -> Self { function workspace (line 791) | pub fn workspace(self, expected: impl AsRef) -> Self { function snippet_contains (line 801) | pub fn snippet_contains(self, needle: impl AsRef) -> Self { function content_contains (line 812) | pub fn content_contains(self, needle: impl AsRef) -> Self { function line (line 823) | pub fn line(self, expected: usize) -> Self { function match_type (line 833) | pub fn match_type(self, expected: MatchType) -> Self { function fixture_codex (line 873) | pub fn fixture_codex() -> ConversationFixtureBuilder { function fixture_cline (line 881) | pub fn fixture_cline() -> ConversationFixtureBuilder { function fixture_claude_code (line 891) | pub fn fixture_claude_code() -> ConversationFixtureBuilder { function fixture_gemini (line 899) | pub fn fixture_gemini() -> ConversationFixtureBuilder { function fixture_opencode (line 907) | pub fn fixture_opencode() -> ConversationFixtureBuilder { function fixture_amp (line 915) | pub fn fixture_amp() -> ConversationFixtureBuilder { type MultiSourceConversationBuilder (line 928) | pub struct MultiSourceConversationBuilder { method local (line 936) | pub fn local(agent_slug: impl Into) -> Self { method remote (line 944) | pub fn remote( method title (line 957) | pub fn title(mut self, title: impl Into) -> Self { method external_id (line 962) | pub fn external_id(mut self, id: impl Into) -> Self { method workspace (line 967) | pub fn workspace(mut self, path: impl Into) -> Self { method source_path (line 972) | pub fn source_path(mut self, path: impl Into) -> Self { method base_ts (line 977) | pub fn base_ts(mut self, ts: i64) -> Self { method messages (line 982) | pub fn messages(mut self, count: usize) -> Self { method with_content (line 987) | pub fn with_content(mut self, idx: usize, content: impl Into) ... method build (line 993) | pub fn build(self) -> Conversation { function local_myapp_session1 (line 1007) | pub fn local_myapp_session1() -> MultiSourceConversationBuilder { function local_myapp_session2 (line 1020) | pub fn local_myapp_session2() -> MultiSourceConversationBuilder { function laptop_myapp_session (line 1036) | pub fn laptop_myapp_session() -> MultiSourceConversationBuilder { function workstation_backend_session (line 1049) | pub fn workstation_backend_session() -> MultiSourceConversationBuilder { function all_sessions (line 1062) | pub fn all_sessions() -> Vec { function sessions_by_source (line 1072) | pub fn sessions_by_source(source_id: &str) -> Vec { function local_sessions (line 1080) | pub fn local_sessions() -> Vec { function remote_sessions (line 1085) | pub fn remote_sessions() -> Vec { type SnippetSpec (line 1095) | pub struct SnippetSpec { method new (line 1105) | pub fn new(msg_idx: usize) -> Self { method file (line 1117) | pub fn file(mut self, path: impl Into) -> Self { method lines (line 1122) | pub fn lines(mut self, start: i64, end: i64) -> Self { method language (line 1128) | pub fn language(mut self, lang: impl Into) -> Self { method text (line 1133) | pub fn text(mut self, text: impl Into) -> Self { type SeededRng (line 1148) | pub struct SeededRng { method new (line 1156) | pub fn new(seed: u64) -> Self { method seed (line 1164) | pub fn seed(&self) -> u64 { method f32 (line 1169) | pub fn f32(&mut self) -> f32 { method f32_range (line 1175) | pub fn f32_range(&mut self, min: f32, max: f32) -> f32 { method i64_range (line 1182) | pub fn i64_range(&mut self, min: i64, max: i64) -> i64 { method usize_range (line 1191) | pub fn usize_range(&mut self, min: usize, max: usize) -> usize { method alphanumeric (line 1199) | pub fn alphanumeric(&mut self, len: usize) -> String { method normalized_vector (line 1211) | pub fn normalized_vector(&mut self, dimension: usize) -> Vec { method f32_vector (line 1223) | pub fn f32_vector(&mut self, dimension: usize) -> Vec { type PerfMeasurement (line 1235) | pub struct PerfMeasurement { method measure (line 1249) | pub fn measure(warmup: usize, iterations: usize, mut f: F) -> Self method mean (line 1274) | pub fn mean(&self) -> Duration { method mean_ms (line 1283) | pub fn mean_ms(&self) -> f64 { method median (line 1288) | pub fn median(&self) -> Duration { method median_ms (line 1303) | pub fn median_ms(&self) -> f64 { method std_dev (line 1308) | pub fn std_dev(&self) -> Duration { method std_dev_ms (line 1326) | pub fn std_dev_ms(&self) -> f64 { method min (line 1331) | pub fn min(&self) -> Duration { method max (line 1336) | pub fn max(&self) -> Duration { method percentile (line 1342) | pub fn percentile(&self, p: f64) -> Duration { method print_summary (line 1355) | pub fn print_summary(&self, label: &str) { function compare_implementations (line 1374) | pub fn compare_implementations( function assert_float_eq (line 1405) | pub fn assert_float_eq(a: f32, b: f32, epsilon: f32) { function assert_float64_eq (line 1419) | pub fn assert_float64_eq(a: f64, b: f64, epsilon: f64) { function assert_vec_float_eq (line 1433) | pub fn assert_vec_float_eq(a: &[f32], b: &[f32], epsilon: f32) { function assert_same_elements (line 1457) | pub fn assert_same_elements(a: &[T], b... type TestDataGenerator (line 1492) | pub struct TestDataGenerator { method new (line 1498) | pub fn new(seed: u64) -> Self { method agent (line 1505) | pub fn agent(&mut self) -> String { method workspace (line 1520) | pub fn workspace(&mut self) -> PathBuf { method content (line 1527) | pub fn content(&mut self, min_words: usize, max_words: usize) -> String { method timestamp (line 1586) | pub fn timestamp(&mut self) -> i64 { method documents (line 1592) | pub fn documents(&mut self, count: usize) -> Vec { method embeddings (line 1597) | pub fn embeddings(&mut self, count: usize, dimension: usize) -> Vec i64 { method default (line 19) | fn default() -> Self { type LoadTier (line 38) | pub enum LoadTier { method as_str (line 45) | pub fn as_str(&self) -> &'static str { type LoadSample (line 56) | pub struct LoadSample { method idle (line 67) | pub fn idle(label: impl Into) -> Self { method busy (line 79) | pub fn busy(label: impl Into) -> Self { method loaded (line 91) | pub fn loaded(label: impl Into) -> Self { type LoadScript (line 106) | pub struct LoadScript { method new (line 112) | pub fn new(samples: Vec) -> Self { method current (line 120) | pub fn current(&self) -> &LoadSample { method step (line 126) | pub fn step(&mut self) -> LoadSample { method reset (line 134) | pub fn reset(&mut self) { type PublishCrashWindow (line 142) | pub enum PublishCrashWindow { method as_str (line 152) | pub fn as_str(&self) -> &'static str { type AcquisitionStage (line 167) | pub enum AcquisitionStage { method as_str (line 177) | pub fn as_str(&self) -> &'static str { type FailpointId (line 192) | pub enum FailpointId { method as_str (line 198) | pub fn as_str(&self) -> String { type FailpointEffect (line 209) | pub enum FailpointEffect { method label (line 215) | fn label(&self) -> &'static str { type SimulationFailure (line 226) | pub enum SimulationFailure { type SimulationActor (line 239) | pub enum SimulationActor { method as_str (line 247) | pub fn as_str(&self) -> &'static str { type ContentionTurn (line 259) | pub struct ContentionTurn { type ContentionPlan (line 266) | pub struct ContentionPlan { method new (line 271) | pub fn new() -> Self { method turn (line 275) | pub fn turn(mut self, actor: SimulationActor, label: impl Into... method turns (line 283) | pub fn turns(&self) -> &[ContentionTurn] { type SimulationLogEntry (line 290) | pub struct SimulationLogEntry { type FailpointMarker (line 299) | pub struct FailpointMarker { type ActorOutcome (line 309) | pub enum ActorOutcome { type ActorTraceEntry (line 317) | pub struct ActorTraceEntry { type SimulationSummary (line 328) | pub struct SimulationSummary { type SimulationArtifacts (line 338) | pub struct SimulationArtifacts { type SearchAssetSimulationHarness (line 348) | pub struct SearchAssetSimulationHarness { method new (line 365) | pub fn new(scenario: impl Into, load_script: LoadScript) -> Se... method artifact_root (line 391) | pub fn artifact_root(&self) -> &Path { method snapshot_root (line 395) | pub fn snapshot_root(&self) -> &Path { method current_load (line 399) | pub fn current_load(&self) -> Option<&LoadSample> { method phase (line 403) | pub fn phase(&mut self, phase: &str, message: &str) { method phase_with_artifacts (line 407) | pub fn phase_with_artifacts( method snapshot_dir (line 422) | pub fn snapshot_dir(&mut self, phase: &str, dir: &Path) { method snapshot_json (line 442) | pub fn snapshot_json(&mut self, label: &str, value: &T) ... method install_failpoint_once (line 464) | pub fn install_failpoint_once(&mut self, failpoint: FailpointId, effec... method trigger_failpoint (line 480) | pub fn trigger_failpoint(&mut self, failpoint: FailpointId) -> Result<... method run_contention_plan (line 524) | pub fn run_contention_plan( method summary (line 570) | pub fn summary(&self) -> SimulationSummary { method phase_log_jsonl (line 580) | pub fn phase_log_jsonl(&self) -> String { method write_artifacts (line 599) | pub fn write_artifacts(&self) -> std::io::Result { function write_pretty_json_file (line 634) | fn write_pretty_json_file(path: &Path, value: &T) -> std::... function sanitize_label (line 641) | fn sanitize_label(label: &str) -> String { function persistent_artifact_root (line 657) | fn persistent_artifact_root(scenario: &str) -> PathBuf { FILE: tests/util/timeout.rs constant POLL_INTERVAL (line 32) | const POLL_INTERVAL: Duration = Duration::from_millis(50); constant DIAG_STREAM_TAIL_BYTES (line 37) | const DIAG_STREAM_TAIL_BYTES: usize = 16 * 1024; function spawn_with_timeout_or_diag (line 54) | pub fn spawn_with_timeout_or_diag( function drain_pipe_tail (line 150) | fn drain_pipe_tail(handle: Option) -> Vec { function list_dir_bounded (line 173) | fn list_dir_bounded(root: &Path, limit: usize) -> Vec { function happy_path_returns_output_without_panicking (line 216) | fn happy_path_returns_output_without_panicking() { function hung_child_triggers_timeout_panic_with_diagnostic (line 232) | fn hung_child_triggers_timeout_panic_with_diagnostic() { function list_dir_bounded_reports_files_and_dirs (line 252) | fn list_dir_bounded_reports_files_and_dirs() { function list_dir_bounded_truncates_at_limit (line 279) | fn list_dir_bounded_truncates_at_limit() { FILE: tests/watch_e2e.rs function run_index_full (line 12) | fn run_index_full( function run_watch_once (line 38) | fn run_watch_once( function run_watch_once_with_env (line 48) | fn run_watch_once_with_env( function run_robot_search (line 86) | fn run_robot_search( function content_hit_count (line 112) | fn content_hit_count(search_json: &Value, needle: &str) -> usize { function write_codex_session (line 124) | fn write_codex_session(path: &Path, user_text: &str, session_id: &str) { function write_claude_session (line 142) | fn write_claude_session(path: &Path, user_text: &str) { function watch_once_reindexes_targeted_file_without_persisting_watch_state (line 159) | fn watch_once_reindexes_targeted_file_without_persisting_watch_state() { function watch_once_indexes_multiple_connectors_without_persisting_watch_state (line 205) | fn watch_once_indexes_multiple_connectors_without_persisting_watch_state... function watch_once_reindexes_updated_content_without_persisting_watch_state (line 261) | fn watch_once_reindexes_updated_content_without_persisting_watch_state() { function watch_once_survives_corrupt_file_without_persisting_watch_state (line 338) | fn watch_once_survives_corrupt_file_without_persisting_watch_state() { function watch_once_repeated_idle_cycles_stay_healthy_and_accept_new_content (line 373) | fn watch_once_repeated_idle_cycles_stay_healthy_and_accept_new_content() { function watch_once_bootstraps_corpus_and_health_reports_truthful_ready_state (line 507) | fn watch_once_bootstraps_corpus_and_health_reports_truthful_ready_state() {