Coverage report: 84%

Files Functions Classes

coverage.py v7.14.0, created at 2026-05-19 10:21 +0200

File function   statements missing excluded   coverage
src \ truenex_memory \ __init__.py (no function)   1 0 0   100%
src \ truenex_memory \ adapters \ __init__.py render_agents_md   1 1 0   0%
src \ truenex_memory \ adapters \ __init__.py render_claude_md   1 1 0   0%
src \ truenex_memory \ adapters \ __init__.py write_agent_docs   11 11 0   0%
src \ truenex_memory \ adapters \ __init__.py (no function)   8 0 0   100%
src \ truenex_memory \ adapters \ __main__.py generate   3 3 0   0%
src \ truenex_memory \ adapters \ __main__.py (no function)   10 10 0   0%
src \ truenex_memory \ adapters \ agents_md.py generate_agents_md   1 1 0   0%
src \ truenex_memory \ adapters \ agents_md.py (no function)   2 0 0   100%
src \ truenex_memory \ adapters \ claude_md.py generate_claude_md   1 1 0   0%
src \ truenex_memory \ adapters \ claude_md.py (no function)   2 0 0   100%
src \ truenex_memory \ cli \ __init__.py (no function)   0 0 0   100%
src \ truenex_memory \ cli \ main.py callback   3 0 0   100%
src \ truenex_memory \ cli \ main.py version   1 0 0   100%
src \ truenex_memory \ cli \ main.py version_info   1 0 0   100%
src \ truenex_memory \ cli \ main.py init   3 0 0   100%
src \ truenex_memory \ cli \ main.py add   2 0 0   100%
src \ truenex_memory \ cli \ main.py list_command   8 0 0   100%
src \ truenex_memory \ cli \ main.py index   4 1 0   75%
src \ truenex_memory \ cli \ main.py search   11 1 0   91%
src \ truenex_memory \ cli \ main.py logs_command   11 5 0   55%
src \ truenex_memory \ cli \ main.py trace_show   20 13 0   35%
src \ truenex_memory \ cli \ main.py migrate_status   8 0 0   100%
src \ truenex_memory \ cli \ main.py migrate_apply   12 1 0   92%
src \ truenex_memory \ cli \ main.py migrate_backup_list   11 0 0   100%
src \ truenex_memory \ cli \ main.py migrate_restore   15 1 0   93%
src \ truenex_memory \ cli \ main.py doctor   1 0 0   100%
src \ truenex_memory \ cli \ main.py export_command   2 0 0   100%
src \ truenex_memory \ cli \ main.py import_command   2 2 0   0%
src \ truenex_memory \ cli \ main.py mcp   1 1 0   0%
src \ truenex_memory \ cli \ main.py status_set   6 2 0   67%
src \ truenex_memory \ cli \ main.py adapter_agents_md   1 1 0   0%
src \ truenex_memory \ cli \ main.py adapter_claude_md   1 1 0   0%
src \ truenex_memory \ cli \ main.py update_check   2 2 0   0%
src \ truenex_memory \ cli \ main.py ingest_manifest_command   8 0 0   100%
src \ truenex_memory \ cli \ main.py global_discover   26 5 0   81%
src \ truenex_memory \ cli \ main.py sources_review   7 0 0   100%
src \ truenex_memory \ cli \ main.py sources_confirm   20 3 0   85%
src \ truenex_memory \ cli \ main.py sources_add   27 3 0   89%
src \ truenex_memory \ cli \ main.py sources_health   6 1 0   83%
src \ truenex_memory \ cli \ main.py sources_cleanup   8 1 0   88%
src \ truenex_memory \ cli \ main.py _filter_catalog_entries   17 0 0   100%
src \ truenex_memory \ cli \ main.py _catalog_entry_search_text   5 0 0   100%
src \ truenex_memory \ cli \ main.py global_refresh   14 0 0   100%
src \ truenex_memory \ cli \ main.py global_status   6 0 0   100%
src \ truenex_memory \ cli \ main.py global_context   6 0 0   100%
src \ truenex_memory \ cli \ main.py global_search   8 0 0   100%
src \ truenex_memory \ cli \ main.py auto_run   22 0 0   100%
src \ truenex_memory \ cli \ main.py _print_auto_run_error   4 1 0   75%
src \ truenex_memory \ cli \ main.py auto_status   6 0 0   100%
src \ truenex_memory \ cli \ main.py auto_review   5 0 0   100%
src \ truenex_memory \ cli \ main.py auto_approve   5 1 0   80%
src \ truenex_memory \ cli \ main.py auto_reject   5 1 0   80%
src \ truenex_memory \ cli \ main.py auto_promote   11 1 0   91%
src \ truenex_memory \ cli \ main.py auto_prune   5 0 0   100%
src \ truenex_memory \ cli \ main.py _print_ingest_report   31 12 0   61%
src \ truenex_memory \ cli \ main.py _validate_status   3 2 0   33%
src \ truenex_memory \ cli \ main.py (no function)   144 1 0   99%
src \ truenex_memory \ cli \ task_commands.py _store   1 1 0   0%
src \ truenex_memory \ cli \ task_commands.py task_open   7 7 0   0%
src \ truenex_memory \ cli \ task_commands.py task_close   37 37 0   0%
src \ truenex_memory \ cli \ task_commands.py task_list   14 14 0   0%
src \ truenex_memory \ cli \ task_commands.py task_show   20 20 0   0%
src \ truenex_memory \ cli \ task_commands.py task_calibration   12 12 0   0%
src \ truenex_memory \ cli \ task_commands.py (no function)   18 0 0   100%
src \ truenex_memory \ core \ __init__.py (no function)   3 0 0   100%
src \ truenex_memory \ core \ chunker.py content_hash   1 0 0   100%
src \ truenex_memory \ core \ chunker.py estimate_tokens   1 0 0   100%
src \ truenex_memory \ core \ chunker.py chunk_text   23 1 0   96%
src \ truenex_memory \ core \ chunker.py chunk_text.flush   6 2 0   67%
src \ truenex_memory \ core \ chunker.py (no function)   15 0 0   100%
src \ truenex_memory \ core \ config.py resolve_project_config   6 0 0   100%
src \ truenex_memory \ core \ config.py ensure_project_dirs   3 0 0   100%
src \ truenex_memory \ core \ config.py (no function)   23 0 0   100%
src \ truenex_memory \ core \ embedder.py LocalEmbedder.metadata   0 0 0   100%
src \ truenex_memory \ core \ embedder.py LocalEmbedder.embed_query   0 0 0   100%
src \ truenex_memory \ core \ embedder.py LocalEmbedder.embed_documents   0 0 0   100%
src \ truenex_memory \ core \ embedder.py HashingEmbedder.__init__   3 0 0   100%
src \ truenex_memory \ core \ embedder.py HashingEmbedder.model_name   1 0 0   100%
src \ truenex_memory \ core \ embedder.py HashingEmbedder.dimensions   1 0 0   100%
src \ truenex_memory \ core \ embedder.py HashingEmbedder.embed   2 0 0   100%
src \ truenex_memory \ core \ embedder.py HashingEmbedder.metadata   1 0 0   100%
src \ truenex_memory \ core \ embedder.py HashingEmbedder.embed_query   2 0 0   100%
src \ truenex_memory \ core \ embedder.py HashingEmbedder.embed_documents   3 0 0   100%
src \ truenex_memory \ core \ embedder.py HashingEmbedder._embed   7 0 0   100%
src \ truenex_memory \ core \ embedder.py _validate_text   2 0 0   100%
src \ truenex_memory \ core \ embedder.py _tokens   1 0 0   100%
src \ truenex_memory \ core \ embedder.py _normalize   4 1 0   75%
src \ truenex_memory \ core \ embedder.py (no function)   36 0 0   100%
src \ truenex_memory \ core \ indexer.py index_path   17 4 0   76%
src \ truenex_memory \ core \ indexer.py _iter_indexable_files   6 1 0   83%
src \ truenex_memory \ core \ indexer.py (no function)   8 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.__init__   12 1 0   92%
src \ truenex_memory \ core \ memory_service.py MemoryService.init_project   2 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.add   2 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.index   2 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.search   2 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.list_memory_nodes   2 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.set_memory_status   2 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.stats   2 2 0   0%
src \ truenex_memory \ core \ memory_service.py MemoryService.list_retrieval_logs   2 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.get_retrieval_log   2 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.last_trace_id   1 0 0   100%
src \ truenex_memory \ core \ memory_service.py MemoryService.vector_status   1 0 0   100%
src \ truenex_memory \ core \ memory_service.py (no function)   22 0 0   100%
src \ truenex_memory \ core \ migration.py get_current_schema_version   5 0 0   100%
src \ truenex_memory \ core \ migration.py get_latest_schema_version   1 0 0   100%
src \ truenex_memory \ core \ migration.py migration_status   5 0 0   100%
src \ truenex_memory \ core \ migration.py backup_database   8 1 0   88%
src \ truenex_memory \ core \ migration.py migrate_apply   9 0 0   100%
src \ truenex_memory \ core \ migration.py list_backups   9 0 0   100%
src \ truenex_memory \ core \ migration.py restore_backup   28 5 0   82%
src \ truenex_memory \ core \ migration.py (no function)   17 0 0   100%
src \ truenex_memory \ diagnostics \ __init__.py _check_writable   7 2 0   71%
src \ truenex_memory \ diagnostics \ __init__.py run_diagnostics   7 0 0   100%
src \ truenex_memory \ diagnostics \ __init__.py (no function)   11 0 0   100%
src \ truenex_memory \ diagnostics \ __main__.py run   1 1 0   0%
src \ truenex_memory \ diagnostics \ __main__.py (no function)   11 11 0   0%
src \ truenex_memory \ diagnostics \ doctor.py run_doctor   9 0 0   100%
src \ truenex_memory \ diagnostics \ doctor.py (no function)   6 0 0   100%
src \ truenex_memory \ discovery \ __init__.py (no function)   3 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py DiscoveryReport.project_count   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py DiscoveryReport.document_count   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py DiscoveryReport.server_count   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py DiscoveryReport.warning_count   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py DiscoveryReport.to_dict   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _is_known_agent_text_preamble   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _extract_strings   10 10 0   0%
src \ truenex_memory \ discovery \ agent_discovery.py _extract_relevant_strings   17 1 0   94%
src \ truenex_memory \ discovery \ agent_discovery.py _trim_text   4 1 0   75%
src \ truenex_memory \ discovery \ agent_discovery.py _bounded_read_text   21 2 0   90%
src \ truenex_memory \ discovery \ agent_discovery.py _extract_text_from_jsonl   67 17 0   75%
src \ truenex_memory \ discovery \ agent_discovery.py _extract_message_content_text   17 4 0   76%
src \ truenex_memory \ discovery \ agent_discovery.py _find_paths_in_text   14 2 0   86%
src \ truenex_memory \ discovery \ agent_discovery.py _clean_candidate_path   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _looks_like_project_root_path   19 3 0   84%
src \ truenex_memory \ discovery \ agent_discovery.py _project_root_from_path   45 7 0   84%
src \ truenex_memory \ discovery \ agent_discovery.py _join_windows_parts   6 2 0   67%
src \ truenex_memory \ discovery \ agent_discovery.py _find_ssh_aliases   14 1 0   93%
src \ truenex_memory \ discovery \ agent_discovery.py _clean_server_alias   2 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _looks_like_server_alias   9 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _find_doc_paths   11 1 0   91%
src \ truenex_memory \ discovery \ agent_discovery.py _clean_doc_candidate   17 2 0   88%
src \ truenex_memory \ discovery \ agent_discovery.py _is_excluded_document_path   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _scan_agent_root   36 7 0   81%
src \ truenex_memory \ discovery \ agent_discovery.py _deduplicate_projects   11 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _safe_is_dir   4 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _safe_exists   4 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _normalize_discovered_path   11 4 0   64%
src \ truenex_memory \ discovery \ agent_discovery.py _deduplicate_documents   9 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _deduplicate_servers   11 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _split_sources   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _score_project   4 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _score_document   7 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _is_absolute_path_string   2 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _score_server   7 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _collect_skill_documents   13 4 0   69%
src \ truenex_memory \ discovery \ agent_discovery.py discover_from_agents   36 1 0   97%
src \ truenex_memory \ discovery \ agent_discovery.py _format_header   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _format_project_line   3 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _format_document_line   3 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _format_server_line   1 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py _append_candidate_section   6 0 0   100%
src \ truenex_memory \ discovery \ agent_discovery.py format_report   32 1 0   97%
src \ truenex_memory \ discovery \ agent_discovery.py (no function)   107 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py default_catalog_path   1 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py source_id   3 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py candidate_to_entry   9 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py _agent_root_to_entry   2 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py _project_to_entry   2 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py _infer_project_name   4 1 0   75%
src \ truenex_memory \ discovery \ source_catalog.py _infer_project_name_from_doc   13 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py _document_to_entry   1 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py _server_to_entry   2 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py report_to_entries   14 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py SourceCatalog.save   3 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py SourceCatalog.load   6 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py SourceCatalog.upsert_entry   6 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py format_entries   17 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py entries_to_dict   1 0 0   100%
src \ truenex_memory \ discovery \ source_catalog.py (no function)   39 0 0   100%
src \ truenex_memory \ export \ __init__.py build_export_payload   1 0 0   100%
src \ truenex_memory \ export \ __init__.py export_json   5 0 0   100%
src \ truenex_memory \ export \ __init__.py import_json   14 3 0   79%
src \ truenex_memory \ export \ __init__.py import_records   1 0 0   100%
src \ truenex_memory \ export \ __init__.py (no function)   12 0 0   100%
src \ truenex_memory \ export \ __main__.py export_command   5 5 0   0%
src \ truenex_memory \ export \ __main__.py import_command   1 1 0   0%
src \ truenex_memory \ export \ __main__.py (no function)   13 13 0   0%
src \ truenex_memory \ export \ exporter.py export_memory   5 0 0   100%
src \ truenex_memory \ export \ exporter.py (no function)   5 0 0   100%
src \ truenex_memory \ export \ fingerprint.py canonicalize_export   9 2 0   78%
src \ truenex_memory \ export \ fingerprint.py _canonical_row   1 0 0   100%
src \ truenex_memory \ export \ fingerprint.py export_fingerprint   2 0 0   100%
src \ truenex_memory \ export \ fingerprint.py exports_equivalent   1 0 0   100%
src \ truenex_memory \ export \ fingerprint.py (no function)   8 0 0   100%
src \ truenex_memory \ export \ importer.py import_memory   6 6 0   0%
src \ truenex_memory \ export \ importer.py (no function)   5 0 0   100%
src \ truenex_memory \ ingestion \ __init__.py (no function)   10 0 0   100%
src \ truenex_memory \ ingestion \ engine.py ingest_manifest   32 8 0   75%
src \ truenex_memory \ ingestion \ engine.py _resolve_source_dir   8 1 0   88%
src \ truenex_memory \ ingestion \ engine.py _record_report_item   1 0 0   100%
src \ truenex_memory \ ingestion \ engine.py _index_record   13 3 0   77%
src \ truenex_memory \ ingestion \ engine.py _record_text   4 0 0   100%
src \ truenex_memory \ ingestion \ engine.py (no function)   13 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py AutoMemoryLifecycleItem.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py AutoMemoryLifecycleReport.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py approve_auto_memory   1 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py reject_auto_memory   1 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py promote_auto_memory   62 17 0   73%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py prune_auto_memories   34 9 0   74%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py format_auto_memory_lifecycle_report   33 9 0   73%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py _transition_auto_memory   28 9 0   68%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py _item_from_row   1 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py _prune_where_clause   6 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py _like_contains   2 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py _connect_write_existing   5 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py _table_exists   2 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_lifecycle.py (no function)   46 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_memory.py AutoMemoryTelemetry.to_dict   1 1 0   0%
src \ truenex_memory \ ingestion \ global_auto_memory.py generate_unverified_auto_memories   38 1 0   97%
src \ truenex_memory \ ingestion \ global_auto_memory.py analyze_auto_memory_candidates   26 10 0   62%
src \ truenex_memory \ ingestion \ global_auto_memory.py _iter_candidates   22 1 0   95%
src \ truenex_memory \ ingestion \ global_auto_memory.py _sort_key_for_candidate   2 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_memory.py _agent_session_title   31 4 0   87%
src \ truenex_memory \ ingestion \ global_auto_memory.py _connect_readonly   4 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_memory.py _blocked_auto_memory_content_hashes_by_reason   12 1 0   92%
src \ truenex_memory \ ingestion \ global_auto_memory.py _duplicate_reason_for_row   6 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_memory.py _duplicate_reason_priority   1 1 0   0%
src \ truenex_memory \ ingestion \ global_auto_memory.py _count_duplicate_reason   6 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_memory.py _candidate_content   7 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_memory.py _is_raw_json_dump   1 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_memory.py _is_noisy_agent_session_candidate   11 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_memory.py _looks_like_command_snippet   5 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_memory.py _confidence_for_source_type   5 3 0   40%
src \ truenex_memory \ ingestion \ global_auto_memory.py (no function)   59 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_review.py AutoMemoryReviewItem.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_review.py AutoMemorySourceSummary.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_review.py AutoMemoryReviewReport.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_review.py build_auto_memory_review   29 7 0   76%
src \ truenex_memory \ ingestion \ global_auto_review.py format_auto_memory_review   29 1 0   97%
src \ truenex_memory \ ingestion \ global_auto_review.py _where_clause   6 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_review.py _like_contains   2 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_review.py _connect_readonly   4 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_review.py _table_exists   2 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_review.py _excerpt   4 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_review.py (no function)   47 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_status.py AutoStatusReport.to_dict   3 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_status.py build_auto_status   11 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_status.py format_auto_status_report   49 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_status.py _evaluate_readiness   21 2 0   90%
src \ truenex_memory \ ingestion \ global_auto_status.py _connect_readonly   4 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_status.py _table_exists   2 0 0   100%
src \ truenex_memory \ ingestion \ global_auto_status.py _read_auto_details   37 6 0   84%
src \ truenex_memory \ ingestion \ global_auto_status.py _classify_unstable_session_freshness   25 2 0   92%
src \ truenex_memory \ ingestion \ global_auto_status.py _parse_iso_datetime   9 3 0   67%
src \ truenex_memory \ ingestion \ global_auto_status.py (no function)   44 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py ProjectContextReport.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py build_project_context   56 10 0   82%
src \ truenex_memory \ ingestion \ global_context.py _resolve_project   58 4 0   93%
src \ truenex_memory \ ingestion \ global_context.py _normalize_basename   4 1 0   75%
src \ truenex_memory \ ingestion \ global_context.py _normalize_path_for_match   1 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py _path_equal_or_inside   5 1 0   80%
src \ truenex_memory \ ingestion \ global_context.py _find_related_docs   11 1 0   91%
src \ truenex_memory \ ingestion \ global_context.py _find_related_servers   11 2 0   82%
src \ truenex_memory \ ingestion \ global_context.py _serialize_entries   4 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py _connect_readonly   4 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py _table_exists   2 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py _read_ledger_for_project   23 6 0   74%
src \ truenex_memory \ ingestion \ global_context.py _ledger_row_to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py _doc_ids_from_ledger   18 2 0   89%
src \ truenex_memory \ ingestion \ global_context.py _read_indexed_for_project   49 7 0   86%
src \ truenex_memory \ ingestion \ global_context.py _doc_row_to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py _strip_ingestion_metadata   4 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py _chunk_row_to_dict   6 2 0   67%
src \ truenex_memory \ ingestion \ global_context.py _read_memory_nodes_for_project   4 0 0   100%
src \ truenex_memory \ ingestion \ global_context.py format_context_report   74 31 0   58%
src \ truenex_memory \ ingestion \ global_context.py (no function)   42 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py RefreshReport.detail_summary   12 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py RefreshReport.to_dict   9 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _RefreshRunCache.ledger_entry   1 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _RefreshRunCache.active_ledger_entries   1 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _RefreshRunCache.ledger_by_physical_path   9 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _RefreshRunCache.active_ledger_by_physical_path   7 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _RefreshRunCache.file_hash   4 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _RefreshRunCache.file_mtime   4 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _cache_path_key   4 2 0   50%
src \ truenex_memory \ ingestion \ global_refresh.py _normalized_cache_path_key   1 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _load_run_cache   12 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _now_iso   1 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _file_content_hash   8 2 0   75%
src \ truenex_memory \ ingestion \ global_refresh.py _file_mtime_iso   5 2 0   60%
src \ truenex_memory \ ingestion \ global_refresh.py _is_jsonl_stable   7 2 0   71%
src \ truenex_memory \ ingestion \ global_refresh.py _record_text   4 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _index_record   17 3 0   82%
src \ truenex_memory \ ingestion \ global_refresh.py _record_source_id   4 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _add_detail   1 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py refresh   18 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _process_catalog_entry   55 18 0   67%
src \ truenex_memory \ ingestion \ global_refresh.py _parser_for_entry   7 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _parser_source_type_for_entry   5 1 0   80%
src \ truenex_memory \ ingestion \ global_refresh.py _is_nonlocal_absolute_path   6 1 0   83%
src \ truenex_memory \ ingestion \ global_refresh.py _resolve_source_dir   1 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _infer_name   4 1 0   75%
src \ truenex_memory \ ingestion \ global_refresh.py _process_agent_root_entry   57 20 0   65%
src \ truenex_memory \ ingestion \ global_refresh.py _iter_agent_session_files   6 1 0   83%
src \ truenex_memory \ ingestion \ global_refresh.py _process_project_docs_entry   55 14 0   75%
src \ truenex_memory \ ingestion \ global_refresh.py _iter_project_doc_files   7 1 0   86%
src \ truenex_memory \ ingestion \ global_refresh.py _active_records_match_mtime   1 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _all_previous_records_are_active   3 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _refresh_unchanged_ledger_mtime   6 1 0   83%
src \ truenex_memory \ ingestion \ global_refresh.py _process_record   57 12 0   79%
src \ truenex_memory \ ingestion \ global_refresh.py _record_index_error   10 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _upsert_ledger_for_catalog_entry   3 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _qualified_source_path   4 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _upsert_record_ledger   3 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _mark_missing_previous_records   14 1 0   93%
src \ truenex_memory \ ingestion \ global_refresh.py _active_ledger_records_for_entry   12 1 0   92%
src \ truenex_memory \ ingestion \ global_refresh.py _physical_path   2 0 0   100%
src \ truenex_memory \ ingestion \ global_refresh.py _ledger_record_belongs_to_entry   11 4 0   64%
src \ truenex_memory \ ingestion \ global_refresh.py format_refresh_report   17 2 0   88%
src \ truenex_memory \ ingestion \ global_refresh.py (no function)   94 0 0   100%
src \ truenex_memory \ ingestion \ global_search.py GlobalSearchHit.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_search.py GlobalSearchReport.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_search.py build_global_search   37 14 0   62%
src \ truenex_memory \ ingestion \ global_search.py format_global_search_report   25 2 0   92%
src \ truenex_memory \ ingestion \ global_search.py _search_memory_nodes   15 1 0   93%
src \ truenex_memory \ ingestion \ global_search.py _search_chunks   23 4 0   83%
src \ truenex_memory \ ingestion \ global_search.py _connect_readonly   4 0 0   100%
src \ truenex_memory \ ingestion \ global_search.py _table_exists   2 0 0   100%
src \ truenex_memory \ ingestion \ global_search.py _excerpt   4 1 0   75%
src \ truenex_memory \ ingestion \ global_search.py _strip_metadata_preamble   11 5 0   55%
src \ truenex_memory \ ingestion \ global_search.py _kind_rank   1 0 0   100%
src \ truenex_memory \ ingestion \ global_search.py (no function)   50 0 0   100%
src \ truenex_memory \ ingestion \ global_source_health.py SourceHealthAction.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_source_health.py SourceHealthReport.__post_init__   4 0 0   100%
src \ truenex_memory \ ingestion \ global_source_health.py SourceHealthReport.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_source_health.py build_source_health   34 4 0   88%
src \ truenex_memory \ ingestion \ global_source_health.py format_source_health_report   26 0 0   100%
src \ truenex_memory \ ingestion \ global_source_health.py _load_catalog   8 2 0   75%
src \ truenex_memory \ ingestion \ global_source_health.py _review_ledger   15 3 0   80%
src \ truenex_memory \ ingestion \ global_source_health.py _cleanup_action_for_ledger_entry   13 4 0   69%
src \ truenex_memory \ ingestion \ global_source_health.py _matching_catalog_entry   10 3 0   70%
src \ truenex_memory \ ingestion \ global_source_health.py _ledger_source_type_matches_catalog_entry   3 1 0   67%
src \ truenex_memory \ ingestion \ global_source_health.py _is_expected_skip   2 2 0   0%
src \ truenex_memory \ ingestion \ global_source_health.py _apply_ledger_cleanup   4 0 0   100%
src \ truenex_memory \ ingestion \ global_source_health.py _error_message_for_action   9 3 0   67%
src \ truenex_memory \ ingestion \ global_source_health.py _add_action   3 0 0   100%
src \ truenex_memory \ ingestion \ global_source_health.py (no function)   51 0 0   100%
src \ truenex_memory \ ingestion \ global_status.py GlobalStatusReport.to_dict   1 0 0   100%
src \ truenex_memory \ ingestion \ global_status.py build_global_status   18 2 0   89%
src \ truenex_memory \ ingestion \ global_status.py _connect_readonly   4 0 0   100%
src \ truenex_memory \ ingestion \ global_status.py _table_exists   2 0 0   100%
src \ truenex_memory \ ingestion \ global_status.py _read_catalog   33 2 0   94%
src \ truenex_memory \ ingestion \ global_status.py _read_ledger   18 0 0   100%
src \ truenex_memory \ ingestion \ global_status.py _read_indexed   18 0 0   100%
src \ truenex_memory \ ingestion \ global_status.py format_status_report   50 37 0   26%
src \ truenex_memory \ ingestion \ global_status.py (no function)   34 0 0   100%
src \ truenex_memory \ ingestion \ manifest.py SourceEntry.__post_init__   4 0 0   100%
src \ truenex_memory \ ingestion \ manifest.py SourceEntry.from_dict   3 0 0   100%
src \ truenex_memory \ ingestion \ manifest.py SourceManifest.from_path   27 3 0   89%
src \ truenex_memory \ ingestion \ manifest.py IngestionRecord.filename   1 0 0   100%
src \ truenex_memory \ ingestion \ manifest.py _require_str   4 0 0   100%
src \ truenex_memory \ ingestion \ manifest.py (no function)   41 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ __init__.py register   2 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ __init__.py register.decorator   2 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ __init__.py get_parser   1 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ __init__.py parsers   1 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ __init__.py (no function)   12 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py parse_agent_sessions   11 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _parse_one_session   31 6 0   81%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _build_exchanges   19 1 0   95%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _build_exchanges.flush   10 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _extract_compactions   39 10 0   74%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _iter_message_objects   19 10 0   47%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _resolve_role   15 1 0   93%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _extract_text   20 6 0   70%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _extract_text_from_content   17 2 0   88%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _find_model   17 5 0   71%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _extract_session_id   14 1 0   93%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _extract_created_at   22 9 0   59%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _numeric_timestamp_to_iso   7 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _file_mtime_iso   5 2 0   60%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py _is_noise_user_text   4 1 0   75%
src \ truenex_memory \ ingestion \ parsers \ jsonl_sessions.py (no function)   25 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ text_docs.py parse_project_docs   23 4 0   83%
src \ truenex_memory \ ingestion \ parsers \ text_docs.py _iter_candidate_files   9 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ text_docs.py _is_excluded_path   8 8 0   0%
src \ truenex_memory \ ingestion \ parsers \ text_docs.py _is_excluded_dir_name   3 0 0   100%
src \ truenex_memory \ ingestion \ parsers \ text_docs.py _file_mtime_iso   5 2 0   60%
src \ truenex_memory \ ingestion \ parsers \ text_docs.py (no function)   17 0 0   100%
src \ truenex_memory \ mcp \ __init__.py _tool_export_json   2 2 0   0%
src \ truenex_memory \ mcp \ __init__.py _tool_import_json   2 2 0   0%
src \ truenex_memory \ mcp \ __init__.py _tool_write_agent_docs   2 2 0   0%
src \ truenex_memory \ mcp \ __init__.py list_tools   1 0 0   100%
src \ truenex_memory \ mcp \ __init__.py call_tool   5 2 0   60%
src \ truenex_memory \ mcp \ __init__.py (no function)   15 0 0   100%
src \ truenex_memory \ mcp \ __main__.py list_command   1 1 0   0%
src \ truenex_memory \ mcp \ __main__.py call_command   4 4 0   0%
src \ truenex_memory \ mcp \ __main__.py (no function)   12 12 0   0%
src \ truenex_memory \ mcp \ server.py run_stdio_server   9 9 0   0%
src \ truenex_memory \ mcp \ server.py handle_jsonrpc_line   8 1 0   88%
src \ truenex_memory \ mcp \ server.py handle_jsonrpc_message   21 8 2   62%
src \ truenex_memory \ mcp \ server.py _dispatch   11 1 0   91%
src \ truenex_memory \ mcp \ server.py _initialize   3 0 0   100%
src \ truenex_memory \ mcp \ server.py _tool_definitions   1 0 0   100%
src \ truenex_memory \ mcp \ server.py _call_tool   27 10 0   63%
src \ truenex_memory \ mcp \ server.py _call_memory_search   9 2 0   78%
src \ truenex_memory \ mcp \ server.py _call_memory_add   7 2 0   71%
src \ truenex_memory \ mcp \ server.py _call_global_status   7 1 0   86%
src \ truenex_memory \ mcp \ server.py _call_global_project_context   13 1 0   92%
src \ truenex_memory \ mcp \ server.py _call_task_open   4 4 0   0%
src \ truenex_memory \ mcp \ server.py _call_task_step_add   4 4 0   0%
src \ truenex_memory \ mcp \ server.py _call_task_close   7 7 0   0%
src \ truenex_memory \ mcp \ server.py _tool_result   1 0 0   100%
src \ truenex_memory \ mcp \ server.py _error_response   4 0 0   100%
src \ truenex_memory \ mcp \ server.py (no function)   26 0 0   100%
src \ truenex_memory \ mcp \ tools.py memory_search   3 0 0   100%
src \ truenex_memory \ mcp \ tools.py memory_add   3 0 0   100%
src \ truenex_memory \ mcp \ tools.py global_status   5 0 0   100%
src \ truenex_memory \ mcp \ tools.py global_project_context   9 0 0   100%
src \ truenex_memory \ mcp \ tools.py _default_task_store   2 2 0   0%
src \ truenex_memory \ mcp \ tools.py task_open   4 4 0   0%
src \ truenex_memory \ mcp \ tools.py task_step_add   4 4 0   0%
src \ truenex_memory \ mcp \ tools.py task_close   4 4 0   0%
src \ truenex_memory \ mcp \ tools.py (no function)   15 0 0   100%
src \ truenex_memory \ release \ __init__.py (no function)   4 0 0   100%
src \ truenex_memory \ release \ manifest.py ReleaseManifest.from_dict   5 1 0   80%
src \ truenex_memory \ release \ manifest.py ReleaseManifest.to_dict   1 0 0   100%
src \ truenex_memory \ release \ manifest.py _required_str   4 1 0   75%
src \ truenex_memory \ release \ manifest.py _optional_str   6 1 0   83%
src \ truenex_memory \ release \ manifest.py _bool   4 1 0   75%
src \ truenex_memory \ release \ manifest.py (no function)   23 0 0   100%
src \ truenex_memory \ release \ update_check.py UpdateCheckResult.to_dict   1 1 0   0%
src \ truenex_memory \ release \ update_check.py check_for_updates   4 0 0   100%
src \ truenex_memory \ release \ update_check.py fetch_manifest   6 6 0   0%
src \ truenex_memory \ release \ update_check.py compare_versions   3 0 0   100%
src \ truenex_memory \ release \ update_check.py _version_tuple   8 3 0   62%
src \ truenex_memory \ release \ update_check.py (no function)   27 0 0   100%
src \ truenex_memory \ release \ version.py get_version_info   1 0 0   100%
src \ truenex_memory \ release \ version.py (no function)   20 0 0   100%
src \ truenex_memory \ retrieval \ __init__.py (no function)   2 0 0   100%
src \ truenex_memory \ retrieval \ result.py search_payload   1 0 0   100%
src \ truenex_memory \ retrieval \ result.py (no function)   3 0 0   100%
src \ truenex_memory \ retrieval \ scoring.py tokenize   1 0 0   100%
src \ truenex_memory \ retrieval \ scoring.py tokenize_set   1 0 0   100%
src \ truenex_memory \ retrieval \ scoring.py BM25.__post_init__   6 0 0   100%
src \ truenex_memory \ retrieval \ scoring.py BM25._idf   2 0 0   100%
src \ truenex_memory \ retrieval \ scoring.py BM25.score   14 0 0   100%
src \ truenex_memory \ retrieval \ scoring.py BM25.get_scores   1 0 0   100%
src \ truenex_memory \ retrieval \ scoring.py source_boost   3 0 0   100%
src \ truenex_memory \ retrieval \ scoring.py (no function)   18 0 0   100%
src \ truenex_memory \ retrieval \ semantic.py Embedder.model_name   0 0 0   100%
src \ truenex_memory \ retrieval \ semantic.py Embedder.embed   0 0 0   100%
src \ truenex_memory \ retrieval \ semantic.py VectorStore.upsert   0 0 0   100%
src \ truenex_memory \ retrieval \ semantic.py VectorStore.search   0 0 0   100%
src \ truenex_memory \ retrieval \ semantic.py InMemoryVectorStore.__init__   1 1 0   0%
src \ truenex_memory \ retrieval \ semantic.py InMemoryVectorStore.upsert   2 2 0   0%
src \ truenex_memory \ retrieval \ semantic.py InMemoryVectorStore.search   6 6 0   0%
src \ truenex_memory \ retrieval \ semantic.py chunk_point_id   2 0 0   100%
src \ truenex_memory \ retrieval \ semantic.py _normalize   4 4 0   0%
src \ truenex_memory \ retrieval \ semantic.py _cosine   3 3 0   0%
src \ truenex_memory \ retrieval \ semantic.py (no function)   30 0 0   100%
src \ truenex_memory \ store \ __init__.py (no function)   5 0 0   100%
src \ truenex_memory \ store \ models.py RetrievalLog.parsed_results   1 0 0   100%
src \ truenex_memory \ store \ models.py (no function)   41 0 0   100%
src \ truenex_memory \ store \ qdrant_store.py InMemoryVectorStore.__init__   4 1 0   75%
src \ truenex_memory \ store \ qdrant_store.py InMemoryVectorStore.upsert   6 0 0   100%
src \ truenex_memory \ store \ qdrant_store.py InMemoryVectorStore.search   6 0 0   100%
src \ truenex_memory \ store \ qdrant_store.py InMemoryVectorStore.delete   2 0 0   100%
src \ truenex_memory \ store \ qdrant_store.py InMemoryVectorStore.count   1 0 0   100%
src \ truenex_memory \ store \ qdrant_store.py InMemoryVectorStore._validate_vector   2 0 0   100%
src \ truenex_memory \ store \ qdrant_store.py InMemoryVectorStore._validate_limit   2 0 0   100%
src \ truenex_memory \ store \ qdrant_store.py QdrantVectorStore.__init__   9 2 0   78%
src \ truenex_memory \ store \ qdrant_store.py QdrantVectorStore.initialize   7 2 2   71%
src \ truenex_memory \ store \ qdrant_store.py QdrantVectorStore.upsert   4 4 2   0%
src \ truenex_memory \ store \ qdrant_store.py QdrantVectorStore.search   6 6 2   0%
src \ truenex_memory \ store \ qdrant_store.py QdrantVectorStore.delete   3 3 2   0%
src \ truenex_memory \ store \ qdrant_store.py QdrantVectorStore._collection_exists   5 1 0   80%
src \ truenex_memory \ store \ qdrant_store.py QdrantVectorStore._build_client   6 0 2   100%
src \ truenex_memory \ store \ qdrant_store.py _load_qdrant_models   5 2 0   60%
src \ truenex_memory \ store \ qdrant_store.py _resolve_limit   1 0 0   100%
src \ truenex_memory \ store \ qdrant_store.py _point_id   4 1 0   75%
src \ truenex_memory \ store \ qdrant_store.py _point_vector   4 1 0   75%
src \ truenex_memory \ store \ qdrant_store.py _point_payload   4 1 0   75%
src \ truenex_memory \ store \ qdrant_store.py _cosine   6 1 0   83%
src \ truenex_memory \ store \ qdrant_store.py (no function)   40 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository.__init__   4 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository.initialize   2 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository.add_memory   12 1 0   92%
src \ truenex_memory \ store \ repository.py MemoryRepository.find_memory_by_content_hash   4 4 0   0%
src \ truenex_memory \ store \ repository.py MemoryRepository.upsert_document   20 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository.search   14 1 0   93%
src \ truenex_memory \ store \ repository.py MemoryRepository.stats   3 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository.list_memory_nodes   8 1 0   88%
src \ truenex_memory \ store \ repository.py MemoryRepository.set_memory_status   8 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository.export_data   3 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository.import_data   13 3 0   77%
src \ truenex_memory \ store \ repository.py MemoryRepository.list_retrieval_logs   6 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository.get_retrieval_log   6 1 0   83%
src \ truenex_memory \ store \ repository.py MemoryRepository._record_retrieval_log   3 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository._semantic_enabled   1 1 0   0%
src \ truenex_memory \ store \ repository.py MemoryRepository._search_semantic_chunks   16 0 0   100%
src \ truenex_memory \ store \ repository.py MemoryRepository._vector_store_matches   7 0 0   100%
src \ truenex_memory \ store \ repository.py _search_memories   10 0 0   100%
src \ truenex_memory \ store \ repository.py _search_chunks   17 0 0   100%
src \ truenex_memory \ store \ repository.py _sqlite_vector_matches   14 3 0   79%
src \ truenex_memory \ store \ repository.py _coerce_vector_match   7 5 0   29%
src \ truenex_memory \ store \ repository.py _cosine   3 1 0   67%
src \ truenex_memory \ store \ repository.py _rows   2 0 0   100%
src \ truenex_memory \ store \ repository.py _upsert_row   4 0 0   100%
src \ truenex_memory \ store \ repository.py _title_from_content   2 0 0   100%
src \ truenex_memory \ store \ repository.py _filename_from_logical_path   5 0 0   100%
src \ truenex_memory \ store \ repository.py _memory_node_from_row   1 0 0   100%
src \ truenex_memory \ store \ repository.py _retrieval_log_from_row   1 0 0   100%
src \ truenex_memory \ store \ repository.py _new_id   1 0 0   100%
src \ truenex_memory \ store \ repository.py _now_sql   1 0 0   100%
src \ truenex_memory \ store \ repository.py (no function)   47 0 0   100%
src \ truenex_memory \ store \ source_ledger.py is_phase3_ledger_transition_allowed   3 0 0   100%
src \ truenex_memory \ store \ source_ledger.py _now_sql   1 0 0   100%
src \ truenex_memory \ store \ source_ledger.py upsert_ledger_entry   7 0 0   100%
src \ truenex_memory \ store \ source_ledger.py list_ledger_entries   13 0 0   100%
src \ truenex_memory \ store \ source_ledger.py get_ledger_entry   4 0 0   100%
src \ truenex_memory \ store \ source_ledger.py update_ledger_status   9 0 0   100%
src \ truenex_memory \ store \ source_ledger.py _ledger_record_from_row   1 0 0   100%
src \ truenex_memory \ store \ source_ledger.py (no function)   28 0 0   100%
src \ truenex_memory \ store \ sqlite.py connect   5 0 0   100%
src \ truenex_memory \ store \ sqlite.py initialize_schema   5 0 0   100%
src \ truenex_memory \ store \ sqlite.py _ensure_column   3 1 0   67%
src \ truenex_memory \ store \ sqlite.py apply_column_upgrades   7 1 0   86%
src \ truenex_memory \ store \ sqlite.py SQLiteMemoryStore.__init__   2 0 0   100%
src \ truenex_memory \ store \ sqlite.py SQLiteMemoryStore.__enter__   2 0 0   100%
src \ truenex_memory \ store \ sqlite.py SQLiteMemoryStore.__exit__   1 0 0   100%
src \ truenex_memory \ store \ sqlite.py SQLiteMemoryStore.open   8 2 0   75%
src \ truenex_memory \ store \ sqlite.py SQLiteMemoryStore.close   3 0 0   100%
src \ truenex_memory \ store \ sqlite.py SQLiteMemoryStore.add   8 0 0   100%
src \ truenex_memory \ store \ sqlite.py SQLiteMemoryStore.search   15 1 0   93%
src \ truenex_memory \ store \ sqlite.py SQLiteMemoryStore.schema_version   2 0 0   100%
src \ truenex_memory \ store \ sqlite.py SQLiteMemoryStore._conn   4 1 0   75%
src \ truenex_memory \ store \ sqlite.py (no function)   26 0 0   100%
src \ truenex_memory \ store \ task_store.py _now   1 0 0   100%
src \ truenex_memory \ store \ task_store.py _new_id   1 0 0   100%
src \ truenex_memory \ store \ task_store.py TaskStore.__init__   1 0 0   100%
src \ truenex_memory \ store \ task_store.py TaskStore._conn   3 0 0   100%
src \ truenex_memory \ store \ task_store.py TaskStore.task_open   10 1 0   90%
src \ truenex_memory \ store \ task_store.py TaskStore.task_close   13 2 0   85%
src \ truenex_memory \ store \ task_store.py TaskStore.task_get   2 0 0   100%
src \ truenex_memory \ store \ task_store.py TaskStore.task_list   15 3 0   80%
src \ truenex_memory \ store \ task_store.py TaskStore._get_task   4 0 0   100%
src \ truenex_memory \ store \ task_store.py TaskStore.step_add   10 1 0   90%
src \ truenex_memory \ store \ task_store.py TaskStore.step_list   3 0 0   100%
src \ truenex_memory \ store \ task_store.py TaskStore.verifier_add   7 7 0   0%
src \ truenex_memory \ store \ task_store.py TaskStore.calibration   16 4 0   75%
src \ truenex_memory \ store \ task_store.py _task_from_row   1 0 0   100%
src \ truenex_memory \ store \ task_store.py _step_from_row   1 0 0   100%
src \ truenex_memory \ store \ task_store.py (no function)   61 0 0   100%
Total     5839 920 12   84%

No items found using the specified filter.