   Compiling kremory v0.1.6 (/Users/jamessheen/Documents/Projects/Ideas/kremory/crates/kremory)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 9.74s
     Running tests/label_precision_benchmark.rs (target/debug/deps/label_precision_benchmark-37564da61aef374d)

running 1 test
label_precision_benchmark: model=gemma4:26b
label_precision_benchmark: Engine::new receives Arc<Ollama> directly (NO ArcChatProvider wrapper). fn model() should return: 'gemma4:26b'
test label_precision_gte_0_75_on_mock_interview has been running for over 60 seconds
[KREMORY_DEBUG] parse_entities_integer raw input (len=335):
{"entities":[{"entity_type_id":1,"name":"Ria"},{"entity_type_id":3,"name":"Morocco"},{"entity_type_id":3,"name":"Boston"},{"entity_type_id":2,"name":"Northeastern University"},{"entity_type_id":2,"name":"Amazon Robotics"},{"entity_type_id":2,"name":"name of the consulting club"},{"entity_type_id":2,"name":"Boston Consulting Group"}]}
[KREMORY_DEBUG end]
[KREMORY_DEBUG] parse_entities_integer raw input (len=510):
{"entities":[{"entity_type_id":2,"name":"Amazon Robotics"},{"entity_type_id":1,"name":"Ria"},{"entity_type_id":2,"name":"Boston Consulting Group"},{"entity_type_id":2,"name":"consulting club"},{"entity_type_id":3,"name":"Morocco"},{"entity_type_id":3,"name":"France"},{"entity_type_id":3,"name":"South Korea"},{"entity_type_id":3,"name":"Africa"},{"entity_type_id":2,"name":"Amazon"},{"entity_type_id":2,"name":"Northeastern University"},{"entity_type_id":2,"name":"Boston"},{"entity_type_id":1,"name":"Ria"}]}
[KREMORY_DEBUG end]
[KREMORY_DEBUG] parse_entities_integer raw input (len=402):
{"entities":[{"entity_type_id":2,"name":"Amazon"},{"entity_type_id":3,"name":":"},{"entity_type_id":2,"name":"Boston Consulting Group"},{"entity_type_id":9,"name":"Tableau"},{"entity_type_id":4,"name":"a few months"},{"entity_type_id":7,"name":": 15 different developers, software engineers, and data engineers"},{"entity_type_id":7,"name":"ten percent"},{"entity_type_id":2,"name":"Amazon Robotics"}]}
[KREMORY_DEBUG end]
  extracted: ':' (id='') label='Location'
  extracted: ': 15 different developers, software engineers, and data engineers' (id='15 different developers software engineers and data engineers') label='Quantity'
  extracted: 'a few months' (id='a few months') label='Date'
  extracted: 'Africa' (id='africa') label='Location'
  extracted: 'Amazon' (id='amazon') label='Organisation'
  extracted: 'Amazon Robotics' (id='amazon robotics') label='Organisation'
  extracted: 'Boston' (id='boston') label='Location'
  extracted: 'Boston Consulting Group' (id='boston consulting group') label='Organisation'
  extracted: 'consulting club' (id='consulting club') label='Organisation'
  extracted: 'France' (id='france') label='Location'
  extracted: 'Morocco' (id='morocco') label='Location'
  extracted: 'name of the consulting club' (id='name of the consulting club') label='Organisation'
  extracted: 'Northeastern University' (id='northeastern university') label='Organisation'
  extracted: 'Ria' (id='ria') label='Person'
  extracted: 'South Korea' (id='south korea') label='Location'
  extracted: 'Tableau' (id='tableau') label='Concept'
  extracted: 'ten percent' (id='ten percent') label='Quantity'
label_precision: 90.0% (9/10 ground-truth name+label pairs matched)
  0 non-canonical labels (TD-012 indicator)

── PHASE 1 DIAGNOSTIC: Metrics snapshot ──
  rql.entity.label_rejected_total: NO REJECTIONS RECORDED
  Other rql.* counters in snapshot:
    rql.entity_types.default_seed_applied [("group_id", "default")] = 1
    rql.db.insert_episode_with_group_ms [] = 0
    rql.ingest.chunk_count [] = 0
    rql.db.list_entities_count [] = 0
    rql.db.list_entities_ms [] = 0
    rql.extraction.structured_call_attempt [("schema", "EntityListIntegerId"), ("arm", "format_schema"), ("model", "gemma4:26b")] = 3
    rql.extraction.structured_call_success [("schema", "EntityListIntegerId"), ("arm", "format_schema")] = 3
    rql.extraction.stage_ms [("stage", "entities")] = 0
    rql.extraction.json_parse_ok [("path", "wrapped")] = 3
    rql.extraction.structured_call_attempt [("schema", "RelTypeList"), ("arm", "format_schema"), ("model", "gemma4:26b")] = 3
    rql.extraction.structured_call_success [("schema", "RelTypeList"), ("arm", "format_schema")] = 2
    rql.extraction.stage_ms [("stage", "relations")] = 0
    rql.extraction.json_parse_ok [] = 6
    rql.extraction.structured_call_attempt [("schema", "TripletList"), ("arm", "format_schema"), ("model", "gemma4:26b")] = 3
    rql.extraction.structured_call_success [("schema", "TripletList"), ("arm", "format_schema")] = 2
    rql.extraction.stage_ms [("stage", "triplets")] = 0
    rql.extraction.entity_count [] = 0
    rql.extraction.fact_count [] = 0
    rql.extraction.arm_timeout [("schema", "RelTypeList"), ("arm", "format_schema"), ("model", "gemma4:26b")] = 1
    rql.extraction.fallback_ladder_step [("schema", "RelTypeList"), ("from_arm", "format_schema"), ("to_arm", "llm_json_repair"), ("model", "gemma4:26b")] = 1
    rql.extraction.structured_call_attempt [("schema", "RelTypeList"), ("arm", "llm_json_repair"), ("model", "gemma4:26b")] = 1
    rql.extraction.repair_attempt [("schema", "unknown"), ("arm", "llm_json")] = 2
    rql.extraction.structured_call_success [("schema", "RelTypeList"), ("arm", "llm_json_repair")] = 1
    rql.extraction.arm_timeout [("schema", "TripletList"), ("arm", "format_schema"), ("model", "gemma4:26b")] = 1
    rql.extraction.fallback_ladder_step [("schema", "TripletList"), ("from_arm", "format_schema"), ("to_arm", "llm_json_repair"), ("model", "gemma4:26b")] = 1
    rql.extraction.structured_call_attempt [("schema", "TripletList"), ("arm", "llm_json_repair"), ("model", "gemma4:26b")] = 1
    rql.extraction.structured_call_success [("schema", "TripletList"), ("arm", "llm_json_repair")] = 1
    rql.db.insert_entity_with_group_ms [] = 0
    rql.db.set_entity_embedding_ms [] = 0
    rql.db.insert_episodic_edge_ms [] = 0
    rql.search.fts_facts_hits [] = 0
    rql.search.fts_facts_ms [] = 0
    rql.db.insert_fact_ms [] = 0
    rql.ingest.total_ms [] = 0
    rql.ingest.entity_count [] = 0
    rql.ingest.fact_count [] = 0
    rql.ingest.merge_count [] = 0
    rql.ingest.contradiction_count [] = 0
    rql.db.get_entity_ms [] = 0
── END DIAGNOSTIC ──

test label_precision_gte_0_75_on_mock_interview ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 1728.84s

