{
  "validator_version": "validate_edges.py-v1.3-heterogeneous-symmetry",
  "execution_timestamp_utc": "2026-10-20T08:56:34.323745+00:00",
  "target_database": "bibliografia/data/graf.sqlite",
  "corpus_version": "corpus-2026-10-19",
  "total_edges_evaluated": 28226,
  "edge_counts_evaluated": {
    "direct_cite": 1328,
    "bib_coupling": 25562,
    "cocitation": 816,
    "text_similarity": 520
  },
  "edge_counts_passed": {
    "direct_cite": 1328,
    "bib_coupling": 25562,
    "cocitation": 816,
    "text_similarity": 520
  },
  "undirected_unique_pair_counts": {
    "text_similarity": 260,
    "bib_coupling": 12781,
    "cocitation": 408
  },
  "rules_evaluated": [
    "no_self_loops",
    "typed_referential_integrity_work_table",
    "no_duplicate_directional_edges",
    "symmetric_closure_verified_for_undirected_types",
    "direct_cite_independent_cites_table_verification",
    "direct_cite_citation_direction_verified",
    "direct_cite_requires_ref_target_identifier",
    "direct_cite_status_approved_only",
    "bib_coupling_method_shared_references_jaccard",
    "bib_coupling_min_shared_references_ge_2",
    "bib_coupling_jaccard_bounded_0_to_1",
    "cocitation_min_shared_citing_ge_2",
    "cocitation_strength_ge_0",
    "text_similarity_tfidf_cosine_bounded_0_to_1",
    "evidence_valid_json"
  ],
  "critical_errors_count": 0,
  "warnings_count": 0,
  "status": "PASS",
  "errors": [],
  "warnings": []
}