PBSOI CISG MVP v0.6 — Impact Engine

/mnt/data/cisg_repolumen_poc/mutation_slice · Python repository · evidence-grounded static graph

7
Files
536
Nodes
1138
Edges
69
Impact targets
168
Data values
9
State regions
4
Defects
16
Motifs

MVP pipeline

Repository → CISG → Data/State Closure → Impact Engine → review scope

v0.6 technical view preserves one-hop direct evidence from bounded derived impact. Derived impact uses resolved local-call reachability and shared-state coupling; it is review scope, not a claim that every reachable entity will change at runtime.

Metrics

{
  "loaded_files": 7,
  "nodes": 536,
  "edges": 1138,
  "node_types": {
    "file": 7,
    "function": 27,
    "class": 1,
    "method": 2,
    "boundary_module": 7,
    "data_value": 168,
    "data_sink": 42,
    "control": 73,
    "data_use": 34,
    "data_phi": 49,
    "data_undefined": 35,
    "boundary_call": 65,
    "state_region": 9,
    "module_binding": 9,
    "exception_event": 3,
    "boundary_exception": 1,
    "exception_handler": 3,
    "effect": 1
  },
  "edge_types": {
    "contains": 30,
    "imports": 27,
    "defines": 217,
    "contains_data": 76,
    "returns_value": 97,
    "controls": 73,
    "flows_to": 198,
    "guards": 78,
    "phi_input": 98,
    "calls": 196,
    "aliases_at_definition": 5,
    "reads_state": 16,
    "reads_binding": 10,
    "raises": 3,
    "exception_flow": 2,
    "contains_exception_handler": 3,
    "caught_by": 1,
    "effect": 1,
    "writes_state": 7
  },
  "resolved_local_calls": 34,
  "boundary_calls": 162,
  "findings_by_category": {
    "defect": 4,
    "hotspot": 16
  },
  "findings_by_severity": {
    "high": 2,
    "medium": 2,
    "info": 16
  },
  "motif_instances": 16,
  "motif_clusters": 7,
  "data_values": 168,
  "phi_nodes": 49,
  "data_edges": 693,
  "alias_edges": 5,
  "state_regions": 9,
  "state_reads": 16,
  "state_writes": 7,
  "module_binding_reads": 10,
  "exception_handlers": 3,
  "explicit_raises": 3,
  "unresolved_local_uses": 0,
  "warnings": 0
}

Highest review breadth

KindTargetReview breadthPath
function38repo_semantic/historical_timeline.py
function35repo_semantic/grounding.py
function35repo_semantic/grounding.py
function33repo_semantic/architecture_reconstruction.py
function32repo_semantic/semantic_diff.py
function27repo_semantic/execution_paths.py
function26repo_semantic/semantic_diff.py
function24repo_semantic/architecture_reconstruction.py
function22repo_semantic/semantic_diff.py
function21repo_semantic/execution_paths.py
function21repo_semantic/execution_paths.py
function20repo_semantic/semantic_diff.py
function20repo_semantic/semantic_diff.py
function20repo_semantic/architecture_reconstruction.py
function20repo_semantic/architecture_reconstruction.py
function20repo_semantic/semantic_diff.py
function19repo_semantic/architecture_reconstruction.py
function18repo_semantic/architecture_reconstruction.py
function17repo_semantic/execution_paths.py
function17repo_semantic/execution_paths.py

Warnings

  • None

Impact Engine

Direct = one-hop graph evidence. Derived = bounded resolved call paths + shared-state coupling. No single impact score is treated as truth.

Choose a target.

Code-Induced Semantic Graph

