Stigmem Python coverage: 83%

Files Functions Classes

coverage.py v7.13.5, created at 2026-05-25 01:49 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
node / src / stigmem_conformance / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
node / src / stigmem_conformance / __main__.py main   0% 26 26 0   0% 8 0   0%
node / src / stigmem_conformance / __main__.py (no function)   0% 8 8 0   0% 2 0   0%
node / src / stigmem_conformance / report.py ConformanceReporter.__init__   100% 3 0 0   100% 0 0   100%
node / src / stigmem_conformance / report.py ConformanceReporter.pytest_runtest_logreport   100% 3 0 0   100% 2 0   100%
node / src / stigmem_conformance / report.py ConformanceReporter.generate_markdown   100% 9 0 0   100% 0 0   100%
node / src / stigmem_conformance / report.py _outcome_counts   100% 1 0 0   100% 0 0   100%
node / src / stigmem_conformance / report.py _summary_lines   100% 2 0 0   100% 0 0   100%
node / src / stigmem_conformance / report.py _failure_lines   100% 7 0 0   100% 4 0   100%
node / src / stigmem_conformance / report.py _skipped_lines   100% 9 0 0   100% 4 0   100%
node / src / stigmem_conformance / report.py _detail_lines   100% 7 0 0   100% 2 0   100%
node / src / stigmem_conformance / report.py (no function)   100% 13 0 0   100% 0 0   100%
node / src / stigmem_node / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / audit_event.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / auth.py _hash_key   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py _legacy_sha256   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py _is_legacy_sha256_hash   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py _legacy_sha256_allowed   83% 6 1 0   75% 4 1   80%
node / src / stigmem_node / auth.py _raise_legacy_sha256_disabled   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py _verify_key_hash   57% 14 6 0   67% 6 2   60%
node / src / stigmem_node / auth.py _row_expired   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py _parse_api_key_expiry   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / auth.py _normalize_api_key_expiry   90% 10 1 0   83% 6 1   88%
node / src / stigmem_node / auth.py _rehash_legacy_key   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py _select_key_rows   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py _find_key_row   89% 19 2 0   93% 14 1   91%
node / src / stigmem_node / auth.py find_api_key_id_by_raw_key   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py lookup_principal   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / auth.py Identity.__init__   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py Identity.can_read   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py Identity.can_write   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py Identity.can_write_instruction   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py Identity.can_federate   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py Identity.can_admin_federation   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py Identity.can_audit   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py Identity.is_admin   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py Identity._has_capability   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / auth.py resolve_identity   100% 12 0 0   100% 10 0   100%
node / src / stigmem_node / auth.py _apply_identity_hooks   100% 10 0 0   100% 2 0   100%
node / src / stigmem_node / auth.py _lookup   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / auth.py register_api_key   91% 11 1 0   75% 4 1   87%
node / src / stigmem_node / auth.py create_api_key   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / auth.py (no function)   100% 50 0 0   100% 0 0   100%
node / src / stigmem_node / billing.py HookBus.emit   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / billing.py LogHookBus.emit   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / billing.py CaptureBus.__init__   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / billing.py CaptureBus.emit   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / billing.py get_hook_bus   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / billing.py set_hook_bus   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / billing.py (no function)   100% 25 0 0   100% 0 0   100%
node / src / stigmem_node / card_materializer.py mark_entity_stale   100% 6 0 0   100% 0 0   100%
node / src / stigmem_node / card_materializer.py refresh_card   100% 28 0 0   100% 10 0   100%
node / src / stigmem_node / card_materializer.py get_fresh_card   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / card_materializer.py (no function)   100% 22 0 0   100% 0 0   100%
node / src / stigmem_node / cid.py compute_cid   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / cid.py compute_cid_from_row   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cid.py CidMismatchError.__init__   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / cid.py _optional_row_value   60% 5 2 0   100% 0 0   60%
node / src / stigmem_node / cid.py stored_cid_from_row   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / cid.py verify_cid_from_row   100% 6 0 0   100% 4 0   100%
node / src / stigmem_node / cid.py is_valid_cid   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cid.py is_cid   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cid.py (no function)   100% 16 0 0   100% 0 0   100%
node / src / stigmem_node / cli / __init__.py main   0% 3 3 0   100% 0 0   0%
node / src / stigmem_node / cli / __init__.py (no function)   100% 13 0 0   100% 0 0   100%
node / src / stigmem_node / cli / __main__.py (no function)   0% 4 4 0   0% 2 0   0%
node / src / stigmem_node / cli / capability.py _cmd_capability_issue   100% 27 0 0   100% 8 0   100%
node / src / stigmem_node / cli / capability.py _cmd_capability_verify   97% 31 1 0   92% 12 1   95%
node / src / stigmem_node / cli / capability.py _cmd_capability_revoke   100% 27 0 0   100% 12 0   100%
node / src / stigmem_node / cli / capability.py (no function)   100% 6 0 0   100% 0 0   100%
node / src / stigmem_node / cli / federation.py _cmd_federation_register_peer   99% 69 1 0   94% 18 1   98%
node / src / stigmem_node / cli / federation.py _cmd_federation_register_peer._pad   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cli / federation.py (no function)   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / cli / maintenance.py _cmd_decay_sweep   100% 10 0 0   100% 2 0   100%
node / src / stigmem_node / cli / maintenance.py _cmd_migrate_normalize_entities   100% 10 0 0   100% 2 0   100%
node / src / stigmem_node / cli / maintenance.py (no function)   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / cli / mcp.py editor_catalog   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cli / mcp.py _config_for   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cli / mcp.py _render_snippet   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cli / mcp.py _json_stigmem_entry   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / cli / mcp.py _merge_json_config   0% 24 24 0   0% 8 0   0%
node / src / stigmem_node / cli / mcp.py _server_named_stigmem   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / cli / mcp.py _merge_config   83% 6 1 0   75% 4 1   80%
node / src / stigmem_node / cli / mcp.py _api_key_from_environment   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / cli / mcp.py _render_dry_run_preview   33% 6 4 0   25% 4 1   30%
node / src / stigmem_node / cli / mcp.py _iso_timestamp   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cli / mcp.py _config_path   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cli / mcp.py _read_existing   67% 6 2 0   100% 0 0   67%
node / src / stigmem_node / cli / mcp.py _detect_editors   82% 11 2 0   100% 4 0   87%
node / src / stigmem_node / cli / mcp.py _stigmem_mcp_version   0% 9 9 0   0% 2 0   0%
node / src / stigmem_node / cli / mcp.py _mcp_report   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / cli / mcp.py _cmd_mcp_doctor   0% 17 17 0   0% 8 0   0%
node / src / stigmem_node / cli / mcp.py _cmd_mcp_detect   44% 9 5 0   17% 6 1   33%
node / src / stigmem_node / cli / mcp.py _cmd_mcp_status   0% 10 10 0   0% 6 0   0%
node / src / stigmem_node / cli / mcp.py _cmd_mcp_config   100% 16 0 0   100% 6 0   100%
node / src / stigmem_node / cli / mcp.py _cmd_mcp_install   84% 55 9 0   72% 18 3   81%
node / src / stigmem_node / cli / mcp.py _cmd_mcp_smoke   46% 28 15 0   50% 10 5   47%
node / src / stigmem_node / cli / mcp.py catalog_asdict   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / cli / mcp.py (no function)   100% 45 0 0   100% 0 0   100%
node / src / stigmem_node / cli / parser.py _build_parser   100% 192 0 0   100% 0 0   100%
node / src / stigmem_node / cli / parser.py (no function)   100% 12 0 0   100% 0 0   100%
node / src / stigmem_node / cli / plugins.py _load_plugin_registry   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / cli / plugins.py _plugin_report_by_name   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cli / plugins.py _plugin_info_to_dict   75% 8 2 0   50% 4 2   67%
node / src / stigmem_node / cli / plugins.py _env_enabled   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / cli / plugins.py _known_plugin   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / cli / plugins.py _installed_plugin_names   38% 8 5 0   25% 4 1   33%
node / src / stigmem_node / cli / plugins.py _plugin_doctor_rows   78% 18 4 0   75% 8 2   77%
node / src / stigmem_node / cli / plugins.py _print_plugin_doctor_rows   86% 7 1 0   83% 6 1   85%
node / src / stigmem_node / cli / plugins.py _cmd_plugins_list   61% 18 7 0   50% 6 1   58%
node / src / stigmem_node / cli / plugins.py _cmd_plugins_describe   89% 28 3 0   60% 10 4   82%
node / src / stigmem_node / cli / plugins.py _cmd_plugins_search   71% 14 4 0   67% 6 2   70%
node / src / stigmem_node / cli / plugins.py _cmd_plugins_enable   75% 8 2 0   50% 2 1   70%
node / src / stigmem_node / cli / plugins.py _cmd_plugins_disable   71% 7 2 0   50% 2 1   67%
node / src / stigmem_node / cli / plugins.py _cmd_plugins_doctor   75% 8 2 0   50% 2 1   70%
node / src / stigmem_node / cli / plugins.py _cmd_doctor   70% 10 3 0   50% 2 1   67%
node / src / stigmem_node / cli / plugins.py (no function)   100% 21 0 0   100% 0 0   100%
node / src / stigmem_node / cli / snapshot.py _cmd_snapshot_create   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / cli / snapshot.py _cmd_snapshot_restore   100% 13 0 0   100% 0 0   100%
node / src / stigmem_node / cli / snapshot.py (no function)   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / cli_admin_handlers.py _write_owner_only_text   90% 10 1 0   50% 2 1   83%
node / src / stigmem_node / cli_admin_handlers.py _resolve_scope_prefix_and_label   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / cli_admin_handlers.py _load_existing_state_from_db   78% 18 4 0   67% 6 2   75%
node / src / stigmem_node / cli_admin_handlers.py _load_existing_state_from_api   84% 25 4 0   62% 8 3   79%
node / src / stigmem_node / cli_admin_handlers.py _load_existing_state   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / cli_admin_handlers.py _confirm_proceed   0% 9 9 0   0% 2 0   0%
node / src / stigmem_node / cli_admin_handlers.py _cmd_instruction_migrate   93% 44 3 0   88% 16 2   92%
node / src / stigmem_node / cli_admin_handlers.py _cmd_instruction_manifest_generate   96% 46 2 0   89% 18 2   94%
node / src / stigmem_node / cli_admin_handlers.py _cmd_audit_discovery   100% 57 0 0   79% 14 3   96%
node / src / stigmem_node / cli_admin_handlers.py _cmd_identity_rotate_key   51% 45 22 0   50% 8 2   51%
node / src / stigmem_node / cli_admin_handlers.py _cmd_backfill_cids   94% 33 2 0   92% 12 1   93%
node / src / stigmem_node / cli_admin_handlers.py _cmd_auth_bootstrap_key   100% 20 0 0   100% 6 0   100%
node / src / stigmem_node / cli_admin_handlers.py (no function)   100% 18 0 0   100% 0 0   100%
node / src / stigmem_node / cli_federation_handlers.py _write_owner_only_text   90% 10 1 0   50% 2 1   83%
node / src / stigmem_node / cli_federation_handlers.py _cmd_federation_cursor_export   100% 20 0 0   100% 2 0   100%
node / src / stigmem_node / cli_federation_handlers.py _cmd_federation_cursor_import   92% 52 4 0   92% 12 1   92%
node / src / stigmem_node / cli_federation_handlers.py (no function)   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / db.py db   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / db.py apply_migrations   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / db.py _sqlite_db_path   75% 8 2 0   67% 6 2   71%
node / src / stigmem_node / db.py _enforce_sqlite_owner_only_permissions   67% 9 3 0   83% 6 1   73%
node / src / stigmem_node / db.py collect_registered_plugin_migrations   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / db.py get_or_create_federation_keypair   100% 15 0 0   100% 2 0   100%
node / src / stigmem_node / db.py get_or_create_node_id   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / db.py (no function)   100% 22 0 0   100% 0 0   100%
node / src / stigmem_node / decay.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / embedding / __init__.py get_embedding_model   100% 16 0 0   100% 6 0   100%
node / src / stigmem_node / embedding / __init__.py (no function)   100% 5 0 2   100% 0 0   100%
node / src / stigmem_node / embedding / base.py EmbeddingModel.model_id   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / embedding / base.py EmbeddingModel.dimension   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / embedding / base.py EmbeddingModel.embed   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / embedding / base.py l2_normalize   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / embedding / base.py compose_triple_text   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / embedding / base.py (no function)   100% 15 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / local_adapter.py OllamaEmbeddingModel.__init__   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / local_adapter.py OllamaEmbeddingModel.model_id   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / local_adapter.py OllamaEmbeddingModel.dimension   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / local_adapter.py OllamaEmbeddingModel.embed   87% 15 2 0   100% 2 0   88%
node / src / stigmem_node / embedding / local_adapter.py (no function)   100% 13 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / openai_adapter.py OpenAIEmbeddingModel.__init__   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / openai_adapter.py OpenAIEmbeddingModel.model_id   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / openai_adapter.py OpenAIEmbeddingModel.dimension   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / openai_adapter.py OpenAIEmbeddingModel.embed   0% 15 15 0   0% 2 0   0%
node / src / stigmem_node / embedding / openai_adapter.py (no function)   100% 14 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / stub_adapter.py StubEmbeddingModel.__init__   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / stub_adapter.py StubEmbeddingModel.model_id   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / stub_adapter.py StubEmbeddingModel.dimension   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / embedding / stub_adapter.py StubEmbeddingModel.embed   94% 17 1 0   90% 10 1   93%
node / src / stigmem_node / embedding / stub_adapter.py (no function)   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / entity_normalizer.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / entity_resolver.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / fact_chain.py FactChainIntegrityError.__init__   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py _sha256_json   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py compute_fact_chain_event_hash   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py compute_fact_chain_hash   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py append_fact_chain_entry   92% 12 1 0   50% 2 1   86%
node / src / stigmem_node / fact_chain.py verify_fact_chain   81% 21 4 0   67% 12 4   76%
node / src / stigmem_node / fact_chain.py build_fact_chain_proof   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / fact_chain.py _json_dumps   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py _parse_iso   67% 6 2 0   50% 4 2   60%
node / src / stigmem_node / fact_chain.py _row_to_checkpoint   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py _checkpoint_payload   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py _latest_checkpoint_row   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py latest_fact_chain_checkpoint   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py _next_pending_checkpoint   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py _submit_checkpoint_row   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py _checkpoint_due   86% 14 2 0   67% 6 2   80%
node / src / stigmem_node / fact_chain.py _create_checkpoint_for_head   100% 6 0 0   100% 0 0   100%
node / src / stigmem_node / fact_chain.py submit_due_fact_chain_checkpoints   89% 9 1 0   75% 4 1   85%
node / src / stigmem_node / fact_chain.py (no function)   100% 36 0 0   100% 0 0   100%
node / src / stigmem_node / federation / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_ingest.py FederationHlcSkewError.__init__   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_ingest.py FederationIntegrityError.__init__   100% 6 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_ingest.py FederationValidUntilExtensionError.__init__   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_ingest.py _encode_v   71% 7 2 0   50% 4 2   64%
node / src / stigmem_node / federation / federation_ingest.py _interpret_as   60% 5 2 0   50% 2 1   57%
node / src / stigmem_node / federation / federation_ingest.py _verify_inbound_cid   100% 10 0 0   100% 4 0   100%
node / src / stigmem_node / federation / federation_ingest.py _resolve_quarantine_garden_id   82% 11 2 0   75% 4 1   80%
node / src / stigmem_node / federation / federation_ingest.py _audit_peer_hlc_anomaly   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_ingest.py _audit_peer_integrity_failure   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_ingest.py _audit_valid_until_extension   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_ingest.py _is_valid_until_extension   82% 11 2 0   75% 8 2   79%
node / src / stigmem_node / federation / federation_ingest.py ingest_fact   100% 65 0 0   94% 16 1   99%
node / src / stigmem_node / federation / federation_ingest.py _is_reserved_stigmem   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_ingest.py _detect_and_record_contradiction   94% 18 1 0   88% 8 1   92%
node / src / stigmem_node / federation / federation_ingest.py write_audit_log   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_ingest.py (no function)   100% 30 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_pull.py _jitter   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / federation / federation_pull.py load_cursor   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_pull.py save_cursor   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / federation / federation_pull.py pull_from_peer_once   33% 55 37 0   25% 20 5   31%
node / src / stigmem_node / federation / federation_pull.py _make_pull_client   0% 5 5 0   0% 2 0   0%
node / src / stigmem_node / federation / federation_pull.py pull_tombstones_from_peer_once   0% 34 34 0   0% 10 0   0%
node / src / stigmem_node / federation / federation_pull.py _load_tombstone_cursor   0% 3 3 0   100% 0 0   0%
node / src / stigmem_node / federation / federation_pull.py _save_tombstone_cursor   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / federation / federation_pull.py pull_all_peers_once   0% 15 15 0   0% 8 0   0%
node / src / stigmem_node / federation / federation_pull.py pull_loop_task   33% 6 4 0   100% 0 0   33%
node / src / stigmem_node / federation / federation_pull.py (no function)   100% 27 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py b64url_encode   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py b64url_decode   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py get_or_create_keypair   100% 12 0 0   100% 2 0   100%
node / src / stigmem_node / federation / peer_auth.py get_federation_pubkey   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py mint_peer_token   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py PeerTokenClaims.__init__   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py _claim_epoch_ms   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / federation / peer_auth.py verify_peer_token   89% 44 5 0   86% 14 2   88%
node / src / stigmem_node / federation / peer_auth.py consume_nonce   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py canonical_declaration_json   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py sign_declaration   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py verify_declaration_sig   100% 9 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_auth.py _write_audit   100% 2 0 0   100% 2 0   100%
node / src / stigmem_node / federation / peer_auth.py (no function)   100% 28 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_token.py _pad   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_token.py init_federation_keys   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / federation / peer_token.py get_local_pubkey   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / federation / peer_token.py _get_privkey_obj   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_token.py _pubkey_obj_from_b64   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_token.py create_peer_token   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_token.py TokenError.__init__   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_token.py _get_peer_node_id_by_db_id   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / federation / peer_token.py verify_peer_token   85% 39 6 0   86% 14 2   85%
node / src / stigmem_node / federation / peer_token.py verify_declaration_sig   100% 9 0 0   100% 0 0   100%
node / src / stigmem_node / federation / peer_token.py (no function)   100% 26 0 0   100% 0 0   100%
node / src / stigmem_node / federation / tls.py build_server_ssl_context   100% 8 0 0   50% 2 1   90%
node / src / stigmem_node / federation / tls.py build_client_ssl_context   100% 8 0 0   50% 2 1   90%
node / src / stigmem_node / federation / tls.py reload_tls_cert   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / federation / tls.py check_peer_san   100% 4 0 0   100% 4 0   100%
node / src / stigmem_node / federation / tls.py cert_watcher_task   0% 20 20 0   0% 2 0   0%
node / src / stigmem_node / federation / tls.py (no function)   100% 15 0 0   100% 0 0   100%
node / src / stigmem_node / federation_ingest.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / federation_pull.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / fuzzy_resolver.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / garden_acl.py get_garden_by_slug_or_id   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / garden_acl.py get_garden_by_garden_uri   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / garden_acl.py get_member_role   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / garden_acl.py require_garden_write   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / garden_acl.py require_garden_read   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / garden_acl.py require_garden_admin   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / garden_acl.py caller_can_see_garden   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / garden_acl.py is_node_admin   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / garden_acl.py require_quarantine_moderator_or_admin   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / garden_acl.py has_elevated_quarantine_role   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / garden_acl.py quarantine_garden_has_pending_facts   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / garden_acl.py (no function)   100% 16 0 0   100% 0 0   100%
node / src / stigmem_node / graph.py (no function)   0% 6 6 2   100% 0 0   0%
node / src / stigmem_node / graph_index.py (no function)   0% 6 6 2   100% 0 0   0%
node / src / stigmem_node / hlc.py HLCRemoteSkewError.__init__   100% 9 0 0   100% 2 0   100%
node / src / stigmem_node / hlc.py _parse   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / hlc.py HLC.__init__   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / hlc.py HLC.tick   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / hlc.py HLC.receive   95% 19 1 0   90% 10 1   93%
node / src / stigmem_node / hlc.py HLC.compare   100% 7 0 0   100% 4 0   100%
node / src / stigmem_node / hlc.py (no function)   100% 13 0 0   100% 0 0   100%
node / src / stigmem_node / identity / __init__.py (no function)   100% 6 0 0   100% 0 0   100%
node / src / stigmem_node / identity / capability.py _pad   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / identity / capability.py _pubkey_from_b64   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / identity / capability.py _token_signing_body   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / identity / capability.py _revocation_signing_body   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / identity / capability.py load_node_private_key   100% 13 0 0   100% 4 0   100%
node / src / stigmem_node / identity / capability.py sign_token   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / identity / capability.py sign_revocation_event   0% 5 5 0   0% 2 0   0%
node / src / stigmem_node / identity / capability.py _verify_token_signature   73% 30 8 0   83% 6 1   75%
node / src / stigmem_node / identity / capability.py verify_token   85% 39 6 0   86% 14 2   85%
node / src / stigmem_node / identity / capability.py (no function)   100% 31 0 0   100% 0 0   100%
node / src / stigmem_node / identity / key_rotation.py generate_key_id   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / identity / key_rotation.py sign_key_rotation_entry   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / identity / key_rotation.py rotate_key   100% 30 0 0   100% 4 0   100%
node / src / stigmem_node / identity / key_rotation.py (no function)   100% 32 0 0   100% 0 0   100%
node / src / stigmem_node / identity / manifest.py _pad   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / identity / manifest.py _pubkey_from_b64   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / identity / manifest.py _rotation_event_to_dict   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / identity / manifest.py _manifest_signing_body   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / identity / manifest.py _parse_iso   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / identity / manifest.py _validate_expiry   88% 8 1 0   83% 6 1   86%
node / src / stigmem_node / identity / manifest.py sign_manifest   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / identity / manifest.py verify_manifest   85% 13 2 0   100% 2 0   87%
node / src / stigmem_node / identity / manifest.py verify_rotation_chain   79% 39 8 0   64% 22 6   74%
node / src / stigmem_node / identity / manifest.py sign_rotation_event   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / identity / manifest.py manifest_to_dict   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / identity / manifest.py manifest_from_dict   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / identity / manifest.py (no function)   100% 42 0 0   100% 0 0   100%
node / src / stigmem_node / identity / transparency_log.py TransparencyLog.submit   100% 0 0 0   100% 0 0   100%
node / src / stigmem_node / identity / transparency_log.py TransparencyLog.verify_inclusion   100% 0 0 0   100% 0 0   100%
node / src / stigmem_node / identity / transparency_log.py LocalAppendOnlyLog.__init__   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / identity / transparency_log.py LocalAppendOnlyLog._leaf_hash   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / identity / transparency_log.py LocalAppendOnlyLog._last_entry   86% 7 1 0   75% 4 1   82%
node / src / stigmem_node / identity / transparency_log.py LocalAppendOnlyLog._chain_hash   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / identity / transparency_log.py LocalAppendOnlyLog.submit   100% 10 0 0   100% 0 0   100%
node / src / stigmem_node / identity / transparency_log.py LocalAppendOnlyLog.verify_inclusion   73% 15 4 0   60% 10 4   68%
node / src / stigmem_node / identity / transparency_log.py RekorLog.__init__   0% 5 5 0   100% 0 0   0%
node / src / stigmem_node / identity / transparency_log.py RekorLog.submit   0% 19 19 0   0% 2 0   0%
node / src / stigmem_node / identity / transparency_log.py RekorLog.verify_inclusion   0% 32 32 0   0% 6 0   0%
node / src / stigmem_node / identity / transparency_log.py make_transparency_log   86% 7 1 0   75% 4 1   82%
node / src / stigmem_node / identity / transparency_log.py _OffLog.submit   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / identity / transparency_log.py _OffLog.verify_inclusion   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / identity / transparency_log.py (no function)   100% 40 0 0   100% 0 0   100%
node / src / stigmem_node / identity / trust_store.py store_peer_manifest   100% 17 0 0   100% 4 0   100%
node / src / stigmem_node / identity / trust_store.py get_peer_manifest   74% 23 6 0   88% 8 1   77%
node / src / stigmem_node / identity / trust_store.py refresh_peer_manifests   62% 16 6 0   50% 6 1   59%
node / src / stigmem_node / identity / trust_store.py _try_fetch_manifest   76% 17 4 0   75% 4 1   76%
node / src / stigmem_node / identity / trust_store.py cleanup_expired_tokens   89% 9 1 0   50% 2 1   82%
node / src / stigmem_node / identity / trust_store.py (no function)   100% 16 0 2   100% 0 0   100%
node / src / stigmem_node / immutability.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / instruction_migrate.py _strip_frontmatter   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / instruction_migrate.py _to_slug   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / instruction_migrate.py _extract_keywords   100% 11 0 0   100% 6 0   100%
node / src / stigmem_node / instruction_migrate.py _collect_md_files   100% 13 0 0   90% 10 1   96%
node / src / stigmem_node / instruction_migrate.py _split_into_section_pairs   94% 17 1 0   88% 8 1   92%
node / src / stigmem_node / instruction_migrate.py _disambiguate_slug   71% 7 2 0   75% 4 1   73%
node / src / stigmem_node / instruction_migrate.py _build_chunk   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / instruction_migrate.py parse_instruction_chunks   83% 18 3 0   100% 4 0   86%
node / src / stigmem_node / instruction_migrate.py build_fact_uri   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / instruction_migrate.py scope_prefix_for_role   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / instruction_migrate.py scope_prefix_for_skill   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / instruction_migrate.py compute_diff   100% 16 0 0   100% 8 0   100%
node / src / stigmem_node / instruction_migrate.py load_existing_facts_from_db   100% 16 0 0   83% 6 1   95%
node / src / stigmem_node / instruction_migrate.py load_existing_facts_from_api   85% 20 3 0   88% 8 1   86%
node / src / stigmem_node / instruction_migrate.py load_prev_manifest_names_from_db   100% 13 0 0   100% 2 0   100%
node / src / stigmem_node / instruction_migrate.py load_prev_manifest_names_from_api   82% 11 2 0   100% 2 0   85%
node / src / stigmem_node / instruction_migrate.py format_preview   100% 29 0 0   100% 10 0   100%
node / src / stigmem_node / instruction_migrate.py write_facts   88% 24 3 0   100% 6 0   90%
node / src / stigmem_node / instruction_migrate.py publish_manifest   86% 22 3 0   100% 6 0   89%
node / src / stigmem_node / instruction_migrate.py (no function)   100% 48 0 0   100% 0 0   100%
node / src / stigmem_node / jobs.py create_job   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / jobs.py get_job   93% 14 1 0   60% 10 4   79%
node / src / stigmem_node / jobs.py mark_running   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / jobs.py mark_done   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / jobs.py mark_failed   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / jobs.py (no function)   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / decay.py _resolve_effective_ttl   80% 5 1 0   75% 4 1   78%
node / src / stigmem_node / lifecycle / decay.py _resolve_effective_min_conf   80% 5 1 0   75% 4 1   78%
node / src / stigmem_node / lifecycle / decay.py _select_ttl_candidates   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / decay.py _select_confidence_candidates   100% 6 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / decay.py _apply_decay   100% 6 0 0   100% 4 0   100%
node / src / stigmem_node / lifecycle / decay.py run_decay_sweep   100% 15 0 0   100% 6 0   100%
node / src / stigmem_node / lifecycle / decay.py (no function)   100% 13 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / immutability.py utc_now_iso   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / immutability.py write_fact_journal   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / immutability.py set_embedding_status   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / immutability.py set_fact_validity_override   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / immutability.py set_fact_quarantine_status   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / immutability.py set_fact_garden_membership   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / immutability.py set_fact_cid_backfill_status   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / immutability.py (no function)   100% 12 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstone_cache.py _load_from_db   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstone_cache.py _ensure_fresh   86% 7 1 0   75% 4 1   82%
node / src / stigmem_node / lifecycle / tombstone_cache.py invalidate   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstone_cache.py is_tombstoned   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / tombstone_cache.py (no function)   100% 15 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstone_gate.py tombstone_plugin_registered   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstone_gate.py tombstone_filter_enabled   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / tombstone_gate.py _env_bool   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / tombstone_gate.py (no function)   100% 8 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstone_signing.py _pad   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstone_signing.py _pubkey_from_b64   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstone_signing.py _signing_body   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / lifecycle / tombstone_signing.py get_node_key_id   86% 7 1 0   50% 2 1   78%
node / src / stigmem_node / lifecycle / tombstone_signing.py sign_tombstone   100% 12 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / tombstone_signing.py verify_tombstone_signature   89% 9 1 0   100% 0 0   89%
node / src / stigmem_node / lifecycle / tombstone_signing.py _revocation_signing_body   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstone_signing.py sign_revocation   100% 12 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / tombstone_signing.py verify_revocation_signature   89% 9 1 0   100% 0 0   89%
node / src / stigmem_node / lifecycle / tombstone_signing.py (no function)   100% 18 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstones.py _scope_matches   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstones.py _refresh_tombstone_cache   83% 12 2 0   100% 2 0   86%
node / src / stigmem_node / lifecycle / tombstones.py is_tombstoned   88% 8 1 0   83% 6 1   86%
node / src / stigmem_node / lifecycle / tombstones.py invalidate_tombstone_cache   67% 6 2 0   100% 0 0   67%
node / src / stigmem_node / lifecycle / tombstones.py _row_to_tombstone   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstones.py _row_to_revocation   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstones.py create_tombstone   100% 13 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / tombstones.py revoke_tombstone   100% 15 0 0   100% 4 0   100%
node / src / stigmem_node / lifecycle / tombstones.py get_tombstone_status   100% 12 0 0   100% 4 0   100%
node / src / stigmem_node / lifecycle / tombstones.py list_tombstones   83% 12 2 0   75% 4 1   81%
node / src / stigmem_node / lifecycle / tombstones.py list_revocations   100% 9 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / tombstones.py apply_inbound_tombstone   100% 9 0 0   100% 2 0   100%
node / src / stigmem_node / lifecycle / tombstones.py apply_inbound_revocation   82% 11 2 0   50% 4 2   73%
node / src / stigmem_node / lifecycle / tombstones.py _emit_tombstone_audit   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / lifecycle / tombstones.py filter_tombstoned_records   0% 16 16 0   0% 10 0   0%
node / src / stigmem_node / lifecycle / tombstones.py (no function)   100% 31 0 0   100% 0 0   100%
node / src / stigmem_node / main.py _enforce_federation_transport_security   100% 8 0 0   100% 6 0   100%
node / src / stigmem_node / main.py _enforce_auth_required_in_production   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / main.py _enforce_rate_limit_kill_switch_ack   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / main.py _warn_if_cors_dev_localhost_enabled   100% 2 0 0   100% 2 0   100%
node / src / stigmem_node / main.py _node_url_is_loopback   67% 6 2 0   100% 0 0   67%
node / src / stigmem_node / main.py create_app   100% 46 0 0   100% 6 0   100%
node / src / stigmem_node / main.py create_app.lifespan   91% 35 3 0   75% 8 2   88%
node / src / stigmem_node / main.py create_app.unsigned_plugin_override_warning   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / main.py create_app.mtls_plaintext_guard   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / main.py create_app.health   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / main.py create_app.doctor   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / main.py create_app.prometheus_metrics   83% 6 1 0   50% 2 1   75%
node / src / stigmem_node / main.py create_app.whoami   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / main.py create_app.ui_index   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / main.py _include_plugin_routers   100% 6 0 0   100% 6 0   100%
node / src / stigmem_node / main.py run   0% 11 11 0   0% 4 0   0%
node / src / stigmem_node / main.py run._serve_with_cert_watcher   0% 13 13 0   0% 6 0   0%
node / src / stigmem_node / main.py (no function)   98% 55 1 0   50% 2 1   96%
node / src / stigmem_node / memory_garden_acl_gate.py _env_bool   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / memory_garden_acl_gate.py plugin_registered   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / memory_garden_acl_gate.py _gate_enabled   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / memory_garden_acl_gate.py oidc_permission_ceiling_enabled   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / memory_garden_acl_gate.py recall_filter_enabled   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / memory_garden_acl_gate.py memory_garden_acl_filtering_state   40% 5 3 0   25% 4 1   33%
node / src / stigmem_node / memory_garden_acl_gate.py gardens_with_members_exist   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / memory_garden_acl_gate.py warn_if_memory_garden_acl_filtering_disabled   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / memory_garden_acl_gate.py (no function)   100% 16 0 0   100% 0 0   100%
node / src / stigmem_node / metrics.py (no function)   100% 6 0 6   100% 0 0   100%
node / src / stigmem_node / migrate.py normalize_entities_sweep   91% 32 3 0   100% 16 0   94%
node / src / stigmem_node / migrate.py (no function)   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / models / __init__.py (no function)   100% 20 0 0   100% 0 0   100%
node / src / stigmem_node / models / admin.py (no function)   100% 23 0 0   100% 0 0   100%
node / src / stigmem_node / models / aliases.py (no function)   100% 10 0 0   100% 0 0   100%
node / src / stigmem_node / models / audit.py (no function)   100% 22 0 0   100% 0 0   100%
node / src / stigmem_node / models / auth.py (no function)   100% 37 0 0   100% 0 0   100%
node / src / stigmem_node / models / cards.py (no function)   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / models / constants.py (no function)   100% 6 0 0   100% 0 0   100%
node / src / stigmem_node / models / facts.py FactValue.check_type   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / models / facts.py FactValue.check_interpret_as   67% 3 1 0   50% 2 1   60%
node / src / stigmem_node / models / facts.py AssertRequest.check_scope   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / models / facts.py AssertRequest.check_write_mode   67% 3 1 0   50% 2 1   60%
node / src / stigmem_node / models / facts.py _optional_col   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / models / facts.py row_to_record   100% 26 0 0   100% 10 0   100%
node / src / stigmem_node / models / facts.py _parse_v   100% 7 0 0   100% 6 0   100%
node / src / stigmem_node / models / facts.py (no function)   100% 74 0 0   100% 0 0   100%
node / src / stigmem_node / models / federation.py PeerRegisterRequest.check_scopes   75% 4 1 0   50% 2 1   67%
node / src / stigmem_node / models / federation.py (no function)   100% 46 0 0   100% 0 0   100%
node / src / stigmem_node / models / gardens.py GardenCreateRequest.check_scope   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / models / gardens.py GardenMemberRequest.check_role   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / models / gardens.py GardenMemberUpdateRequest.check_role   67% 3 1 0   50% 2 1   60%
node / src / stigmem_node / models / gardens.py (no function)   100% 62 0 0   100% 0 0   100%
node / src / stigmem_node / models / graph.py (no function)   100% 15 0 0   100% 0 0   100%
node / src / stigmem_node / models / identity.py (no function)   100% 12 0 0   100% 0 0   100%
node / src / stigmem_node / models / instruction.py ManifestEntry.no_spaces_in_name   67% 3 1 0   50% 2 1   60%
node / src / stigmem_node / models / instruction.py (no function)   100% 33 0 0   100% 0 0   100%
node / src / stigmem_node / models / intents.py EscalationPolicy.check_priority   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / models / intents.py EscalationPolicy.check_channel   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / models / intents.py IntentEnvelopeRequest.check_scope   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / models / intents.py IntentEnvelopeRequest.check_to_non_empty   60% 5 2 0   50% 4 2   56%
node / src / stigmem_node / models / intents.py (no function)   100% 71 0 0   100% 0 0   100%
node / src / stigmem_node / models / lint.py (no function)   100% 24 0 0   100% 0 0   100%
node / src / stigmem_node / models / provenance.py (no function)   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / models / recall.py (no function)   100% 70 0 0   100% 0 0   100%
node / src / stigmem_node / models / subscriptions.py SubscriptionCreateRequest.check_on_change   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / models / subscriptions.py (no function)   100% 42 0 0   100% 0 0   100%
node / src / stigmem_node / models / tombstones.py (no function)   100% 40 0 0   100% 0 0   100%
node / src / stigmem_node / net_util.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / observability / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
node / src / stigmem_node / observability / audit_event.py is_instruction_fact   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / observability / audit_event.py _emit_with_conn   100% 4 0 0   50% 2 1   83%
node / src / stigmem_node / observability / audit_event.py emit   100% 9 0 0   100% 2 0   100%
node / src / stigmem_node / observability / audit_event.py emit_nofail   60% 5 2 0   100% 0 0   60%
node / src / stigmem_node / observability / audit_event.py emit_instruction_event_if_applicable   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / observability / audit_event.py (no function)   100% 15 0 0   100% 0 0   100%
node / src / stigmem_node / observability / metrics.py metrics_enabled   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / observability / metrics.py make_metrics_response   50% 4 2 0   50% 2 1   50%
node / src / stigmem_node / observability / metrics.py observe_duration   75% 8 2 0   100% 0 0   75%
node / src / stigmem_node / observability / metrics.py (no function)   63% 81 30 2   100% 0 0   63%
node / src / stigmem_node / observability / tracing.py _is_module_available   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / observability / tracing.py init_tracing   11% 28 25 0   17% 6 1   12%
node / src / stigmem_node / observability / tracing.py _NoopSpan.set_attribute   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / observability / tracing.py _NoopSpan.record_exception   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / observability / tracing.py _NoopSpan.set_status   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / observability / tracing.py _NoopSpan.add_event   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / observability / tracing.py start_span   88% 16 2 0   100% 4 0   90%
node / src / stigmem_node / observability / tracing.py is_enabled   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / observability / tracing.py (no function)   100% 20 0 0   100% 0 0   100%
node / src / stigmem_node / peer_auth.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / peer_token.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / plugin_migrations.py apply_registered_plugin_migrations   100% 16 0 0   100% 6 0   100%
node / src / stigmem_node / plugin_migrations.py _execute_migration_sql   75% 4 1 0   50% 2 1   67%
node / src / stigmem_node / plugin_migrations.py _ensure_plugin_migrations_table   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / plugin_migrations.py _load_applied   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / plugin_migrations.py _ordered_migrations   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / plugin_migrations.py _with_plugin_version   83% 6 1 0   75% 4 1   80%
node / src / stigmem_node / plugin_migrations.py _validate_no_duplicate_declarations   88% 8 1 0   75% 4 1   83%
node / src / stigmem_node / plugin_migrations.py _validate_no_downgrades   95% 20 1 0   92% 12 1   94%
node / src / stigmem_node / plugin_migrations.py _checksum   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugin_migrations.py _parse_version   50% 4 2 0   100% 0 0   50%
node / src / stigmem_node / plugin_migrations.py (no function)   100% 26 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / __init__.py (no function)   100% 13 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / bands.py (no function)   100% 12 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / capabilities.py (no function)   100% 17 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / context.py PluginContext.__init__   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / context.py PluginContext.capabilities   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext._require   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / context.py PluginContext.get_facts_reader   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / context.py PluginContext.get_facts_writer   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_recall_reader   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_recall_writer   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_audit_emitter   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / context.py PluginContext.get_audit_reader   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_federation_reader   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_federation_writer   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_identity_reader   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_tenant_reader   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_tenant_writer   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_config_reader   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py PluginContext.get_network_outbound   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / context.py (no function)   100% 38 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / discovery.py discover_plugin_manifests   100% 13 0 0   100% 6 0   100%
node / src / stigmem_node / plugins / discovery.py resolve_plugin_dependencies   95% 22 1 0   92% 12 1   94%
node / src / stigmem_node / plugins / discovery.py resolve_plugin_dependencies.visit   100% 17 0 0   100% 8 0   100%
node / src / stigmem_node / plugins / discovery.py _entry_points_for_group   75% 4 1 0   50% 2 1   67%
node / src / stigmem_node / plugins / discovery.py _load_entry_point   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / discovery.py _call_manifest_factory   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / discovery.py _distribution_name   88% 8 1 0   75% 4 1   83%
node / src / stigmem_node / plugins / discovery.py (no function)   100% 25 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / errors.py RejectError.__init__   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / plugins / errors.py (no function)   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / handlers.py VotingHandler.__call__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / handlers.py FilterChainHandler.__call__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / handlers.py ScoreDeltaHandler.__call__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / handlers.py FireAndForgetHandler.__call__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / handlers.py handler_timeout   100% 6 0 0   100% 4 0   100%
node / src / stigmem_node / plugins / handlers.py handler_timeout.decorate   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / handlers.py (no function)   100% 78 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / hooks.py (no function)   100% 46 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / lifecycle.py register_discovered_plugins   100% 17 0 0   100% 8 0   100%
node / src / stigmem_node / plugins / lifecycle.py _discovery_source   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / lifecycle.py (no function)   100% 9 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / manifest.py PluginManifest._validate_capabilities   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / manifest.py PluginManifest._validate_hook_names   86% 7 1 0   83% 6 1   85%
node / src / stigmem_node / plugins / manifest.py PluginManifest._validate_health_check   67% 3 1 0   50% 2 1   60%
node / src / stigmem_node / plugins / manifest.py PluginManifest._validate_self_dependency   67% 3 1 0   50% 2 1   60%
node / src / stigmem_node / plugins / manifest.py (no function)   100% 29 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.__init__   100% 18 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.register_plugin   86% 51 7 0   94% 16 1   88%
node / src / stigmem_node / plugins / registry.py HookRegistry.register_core_handler   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.fire_voting   82% 22 4 0   88% 8 1   83%
node / src / stigmem_node / plugins / registry.py HookRegistry.fire_filter_chain   100% 13 0 0   100% 4 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.fire_score_delta   79% 14 3 0   100% 6 0   85%
node / src / stigmem_node / plugins / registry.py HookRegistry.fire_fire_and_forget   100% 10 0 0   100% 4 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.handlers_for   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.registered_plugins   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.plugin_registration_order   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.plugin_versions   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.plugin_infos   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.plugin_info   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.plugin_signing_metadata   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / registry.py HookRegistry.development_unsigned_plugins   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.poll_plugin_health   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.plugin_health_reports   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry.freeze   75% 4 1 0   50% 2 1   67%
node / src / stigmem_node / plugins / registry.py HookRegistry._add_handler   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._invoke_handler   77% 13 3 0   100% 4 0   82%
node / src / stigmem_node / plugins / registry.py HookRegistry._invoke_handler_with_timeout   83% 18 3 0   50% 2 1   80%
node / src / stigmem_node / plugins / registry.py HookRegistry._observe_hook   100% 8 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._metric_inc   67% 6 2 0   100% 2 0   75%
node / src / stigmem_node / plugins / registry.py HookRegistry._metric_observe   67% 6 2 0   100% 2 0   75%
node / src / stigmem_node / plugins / registry.py HookRegistry._metric_set   75% 8 2 0   100% 4 0   83%
node / src / stigmem_node / plugins / registry.py HookRegistry._emit_handler_denied   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._emit_handler_error   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._emit_registry_audit   100% 17 0 0   100% 8 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._sort_key   100% 7 0 0   100% 4 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._timeout_for_handler   100% 6 0 0   100% 4 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._has_timeout_handlers   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._timeout_handler_count   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / registry.py HookRegistry._poll_one_plugin_health   92% 12 1 0   75% 4 1   88%
node / src / stigmem_node / plugins / registry.py HookRegistry._validate_manifest_compatibility   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._validate_manifest_handler_signatures   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._ensure_mutable   100% 2 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / registry.py HookRegistry._ensure_semantic   75% 4 1 0   50% 2 1   67%
node / src / stigmem_node / plugins / registry.py HookRegistry._require_known_hook   50% 4 2 0   100% 0 0   50%
node / src / stigmem_node / plugins / registry.py get_registry   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py set_registry   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / registry.py register_core_handler   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / plugins / registry.py _current_stigmem_version   33% 9 6 0   100% 0 0   33%
node / src / stigmem_node / plugins / registry.py _registration_audit_metadata   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / registry.py _accepts_positional_args   82% 11 2 0   100% 6 0   88%
node / src / stigmem_node / plugins / registry.py _validate_timeout_seconds   67% 6 2 0   50% 4 2   60%
node / src / stigmem_node / plugins / registry.py (no function)   100% 82 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / signing.py _parse_identity_set   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / signing.py PluginTrustPolicy.from_settings   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / signing.py PluginSigningInfo.audit_metadata   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / signing.py allow_unsigned_development_override   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / signing.py require_verified_signature   100% 8 0 0   100% 6 0   100%
node / src / stigmem_node / plugins / signing.py (no function)   100% 23 0 0   100% 0 0   100%
node / src / stigmem_node / plugins / testing.py stigmem_plugins   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / plugins / testing.py (no function)   100% 8 0 0   100% 0 0   100%
node / src / stigmem_node / rate_limit.py _capacity_for   86% 7 1 0   75% 4 1   82%
node / src / stigmem_node / rate_limit.py _rate_for   89% 9 1 0   75% 4 1   85%
node / src / stigmem_node / rate_limit.py _dimension   75% 12 3 0   70% 10 3   73%
node / src / stigmem_node / rate_limit.py _check_and_consume   100% 19 0 0   100% 4 0   100%
node / src / stigmem_node / rate_limit.py _lookup_principal   100% 17 0 0   100% 6 0   100%
node / src / stigmem_node / rate_limit.py RateLimitMiddleware.dispatch   96% 24 1 0   93% 14 1   95%
node / src / stigmem_node / rate_limit.py (no function)   100% 19 0 0   100% 0 0   100%
node / src / stigmem_node / recall / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
node / src / stigmem_node / recall / entity_resolver.py ResolveResult.best   29% 7 5 0   17% 6 1   23%
node / src / stigmem_node / recall / entity_resolver.py _tokenise   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / recall / entity_resolver.py _type_prefix   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / recall / entity_resolver.py _id_segment   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / recall / entity_resolver.py _token_score   100% 14 0 0   100% 10 0   100%
node / src / stigmem_node / recall / entity_resolver.py resolve_entity   92% 38 3 0   81% 16 3   89%
node / src / stigmem_node / recall / entity_resolver.py (no function)   100% 30 0 0   100% 0 0   100%
node / src / stigmem_node / recall / fuzzy_resolver.py resolve_entity   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / recall / fuzzy_resolver.py register_alias   100% 10 0 0   100% 2 0   100%
node / src / stigmem_node / recall / fuzzy_resolver.py (no function)   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / recall / graph.py bfs_neighbors   100% 22 0 0   100% 10 0   100%
node / src / stigmem_node / recall / graph.py _match_relation   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / recall / graph.py _fetch_incident_edges   91% 22 2 0   86% 14 2   89%
node / src / stigmem_node / recall / graph.py (no function)   100% 16 0 2   100% 0 0   100%
node / src / stigmem_node / recall / graph_index.py upsert_edge   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / recall / graph_index.py sync_edge_confidence   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / recall / graph_index.py sync_edge_expiry   75% 4 1 0   50% 2 1   67%
node / src / stigmem_node / recall / graph_index.py (no function)   100% 6 0 0   100% 0 0   100%
node / src / stigmem_node / recall / recall_pipeline.py _load_compiled_patterns   33% 15 10 0   17% 6 1   29%
node / src / stigmem_node / recall / recall_pipeline.py _get_patterns   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / recall / recall_pipeline.py reset_pattern_cache   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / recall / recall_pipeline.py apply_recall_pipeline   100% 21 0 0   100% 12 0   100%
node / src / stigmem_node / recall / recall_pipeline.py _run_sanitizer   92% 26 2 0   88% 16 2   90%
node / src / stigmem_node / recall / recall_pipeline.py _enforce_schema_types   80% 10 2 0   67% 6 2   75%
node / src / stigmem_node / recall / recall_pipeline.py _quarantine_via_sanitizer   75% 24 6 0   50% 4 2   71%
node / src / stigmem_node / recall / recall_pipeline.py (no function)   100% 17 0 3   100% 0 0   100%
node / src / stigmem_node / recall / vector_search.py ensure_vec_table   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / recall / vector_search.py check_or_register_model   100% 9 0 0   100% 4 0   100%
node / src / stigmem_node / recall / vector_search.py _encode_vector   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / recall / vector_search.py store_embedding   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / recall / vector_search.py embed_and_store_fact   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / recall / vector_search.py backfill_missing_embeddings   100% 12 0 0   100% 2 0   100%
node / src / stigmem_node / recall / vector_search.py vector_search   0% 8 8 0   0% 2 0   0%
node / src / stigmem_node / recall / vector_search.py vector_search._run   0% 14 14 0   0% 4 0   0%
node / src / stigmem_node / recall / vector_search.py (no function)   100% 14 0 3   100% 0 0   100%
node / src / stigmem_node / recall_pipeline.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / routes / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
node / src / stigmem_node / routes / _facts_assert.py _live_settings   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / _facts_assert.py _verify_or_require_attestation   100% 9 0 0   100% 4 0   100%
node / src / stigmem_node / routes / _facts_assert.py _normalise_and_alias_uris   100% 11 0 0   100% 4 0   100%
node / src / stigmem_node / routes / _facts_assert.py _resolve_garden_for_assert   100% 9 0 0   100% 6 0   100%
node / src / stigmem_node / routes / _facts_assert.py _existing_record_for_cid   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / routes / _facts_assert.py _require_interpretation_write   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / routes / _facts_assert.py _detect_and_record_contradictions   100% 10 0 0   100% 4 0   100%
node / src / stigmem_node / routes / _facts_assert.py _emit_post_write_hooks   70% 23 7 0   75% 4 1   70%
node / src / stigmem_node / routes / _facts_assert.py assert_fact_impl   92% 51 4 0   71% 14 2   88%
node / src / stigmem_node / routes / _facts_assert.py (no function)   100% 32 0 0   100% 0 0   100%
node / src / stigmem_node / routes / _federation_impl.py peer_pubkey_fingerprint   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / _federation_impl.py _make_federation_client   50% 6 3 0   50% 2 1   50%
node / src / stigmem_node / routes / _federation_impl.py register_peer_impl   83% 29 5 0   58% 12 5   76%
node / src / stigmem_node / routes / _federation_impl.py approve_peer_impl   87% 23 3 0   70% 10 3   82%
node / src / stigmem_node / routes / _federation_impl.py _check_tl_inclusion_for_peer   31% 52 36 0   29% 14 4   30%
node / src / stigmem_node / routes / _federation_impl.py _authenticate_tombstone_caller   74% 19 5 0   60% 10 2   69%
node / src / stigmem_node / routes / _federation_impl.py _verify_signed_artifact_or_400   89% 18 2 0   88% 8 1   88%
node / src / stigmem_node / routes / _federation_impl.py _ingest_revocation   70% 10 3 0   100% 0 0   70%
node / src / stigmem_node / routes / _federation_impl.py _ingest_tombstone   100% 10 0 0   100% 0 0   100%
node / src / stigmem_node / routes / _federation_impl.py federation_ingest_tombstone_impl   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / routes / _federation_impl.py _resolve_pubkey_for_key_id   38% 8 5 0   17% 6 1   29%
node / src / stigmem_node / routes / _federation_impl.py _emit_tombstone_verification_failed   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / routes / _federation_impl.py _audit_tombstone_ingest_rejected   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / routes / _federation_impl.py _audit_tombstone_payload_rejected   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / routes / _federation_impl.py (no function)   100% 37 0 0   100% 0 0   100%
node / src / stigmem_node / routes / admin_audit.py _row_to_entry   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / admin_audit.py admin_audit_export   100% 33 0 0   100% 14 0   100%
node / src / stigmem_node / routes / admin_audit.py (no function)   100% 10 0 0   100% 0 0   100%
node / src / stigmem_node / routes / agent_keys.py _decode_pubkey   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / routes / agent_keys.py register_agent_key   92% 13 1 0   50% 2 1   87%
node / src / stigmem_node / routes / agent_keys.py list_agent_keys   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / routes / agent_keys.py revoke_agent_key   100% 10 0 0   100% 6 0   100%
node / src / stigmem_node / routes / agent_keys.py verify_attestation   89% 18 2 0   100% 6 0   92%
node / src / stigmem_node / routes / agent_keys.py (no function)   100% 22 0 0   100% 0 0   100%
node / src / stigmem_node / routes / aliases.py create_alias   88% 8 1 0   50% 2 1   80%
node / src / stigmem_node / routes / aliases.py list_aliases   94% 16 1 0   88% 8 1   92%
node / src / stigmem_node / routes / aliases.py delete_alias   80% 10 2 0   67% 6 2   75%
node / src / stigmem_node / routes / aliases.py (no function)   100% 16 0 0   100% 0 0   100%
node / src / stigmem_node / routes / audit.py _row_to_entry   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / audit.py _encode_cursor   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / audit.py _decode_cursor   75% 4 1 0   50% 2 1   67%
node / src / stigmem_node / routes / audit.py _filter_params   100% 8 0 0   75% 4 1   92%
node / src / stigmem_node / routes / audit.py get_fact_audit   90% 10 1 0   67% 6 2   81%
node / src / stigmem_node / routes / audit.py export_audit_csv   93% 14 1 0   75% 4 1   89%
node / src / stigmem_node / routes / audit.py query_audit   91% 11 1 0   50% 2 1   85%
node / src / stigmem_node / routes / audit.py (no function)   100% 23 0 0   100% 0 0   100%
node / src / stigmem_node / routes / auth.py _get_jwks_client   100% 17 0 0   100% 2 0   100%
node / src / stigmem_node / routes / auth.py _verify_id_token   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / routes / auth.py _check_domain   88% 8 1 0   67% 6 2   79%
node / src / stigmem_node / routes / auth.py _derive_permission_ceiling   100% 6 0 0   100% 2 0   100%
node / src / stigmem_node / routes / auth.py oidc_exchange   95% 19 1 0   83% 6 1   92%
node / src / stigmem_node / routes / auth.py register_static_key   96% 25 1 0   90% 10 1   94%
node / src / stigmem_node / routes / auth.py list_keys   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / routes / auth.py list_expiring_keys   93% 14 1 0   83% 6 1   90%
node / src / stigmem_node / routes / auth.py revoke_key   88% 8 1 0   75% 4 1   83%
node / src / stigmem_node / routes / auth.py (no function)   100% 38 0 0   100% 0 0   100%
node / src / stigmem_node / routes / cards.py get_card   92% 13 1 0   83% 6 1   89%
node / src / stigmem_node / routes / cards.py (no function)   100% 12 0 0   100% 0 0   100%
node / src / stigmem_node / routes / cid_admin.py cid_backfill_status   86% 7 1 0   50% 2 1   78%
node / src / stigmem_node / routes / cid_admin.py (no function)   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / routes / cid_integrity.py enforce_read_path_cid   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / routes / cid_integrity.py (no function)   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / routes / decay.py _decay_job_worker   67% 6 2 0   100% 0 0   67%
node / src / stigmem_node / routes / decay.py decay_sweep   93% 15 1 0   90% 10 1   92%
node / src / stigmem_node / routes / decay.py get_decay_job   83% 6 1 0   75% 4 1   80%
node / src / stigmem_node / routes / decay.py (no function)   100% 16 0 0   100% 0 0   100%
node / src / stigmem_node / routes / facts / __init__.py (no function)   100% 9 0 0   100% 0 0   100%
node / src / stigmem_node / routes / facts / assertion.py assert_fact   100% 21 0 0   100% 4 0   100%
node / src / stigmem_node / routes / facts / assertion.py (no function)   100% 12 0 0   100% 0 0   100%
node / src / stigmem_node / routes / facts / cid.py verify_cid   79% 14 3 0   75% 8 2   77%
node / src / stigmem_node / routes / facts / cid.py (no function)   100% 15 0 0   100% 0 0   100%
node / src / stigmem_node / routes / facts / common.py _get_tombstone_filter   70% 30 9 0   90% 10 1   75%
node / src / stigmem_node / routes / facts / common.py _validate_relation   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / routes / facts / common.py _is_valid_entity_uri   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / facts / common.py _embed_fact_background   0% 11 11 0   100% 0 0   0%
node / src / stigmem_node / routes / facts / common.py _record_contradictions   92% 12 1 0   75% 4 1   88%
node / src / stigmem_node / routes / facts / common.py _encode_v   100% 5 0 0   100% 4 0   100%
node / src / stigmem_node / routes / facts / common.py (no function)   100% 20 0 0   100% 0 0   100%
node / src / stigmem_node / routes / facts / provenance.py _resolve_provenance_entry   62% 13 5 0   25% 8 2   48%
node / src / stigmem_node / routes / facts / provenance.py _format_provenance_entry   80% 5 1 0   75% 4 1   78%
node / src / stigmem_node / routes / facts / provenance.py get_provenance   87% 30 4 0   75% 12 3   83%
node / src / stigmem_node / routes / facts / provenance.py (no function)   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / routes / facts / query.py _validate_as_of   83% 23 4 0   80% 10 2   82%
node / src / stigmem_node / routes / facts / query.py _legal_hold_blocks_query   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / routes / facts / query.py _build_as_of_params   86% 7 1 0   50% 2 1   78%
node / src / stigmem_node / routes / facts / query.py _query_facts_as_of_impl   100% 24 0 0   100% 10 0   100%
node / src / stigmem_node / routes / facts / query.py query_facts   98% 63 1 0   93% 14 1   97%
node / src / stigmem_node / routes / facts / query.py _resolve_garden_or_404   86% 7 1 0   75% 4 1   82%
node / src / stigmem_node / routes / facts / query.py _resolve_garden_visibility   88% 8 1 0   83% 6 1   86%
node / src / stigmem_node / routes / facts / query.py _prepare_garden_visibility_table   75% 4 1 0   50% 2 1   67%
node / src / stigmem_node / routes / facts / query.py _normalise_uri_or_raw   50% 4 2 0   100% 0 0   50%
node / src / stigmem_node / routes / facts / query.py _build_query_params   86% 7 1 0   50% 2 1   78%
node / src / stigmem_node / routes / facts / query.py _rows_to_records   100% 6 0 0   100% 2 0   100%
node / src / stigmem_node / routes / facts / query.py _apply_tombstone_filter   100% 8 0 0   100% 4 0   100%
node / src / stigmem_node / routes / facts / query.py (no function)   100% 40 0 0   100% 0 0   100%
node / src / stigmem_node / routes / facts / single.py get_fact   91% 35 3 0   78% 18 4   87%
node / src / stigmem_node / routes / facts / single.py (no function)   100% 14 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / __init__.py (no function)   100% 8 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / audit_conflicts.py get_audit_log   86% 21 3 0   75% 8 2   83%
node / src / stigmem_node / routes / federation / audit_conflicts.py list_conflicts   87% 23 3 0   62% 8 3   81%
node / src / stigmem_node / routes / federation / audit_conflicts.py _encode_value   60% 5 2 0   50% 4 2   56%
node / src / stigmem_node / routes / federation / audit_conflicts.py resolve_conflict   89% 36 4 0   75% 16 4   85%
node / src / stigmem_node / routes / federation / audit_conflicts.py (no function)   100% 19 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / common.py _public_module   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / common.py _allowed_output_scopes   100% 7 0 0   50% 2 1   89%
node / src / stigmem_node / routes / federation / common.py _get_mtls_peer_cert   86% 7 1 0   75% 4 1   82%
node / src / stigmem_node / routes / federation / common.py _require_peer_token   69% 32 10 0   50% 12 2   64%
node / src / stigmem_node / routes / federation / common.py _try_peer_token_auth   84% 19 3 0   75% 4 1   83%
node / src / stigmem_node / routes / federation / common.py _cap_token_covers_scope   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / routes / federation / common.py (no function)   100% 18 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / peers.py register_peer   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / peers.py approve_peer   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / peers.py list_peers   0% 5 5 0   0% 2 0   0%
node / src / stigmem_node / routes / federation / peers.py (no function)   100% 15 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / replication.py pull_facts   94% 35 2 0   80% 10 2   91%
node / src / stigmem_node / routes / federation / replication.py _verify_push_cap_token   80% 30 6 0   100% 2 0   81%
node / src / stigmem_node / routes / federation / replication.py push_facts   89% 35 4 0   78% 18 2   85%
node / src / stigmem_node / routes / federation / replication.py _push_fact_with_cap_token   82% 22 4 0   67% 6 2   79%
node / src / stigmem_node / routes / federation / replication.py _push_fact_with_peer_token   74% 23 6 0   100% 6 0   79%
node / src / stigmem_node / routes / federation / replication.py (no function)   100% 21 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / tombstones.py federation_list_tombstones   54% 24 11 0   50% 10 1   53%
node / src / stigmem_node / routes / federation / tombstones.py federation_ingest_tombstone   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / federation / tombstones.py (no function)   100% 14 0 0   100% 0 0   100%
node / src / stigmem_node / routes / gardens.py _build_garden_id_uri   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / routes / gardens.py _members_for_garden   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / routes / gardens.py _row_to_garden_record   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / routes / gardens.py create_garden   89% 18 2 0   75% 8 2   85%
node / src / stigmem_node / routes / gardens.py list_gardens   71% 7 2 0   50% 4 2   64%
node / src / stigmem_node / routes / gardens.py get_garden   88% 8 1 0   83% 6 1   86%
node / src / stigmem_node / routes / gardens.py delete_garden   100% 8 0 0   100% 4 0   100%
node / src / stigmem_node / routes / gardens.py list_members   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / routes / gardens.py add_member   91% 11 1 0   75% 4 1   87%
node / src / stigmem_node / routes / gardens.py update_member_role   85% 13 2 0   67% 6 2   79%
node / src / stigmem_node / routes / gardens.py remove_member   82% 11 2 0   67% 6 2   76%
node / src / stigmem_node / routes / gardens.py _guard_last_admin   100% 4 0 0   50% 2 1   83%
node / src / stigmem_node / routes / gardens.py _guard_last_elevated_role   0% 4 4 0   0% 2 0   0%
node / src / stigmem_node / routes / gardens.py promote_fact   81% 26 5 0   67% 12 2   76%
node / src / stigmem_node / routes / gardens.py reject_fact   80% 20 4 0   50% 8 4   71%
node / src / stigmem_node / routes / gardens.py (no function)   100% 42 0 0   100% 0 0   100%
node / src / stigmem_node / routes / graph.py _encode_cursor   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / routes / graph.py _decode_cursor   82% 11 2 0   50% 2 1   77%
node / src / stigmem_node / routes / graph.py graph_neighbors   81% 16 3 0   75% 4 1   80%
node / src / stigmem_node / routes / graph.py (no function)   100% 17 0 0   100% 0 0   100%
node / src / stigmem_node / routes / identity.py _check_manifest_rate_limit   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / routes / identity.py put_manifest   73% 37 10 0   58% 12 5   69%
node / src / stigmem_node / routes / identity.py get_manifest   83% 12 2 0   67% 6 2   78%
node / src / stigmem_node / routes / identity.py issue_capability_token   82% 44 8 0   75% 16 2   80%
node / src / stigmem_node / routes / identity.py verify_capability_token_endpoint   75% 16 4 0   50% 8 2   67%
node / src / stigmem_node / routes / identity.py revoke_capability_token   88% 33 4 0   64% 14 5   81%
node / src / stigmem_node / routes / identity.py (no function)   100% 33 0 0   100% 0 0   100%
node / src / stigmem_node / routes / instruction.py _approx_tokens   67% 6 2 0   100% 0 0   67%
node / src / stigmem_node / routes / instruction.py _now_ms   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / instruction.py _is_admin   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / instruction.py _check_agent_access   40% 5 3 0   25% 4 1   33%
node / src / stigmem_node / routes / instruction.py _get_current_manifest   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / routes / instruction.py _build_boot_stub   100% 5 0 0   100% 0 0   100%
node / src / stigmem_node / routes / instruction.py _validate_manifest_entries   95% 21 1 0   94% 18 1   95%
node / src / stigmem_node / routes / instruction.py _score_intent_against_entry   92% 13 1 0   88% 8 1   90%
node / src / stigmem_node / routes / instruction.py _fetch_instruction_content   42% 12 7 0   33% 6 2   39%
node / src / stigmem_node / routes / instruction.py _get_fact_valid_until   83% 6 1 0   50% 2 1   75%
node / src / stigmem_node / routes / instruction.py get_boot_stub   79% 24 5 0   62% 8 3   75%
node / src / stigmem_node / routes / instruction.py _derive_agent_role   43% 7 4 0   25% 4 1   36%
node / src / stigmem_node / routes / instruction.py get_instruction_manifest   89% 9 1 0   50% 2 1   82%
node / src / stigmem_node / routes / instruction.py publish_instruction_manifest   89% 37 4 0   79% 14 3   86%
node / src / stigmem_node / routes / instruction.py _resolve_hint_chunks   85% 20 3 0   83% 6 1   85%
node / src / stigmem_node / routes / instruction.py _resolve_ranked_chunks   81% 21 4 0   80% 10 2   81%
node / src / stigmem_node / routes / instruction.py _append_guaranteed_chunks   19% 27 22 0   25% 8 2   20%
node / src / stigmem_node / routes / instruction.py _write_recall_audit   60% 5 2 0   100% 0 0   60%
node / src / stigmem_node / routes / instruction.py recall_instruction   100% 14 0 0   100% 2 0   100%
node / src / stigmem_node / routes / instruction.py _make_chunk   100% 7 0 0   50% 4 2   82%
node / src / stigmem_node / routes / instruction.py submit_discovery_audit   92% 12 1 0   83% 6 1   89%
node / src / stigmem_node / routes / instruction.py get_manifest_coverage   98% 40 1 0   80% 20 4   92%
node / src / stigmem_node / routes / instruction.py (no function)   100% 53 0 0   100% 0 0   100%
node / src / stigmem_node / routes / intents.py _encode_v   60% 5 2 0   50% 4 2   56%
node / src / stigmem_node / routes / intents.py _insert   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / routes / intents.py _decompose   100% 50 0 0   83% 24 4   95%
node / src / stigmem_node / routes / intents.py _decompose.ins   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / intents.py _index_root_rows   90% 10 1 0   83% 6 1   88%
node / src / stigmem_node / routes / intents.py _build_escalation   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / routes / intents.py _build_handoff   25% 8 6 0   25% 4 1   25%
node / src / stigmem_node / routes / intents.py _build_constraints   33% 9 6 0   25% 4 1   31%
node / src / stigmem_node / routes / intents.py _build_preferences   33% 9 6 0   25% 4 1   31%
node / src / stigmem_node / routes / intents.py _build_deferences   33% 9 6 0   25% 4 1   31%
node / src / stigmem_node / routes / intents.py _reconstruct   71% 7 2 0   50% 4 2   64%
node / src / stigmem_node / routes / intents.py submit_intent   81% 21 4 0   100% 6 0   85%
node / src / stigmem_node / routes / intents.py get_intent   87% 15 2 0   75% 8 2   83%
node / src / stigmem_node / routes / intents.py (no function)   100% 27 0 0   100% 0 0   100%
node / src / stigmem_node / routes / lint.py _lint_filter_params   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / routes / lint.py _check_contradictions   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / routes / lint.py _check_stale   60% 5 2 0   50% 2 1   57%
node / src / stigmem_node / routes / lint.py _check_orphans   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / routes / lint.py _check_broken_refs   38% 8 5 0   25% 4 1   33%
node / src / stigmem_node / routes / lint.py _check_namespacing   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / routes / lint.py _run_lint_sweep   100% 20 0 0   100% 10 0   100%
node / src / stigmem_node / routes / lint.py _lint_job_worker   67% 6 2 0   100% 0 0   67%
node / src / stigmem_node / routes / lint.py lint_scope   93% 14 1 0   83% 6 1   90%
node / src / stigmem_node / routes / lint.py get_lint_job   83% 6 1 0   75% 4 1   80%
node / src / stigmem_node / routes / lint.py (no function)   100% 31 0 0   100% 0 0   100%
node / src / stigmem_node / routes / mcp.py list_mcp_connectors   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / mcp.py (no function)   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / routes / quarantine.py _require_write   50% 2 1 0   50% 2 1   50%
node / src / stigmem_node / routes / quarantine.py list_quarantined_facts   78% 27 6 0   60% 10 4   73%
node / src / stigmem_node / routes / quarantine.py admit_fact   73% 15 4 0   25% 4 1   63%
node / src / stigmem_node / routes / quarantine.py reject_fact   100% 9 0 0   100% 0 0   100%
node / src / stigmem_node / routes / quarantine.py _get_quarantined_fact   83% 12 2 0   75% 8 2   80%
node / src / stigmem_node / routes / quarantine.py _write_quarantine_audit   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / routes / quarantine.py (no function)   100% 22 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / __init__.py (no function)   100% 10 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / as_of.py _recall_as_of_impl   95% 37 2 0   86% 14 2   92%
node / src / stigmem_node / routes / recall / as_of.py _recall_as_of_impl._recency_as_of   67% 12 4 0   50% 4 2   62%
node / src / stigmem_node / routes / recall / as_of.py (no function)   100% 12 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / common.py _public_module   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / common.py _now_iso   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / common.py _estimate_tokens   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / common.py _recency_score   100% 8 0 0   100% 2 0   100%
node / src / stigmem_node / routes / recall / common.py _fetch_facts_by_ids   100% 7 0 0   100% 4 0   100%
node / src / stigmem_node / routes / recall / common.py _write_recall_audit   60% 5 2 0   100% 0 0   60%
node / src / stigmem_node / routes / recall / common.py (no function)   100% 17 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / graph.py _graph_expand   90% 21 2 0   75% 12 3   85%
node / src / stigmem_node / routes / recall / graph.py (no function)   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / lexical.py _fts_query   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / lexical.py _like_search   0% 21 21 0   0% 8 0   0%
node / src / stigmem_node / routes / recall / lexical.py _lexical_search   58% 19 8 0   75% 4 1   61%
node / src / stigmem_node / routes / recall / lexical.py (no function)   100% 8 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / orchestration.py recall   100% 9 0 0   100% 4 0   100%
node / src / stigmem_node / routes / recall / orchestration.py _legacy_recall_payload   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / orchestration.py _split_interpretation_channels   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / orchestration.py _validate_recall_request   71% 7 2 0   67% 6 2   69%
node / src / stigmem_node / routes / recall / orchestration.py _chain_proof_or_409   100% 6 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / orchestration.py _handle_as_of_recall   100% 11 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / orchestration.py _gather_direct_matches   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / orchestration.py _expand_graph_neighbours   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / routes / recall / orchestration.py _build_card_for_entity   88% 8 1 0   75% 4 1   83%
node / src / stigmem_node / routes / recall / orchestration.py _try_card_fast_path   81% 16 3 0   100% 6 0   86%
node / src / stigmem_node / routes / recall / orchestration.py _exclude_card_owned   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / routes / recall / orchestration.py _set_recall_span_attrs   71% 7 2 0   100% 0 0   71%
node / src / stigmem_node / routes / recall / orchestration.py _recall_impl   100% 37 0 0   83% 6 1   98%
node / src / stigmem_node / routes / recall / orchestration.py (no function)   100% 41 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / ranking.py _score_candidates   82% 39 7 0   67% 18 4   77%
node / src / stigmem_node / routes / recall / ranking.py _greedy_pack   100% 12 0 0   100% 4 0   100%
node / src / stigmem_node / routes / recall / ranking.py (no function)   100% 10 0 0   100% 0 0   100%
node / src / stigmem_node / routes / recall / vector.py _semantic_search   14% 14 12 0   25% 4 1   17%
node / src / stigmem_node / routes / recall / vector.py (no function)   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / routes / resolver.py resolve_entity_uri   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / routes / resolver.py (no function)   100% 9 0 0   100% 0 0   100%
node / src / stigmem_node / routes / subscriptions.py _target_kind   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / subscriptions.py _row_to_record   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / subscriptions.py _event_row_to_record   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / routes / subscriptions.py _event_row_to_record_with_payload   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / subscriptions.py create_subscription   78% 23 5 0   67% 12 2   74%
node / src / stigmem_node / routes / subscriptions.py list_subscriptions   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / routes / subscriptions.py get_subscription   86% 7 1 0   75% 4 1   82%
node / src / stigmem_node / routes / subscriptions.py delete_subscription   88% 8 1 0   75% 4 1   83%
node / src / stigmem_node / routes / subscriptions.py list_subscription_events   97% 30 1 0   90% 10 1   95%
node / src / stigmem_node / routes / subscriptions.py (no function)   100% 28 0 0   100% 0 0   100%
node / src / stigmem_node / routes / synthesize.py _is_system   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / synthesize.py _build_synthesize_params   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / routes / synthesize.py _count_pair_occurrences   100% 6 0 0   100% 4 0   100%
node / src / stigmem_node / routes / synthesize.py _row_age_seconds   60% 5 2 0   100% 0 0   60%
node / src / stigmem_node / routes / synthesize.py _build_synthesized_fact   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / routes / synthesize.py synthesize_scope   96% 27 1 0   92% 12 1   95%
node / src / stigmem_node / routes / synthesize.py (no function)   100% 18 0 0   100% 0 0   100%
node / src / stigmem_node / routes / time_travel_gate.py require_time_travel_enabled   100% 6 0 0   100% 4 0   100%
node / src / stigmem_node / routes / time_travel_gate.py _load_time_travel_config   60% 5 2 0   100% 0 0   60%
node / src / stigmem_node / routes / time_travel_gate.py (no function)   100% 8 0 0   100% 0 0   100%
node / src / stigmem_node / routes / tombstones.py _require_admin   100% 2 0 0   100% 2 0   100%
node / src / stigmem_node / routes / tombstones.py issue_tombstone   72% 18 5 0   50% 6 1   67%
node / src / stigmem_node / routes / tombstones.py check_tombstone_status   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / routes / tombstones.py revoke_tombstone_endpoint   88% 17 2 0   50% 4 2   81%
node / src / stigmem_node / routes / tombstones.py _enqueue_tombstone_rebroadcast   100% 3 0 0   100% 0 0   100%
node / src / stigmem_node / routes / tombstones.py _push_tombstone_to_peers   77% 22 5 0   50% 4 0   73%
node / src / stigmem_node / routes / tombstones.py (no function)   100% 22 0 0   100% 0 0   100%
node / src / stigmem_node / routes / wellknown.py node_metadata   100% 8 0 0   100% 2 0   100%
node / src / stigmem_node / routes / wellknown.py (no function)   100% 8 0 0   100% 0 0   100%
node / src / stigmem_node / session_graph.py normalize_session_id   75% 8 2 0   67% 6 2   71%
node / src / stigmem_node / session_graph.py _now_iso   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / session_graph.py record_read_scopes   100% 6 0 0   100% 4 0   100%
node / src / stigmem_node / session_graph.py record_write_scope   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / session_graph.py _read_scopes_for_session   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / session_graph.py _provenance_scopes   71% 14 4 0   40% 10 2   58%
node / src / stigmem_node / session_graph.py ensure_write_allowed   89% 9 1 0   83% 6 1   87%
node / src / stigmem_node / session_graph.py encode_derived_from   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / session_graph.py (no function)   100% 17 0 0   100% 0 0   100%
node / src / stigmem_node / settings.py Settings._parse_cors_allowed_origins   71% 7 2 0   67% 6 2   69%
node / src / stigmem_node / settings.py Settings._validate_encryption_mode   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / settings.py Settings._validate_node_private_key   73% 11 3 0   75% 4 1   73%
node / src / stigmem_node / settings.py Settings._require_ca_bundle_for_mtls   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / settings.py Settings.mtls_enabled   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / settings.py (no function)   100% 109 0 0   100% 0 0   100%
node / src / stigmem_node / snapshot.py _b64url_encode   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / snapshot.py _b64url_decode   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / snapshot.py _sha256_file   100% 5 0 0   100% 2 0   100%
node / src / stigmem_node / snapshot.py _canonical_manifest_body   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / snapshot.py _load_secondary_key   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / snapshot.py _trusted_pubkeys   69% 29 9 0   58% 12 3   66%
node / src / stigmem_node / snapshot.py _collect_schema_cursor   71% 7 2 0   100% 0 0   71%
node / src / stigmem_node / snapshot.py snapshot_create   93% 45 3 0   100% 4 0   94%
node / src / stigmem_node / snapshot.py _load_manifest   56% 9 4 0   50% 4 2   54%
node / src / stigmem_node / snapshot.py _verify_artifact_hashes   88% 8 1 0   83% 6 1   86%
node / src / stigmem_node / snapshot.py _verify_manifest_signature   94% 18 1 0   83% 6 1   92%
node / src / stigmem_node / snapshot.py snapshot_restore   94% 17 1 0   83% 6 1   91%
node / src / stigmem_node / snapshot.py (no function)   100% 32 0 0   100% 0 0   100%
node / src / stigmem_node / source_trust.py _peer_history_cutoff_iso_for_bucket   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / source_trust.py _peer_history_cutoff_iso   100% 2 0 0   100% 0 0   100%
node / src / stigmem_node / source_trust.py get_cached_trust   100% 8 0 0   100% 4 0   100%
node / src / stigmem_node / source_trust.py _set_cache   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / source_trust.py bust_trust_cache   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / source_trust.py compute_source_trust   100% 8 0 0   100% 6 0   100%
node / src / stigmem_node / source_trust.py _compute_fresh   100% 20 0 0   100% 6 0   100%
node / src / stigmem_node / source_trust.py _identity_strength   71% 14 4 0   62% 8 3   68%
node / src / stigmem_node / source_trust.py _peer_history   56% 16 7 0   25% 8 2   46%
node / src / stigmem_node / source_trust.py _scope_authority   86% 14 2 0   100% 6 0   90%
node / src / stigmem_node / source_trust.py _attestation_mode_factor   33% 9 6 0   17% 6 1   27%
node / src / stigmem_node / source_trust.py _source_attestation_plugin_enabled   60% 5 2 0   50% 2 1   57%
node / src / stigmem_node / source_trust.py is_blocklisted   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / source_trust.py (no function)   100% 24 0 2   100% 0 0   100%
node / src / stigmem_node / storage / __init__.py make_backend   58% 24 10 0   58% 12 3   58%
node / src / stigmem_node / storage / __init__.py (no function)   100% 9 0 2   100% 0 0   100%
node / src / stigmem_node / storage / base.py StorageBackend.backend_name   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / base.py StorageBackend.connection   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / base.py StorageBackend.apply_migrations   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / base.py StorageBackend.export_snapshot   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / base.py StorageBackend.import_snapshot   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / base.py (no function)   100% 17 0 0   100% 0 0   100%
node / src / stigmem_node / storage / encryption.py load_key   100% 12 0 0   100% 6 0   100%
node / src / stigmem_node / storage / encryption.py _load_from_kms_uri   100% 13 0 0   100% 6 0   100%
node / src / stigmem_node / storage / encryption.py _derive_from_passphrase_env   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / storage / encryption.py derive_key   67% 6 2 0   100% 0 0   67%
node / src / stigmem_node / storage / encryption.py _reset_key_cache   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / storage / encryption.py (no function)   100% 10 0 2   100% 0 0   100%
node / src / stigmem_node / storage / libsql_backend.py _split_sql   83% 24 4 0   71% 14 4   79%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLRow.__init__   0% 3 3 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLRow.__getitem__   0% 3 3 0   0% 2 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLRow.__iter__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLRow.keys   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLRow.get   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLCursor.__init__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLCursor.description   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLCursor.lastrowid   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLCursor.rowcount   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLCursor.fetchone   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLCursor.fetchall   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLCursor.fetchmany   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLConnection.__init__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLConnection.execute   0% 3 3 0   0% 2 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLConnection.executemany   0% 3 3 0   0% 2 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLConnection.commit   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLConnection.rollback   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py _LibSQLConnection.close   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py LibSQLBackend.__init__   0% 4 4 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py LibSQLBackend.backend_name   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py LibSQLBackend._connect   0% 13 13 0   0% 4 0   0%
node / src / stigmem_node / storage / libsql_backend.py LibSQLBackend.connection   0% 8 8 0   100% 0 0   0%
node / src / stigmem_node / storage / libsql_backend.py LibSQLBackend.apply_migrations   0% 14 14 0   0% 6 0   0%
node / src / stigmem_node / storage / libsql_backend.py (no function)   100% 45 0 0   100% 0 0   100%
node / src / stigmem_node / storage / postgres_backend.py _validate_schema_name   100% 3 0 0   100% 2 0   100%
node / src / stigmem_node / storage / postgres_backend.py _rewrite_or_ignore   0% 4 4 0   0% 2 0   0%
node / src / stigmem_node / storage / postgres_backend.py _rewrite_or_replace   0% 19 19 0   0% 6 0   0%
node / src / stigmem_node / storage / postgres_backend.py _pg_translate   0% 9 9 0   0% 4 0   0%
node / src / stigmem_node / storage / postgres_backend.py _pg_split_migration   0% 20 20 0   0% 14 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGRow.__init__   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGRow.__getitem__   0% 3 3 0   0% 2 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGRow.__iter__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGRow.keys   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGRow.get   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGCursor.__init__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGCursor.fetchall   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGCursor.fetchone   0% 4 4 0   0% 2 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGCursor.__iter__   0% 2 2 0   0% 2 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGCursor.rowcount   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGConn.__init__   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGConn.execute   0% 5 5 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGConn.executemany   0% 3 3 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGConn.executescript   0% 3 3 0   0% 2 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGConn.commit   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGConn.rollback   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py _PGConn.close   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend.__init__   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend.backend_name   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend._get_pool   0% 8 8 0   0% 2 0   0%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend._open_raw_conn   0% 5 5 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend._set_search_path   0% 3 3 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend._pg_migrations   0% 9 9 0   0% 6 0   0%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend.connection   0% 11 11 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend.apply_migrations   0% 34 34 0   0% 8 0   0%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend._ensure_vec_table   0% 15 15 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend.export_snapshot   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py PostgresBackend.import_snapshot   0% 1 1 0   100% 0 0   0%
node / src / stigmem_node / storage / postgres_backend.py (no function)   100% 56 0 0   100% 0 0   100%
node / src / stigmem_node / storage / sqlite_backend.py SQLiteBackend.__init__   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / storage / sqlite_backend.py SQLiteBackend.backend_name   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / storage / sqlite_backend.py SQLiteBackend._open_conn   44% 16 9 0   50% 4 2   45%
node / src / stigmem_node / storage / sqlite_backend.py SQLiteBackend._load_sqlite_vec   0% 12 12 0   100% 0 0   0%
node / src / stigmem_node / storage / sqlite_backend.py SQLiteBackend.connection   100% 8 0 0   100% 0 0   100%
node / src / stigmem_node / storage / sqlite_backend.py SQLiteBackend.apply_migrations   100% 13 0 0   100% 4 0   100%
node / src / stigmem_node / storage / sqlite_backend.py SQLiteBackend.export_snapshot   0% 20 20 0   0% 2 0   0%
node / src / stigmem_node / storage / sqlite_backend.py SQLiteBackend.import_snapshot   0% 2 2 0   100% 0 0   0%
node / src / stigmem_node / storage / sqlite_backend.py (no function)   100% 21 0 0   100% 0 0   100%
node / src / stigmem_node / subscription_delivery.py fan_out   100% 7 0 0   100% 2 0   100%
node / src / stigmem_node / subscription_delivery.py deliver_pending   88% 26 3 0   100% 6 0   91%
node / src / stigmem_node / subscription_delivery.py _deliver_one   71% 7 2 0   75% 4 1   73%
node / src / stigmem_node / subscription_delivery.py _subscriber_identity   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / subscription_delivery.py _subscriber_has_active_key   43% 7 4 0   50% 2 1   44%
node / src / stigmem_node / subscription_delivery.py _sanitize_payload   80% 30 6 0   71% 14 4   77%
node / src / stigmem_node / subscription_delivery.py _deliver_webhook   100% 18 0 0   100% 6 0   100%
node / src / stigmem_node / subscription_delivery.py _deliver_wake   80% 5 1 0   50% 2 1   71%
node / src / stigmem_node / subscription_delivery.py _record_result   100% 18 0 0   100% 4 0   100%
node / src / stigmem_node / subscription_delivery.py _mark_delivered   100% 4 0 0   100% 0 0   100%
node / src / stigmem_node / subscription_delivery.py sweep_loop   83% 6 1 0   100% 0 0   83%
node / src / stigmem_node / subscription_delivery.py (no function)   100% 31 0 0   100% 0 0   100%
node / src / stigmem_node / tenant.py validate_tenant_id   100% 8 0 0   100% 6 0   100%
node / src / stigmem_node / tenant.py (no function)   100% 7 0 0   100% 0 0   100%
node / src / stigmem_node / tls.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / tombstone_cache.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / tombstone_gate.py (no function)   0% 6 6 2   100% 0 0   0%
node / src / stigmem_node / tombstone_signing.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / tombstones.py (no function)   0% 6 6 2   100% 0 0   0%
node / src / stigmem_node / tracing.py (no function)   100% 6 0 2   100% 0 0   100%
node / src / stigmem_node / trust_rules.py _load_yaml_rules   82% 17 3 0   100% 2 0   84%
node / src / stigmem_node / trust_rules.py _rule_matches   100% 4 0 0   100% 2 0   100%
node / src / stigmem_node / trust_rules.py evaluate_auto_rules   100% 15 0 0   100% 12 0   100%
node / src / stigmem_node / trust_rules.py _evaluate_db_rules   100% 15 0 0   88% 8 1   96%
node / src / stigmem_node / trust_rules.py (no function)   100% 8 0 0   100% 0 0   100%
node / src / stigmem_node / utility / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
node / src / stigmem_node / utility / entity_normalizer.py normalize_entity_uri   92% 12 1 0   83% 6 1   89%
node / src / stigmem_node / utility / entity_normalizer.py is_informal   100% 1 0 0   100% 0 0   100%
node / src / stigmem_node / utility / entity_normalizer.py (no function)   100% 8 0 0   100% 0 0   100%
node / src / stigmem_node / utility / net_util.py assert_safe_url   93% 15 1 0   90% 10 1   92%
node / src / stigmem_node / utility / net_util.py (no function)   100% 6 0 0   100% 0 0   100%
node / src / stigmem_node / vector_search.py (no function)   100% 6 0 2   100% 0 0   100%
sdks / stigmem-py / src / stigmem / __init__.py (no function)   82% 11 2 0   100% 0 0   82%
sdks / stigmem-py / src / stigmem / client.py _recall_headers   100% 4 0 0   100% 2 0   100%
sdks / stigmem-py / src / stigmem / client.py _session_headers   83% 6 1 0   75% 4 1   80%
sdks / stigmem-py / src / stigmem / client.py _raise_for_status   62% 13 5 0   62% 8 1   62%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.__init__   100% 5 0 0   50% 2 1   86%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.close   0% 1 1 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.__enter__   0% 1 1 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.__exit__   0% 1 1 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.node_info   100% 3 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.assert_fact   100% 6 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.retract   100% 3 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.get   100% 3 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.query   64% 22 8 0   50% 18 9   58%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.list_conflicts   88% 8 1 0   50% 4 2   75%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.resolve_conflict   100% 4 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.federation_status   100% 3 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.subscribe_scope   0% 10 10 0   0% 4 0   0%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.recall   100% 5 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py StigmemClient.get_card   0% 6 6 0   0% 2 0   0%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.__init__   100% 5 0 0   50% 2 1   86%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.aclose   100% 1 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.__aenter__   100% 1 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.__aexit__   100% 1 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.node_info   0% 3 3 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.assert_fact   100% 6 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.retract   0% 3 3 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.get   0% 3 3 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.query   64% 22 8 0   50% 18 9   58%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.list_conflicts   0% 8 8 0   0% 4 0   0%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.resolve_conflict   0% 4 4 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.federation_status   100% 3 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.subscribe_scope   0% 10 10 0   0% 4 0   0%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.recall   0% 5 5 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / client.py AsyncStigmemClient.get_card   0% 6 6 0   0% 2 0   0%
sdks / stigmem-py / src / stigmem / client.py (no function)   100% 46 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / exceptions.py StigmemHTTPError.__init__   100% 3 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / exceptions.py (no function)   100% 7 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / models.py string_value   100% 1 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / models.py text_value   100% 1 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / models.py number_value   0% 1 1 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / models.py boolean_value   0% 1 1 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / models.py datetime_value   0% 1 1 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / models.py ref_value   0% 1 1 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / models.py null_value   0% 1 1 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / models.py ResolveRequest.model_dump_api   83% 6 1 0   50% 4 2   70%
sdks / stigmem-py / src / stigmem / models.py (no function)   100% 189 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / verification.py _encoded_value_v   60% 5 2 0   50% 4 2   56%
sdks / stigmem-py / src / stigmem / verification.py compute_fact_cid   100% 3 0 0   100% 0 0   100%
sdks / stigmem-py / src / stigmem / verification.py verify_fact_cid   100% 4 0 0   100% 2 0   100%
sdks / stigmem-py / src / stigmem / verification.py _sha256_json   0% 2 2 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / verification.py _checkpoint_payload   0% 1 1 0   100% 0 0   0%
sdks / stigmem-py / src / stigmem / verification.py verify_checkpoint_proof   0% 14 14 0   0% 12 0   0%
sdks / stigmem-py / src / stigmem / verification.py verify_fact_chain_proof   44% 18 10 0   38% 16 6   41%
sdks / stigmem-py / src / stigmem / verification.py (no function)   100% 14 0 0   100% 0 0   100%
Total     85% 12310 1847 68   72% 2900 465   83%

No items found using the specified filter.