Overview shows 37 of 37 file/class/function entities. Full graph is in cisg.json / cisg.graphml.
repo_semantic/architecture_reconstruction.pyrepo_semantic/architectur…{"id": "file_216acbfbab3aa8f9", "type": "file", "label": "repo_semantic/architecture_reconstruction.py", "path": "repo_semantic/architecture_reconstruction.py", "module": "repo_semantic.architecture_reconstruction", "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/architecture_reconstruction.py", "line": 1, "end_line": 140, "source_hash": "2c70301670ace276f0037c3a651ada8689f28e26c46484262547ed3733af206a", "source_kind": "code"}}_node_label_node_label{"id": "fn_e361ea60753a8c46", "type": "function", "label": "_node_label", "path": "repo_semantic/architecture_reconstruction.py", "module": "repo_semantic.architecture_reconstruction", "symbol": "_node_label", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/architecture_reconstruction.py", "line": 9, "end_line": 10, "source_hash": "2c70301670ace276f0037c3a651ada8689f28e26c46484262547ed3733af206a", "source_kind": "code"}, "motif_signature": "motif_exact_83e42922287b", "motif_coarse_signature": "motif_coarse_fca123bd72d6", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 0}}_flow_description_flow_description{"id": "fn_97d90f0432c7a578", "type": "function", "label": "_flow_description", "path": "repo_semantic/architecture_reconstruction.py", "module": "repo_semantic.architecture_reconstruction", "symbol": "_flow_description", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/architecture_reconstruction.py", "line": 13, "end_line": 31, "source_hash": "2c70301670ace276f0037c3a651ada8689f28e26c46484262547ed3733af206a", "source_kind": "code"}, "motif_signature": "motif_exact_29aa939af17e", "motif_coarse_signature": "motif_coarse_1d063c7b37b2", "features": {"controls": ["for_loop", "branch", "branch", "branch", "branch", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 2, "boundary_calls": 7}}_module_roles_module_roles{"id": "fn_3f1fb3d16b8978ea", "type": "function", "label": "_module_roles", "path": "repo_semantic/architecture_reconstruction.py", "module": "repo_semantic.architecture_reconstruction", "symbol": "_module_roles", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/architecture_reconstruction.py", "line": 34, "end_line": 71, "source_hash": "2c70301670ace276f0037c3a651ada8689f28e26c46484262547ed3733af206a", "source_kind": "code"}, "motif_signature": "motif_exact_3e81b35c051a", "motif_coarse_signature": "motif_coarse_f373ee2a1d21", "features": {"controls": ["for_loop", "branch", "for_loop", "branch", "branch", "branch", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 7}}_boundaries_boundaries{"id": "fn_fd09cf9e2b07e095", "type": "function", "label": "_boundaries", "path": "repo_semantic/architecture_reconstruction.py", "module": "repo_semantic.architecture_reconstruction", "symbol": "_boundaries", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/architecture_reconstruction.py", "line": 74, "end_line": 87, "source_hash": "2c70301670ace276f0037c3a651ada8689f28e26c46484262547ed3733af206a", "source_kind": "code"}, "motif_signature": "motif_exact_936a39bb3068", "motif_coarse_signature": "motif_coarse_662d65d73597", "features": {"controls": ["for_loop", "for_loop", "branch", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 1, "boundary_calls": 3}}_uncertainties_uncertainties{"id": "fn_2291f84a364aab11", "type": "function", "label": "_uncertainties", "path": "repo_semantic/architecture_reconstruction.py", "module": "repo_semantic.architecture_reconstruction", "symbol": "_uncertainties", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/architecture_reconstruction.py", "line": 90, "end_line": 103, "source_hash": "2c70301670ace276f0037c3a651ada8689f28e26c46484262547ed3733af206a", "source_kind": "code"}, "motif_signature": "motif_exact_472ba277b02e", "motif_coarse_signature": "motif_coarse_b4a27ad8a6cb", "features": {"controls": ["branch", "branch", "branch", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 8}}reconstruct_architecturereconstruct_architecture{"id": "fn_8d6b509dc76187cf", "type": "function", "label": "reconstruct_architecture", "path": "repo_semantic/architecture_reconstruction.py", "module": "repo_semantic.architecture_reconstruction", "symbol": "reconstruct_architecture", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/architecture_reconstruction.py", "line": 106, "end_line": 140, "source_hash": "2c70301670ace276f0037c3a651ada8689f28e26c46484262547ed3733af206a", "source_kind": "code"}, "motif_signature": "motif_exact_bb1bc0a09cf0", "motif_coarse_signature": "motif_coarse_ce08f8f7d524", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 4, "boundary_calls": 7}}repo_semantic/execution_paths.pyrepo_semantic/execution_p…{"id": "file_d532ca4e7f3a6bcf", "type": "file", "label": "repo_semantic/execution_paths.py", "path": "repo_semantic/execution_paths.py", "module": "repo_semantic.execution_paths", "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/execution_paths.py", "line": 1, "end_line": 164, "source_hash": "608725e724891c0bf5201bab4ea0cc135d7a45a24831d0b511fed105eab23e25", "source_kind": "code"}}_edge_sort_key_edge_sort_key{"id": "fn_2f6bf2a655f4264f", "type": "function", "label": "_edge_sort_key", "path": "repo_semantic/execution_paths.py", "module": "repo_semantic.execution_paths", "symbol": "_edge_sort_key", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/execution_paths.py", "line": 12, "end_line": 18, "source_hash": "608725e724891c0bf5201bab4ea0cc135d7a45a24831d0b511fed105eab23e25", "source_kind": "code"}, "motif_signature": "motif_exact_83e42922287b", "motif_coarse_signature": "motif_coarse_fca123bd72d6", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 0}}_stable_path_id_stable_path_id{"id": "fn_97a60d277af6fd23", "type": "function", "label": "_stable_path_id", "path": "repo_semantic/execution_paths.py", "module": "repo_semantic.execution_paths", "symbol": "_stable_path_id", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/execution_paths.py", "line": 21, "end_line": 24, "source_hash": "608725e724891c0bf5201bab4ea0cc135d7a45a24831d0b511fed105eab23e25", "source_kind": "code"}, "motif_signature": "motif_exact_b3c2e0b59537", "motif_coarse_signature": "motif_coarse_e3a6d82c57d0", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 4}}_step_from_edge_step_from_edge{"id": "fn_6635528f8e966281", "type": "function", "label": "_step_from_edge", "path": "repo_semantic/execution_paths.py", "module": "repo_semantic.execution_paths", "symbol": "_step_from_edge", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/execution_paths.py", "line": 27, "end_line": 40, "source_hash": "608725e724891c0bf5201bab4ea0cc135d7a45a24831d0b511fed105eab23e25", "source_kind": "code"}, "motif_signature": "motif_exact_44528bd13829", "motif_coarse_signature": "motif_coarse_b2feb91af8fa", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 1}}_make_path_make_path{"id": "fn_6d2ea67990112a1d", "type": "function", "label": "_make_path", "path": "repo_semantic/execution_paths.py", "module": "repo_semantic.execution_paths", "symbol": "_make_path", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/execution_paths.py", "line": 43, "end_line": 59, "source_hash": "608725e724891c0bf5201bab4ea0cc135d7a45a24831d0b511fed105eab23e25", "source_kind": "code"}, "motif_signature": "motif_exact_d96d6867ecd2", "motif_coarse_signature": "motif_coarse_125fe4728a6b", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 1, "boundary_calls": 2}}_seed_groups_seed_groups{"id": "fn_3fd59e05f7159acf", "type": "function", "label": "_seed_groups", "path": "repo_semantic/execution_paths.py", "module": "repo_semantic.execution_paths", "symbol": "_seed_groups", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/execution_paths.py", "line": 62, "end_line": 83, "source_hash": "608725e724891c0bf5201bab4ea0cc135d7a45a24831d0b511fed105eab23e25", "source_kind": "code"}, "motif_signature": "motif_exact_f012d362b0dd", "motif_coarse_signature": "motif_coarse_c10ceceefb4d", "features": {"controls": ["branch", "branch", "branch"], "effects": [], "state_reads": 2, "state_writes": 0, "state_read_targets": ["param:adjacency[]"], "state_write_targets": [], "local_calls": 1, "boundary_calls": 4}}build_execution_pathsbuild_execution_paths{"id": "fn_83565e2b7e9e8281", "type": "function", "label": "build_execution_paths", "path": "repo_semantic/execution_paths.py", "module": "repo_semantic.execution_paths", "symbol": "build_execution_paths", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/execution_paths.py", "line": 86, "end_line": 164, "source_hash": "608725e724891c0bf5201bab4ea0cc135d7a45a24831d0b511fed105eab23e25", "source_kind": "code"}, "motif_signature": "motif_exact_0c0596e5cd65", "motif_coarse_signature": "motif_coarse_6498af11de89", "features": {"controls": ["branch", "branch", "for_loop", "branch", "for_loop", "for_loop", "branch", "branch", "for_loop", "branch", "branch", "branch", "branch", "branch", "branch", "for_loop", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 8, "boundary_calls": 22}}repo_semantic/grounding.pyrepo_semantic/grounding.py{"id": "file_f1989f2aae00936b", "type": "file", "label": "repo_semantic/grounding.py", "path": "repo_semantic/grounding.py", "module": "repo_semantic.grounding", "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/grounding.py", "line": 1, "end_line": 181, "source_hash": "981aae9fc01d42731766226d9cf6759fff7b45633f622e0e5648435b9185a882", "source_kind": "code"}}_bounded_excerpt_bounded_excerpt{"id": "fn_6b14199829170b87", "type": "function", "label": "_bounded_excerpt", "path": "repo_semantic/grounding.py", "module": "repo_semantic.grounding", "symbol": "_bounded_excerpt", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/grounding.py", "line": 19, "end_line": 23, "source_hash": "981aae9fc01d42731766226d9cf6759fff7b45633f622e0e5648435b9185a882", "source_kind": "code"}, "motif_signature": "motif_exact_9c3d562e35b6", "motif_coarse_signature": "motif_coarse_879c57927c05", "features": {"controls": ["branch"], "effects": [], "state_reads": 1, "state_writes": 0, "state_read_targets": ["param:value[]"], "state_write_targets": [], "local_calls": 0, "boundary_calls": 1}}build_grounding_catalogbuild_grounding_catalog{"id": "fn_08cc9995172ef7e1", "type": "function", "label": "build_grounding_catalog", "path": "repo_semantic/grounding.py", "module": "repo_semantic.grounding", "symbol": "build_grounding_catalog", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/grounding.py", "line": 26, "end_line": 128, "source_hash": "981aae9fc01d42731766226d9cf6759fff7b45633f622e0e5648435b9185a882", "source_kind": "code"}, "motif_signature": "motif_exact_83a1d376cc54", "motif_coarse_signature": "motif_coarse_1d063c7b37b2", "features": {"controls": ["for_loop", "for_loop", "for_loop", "for_loop", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 4, "boundary_calls": 29}}build_provider_requestbuild_provider_request{"id": "fn_78a7dc4c8181355c", "type": "function", "label": "build_provider_request", "path": "repo_semantic/grounding.py", "module": "repo_semantic.grounding", "symbol": "build_provider_request", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/grounding.py", "line": 131, "end_line": 181, "source_hash": "981aae9fc01d42731766226d9cf6759fff7b45633f622e0e5648435b9185a882", "source_kind": "code"}, "motif_signature": "motif_exact_9bf03c54a700", "motif_coarse_signature": "motif_coarse_7bef0e8aaa95", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 2, "boundary_calls": 2}}repo_semantic/historical_timeline.pyrepo_semantic/historical_…{"id": "file_fd85751ba7b0653c", "type": "file", "label": "repo_semantic/historical_timeline.py", "path": "repo_semantic/historical_timeline.py", "module": "repo_semantic.historical_timeline", "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/historical_timeline.py", "line": 1, "end_line": 70, "source_hash": "2693e3fd967ac481be8ebd13b279abd92ef78f327194f6795a167e4a213d8b7b", "source_kind": "code"}}_transition_id_transition_id{"id": "fn_09a3e79b2ce684ec", "type": "function", "label": "_transition_id", "path": "repo_semantic/historical_timeline.py", "module": "repo_semantic.historical_timeline", "symbol": "_transition_id", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/historical_timeline.py", "line": 11, "end_line": 13, "source_hash": "2693e3fd967ac481be8ebd13b279abd92ef78f327194f6795a167e4a213d8b7b", "source_kind": "code"}, "motif_signature": "motif_exact_ac0fccfcaff6", "motif_coarse_signature": "motif_coarse_e3a6d82c57d0", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 3}}build_historical_timelinebuild_historical_timeline{"id": "fn_b15eed9230250d73", "type": "function", "label": "build_historical_timeline", "path": "repo_semantic/historical_timeline.py", "module": "repo_semantic.historical_timeline", "symbol": "build_historical_timeline", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/historical_timeline.py", "line": 16, "end_line": 70, "source_hash": "2693e3fd967ac481be8ebd13b279abd92ef78f327194f6795a167e4a213d8b7b", "source_kind": "code"}, "motif_signature": "motif_exact_f773c0361136", "motif_coarse_signature": "motif_coarse_1d063c7b37b2", "features": {"controls": ["branch", "for_loop", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 3, "boundary_calls": 10}}repo_semantic/incremental.pyrepo_semantic/incremental.py{"id": "file_ac3545fcb0dfb1f4", "type": "file", "label": "repo_semantic/incremental.py", "path": "repo_semantic/incremental.py", "module": "repo_semantic.incremental", "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/incremental.py", "line": 1, "end_line": 27, "source_hash": "6f24db1f386eb42763a397ff2f37b0f051242bac64dd43a4495f76147f63998a", "source_kind": "code"}}diff_file_fingerprintsdiff_file_fingerprints{"id": "fn_975893654c28d4b6", "type": "function", "label": "diff_file_fingerprints", "path": "repo_semantic/incremental.py", "module": "repo_semantic.incremental", "symbol": "diff_file_fingerprints", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/incremental.py", "line": 6, "end_line": 14, "source_hash": "6f24db1f386eb42763a397ff2f37b0f051242bac64dd43a4495f76147f63998a", "source_kind": "code"}, "motif_signature": "motif_exact_53619b904696", "motif_coarse_signature": "motif_coarse_ff49519e01f1", "features": {"controls": [], "effects": [], "state_reads": 4, "state_writes": 0, "state_read_targets": ["param:current[]", "param:previous[]"], "state_write_targets": [], "local_calls": 0, "boundary_calls": 7}}_injected_mutable_default_injected_mutable_default{"id": "fn_6a8d8e6630758cc3", "type": "function", "label": "_injected_mutable_default", "path": "repo_semantic/incremental.py", "module": "repo_semantic.incremental", "symbol": "_injected_mutable_default", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/incremental.py", "line": 19, "end_line": 21, "source_hash": "6f24db1f386eb42763a397ff2f37b0f051242bac64dd43a4495f76147f63998a", "source_kind": "code"}, "motif_signature": "motif_exact_44528bd13829", "motif_coarse_signature": "motif_coarse_b2feb91af8fa", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 1}}_injected_bare_except_injected_bare_except{"id": "fn_e5aa9374079897e1", "type": "function", "label": "_injected_bare_except", "path": "repo_semantic/incremental.py", "module": "repo_semantic.incremental", "symbol": "_injected_bare_except", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/incremental.py", "line": 23, "end_line": 27, "source_hash": "6f24db1f386eb42763a397ff2f37b0f051242bac64dd43a4495f76147f63998a", "source_kind": "code"}, "motif_signature": "motif_exact_22178f0240c4", "motif_coarse_signature": "motif_coarse_ef5147893533", "features": {"controls": ["try"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 1}}repo_semantic/limits.pyrepo_semantic/limits.py{"id": "file_6ff25584db5bdee9", "type": "file", "label": "repo_semantic/limits.py", "path": "repo_semantic/limits.py", "module": "repo_semantic.limits", "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/limits.py", "line": 1, "end_line": 78, "source_hash": "36c30278003ea4891e3b7a14743d065a8aa35472922a8b41d8a8a0d81bd4bc10", "source_kind": "code"}}skip_reasonskip_reason{"id": "fn_3131d34e95819520", "type": "function", "label": "skip_reason", "path": "repo_semantic/limits.py", "module": "repo_semantic.limits", "symbol": "skip_reason", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/limits.py", "line": 31, "end_line": 52, "source_hash": "36c30278003ea4891e3b7a14743d065a8aa35472922a8b41d8a8a0d81bd4bc10", "source_kind": "code"}, "motif_signature": "motif_exact_c3152ec9bba9", "motif_coarse_signature": "motif_coarse_eef8fafa6aa1", "features": {"controls": ["try", "branch", "branch", "branch", "branch", "try", "with_scope", "branch"], "effects": ["file_io"], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 8}}RelationBudgetRelationBudget{"id": "class_ab683acba4284345", "type": "class", "label": "RelationBudget", "path": "repo_semantic/limits.py", "module": "repo_semantic.limits", "symbol": "RelationBudget", "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/limits.py", "line": 55, "end_line": 78, "source_hash": "36c30278003ea4891e3b7a14743d065a8aa35472922a8b41d8a8a0d81bd4bc10", "source_kind": "code"}}RelationBudget.__init__RelationBudget.__init__{"id": "fn_797ce9de5b763bde", "type": "method", "label": "RelationBudget.__init__", "path": "repo_semantic/limits.py", "module": "repo_semantic.limits", "symbol": "RelationBudget.__init__", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/limits.py", "line": 61, "end_line": 64, "source_hash": "36c30278003ea4891e3b7a14743d065a8aa35472922a8b41d8a8a0d81bd4bc10", "source_kind": "code"}, "motif_signature": "motif_exact_cfe678dd71e9", "motif_coarse_signature": "motif_coarse_fca123bd72d6", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 4, "state_read_targets": [], "state_write_targets": ["repo_semantic.limits:RelationBudget:self.exhausted", "repo_semantic.limits:RelationBudget:self.per_file", "repo_semantic.limits:RelationBudget:self.total", "repo_semantic.limits:RelationBudget:self.truncated"], "local_calls": 0, "boundary_calls": 0}}RelationBudget.trimRelationBudget.trim{"id": "fn_b5deed204ee6ea29", "type": "method", "label": "RelationBudget.trim", "path": "repo_semantic/limits.py", "module": "repo_semantic.limits", "symbol": "RelationBudget.trim", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/limits.py", "line": 66, "end_line": 78, "source_hash": "36c30278003ea4891e3b7a14743d065a8aa35472922a8b41d8a8a0d81bd4bc10", "source_kind": "code"}, "motif_signature": "motif_exact_6258202b7ed7", "motif_coarse_signature": "motif_coarse_2e95237eb010", "features": {"controls": ["branch", "branch", "branch"], "effects": [], "state_reads": 9, "state_writes": 3, "state_read_targets": ["repo_semantic.limits:RelationBudget:self.exhausted", "repo_semantic.limits:RelationBudget:self.per_file", "repo_semantic.limits:RelationBudget:self.total", "repo_semantic.limits:RelationBudget:self.truncated"], "state_write_targets": ["param:relations[]", "repo_semantic.limits:RelationBudget:self.exhausted"], "local_calls": 0, "boundary_calls": 4}}repo_semantic/semantic_diff.pyrepo_semantic/semantic_di…{"id": "file_821cd3a271ed5fd1", "type": "file", "label": "repo_semantic/semantic_diff.py", "path": "repo_semantic/semantic_diff.py", "module": "repo_semantic.semantic_diff", "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/semantic_diff.py", "line": 1, "end_line": 111, "source_hash": "dafdcb13775c6797310c7b513c02a851b7ddeb1429f19f6358ea04b5c1791844", "source_kind": "code"}}_symbol_identity_symbol_identity{"id": "fn_e8848170feac86e5", "type": "function", "label": "_symbol_identity", "path": "repo_semantic/semantic_diff.py", "module": "repo_semantic.semantic_diff", "symbol": "_symbol_identity", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/semantic_diff.py", "line": 12, "end_line": 14, "source_hash": "dafdcb13775c6797310c7b513c02a851b7ddeb1429f19f6358ea04b5c1791844", "source_kind": "code"}, "motif_signature": "motif_exact_83e42922287b", "motif_coarse_signature": "motif_coarse_fca123bd72d6", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 0}}_entrypoint_identity_entrypoint_identity{"id": "fn_e279df0cfe9e29d4", "type": "function", "label": "_entrypoint_identity", "path": "repo_semantic/semantic_diff.py", "module": "repo_semantic.semantic_diff", "symbol": "_entrypoint_identity", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/semantic_diff.py", "line": 17, "end_line": 18, "source_hash": "dafdcb13775c6797310c7b513c02a851b7ddeb1429f19f6358ea04b5c1791844", "source_kind": "code"}, "motif_signature": "motif_exact_83e42922287b", "motif_coarse_signature": "motif_coarse_fca123bd72d6", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 0}}_relation_ids_relation_ids{"id": "fn_3c9fb80ffc09b71f", "type": "function", "label": "_relation_ids", "path": "repo_semantic/semantic_diff.py", "module": "repo_semantic.semantic_diff", "symbol": "_relation_ids", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/semantic_diff.py", "line": 21, "end_line": 22, "source_hash": "dafdcb13775c6797310c7b513c02a851b7ddeb1429f19f6358ea04b5c1791844", "source_kind": "code"}, "motif_signature": "motif_exact_83e42922287b", "motif_coarse_signature": "motif_coarse_fca123bd72d6", "features": {"controls": [], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 0}}_relation_targets_relation_targets{"id": "fn_2c99672738667854", "type": "function", "label": "_relation_targets", "path": "repo_semantic/semantic_diff.py", "module": "repo_semantic.semantic_diff", "symbol": "_relation_targets", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/semantic_diff.py", "line": 25, "end_line": 39, "source_hash": "dafdcb13775c6797310c7b513c02a851b7ddeb1429f19f6358ea04b5c1791844", "source_kind": "code"}, "motif_signature": "motif_exact_9865d84fdefe", "motif_coarse_signature": "motif_coarse_f373ee2a1d21", "features": {"controls": ["for_loop", "branch", "branch", "branch", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 5}}_lesson_invalidations_lesson_invalidations{"id": "fn_15ef83706c11de0e", "type": "function", "label": "_lesson_invalidations", "path": "repo_semantic/semantic_diff.py", "module": "repo_semantic.semantic_diff", "symbol": "_lesson_invalidations", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/semantic_diff.py", "line": 42, "end_line": 49, "source_hash": "dafdcb13775c6797310c7b513c02a851b7ddeb1429f19f6358ea04b5c1791844", "source_kind": "code"}, "motif_signature": "motif_exact_2dc6d31683fc", "motif_coarse_signature": "motif_coarse_b4a27ad8a6cb", "features": {"controls": ["branch", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 0, "boundary_calls": 10}}build_semantic_diffbuild_semantic_diff{"id": "fn_a46fcfa9dfa949d9", "type": "function", "label": "build_semantic_diff", "path": "repo_semantic/semantic_diff.py", "module": "repo_semantic.semantic_diff", "symbol": "build_semantic_diff", "async": false, "status": "observed", "confidence": 1.0, "evidence": {"path": "repo_semantic/semantic_diff.py", "line": 52, "end_line": 111, "source_hash": "dafdcb13775c6797310c7b513c02a851b7ddeb1429f19f6358ea04b5c1791844", "source_kind": "code"}, "motif_signature": "motif_exact_04eebfb71cf3", "motif_coarse_signature": "motif_coarse_6498af11de89", "features": {"controls": ["branch", "for_loop", "branch", "branch"], "effects": [], "state_reads": 0, "state_writes": 0, "state_read_targets": [], "state_write_targets": [], "local_calls": 8, "boundary_calls": 16}}

Node evidence

Click a node.

SSA-like data flow

Local data footprint feeds Impact Engine but is not transitive across function boundaries.

RelationSourceTargetEvidenceStatus
returns_valuesymbol#0return@10repo_semantic/architecture_reconstruction.py:10observed
returns_valuepath#0return@10repo_semantic/architecture_reconstruction.py:10observed
flows_topath#0nodes#1repo_semantic/architecture_reconstruction.py:14observed
guardspath#0for_looprepo_semantic/architecture_reconstruction.py:15observed
flows_topath#0step#1repo_semantic/architecture_reconstruction.py:15observed
guardsstep#1branchrepo_semantic/architecture_reconstruction.py:16observed
flows_tonodes#1expr@17repo_semantic/architecture_reconstruction.py:17observed
flows_tostep#1expr@17repo_semantic/architecture_reconstruction.py:17observed
flows_tostep#1boundary#1repo_semantic/architecture_reconstruction.py:19observed
flows_tonodes#1expr@20repo_semantic/architecture_reconstruction.py:20observed
flows_toboundary#1expr@20repo_semantic/architecture_reconstruction.py:20observed
phi_inputboundary#1boundary#2repo_semantic/architecture_reconstruction.py:16strongly_inferred
phi_inputboundary:undefinedboundary#2repo_semantic/architecture_reconstruction.py:16unresolved
phi_inputboundary#2boundary#3repo_semantic/architecture_reconstruction.py:15strongly_inferred
phi_inputboundary:undefinedboundary#3repo_semantic/architecture_reconstruction.py:15unresolved
phi_inputstep#1step#2repo_semantic/architecture_reconstruction.py:15strongly_inferred
phi_inputstep:undefinedstep#2repo_semantic/architecture_reconstruction.py:15unresolved
flows_tonodes#1flow#1repo_semantic/architecture_reconstruction.py:21observed
guardspath#0branchrepo_semantic/architecture_reconstruction.py:23observed
flows_tosuffixes#1expr@24repo_semantic/architecture_reconstruction.py:24observed
guardspath#0branchrepo_semantic/architecture_reconstruction.py:25observed
flows_tosuffixes#1expr@26repo_semantic/architecture_reconstruction.py:26observed
guardspath#0branchrepo_semantic/architecture_reconstruction.py:27observed
flows_tosuffixes#1expr@28repo_semantic/architecture_reconstruction.py:28observed
guardssuffixes#1branchrepo_semantic/architecture_reconstruction.py:29observed
flows_toflow#1flow#2repo_semantic/architecture_reconstruction.py:30observed
flows_tosuffixes#1flow#2repo_semantic/architecture_reconstruction.py:30observed
phi_inputflow#1flow#3repo_semantic/architecture_reconstruction.py:29strongly_inferred
phi_inputflow#2flow#3repo_semantic/architecture_reconstruction.py:29strongly_inferred
returns_valueflow#3return@31repo_semantic/architecture_reconstruction.py:31observed
guardsar#0for_looprepo_semantic/architecture_reconstruction.py:39observed
flows_toar#0edge#1repo_semantic/architecture_reconstruction.py:39observed
guardsedge#1branchrepo_semantic/architecture_reconstruction.py:40observed
flows_tolocal_paths#1expr@44repo_semantic/architecture_reconstruction.py:44observed
flows_toedge#1expr@44repo_semantic/architecture_reconstruction.py:44observed
flows_tolocal_paths#1expr@45repo_semantic/architecture_reconstruction.py:45observed
flows_toedge#1expr@45repo_semantic/architecture_reconstruction.py:45observed
phi_inputedge#1edge#2repo_semantic/architecture_reconstruction.py:39strongly_inferred
phi_inputedge:undefinededge#2repo_semantic/architecture_reconstruction.py:39unresolved
flows_toar#0entrypoint_paths#1repo_semantic/architecture_reconstruction.py:47observed
guardslocal_paths#1for_looprepo_semantic/architecture_reconstruction.py:49observed
guardsentrypoint_paths#1for_looprepo_semantic/architecture_reconstruction.py:49observed
flows_tolocal_paths#1path#1repo_semantic/architecture_reconstruction.py:49observed
flows_toentrypoint_paths#1path#1repo_semantic/architecture_reconstruction.py:49observed
flows_toincoming#1inc#1repo_semantic/architecture_reconstruction.py:50observed
flows_topath#1inc#1repo_semantic/architecture_reconstruction.py:50observed
flows_tooutgoing#1out#1repo_semantic/architecture_reconstruction.py:51observed
flows_topath#1out#1repo_semantic/architecture_reconstruction.py:51observed
guardspath#1branchrepo_semantic/architecture_reconstruction.py:52observed
guardsentrypoint_paths#1branchrepo_semantic/architecture_reconstruction.py:52observed
guardsout#1branchrepo_semantic/architecture_reconstruction.py:52observed
guardsinc#1branchrepo_semantic/architecture_reconstruction.py:54observed
guardsout#1branchrepo_semantic/architecture_reconstruction.py:54observed
guardsinc#1branchrepo_semantic/architecture_reconstruction.py:56observed
guardsout#1branchrepo_semantic/architecture_reconstruction.py:56observed
guardsout#1branchrepo_semantic/architecture_reconstruction.py:58observed
flows_topath#1role#5repo_semantic/architecture_reconstruction.py:61observed
flows_toentrypoint_paths#1role#5repo_semantic/architecture_reconstruction.py:61observed
phi_inputrole#4role#6repo_semantic/architecture_reconstruction.py:58strongly_inferred
phi_inputrole#5role#6repo_semantic/architecture_reconstruction.py:58strongly_inferred
phi_inputrole#6role#7repo_semantic/architecture_reconstruction.py:56strongly_inferred
phi_inputrole#3role#7repo_semantic/architecture_reconstruction.py:56strongly_inferred
phi_inputrole#7role#8repo_semantic/architecture_reconstruction.py:54strongly_inferred
phi_inputrole#2role#8repo_semantic/architecture_reconstruction.py:54strongly_inferred
phi_inputrole#1role#9repo_semantic/architecture_reconstruction.py:52strongly_inferred
phi_inputrole#8role#9repo_semantic/architecture_reconstruction.py:52strongly_inferred
flows_torows#1expr@62repo_semantic/architecture_reconstruction.py:62observed
flows_topath#1expr@62repo_semantic/architecture_reconstruction.py:64observed
flows_torole#9expr@62repo_semantic/architecture_reconstruction.py:65observed
flows_toinc#1expr@62repo_semantic/architecture_reconstruction.py:66observed
flows_toout#1expr@62repo_semantic/architecture_reconstruction.py:67observed
phi_inputinc#1inc#2repo_semantic/architecture_reconstruction.py:49strongly_inferred
phi_inputinc:undefinedinc#2repo_semantic/architecture_reconstruction.py:49unresolved
phi_inputout#1out#2repo_semantic/architecture_reconstruction.py:49strongly_inferred
phi_inputout:undefinedout#2repo_semantic/architecture_reconstruction.py:49unresolved
phi_inputpath#1path#2repo_semantic/architecture_reconstruction.py:49strongly_inferred
phi_inputpath:undefinedpath#2repo_semantic/architecture_reconstruction.py:49unresolved
phi_inputrole#9role#10repo_semantic/architecture_reconstruction.py:49strongly_inferred
phi_inputrole:undefinedrole#10repo_semantic/architecture_reconstruction.py:49unresolved
returns_valuerows#1return@71repo_semantic/architecture_reconstruction.py:71observed
guardspaths#0for_looprepo_semantic/architecture_reconstruction.py:77observed
flows_topaths#0path#1repo_semantic/architecture_reconstruction.py:77observed
aliases_at_definitionpaths#0path#1repo_semantic/architecture_reconstruction.py:77observed
guardspath#1for_looprepo_semantic/architecture_reconstruction.py:78observed
flows_topath#1step#1repo_semantic/architecture_reconstruction.py:78observed
guardsstep#1branchrepo_semantic/architecture_reconstruction.py:79observed
flows_tostep#1target#1repo_semantic/architecture_reconstruction.py:81observed
flows_tostep#1source#1repo_semantic/architecture_reconstruction.py:82observed
flows_totarget#1item#1repo_semantic/architecture_reconstruction.py:83observed
flows_tosource#1item#1repo_semantic/architecture_reconstruction.py:83observed
guardsitem#1branchrepo_semantic/architecture_reconstruction.py:84observed
guardsseen#1branchrepo_semantic/architecture_reconstruction.py:84observed
flows_tofound#1expr@85repo_semantic/architecture_reconstruction.py:85observed
flows_toitem#1expr@85repo_semantic/architecture_reconstruction.py:85observed
flows_toseen#1expr@86repo_semantic/architecture_reconstruction.py:86observed
flows_toitem#1expr@86repo_semantic/architecture_reconstruction.py:86observed
phi_inputitem#1item#2repo_semantic/architecture_reconstruction.py:78strongly_inferred
phi_inputitem:undefineditem#2repo_semantic/architecture_reconstruction.py:78unresolved
phi_inputsource#1source#2repo_semantic/architecture_reconstruction.py:78strongly_inferred
phi_inputsource:undefinedsource#2repo_semantic/architecture_reconstruction.py:78unresolved
phi_inputstep#1step#2repo_semantic/architecture_reconstruction.py:78strongly_inferred
phi_inputstep:undefinedstep#2repo_semantic/architecture_reconstruction.py:78unresolved
phi_inputtarget#1target#2repo_semantic/architecture_reconstruction.py:78strongly_inferred
phi_inputtarget:undefinedtarget#2repo_semantic/architecture_reconstruction.py:78unresolved
phi_inputitem#2item#3repo_semantic/architecture_reconstruction.py:77strongly_inferred
phi_inputitem:undefineditem#3repo_semantic/architecture_reconstruction.py:77unresolved
phi_inputpath#1path#2repo_semantic/architecture_reconstruction.py:77strongly_inferred
phi_inputpath:undefinedpath#2repo_semantic/architecture_reconstruction.py:77unresolved
phi_inputsource#2source#3repo_semantic/architecture_reconstruction.py:77strongly_inferred
phi_inputsource:undefinedsource#3repo_semantic/architecture_reconstruction.py:77unresolved
phi_inputstep#2step#3repo_semantic/architecture_reconstruction.py:77strongly_inferred
phi_inputstep:undefinedstep#3repo_semantic/architecture_reconstruction.py:77unresolved
phi_inputtarget#2target#3repo_semantic/architecture_reconstruction.py:77strongly_inferred
phi_inputtarget:undefinedtarget#3repo_semantic/architecture_reconstruction.py:77unresolved
returns_valuefound#1return@87repo_semantic/architecture_reconstruction.py:87observed
flows_toar#0items#1repo_semantic/architecture_reconstruction.py:91observed
flows_topaths#0truncated#1repo_semantic/architecture_reconstruction.py:92observed
flows_topaths#0cycles#1repo_semantic/architecture_reconstruction.py:93observed
flows_topaths#0no_calls#1repo_semantic/architecture_reconstruction.py:94observed
guardstruncated#1branchrepo_semantic/architecture_reconstruction.py:95observed
flows_toitems#1expr@96repo_semantic/architecture_reconstruction.py:96observed
flows_totruncated#1expr@96repo_semantic/architecture_reconstruction.py:96observed
guardscycles#1branchrepo_semantic/architecture_reconstruction.py:97observed
flows_toitems#1expr@98repo_semantic/architecture_reconstruction.py:98observed
flows_tocycles#1expr@98repo_semantic/architecture_reconstruction.py:98observed
guardsno_calls#1branchrepo_semantic/architecture_reconstruction.py:99observed
flows_toitems#1expr@100repo_semantic/architecture_reconstruction.py:100observed
flows_tono_calls#1expr@100repo_semantic/architecture_reconstruction.py:100observed
guardspaths#0branchrepo_semantic/architecture_reconstruction.py:101observed
flows_toitems#1expr@102repo_semantic/architecture_reconstruction.py:102observed
returns_valueitems#1return@103repo_semantic/architecture_reconstruction.py:103observed
flows_toar#0resolved_calls#1repo_semantic/architecture_reconstruction.py:109observed
flows_toar#0overview#1repo_semantic/architecture_reconstruction.py:113observed
flows_toar#0overview#1repo_semantic/architecture_reconstruction.py:114observed
flows_toresolved_calls#1overview#1repo_semantic/architecture_reconstruction.py:114observed
flows_topaths#0overview#1repo_semantic/architecture_reconstruction.py:115observed
flows_topaths#0representative#1repo_semantic/architecture_reconstruction.py:119observed
flows_torepresentative#1core_flow#1repo_semantic/architecture_reconstruction.py:122observed
returns_valueoverview#1return@124repo_semantic/architecture_reconstruction.py:125observed
returns_valuecore_flow#1return@124repo_semantic/architecture_reconstruction.py:126observed
returns_valuear#0return@124repo_semantic/architecture_reconstruction.py:127observed
returns_valuear#0return@124repo_semantic/architecture_reconstruction.py:136observed
returns_valuepaths#0return@124repo_semantic/architecture_reconstruction.py:138observed
returns_valuear#0return@124repo_semantic/architecture_reconstruction.py:139observed
returns_valuepaths#0return@124repo_semantic/architecture_reconstruction.py:139observed
returns_valueedge#0return@13repo_semantic/execution_paths.py:14observed
returns_valueedge#0return@13repo_semantic/execution_paths.py:15observed
returns_valueedge#0return@13repo_semantic/execution_paths.py:16observed
returns_valueedge#0return@13repo_semantic/execution_paths.py:17observed
flows_tosteps#0relation_ids#1repo_semantic/execution_paths.py:22observed
flows_toentrypoint_path#0raw#1repo_semantic/execution_paths.py:23observed
flows_toentrypoint_symbol#0raw#1repo_semantic/execution_paths.py:23observed
flows_torelation_ids#1raw#1repo_semantic/execution_paths.py:23observed
returns_valueraw#1return@24repo_semantic/execution_paths.py:24observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:29observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:30observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:31observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:32observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:33observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:34observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:35observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:36observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:37observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:38observed
returns_valueedge#0return@28repo_semantic/execution_paths.py:39observed
returns_valueentrypoint#0return@51repo_semantic/execution_paths.py:52observed
returns_valuesteps#0return@51repo_semantic/execution_paths.py:52observed
returns_valueentrypoint#0return@51repo_semantic/execution_paths.py:53observed
returns_valueentrypoint#0return@51repo_semantic/execution_paths.py:54observed
returns_valuesteps#0return@51repo_semantic/execution_paths.py:55observed
returns_valueterminal_reason#0return@51repo_semantic/execution_paths.py:56observed
returns_valuetruncated#0return@51repo_semantic/execution_paths.py:57observed
returns_valuecycle_detected#0return@51repo_semantic/execution_paths.py:58observed
flows_toentrypoint#0exact#1repo_semantic/execution_paths.py:63observed
guardsadjacency#0branchrepo_semantic/execution_paths.py:64observed
guardsexact#1branchrepo_semantic/execution_paths.py:64observed
returns_valueexact#1return@65repo_semantic/execution_paths.py:65observed
returns_valueadjacency#0return@65repo_semantic/execution_paths.py:65observed
flows_toentrypoint#0file_level#1repo_semantic/execution_paths.py:67observed
guardsadjacency#0branchrepo_semantic/execution_paths.py:68observed
guardsfile_level#1branchrepo_semantic/execution_paths.py:68observed
returns_valuefile_level#1return@69repo_semantic/execution_paths.py:69observed
returns_valueadjacency#0return@69repo_semantic/execution_paths.py:69observed
guardsentrypoint#0branchrepo_semantic/execution_paths.py:74observed
flows_toadjacency#0groups#1repo_semantic/execution_paths.py:77observed
flows_toentrypoint#0groups#1repo_semantic/execution_paths.py:78observed
flows_togroups#1expr@80repo_semantic/execution_paths.py:80observed
returns_valuegroups#1return@81repo_semantic/execution_paths.py:81observed
guardsmax_depth#0branchrepo_semantic/execution_paths.py:98observed
guardsmax_paths_per_entrypoint#0branchrepo_semantic/execution_paths.py:100observed
guardsrelations#0for_looprepo_semantic/execution_paths.py:104observed
flows_torelations#0edge#1repo_semantic/execution_paths.py:104observed
aliases_at_definitionrelations#0edge#1repo_semantic/execution_paths.py:104observed
guardsedge#1branchrepo_semantic/execution_paths.py:105observed
flows_toadjacency#1expr@107repo_semantic/execution_paths.py:107observed
flows_toedge#1expr@107repo_semantic/execution_paths.py:107observed
phi_inputedge#1edge#2repo_semantic/execution_paths.py:104strongly_inferred
phi_inputedge:undefinededge#2repo_semantic/execution_paths.py:104unresolved
guardsadjacency#1for_looprepo_semantic/execution_paths.py:108observed
flows_toadjacency#1edges#1repo_semantic/execution_paths.py:108observed
flows_toedges#1expr@109repo_semantic/execution_paths.py:109observed
phi_inputedges#1edges#2repo_semantic/execution_paths.py:108strongly_inferred
phi_inputedges:undefinededges#2repo_semantic/execution_paths.py:108unresolved
guardsentrypoints#0for_looprepo_semantic/execution_paths.py:113observed
flows_toentrypoints#0entrypoint#1repo_semantic/execution_paths.py:113observed
flows_toentrypoint#1seed_groups#1repo_semantic/execution_paths.py:115observed
flows_toadjacency#1seed_groups#1repo_semantic/execution_paths.py:115observed
guardsseed_groups#1branchrepo_semantic/execution_paths.py:116observed
flows_toemitted#1expr@117repo_semantic/execution_paths.py:117observed
flows_toentrypoint#1expr@117repo_semantic/execution_paths.py:117observed
flows_toall_paths#1expr@118repo_semantic/execution_paths.py:118observed
flows_toemitted#1expr@118repo_semantic/execution_paths.py:118observed
guardsseed_groups#1for_looprepo_semantic/execution_paths.py:157observed
flows_toseed_groups#1state#1repo_semantic/execution_paths.py:157observed
aliases_at_definitionseed_groups#1state#1repo_semantic/execution_paths.py:157observed
flows_toseed_groups#1outgoing#1repo_semantic/execution_paths.py:157observed
aliases_at_definitionseed_groups#1outgoing#1repo_semantic/execution_paths.py:157observed
guardsemitted#1branchrepo_semantic/execution_paths.py:158observed
guardsmax_paths_per_entrypoint#0branchrepo_semantic/execution_paths.py:158observed
flows_towalk#1expr@160repo_semantic/execution_paths.py:160observed
flows_tostate#1expr@160repo_semantic/execution_paths.py:160observed
flows_tooutgoing#1expr@160repo_semantic/execution_paths.py:160observed
phi_inputoutgoing#1outgoing#2repo_semantic/execution_paths.py:157strongly_inferred
phi_inputoutgoing:undefinedoutgoing#2repo_semantic/execution_paths.py:157unresolved
phi_inputstate#1state#2repo_semantic/execution_paths.py:157strongly_inferred
phi_inputstate:undefinedstate#2repo_semantic/execution_paths.py:157unresolved
flows_toall_paths#1expr@162repo_semantic/execution_paths.py:162observed
flows_toemitted#1expr@162repo_semantic/execution_paths.py:162observed
flows_tomax_paths_per_entrypoint#0expr@162repo_semantic/execution_paths.py:162observed
phi_inputemitted#1emitted#2repo_semantic/execution_paths.py:113strongly_inferred
phi_inputemitted:undefinedemitted#2repo_semantic/execution_paths.py:113unresolved
phi_inputentrypoint#1entrypoint#2repo_semantic/execution_paths.py:113strongly_inferred
phi_inputentrypoint:undefinedentrypoint#2repo_semantic/execution_paths.py:113unresolved
phi_inputoutgoing#2outgoing#3repo_semantic/execution_paths.py:113strongly_inferred
phi_inputoutgoing:undefinedoutgoing#3repo_semantic/execution_paths.py:113unresolved
phi_inputseed_groups#1seed_groups#2repo_semantic/execution_paths.py:113strongly_inferred
phi_inputseed_groups:undefinedseed_groups#2repo_semantic/execution_paths.py:113unresolved
phi_inputstate#2state#3repo_semantic/execution_paths.py:113strongly_inferred
phi_inputstate:undefinedstate#3repo_semantic/execution_paths.py:113unresolved
phi_inputwalk#1walk#2repo_semantic/execution_paths.py:113strongly_inferred
phi_inputwalk:undefinedwalk#2repo_semantic/execution_paths.py:113unresolved
returns_valueall_paths#1return@164repo_semantic/execution_paths.py:164observed
guardsvalue#0branchrepo_semantic/grounding.py:20observed
flows_tovalue#0value#1repo_semantic/grounding.py:22observed
returns_valuevalue#1return@23repo_semantic/grounding.py:23observed
returns_valuelimit#0return@23repo_semantic/grounding.py:23observed
flows_toar#0reconstruction#1repo_semantic/grounding.py:28observed
guardsar#0for_looprepo_semantic/grounding.py:56observed
flows_toar#0node#1repo_semantic/grounding.py:56observed
phi_inputnode#1node#2repo_semantic/grounding.py:56strongly_inferred
phi_inputnode:undefinednode#2repo_semantic/grounding.py:56unresolved
guardsar#0for_looprepo_semantic/grounding.py:71observed
flows_toar#0block#1repo_semantic/grounding.py:71observed
phi_inputblock#1block#2repo_semantic/grounding.py:71strongly_inferred
phi_inputblock:undefinedblock#2repo_semantic/grounding.py:71unresolved
guardsar#0for_looprepo_semantic/grounding.py:90observed
flows_toar#0edge#1repo_semantic/grounding.py:90observed
flows_toedge#1evidence_id#1repo_semantic/grounding.py:91observed
phi_inputedge#1edge#2repo_semantic/grounding.py:90strongly_inferred
phi_inputedge:undefinededge#2repo_semantic/grounding.py:90unresolved
phi_inputevidence_id#1evidence_id#2repo_semantic/grounding.py:90strongly_inferred
phi_inputevidence_id:undefinedevidence_id#2repo_semantic/grounding.py:90unresolved
guardsar#0for_looprepo_semantic/grounding.py:108observed
flows_toar#0path#1repo_semantic/grounding.py:108observed
phi_inputpath#1path#2repo_semantic/grounding.py:108strongly_inferred
phi_inputpath:undefinedpath#2repo_semantic/grounding.py:108unresolved
guardscatalog#1branchrepo_semantic/grounding.py:122observed
guardsmax_items#0branchrepo_semantic/grounding.py:122observed
flows_tocatalog#1selected#1repo_semantic/grounding.py:125observed
flows_topriority#1selected#1repo_semantic/grounding.py:125observed
flows_tomax_items#0selected#1repo_semantic/grounding.py:125observed
flows_toselected#1catalog#2repo_semantic/grounding.py:126observed
phi_inputcatalog#2catalog#3repo_semantic/grounding.py:122strongly_inferred
phi_inputcatalog#1catalog#3repo_semantic/grounding.py:122strongly_inferred
phi_inputpriority#1priority#2repo_semantic/grounding.py:122strongly_inferred
phi_inputpriority:undefinedpriority#2repo_semantic/grounding.py:122unresolved
phi_inputselected#1selected#2repo_semantic/grounding.py:122strongly_inferred
phi_inputselected:undefinedselected#2repo_semantic/grounding.py:122unresolved
returns_valuecatalog#3return@128repo_semantic/grounding.py:128observed
flows_torequested_sections#0sections#1repo_semantic/grounding.py:136observed
flows_toar#0catalog#1repo_semantic/grounding.py:137observed
flows_toar#0architecture#1repo_semantic/grounding.py:138observed
returns_valueaudience#0return@139repo_semantic/grounding.py:141observed
returns_valuesections#1return@139repo_semantic/grounding.py:142observed
returns_valuear#0return@139repo_semantic/grounding.py:144observed
returns_valuear#0return@139repo_semantic/grounding.py:145observed
returns_valuear#0return@139repo_semantic/grounding.py:146observed
returns_valuear#0return@139repo_semantic/grounding.py:147observed
returns_valuear#0return@139repo_semantic/grounding.py:148observed
returns_valuear#0return@139repo_semantic/grounding.py:149observed
returns_valuear#0return@139repo_semantic/grounding.py:150observed
returns_valuear#0return@139repo_semantic/grounding.py:151observed
returns_valuear#0return@139repo_semantic/grounding.py:152observed
returns_valuearchitecture#1return@139repo_semantic/grounding.py:154observed
returns_valuecatalog#1return@139repo_semantic/grounding.py:155observed
flows_tofrom_snapshot_id#0raw#1repo_semantic/historical_timeline.py:12observed
flows_toto_snapshot_id#0raw#1repo_semantic/historical_timeline.py:12observed
returns_valueraw#1return@13repo_semantic/historical_timeline.py:13observed
flows_tocache#0history#1repo_semantic/historical_timeline.py:22observed
flows_tosource_key#0history#1repo_semantic/historical_timeline.py:22observed
flows_toanalyzer_version#0history#1repo_semantic/historical_timeline.py:22observed
flows_tolimit#0history#1repo_semantic/historical_timeline.py:22observed
guardshistory#1branchrepo_semantic/historical_timeline.py:23observed
guardshistory#1branchrepo_semantic/historical_timeline.py:27observed
flows_tohistory#1history#2repo_semantic/historical_timeline.py:29observed
phi_inputhistory#2history#3repo_semantic/historical_timeline.py:23strongly_inferred
phi_inputhistory#1history#3repo_semantic/historical_timeline.py:23strongly_inferred
flows_tohistory#3snapshots#1repo_semantic/historical_timeline.py:40observed
guardshistory#3for_looprepo_semantic/historical_timeline.py:43observed
flows_tohistory#3previous#1repo_semantic/historical_timeline.py:43observed
flows_tohistory#3current#1repo_semantic/historical_timeline.py:43observed
flows_toprevious#1changes#1repo_semantic/historical_timeline.py:44observed
flows_tocurrent#1changes#1repo_semantic/historical_timeline.py:44observed
flows_toprevious#1semantic_diff#1repo_semantic/historical_timeline.py:45observed
flows_tocurrent#1semantic_diff#1repo_semantic/historical_timeline.py:45observed
flows_tochanges#1semantic_diff#1repo_semantic/historical_timeline.py:45observed
flows_totransitions#1expr@46repo_semantic/historical_timeline.py:46observed
flows_toprevious#1expr@46repo_semantic/historical_timeline.py:48observed
flows_tocurrent#1expr@46repo_semantic/historical_timeline.py:48observed
flows_toprevious#1expr@46repo_semantic/historical_timeline.py:49observed
flows_tocurrent#1expr@46repo_semantic/historical_timeline.py:50observed
flows_toprevious#1expr@46repo_semantic/historical_timeline.py:51observed
flows_tocurrent#1expr@46repo_semantic/historical_timeline.py:52observed
flows_toprevious#1expr@46repo_semantic/historical_timeline.py:53observed
flows_tocurrent#1expr@46repo_semantic/historical_timeline.py:54observed
flows_tosemantic_diff#1expr@46repo_semantic/historical_timeline.py:55observed
phi_inputchanges#1changes#2repo_semantic/historical_timeline.py:43strongly_inferred
phi_inputchanges:undefinedchanges#2repo_semantic/historical_timeline.py:43unresolved
phi_inputcurrent#1current#2repo_semantic/historical_timeline.py:43strongly_inferred
phi_inputcurrent:undefinedcurrent#2repo_semantic/historical_timeline.py:43unresolved
phi_inputprevious#1previous#2repo_semantic/historical_timeline.py:43strongly_inferred
phi_inputprevious:undefinedprevious#2repo_semantic/historical_timeline.py:43unresolved
phi_inputsemantic_diff#1semantic_diff#2repo_semantic/historical_timeline.py:43strongly_inferred
phi_inputsemantic_diff:undefinedsemantic_diff#2repo_semantic/historical_timeline.py:43unresolved
guardssnapshots#1branchrepo_semantic/historical_timeline.py:61observed
flows_towarnings#1expr@62repo_semantic/historical_timeline.py:62observed
returns_valuesource_key#0return@63repo_semantic/historical_timeline.py:64observed
returns_valueanalyzer_version#0return@63repo_semantic/historical_timeline.py:65observed
returns_valuesnapshots#1return@63repo_semantic/historical_timeline.py:66observed
returns_valuetransitions#1return@63repo_semantic/historical_timeline.py:67observed
returns_valuewarnings#1return@63repo_semantic/historical_timeline.py:69observed
flows_toprevious#0previous_paths#1repo_semantic/incremental.py:7observed
flows_tocurrent#0current_paths#1repo_semantic/incremental.py:8observed
flows_tocurrent_paths#1added#1repo_semantic/incremental.py:9observed
flows_toprevious_paths#1added#1repo_semantic/incremental.py:9observed
flows_toprevious_paths#1deleted#1repo_semantic/incremental.py:10observed
flows_tocurrent_paths#1deleted#1repo_semantic/incremental.py:10observed
flows_toprevious_paths#1shared#1repo_semantic/incremental.py:11observed
flows_tocurrent_paths#1shared#1repo_semantic/incremental.py:11observed
flows_toshared#1modified#1repo_semantic/incremental.py:12observed
flows_toprevious#0modified#1repo_semantic/incremental.py:12observed
flows_tocurrent#0modified#1repo_semantic/incremental.py:12observed
flows_toshared#1unchanged#1repo_semantic/incremental.py:13observed
flows_toprevious#0unchanged#1repo_semantic/incremental.py:13observed
flows_tocurrent#0unchanged#1repo_semantic/incremental.py:13observed
returns_valueadded#1return@14repo_semantic/incremental.py:14observed
returns_valuemodified#1return@14repo_semantic/incremental.py:14observed
returns_valuedeleted#1return@14repo_semantic/incremental.py:14observed
returns_valueunchanged#1return@14repo_semantic/incremental.py:14observed
returns_valuebucket#0return@20repo_semantic/incremental.py:20observed
flows_topath#0size#1repo_semantic/limits.py:34observed
returns_valueexc#1return@36repo_semantic/limits.py:36observed
flows_torel#0lower#1repo_semantic/limits.py:37observed
guardslower#1branchrepo_semantic/limits.py:38observed
guardslower#1branchrepo_semantic/limits.py:40observed
guardssize#1branchrepo_semantic/limits.py:42observed
returns_valuesize#1return@43repo_semantic/limits.py:43observed
guardslower#1branchrepo_semantic/limits.py:44observed
guardssize#1branchrepo_semantic/limits.py:44observed
guardspath#0with_scoperepo_semantic/limits.py:46observed
flows_topath#0fh#1repo_semantic/limits.py:46observed
flows_tofh#1longest#1repo_semantic/limits.py:47observed
guardslongest#1branchrepo_semantic/limits.py:50observed
returns_valuelongest#1return@51repo_semantic/limits.py:51observed
phi_inputfh#1fh#2repo_semantic/limits.py:44strongly_inferred
phi_inputfh:undefinedfh#2repo_semantic/limits.py:44unresolved
phi_inputlongest#1longest#2repo_semantic/limits.py:44strongly_inferred
phi_inputlongest:undefinedlongest#2repo_semantic/limits.py:44unresolved
flows_torelations#0produced#1repo_semantic/limits.py:68observed
flows_tostart#0produced#1repo_semantic/limits.py:68observed
guardsproduced#1branchrepo_semantic/limits.py:69observed
guardsself#0branchrepo_semantic/limits.py:69observed
flows_toself#0expr@71repo_semantic/limits.py:71observed
flows_tosource_path#0expr@71repo_semantic/limits.py:71observed
flows_toproduced#1expr@71repo_semantic/limits.py:71observed
guardsrelations#0branchrepo_semantic/limits.py:72observed
guardsself#0branchrepo_semantic/limits.py:72observed
guardsself#0branchrepo_semantic/limits.py:74observed
flows_toself#0expr@76repo_semantic/limits.py:76observed
flows_tosource_path#0expr@76repo_semantic/limits.py:76observed
flows_toitem#0symbol#1repo_semantic/semantic_diff.py:13observed
returns_valueitem#0return@14repo_semantic/semantic_diff.py:14observed
returns_valuesymbol#1return@14repo_semantic/semantic_diff.py:14observed
returns_valueitem#0return@18repo_semantic/semantic_diff.py:18observed
returns_valueitems#0return@22repo_semantic/semantic_diff.py:22observed
guardsedges#0for_looprepo_semantic/semantic_diff.py:27observed
flows_toedges#0edge#1repo_semantic/semantic_diff.py:27observed
aliases_at_definitionedges#0edge#1repo_semantic/semantic_diff.py:27observed
guardsedge#1branchrepo_semantic/semantic_diff.py:28observed
guardsedge#1branchrepo_semantic/semantic_diff.py:30observed
flows_totargets#1expr@31repo_semantic/semantic_diff.py:31observed
flows_toedge#1expr@31repo_semantic/semantic_diff.py:31observed
flows_totargets#1expr@33repo_semantic/semantic_diff.py:33observed
flows_toedge#1expr@33repo_semantic/semantic_diff.py:33observed
guardsedge#1branchrepo_semantic/semantic_diff.py:34observed
guardsedge#1branchrepo_semantic/semantic_diff.py:35observed
flows_totargets#1expr@36repo_semantic/semantic_diff.py:36observed
flows_toedge#1expr@36repo_semantic/semantic_diff.py:36observed
flows_totargets#1expr@38repo_semantic/semantic_diff.py:38observed
flows_toedge#1expr@38repo_semantic/semantic_diff.py:38observed
phi_inputedge#1edge#2repo_semantic/semantic_diff.py:27strongly_inferred
phi_inputedge:undefinededge#2repo_semantic/semantic_diff.py:27unresolved
returns_valuetargets#1return@39repo_semantic/semantic_diff.py:39observed
flows_tochanges#0changed_paths#1repo_semantic/semantic_diff.py:44observed
guardschanged_paths#1branchrepo_semantic/semantic_diff.py:45observed
flows_toinvalid#1expr@46repo_semantic/semantic_diff.py:46observed
guardschanged_paths#1branchrepo_semantic/semantic_diff.py:47observed
flows_toinvalid#1expr@48repo_semantic/semantic_diff.py:48observed
returns_valueinvalid#1return@49repo_semantic/semantic_diff.py:49observed
flows_tocurrent#0to_revision#1repo_semantic/semantic_diff.py:57observed
guardsprevious#0branchrepo_semantic/semantic_diff.py:58observed
returns_valueto_revision#1return@59repo_semantic/semantic_diff.py:62observed
returns_valuefile_changes#0return@59repo_semantic/semantic_diff.py:63observed
flows_tofile_changes#0changes#1repo_semantic/semantic_diff.py:67observed
flows_toprevious#0previous_symbols#1repo_semantic/semantic_diff.py:68observed
flows_tocurrent#0current_symbols#1repo_semantic/semantic_diff.py:69observed
flows_toprevious#0previous_relations#1repo_semantic/semantic_diff.py:70observed
flows_tocurrent#0current_relations#1repo_semantic/semantic_diff.py:71observed
flows_toprevious#0previous_entries#1repo_semantic/semantic_diff.py:72observed
flows_tocurrent#0current_entries#1repo_semantic/semantic_diff.py:73observed
flows_toprevious#0previous_rel_by_id#1repo_semantic/semantic_diff.py:75observed
flows_tocurrent#0current_rel_by_id#1repo_semantic/semantic_diff.py:76observed
flows_tocurrent_relations#1added_relation_ids#1repo_semantic/semantic_diff.py:77observed
flows_toprevious_relations#1added_relation_ids#1repo_semantic/semantic_diff.py:77observed
flows_toprevious_relations#1removed_relation_ids#1repo_semantic/semantic_diff.py:78observed
flows_tocurrent_relations#1removed_relation_ids#1repo_semantic/semantic_diff.py:78observed
flows_toadded_relation_ids#1changed_relation_edges#1repo_semantic/semantic_diff.py:79observed
flows_tocurrent_rel_by_id#1changed_relation_edges#1repo_semantic/semantic_diff.py:79observed
flows_tochanged_relation_edges#1expr@80repo_semantic/semantic_diff.py:80observed
flows_toremoved_relation_ids#1expr@80repo_semantic/semantic_diff.py:80observed
flows_toprevious_rel_by_id#1expr@80repo_semantic/semantic_diff.py:80observed
flows_toprevious#0block_paths#1repo_semantic/semantic_diff.py:82observed
flows_tocurrent#0block_paths#1repo_semantic/semantic_diff.py:82observed
flows_tochanges#1changed_block_files#1repo_semantic/semantic_diff.py:83observed
flows_toblock_paths#1changed_block_files#1repo_semantic/semantic_diff.py:83observed
flows_tochanged_relation_edges#1impact_targets#1repo_semantic/semantic_diff.py:85observed
flows_tochanged_block_files#1changed_path_set#1repo_semantic/semantic_diff.py:86observed
guardsprevious#0for_looprepo_semantic/semantic_diff.py:87observed
guardscurrent#0for_looprepo_semantic/semantic_diff.py:87observed
flows_toprevious#0block#1repo_semantic/semantic_diff.py:87observed
flows_tocurrent#0block#1repo_semantic/semantic_diff.py:87observed
guardsblock#1branchrepo_semantic/semantic_diff.py:88observed
guardschanged_path_set#1branchrepo_semantic/semantic_diff.py:88observed
flows_toimpact_targets#1expr@90repo_semantic/semantic_diff.py:90observed
flows_toblock#1expr@90repo_semantic/semantic_diff.py:90observed
guardsblock#1branchrepo_semantic/semantic_diff.py:91observed
flows_toimpact_targets#1expr@92repo_semantic/semantic_diff.py:92observed
flows_toblock#1expr@92repo_semantic/semantic_diff.py:92observed
phi_inputblock#1block#2repo_semantic/semantic_diff.py:87strongly_inferred
phi_inputblock:undefinedblock#2repo_semantic/semantic_diff.py:87unresolved
returns_valueprevious#0return@94repo_semantic/semantic_diff.py:96observed
returns_valueto_revision#1return@94repo_semantic/semantic_diff.py:97observed
returns_valuechanges#1return@94repo_semantic/semantic_diff.py:98observed
returns_valuecurrent_symbols#1return@94repo_semantic/semantic_diff.py:99observed
returns_valueprevious_symbols#1return@94repo_semantic/semantic_diff.py:99observed
returns_valueprevious_symbols#1return@94repo_semantic/semantic_diff.py:100observed
returns_valuecurrent_symbols#1return@94repo_semantic/semantic_diff.py:100observed
returns_valueadded_relation_ids#1return@94repo_semantic/semantic_diff.py:101observed
returns_valueremoved_relation_ids#1return@94repo_semantic/semantic_diff.py:102observed
returns_valuecurrent_entries#1return@94repo_semantic/semantic_diff.py:103observed
returns_valueprevious_entries#1return@94repo_semantic/semantic_diff.py:103observed
returns_valueprevious_entries#1return@94repo_semantic/semantic_diff.py:104observed
returns_valuecurrent_entries#1return@94repo_semantic/semantic_diff.py:104observed
returns_valuechanged_block_files#1return@94repo_semantic/semantic_diff.py:105observed
returns_valuechanges#1return@94repo_semantic/semantic_diff.py:106observed
returns_valueimpact_targets#1return@94repo_semantic/semantic_diff.py:107observed

State regions

AccessFunctionRegionKindEvidence
reads_state_seed_groupsparam:adjacency[]parameter_containerrepo_semantic/execution_paths.py:65
reads_state_seed_groupsparam:adjacency[]parameter_containerrepo_semantic/execution_paths.py:69
reads_state_bounded_excerptparam:value[]parameter_containerrepo_semantic/grounding.py:23
reads_statediff_file_fingerprintsparam:previous[]parameter_containerrepo_semantic/incremental.py:12
reads_statediff_file_fingerprintsparam:current[]parameter_containerrepo_semantic/incremental.py:12
reads_statediff_file_fingerprintsparam:previous[]parameter_containerrepo_semantic/incremental.py:13
reads_statediff_file_fingerprintsparam:current[]parameter_containerrepo_semantic/incremental.py:13
writes_stateRelationBudget.__init__repo_semantic.limits:RelationBudget:self.per_fileobject_fieldrepo_semantic/limits.py:62
writes_stateRelationBudget.__init__repo_semantic.limits:RelationBudget:self.totalobject_fieldrepo_semantic/limits.py:62
writes_stateRelationBudget.__init__repo_semantic.limits:RelationBudget:self.truncatedobject_fieldrepo_semantic/limits.py:63
writes_stateRelationBudget.__init__repo_semantic.limits:RelationBudget:self.exhaustedobject_fieldrepo_semantic/limits.py:64
reads_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.per_fileobject_fieldrepo_semantic/limits.py:69
writes_stateRelationBudget.trimparam:relations[]parameter_containerrepo_semantic/limits.py:70
reads_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.per_fileobject_fieldrepo_semantic/limits.py:70
reads_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.truncatedobject_fieldrepo_semantic/limits.py:71
reads_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.per_fileobject_fieldrepo_semantic/limits.py:71
reads_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.totalobject_fieldrepo_semantic/limits.py:72
writes_stateRelationBudget.trimparam:relations[]parameter_containerrepo_semantic/limits.py:73
reads_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.totalobject_fieldrepo_semantic/limits.py:73
reads_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.exhaustedobject_fieldrepo_semantic/limits.py:74
writes_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.exhaustedobject_fieldrepo_semantic/limits.py:75
reads_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.truncatedobject_fieldrepo_semantic/limits.py:76
reads_stateRelationBudget.trimrepo_semantic.limits:RelationBudget:self.totalobject_fieldrepo_semantic/limits.py:76

Module binding reads

FunctionBindingEvidence
build_execution_pathsrepo_semantic.execution_paths:binding:Staterepo_semantic/execution_paths.py:103
build_provider_requestrepo_semantic.grounding:binding:DEFAULT_SECTIONSrepo_semantic/grounding.py:136
skip_reasonrepo_semantic.limits:binding:_VENDORED_MARKERSrepo_semantic/limits.py:38
skip_reasonrepo_semantic.limits:binding:MAX_SOURCE_FILE_BYTESrepo_semantic/limits.py:42
skip_reasonrepo_semantic.limits:binding:MAX_SOURCE_FILE_BYTESrepo_semantic/limits.py:43
skip_reasonrepo_semantic.limits:binding:MINIFIED_MIN_BYTESrepo_semantic/limits.py:44
skip_reasonrepo_semantic.limits:binding:MINIFIED_MAX_LINE_CHARSrepo_semantic/limits.py:50
_lesson_invalidationsrepo_semantic.semantic_diff:binding:CODE_SUFFIXESrepo_semantic/semantic_diff.py:45
_lesson_invalidationsrepo_semantic.semantic_diff:binding:README_NAMESrepo_semantic/semantic_diff.py:47
_lesson_invalidationsrepo_semantic.semantic_diff:binding:MANIFEST_NAMESrepo_semantic/semantic_diff.py:47

Explicit exception flow

RelationSourceTargetEvidenceStatus
raisesbuild_execution_pathsraise ValueErrorrepo_semantic/execution_paths.py:99observed
exception_flowraise ValueErroruncaught:ValueErrorrepo_semantic/execution_paths.py:99unresolved
raisesbuild_execution_pathsraise ValueErrorrepo_semantic/execution_paths.py:101observed
exception_flowraise ValueErroruncaught:ValueErrorrepo_semantic/execution_paths.py:101unresolved
raises_injected_bare_exceptraise RuntimeErrorrepo_semantic/incremental.py:25observed
caught_byraise RuntimeErrorexcept *repo_semantic/incremental.py:25strongly_inferred

Findings

SeverityClassTypeLocationSymbolEvidence statement
highdefectmutable_defaultrepo_semantic/incremental.py:19_injected_mutable_defaultMutable default argument can retain state across calls.
highdefectunreachable_statementrepo_semantic/incremental.py:21_injected_mutable_defaultStatement follows an unconditional terminator in the same lexical block.
mediumdefectbare_exceptrepo_semantic/incremental.py:26_injected_bare_exceptBare except catches every exception type.
mediumdefectmodule_import_cycle:Loaded modules form a static import cycle.
infohotspotboundary_heavyrepo_semantic/architecture_reconstruction.py:_uncertaintiesMany calls cross the resolved graph boundary.
infohotspotboundary_heavyrepo_semantic/execution_paths.py:build_execution_pathsMany calls cross the resolved graph boundary.
infohotspotboundary_heavyrepo_semantic/grounding.py:build_grounding_catalogMany calls cross the resolved graph boundary.
infohotspotboundary_heavyrepo_semantic/historical_timeline.py:build_historical_timelineMany calls cross the resolved graph boundary.
infohotspotboundary_heavyrepo_semantic/limits.py:skip_reasonMany calls cross the resolved graph boundary.
infohotspotboundary_heavyrepo_semantic/semantic_diff.py:_lesson_invalidationsMany calls cross the resolved graph boundary.
infohotspotboundary_heavyrepo_semantic/semantic_diff.py:build_semantic_diffMany calls cross the resolved graph boundary.
infohotspothigh_call_fanoutrepo_semantic/architecture_reconstruction.py:_flow_descriptionHigh static call fan-out; review as an orchestration/hotspot node.
infohotspothigh_call_fanoutrepo_semantic/architecture_reconstruction.py:_uncertaintiesHigh static call fan-out; review as an orchestration/hotspot node.
infohotspothigh_call_fanoutrepo_semantic/architecture_reconstruction.py:reconstruct_architectureHigh static call fan-out; review as an orchestration/hotspot node.
infohotspothigh_call_fanoutrepo_semantic/execution_paths.py:build_execution_pathsHigh static call fan-out; review as an orchestration/hotspot node.
infohotspothigh_call_fanoutrepo_semantic/grounding.py:build_grounding_catalogHigh static call fan-out; review as an orchestration/hotspot node.
infohotspothigh_call_fanoutrepo_semantic/historical_timeline.py:build_historical_timelineHigh static call fan-out; review as an orchestration/hotspot node.
infohotspothigh_call_fanoutrepo_semantic/limits.py:skip_reasonHigh static call fan-out; review as an orchestration/hotspot node.
infohotspothigh_call_fanoutrepo_semantic/semantic_diff.py:_lesson_invalidationsHigh static call fan-out; review as an orchestration/hotspot node.
infohotspothigh_call_fanoutrepo_semantic/semantic_diff.py:build_semantic_diffHigh static call fan-out; review as an orchestration/hotspot node.

Deterministic motif candidates

KindPathSymbolConfidenceStructural rule
boundary_orchestrationrepo_semantic/architecture_reconstruction.py_flow_description0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/architecture_reconstruction.py_module_roles0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/architecture_reconstruction.py_uncertainties0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/architecture_reconstruction.pyreconstruct_architecture0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/execution_paths.pybuild_execution_paths0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/grounding.pybuild_grounding_catalog0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/historical_timeline.pybuild_historical_timeline0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/incremental.pydiff_file_fingerprints0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/limits.pyskip_reason0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/semantic_diff.py_lesson_invalidations0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/semantic_diff.py_relation_targets0.72five or more unresolved/external calls
boundary_orchestrationrepo_semantic/semantic_diff.pybuild_semantic_diff0.72five or more unresolved/external calls
orchestration_fanoutrepo_semantic/execution_paths.pybuild_execution_paths0.85five or more resolved local calls
orchestration_fanoutrepo_semantic/semantic_diff.pybuild_semantic_diff0.85five or more resolved local calls
read_modify_writerepo_semantic/limits.pyRelationBudget.trim0.86same function reads and writes the same state target
resource_scoperepo_semantic/limits.pyskip_reason0.92with/async-with establishes bounded resource scope

Name-independent structural signature clusters

Motif IDMembersIdentity basis
motif_coarse_1d063c7b37b23name-independent coarse structural feature signature
motif_coarse_6498af11de892name-independent coarse structural feature signature
motif_coarse_b2feb91af8fa2name-independent coarse structural feature signature
motif_coarse_b4a27ad8a6cb2name-independent coarse structural feature signature
motif_coarse_e3a6d82c57d02name-independent coarse structural feature signature
motif_coarse_f373ee2a1d212name-independent coarse structural feature signature
motif_coarse_fca123bd72d66name-independent coarse structural feature signature

Per-file SHA-256

PathBytesSHA-256
repo_semantic/architecture_reconstruction.py51452c70301670ace276…
repo_semantic/execution_paths.py5894608725e724891c0b…
repo_semantic/grounding.py7189981aae9fc01d4273…
repo_semantic/historical_timeline.py27292693e3fd967ac481…
repo_semantic/incremental.py10016f24db1f386eb427…
repo_semantic/limits.py403936c30278003ea489…
repo_semantic/semantic_diff.py4890dafdcb13775c6797…

Epistemic contract

observed

  • Python AST definitions
  • imports
  • call syntax
  • control syntax
  • source spans
  • local file hashes
  • SSA-like local definitions/uses
  • self/cls/explicit-global state accesses
  • module-binding reads
  • explicit raise/except syntax
  • definition-time Python name aliases

strongly_inferred

  • local call target resolution
  • parameter-container state regions
  • effect hints
  • branch/loop phi merges
  • explicit exception catch matching
  • structural motif candidates

unresolved

  • runtime dispatch
  • reflection
  • native extension behavior
  • external library semantics
  • precise heap points-to beyond definition-time alias
  • dynamic exception behavior from calls
  • concurrency semantics