15
Files
1871
Nodes
4578
Edges
201
Impact targets
606
Data values
33
State regions
0
Defects
52
Motifs
MVP pipeline
Repository → CISG → Data/State Closure → Impact Engine → review scope
v1.0 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": 15,
"nodes": 1871,
"edges": 4578,
"node_types": {
"file": 15,
"function": 51,
"class": 8,
"method": 27,
"boundary_module": 18,
"control": 211,
"data_value": 606,
"data_use": 106,
"data_sink": 110,
"data_phi": 260,
"data_undefined": 149,
"exception_handler": 6,
"boundary_call": 262,
"state_region": 33,
"module_binding": 4,
"effect": 1,
"exception_event": 3,
"boundary_exception": 1
},
"edge_types": {
"contains": 86,
"imports": 61,
"controls": 211,
"defines": 866,
"flows_to": 861,
"contains_data": 243,
"guards": 271,
"phi_input": 520,
"contains_exception_handler": 6,
"calls": 1159,
"returns_value": 195,
"aliases_at_definition": 14,
"reads_state": 33,
"reads_binding": 4,
"effect": 8,
"writes_state": 31,
"exception_value": 3,
"raises": 3,
"exception_flow": 3
},
"resolved_local_calls": 183,
"boundary_calls": 976,
"findings_by_category": {
"hotspot": 64,
"anomaly": 1
},
"findings_by_severity": {
"info": 65
},
"motif_instances": 52,
"motif_clusters": 15,
"data_values": 606,
"phi_nodes": 260,
"data_edges": 2730,
"alias_edges": 14,
"state_regions": 33,
"state_reads": 33,
"state_writes": 31,
"module_binding_reads": 4,
"exception_handlers": 6,
"explicit_raises": 3,
"unresolved_local_uses": 0,
"warnings": 0
}Highest review breadth
| Kind | Target | Review breadth | Path |
|---|---|---|---|
| function | 176 | util.py | |
| function | 171 | util.py | |
| function | 162 | cli.py | |
| function | 153 | util.py | |
| function | 111 | linking.py | |
| function | 108 | workspace.py | |
| function | 108 | query.py | |
| function | 108 | linking.py | |
| function | 107 | workspace.py | |
| function | 102 | workspace.py | |
| function | 85 | workspace.py | |
| function | 83 | query.py | |
| function | 83 | query.py | |
| function | 82 | query.py | |
| function | 81 | workspace.py | |
| function | 76 | util.py | |
| function | 76 | linking.py | |
| function | 73 | workspace.py | |
| function | 71 | linking.py | |
| function | 66 | linking.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 101 of 101 file/class/function entities. Full graph is in cisg.json / cisg.graphml.
Node evidence
Click a node.
SSA-like data flow
Local data footprint feeds Impact Engine but is not transitive across function boundaries.
| Relation | Source | Target | Evidence | Status |
|---|---|---|---|---|
| flows_to | ap#1 | sub#1 | cli.py:10 | observed |
| flows_to | sub#1 | p#1 | cli.py:11 | observed |
| flows_to | p#1 | expr@+3 | cli.py:11 | observed |
| flows_to | p#1 | expr@+3 | cli.py:11 | observed |
| flows_to | sub#1 | p#2 | cli.py:12 | observed |
| flows_to | sub#1 | p#3 | cli.py:13 | observed |
| flows_to | p#3 | expr@+5 | cli.py:13 | observed |
| flows_to | p#3 | expr@+5 | cli.py:13 | observed |
| flows_to | sub#1 | p#4 | cli.py:14 | observed |
| flows_to | p#4 | expr@+6 | cli.py:14 | observed |
| flows_to | p#4 | expr@+6 | cli.py:14 | observed |
| flows_to | p#4 | expr@+6 | cli.py:14 | observed |
| flows_to | p#4 | expr@+6 | cli.py:14 | observed |
| flows_to | sub#1 | p#5 | cli.py:15 | observed |
| flows_to | p#5 | expr@+7 | cli.py:15 | observed |
| flows_to | p#5 | expr@+7 | cli.py:15 | observed |
| flows_to | p#5 | expr@+7 | cli.py:15 | observed |
| flows_to | sub#1 | p#6 | cli.py:16 | observed |
| flows_to | p#6 | expr@+8 | cli.py:16 | observed |
| flows_to | sub#1 | p#7 | cli.py:17 | observed |
| flows_to | p#7 | expr@+9 | cli.py:17 | observed |
| flows_to | p#7 | expr@+9 | cli.py:17 | observed |
| flows_to | p#7 | expr@+9 | cli.py:17 | observed |
| flows_to | sub#1 | p#8 | cli.py:18 | observed |
| flows_to | p#8 | expr@+10 | cli.py:18 | observed |
| flows_to | ap#1 | args#1 | cli.py:19 | observed |
| flows_to | argv#0 | args#1 | cli.py:19 | observed |
| guards | args#1 | branch | cli.py:20 | observed |
| flows_to | args#1 | expr@+12 | cli.py:20 | observed |
| guards | args#1 | branch | cli.py:21 | observed |
| flows_to | reg#1 | expr@+13 | cli.py:21 | observed |
| guards | args#1 | branch | cli.py:22 | observed |
| flows_to | args#1 | rows#1 | cli.py:23 | observed |
| flows_to | reg#1 | rows#1 | cli.py:23 | observed |
| flows_to | rows#1 | expr@+16 | cli.py:24 | observed |
| guards | args#1 | branch | cli.py:25 | observed |
| flows_to | args#1 | expr@+17 | cli.py:25 | observed |
| flows_to | reg#1 | expr@+17 | cli.py:25 | observed |
| guards | args#1 | branch | cli.py:26 | observed |
| flows_to | args#1 | expr@+18 | cli.py:26 | observed |
| guards | args#1 | branch | cli.py:27 | observed |
| flows_to | args#1 | expr@+19 | cli.py:27 | observed |
| flows_to | args#1 | rt#1 | cli.py:28 | observed |
| guards | args#1 | branch | cli.py:29 | observed |
| flows_to | rt#1 | expr@+21 | cli.py:29 | observed |
| flows_to | args#1 | expr@+21 | cli.py:29 | observed |
| flows_to | line#1 | line#2 | cli.py:31 | observed |
| guards | line#2 | branch | cli.py:32 | observed |
| flows_to | line#2 | req#1 | cli.py:34 | observed |
| flows_to | rt#1 | res#1 | cli.py:34 | observed |
| flows_to | req#1 | res#1 | cli.py:34 | observed |
| flows_to | e#1 | res#2 | cli.py:36 | observed |
| phi_input | e#1 | e#2 | cli.py:33 | strongly_inferred |
| phi_input | e:undefined | e#2 | cli.py:33 | unresolved |
| phi_input | req#1 | req#2 | cli.py:33 | strongly_inferred |
| phi_input | req:undefined | req#2 | cli.py:33 | unresolved |
| phi_input | res#2 | res#3 | cli.py:33 | strongly_inferred |
| phi_input | res#1 | res#3 | cli.py:33 | strongly_inferred |
| flows_to | res#3 | expr@+29 | cli.py:37 | observed |
| phi_input | e#2 | e#3 | cli.py:30 | strongly_inferred |
| phi_input | e:undefined | e#3 | cli.py:30 | unresolved |
| phi_input | line#2 | line#3 | cli.py:30 | strongly_inferred |
| phi_input | line:undefined | line#3 | cli.py:30 | unresolved |
| phi_input | req#2 | req#3 | cli.py:30 | strongly_inferred |
| phi_input | req:undefined | req#3 | cli.py:30 | unresolved |
| phi_input | res#3 | res#4 | cli.py:30 | strongly_inferred |
| phi_input | res:undefined | res#4 | cli.py:30 | unresolved |
| flows_to | text#0 | s#1 | linking.py:11 | observed |
| returns_value | s#1 | return@+2 | linking.py:12 | observed |
| flows_to | text#0 | s#1 | linking.py:16 | observed |
| flows_to | s#1 | raw#1 | linking.py:17 | observed |
| guards | raw#1 | for_loop | linking.py:19 | observed |
| flows_to | raw#1 | tok#1 | linking.py:19 | observed |
| aliases_at_definition | raw#1 | tok#1 | linking.py:19 | observed |
| guards | tok#1 | for_loop | linking.py:20 | observed |
| flows_to | tok#1 | part#1 | linking.py:20 | observed |
| guards | part#1 | branch | linking.py:21 | observed |
| flows_to | part#1 | q#1 | linking.py:22 | observed |
| flows_to | out#1 | expr@+7 | linking.py:22 | observed |
| flows_to | q#1 | expr@+7 | linking.py:22 | observed |
| guards | q#1 | branch | linking.py:23 | observed |
| flows_to | out#1 | expr@+8 | linking.py:23 | observed |
| flows_to | q#1 | expr@+8 | linking.py:23 | observed |
| phi_input | part#1 | part#2 | linking.py:20 | strongly_inferred |
| phi_input | part:undefined | part#2 | linking.py:20 | unresolved |
| phi_input | q#1 | q#2 | linking.py:20 | strongly_inferred |
| phi_input | q:undefined | q#2 | linking.py:20 | unresolved |
| phi_input | part#2 | part#3 | linking.py:19 | strongly_inferred |
| phi_input | part:undefined | part#3 | linking.py:19 | unresolved |
| phi_input | q#2 | q#3 | linking.py:19 | strongly_inferred |
| phi_input | q:undefined | q#3 | linking.py:19 | unresolved |
| phi_input | tok#1 | tok#2 | linking.py:19 | strongly_inferred |
| phi_input | tok:undefined | tok#2 | linking.py:19 | unresolved |
| returns_value | out#1 | return@+9 | linking.py:24 | observed |
| flows_to | meta#0 | ing_by#1 | linking.py:28 | observed |
| guards | meta#0 | for_loop | linking.py:30 | observed |
| flows_to | meta#0 | g#1 | linking.py:30 | observed |
| flows_to | g#1 | iids#1 | linking.py:31 | observed |
| guards | g#1 | branch | linking.py:32 | observed |
| guards | iids#1 | branch | linking.py:32 | observed |
| flows_to | iids#1 | expr@+5 | linking.py:32 | observed |
| flows_to | g#1 | expr@+5 | linking.py:32 | observed |
| flows_to | iids#1 | ings#1 | linking.py:33 | observed |
| flows_to | ing_by#1 | ings#1 | linking.py:33 | observed |
| flows_to | ings#1 | pids#1 | linking.py:34 | observed |
| flows_to | ings#1 | ptypes#1 | linking.py:35 | observed |
| phi_input | g#1 | g#2 | linking.py:30 | strongly_inferred |
| phi_input | g:undefined | g#2 | linking.py:30 | unresolved |
| phi_input | iids#1 | iids#2 | linking.py:30 | strongly_inferred |
| phi_input | iids:undefined | iids#2 | linking.py:30 | unresolved |
| phi_input | ings#1 | ings#2 | linking.py:30 | strongly_inferred |
| phi_input | ings:undefined | ings#2 | linking.py:30 | unresolved |
| phi_input | pids#1 | pids#2 | linking.py:30 | strongly_inferred |
| phi_input | pids:undefined | pids#2 | linking.py:30 | unresolved |
| phi_input | ptypes#1 | ptypes#2 | linking.py:30 | strongly_inferred |
| phi_input | ptypes:undefined | ptypes#2 | linking.py:30 | unresolved |
| returns_value | out#1 | return@+14 | linking.py:41 | observed |
| flows_to | meta#0 | gctx#1 | linking.py:45 | observed |
| guards | meta#0 | for_loop | linking.py:46 | observed |
| flows_to | meta#0 | gm#1 | linking.py:46 | observed |
| flows_to | gm#1 | ref#1 | linking.py:47 | observed |
| guards | ref#1 | branch | linking.py:48 | observed |
| guards | root#0 | branch | linking.py:48 | observed |
| flows_to | root#0 | graph#1 | linking.py:49 | observed |
| flows_to | ref#1 | graph#1 | linking.py:49 | observed |
| flows_to | gctx#1 | ctx#1 | linking.py:49 | observed |
| flows_to | gm#1 | ctx#1 | linking.py:49 | observed |
| guards | graph#1 | for_loop | linking.py:50 | observed |
| flows_to | graph#1 | n#1 | linking.py:50 | observed |
| guards | n#1 | branch | linking.py:51 | observed |
| flows_to | rows#1 | expr@+7 | linking.py:51 | observed |
| flows_to | n#1 | expr@+7 | linking.py:51 | observed |
| flows_to | ctx#1 | expr@+7 | linking.py:51 | observed |
| phi_input | n#1 | n#2 | linking.py:50 | strongly_inferred |
| phi_input | n:undefined | n#2 | linking.py:50 | unresolved |
| phi_input | ctx#1 | ctx#2 | linking.py:46 | strongly_inferred |
| phi_input | ctx:undefined | ctx#2 | linking.py:46 | unresolved |
| phi_input | gm#1 | gm#2 | linking.py:46 | strongly_inferred |
| phi_input | gm:undefined | gm#2 | linking.py:46 | unresolved |
| phi_input | graph#1 | graph#2 | linking.py:46 | strongly_inferred |
| phi_input | graph:undefined | graph#2 | linking.py:46 | unresolved |
| phi_input | n#2 | n#3 | linking.py:46 | strongly_inferred |
| phi_input | n:undefined | n#3 | linking.py:46 | unresolved |
| phi_input | ref#1 | ref#2 | linking.py:46 | strongly_inferred |
| phi_input | ref:undefined | ref#2 | linking.py:46 | unresolved |
| returns_value | rows#1 | return@+8 | linking.py:52 | observed |
| returns_value | rec#0 | return@+1 | linking.py:56 | observed |
| flows_to | a#0 | pa#1 | linking.py:60 | observed |
| flows_to | b#0 | pa#1 | linking.py:60 | observed |
| flows_to | a#0 | pb#1 | linking.py:60 | observed |
| flows_to | b#0 | pb#1 | linking.py:60 | observed |
| returns_value | pa#1 | return@+2 | linking.py:61 | observed |
| returns_value | pb#1 | return@+2 | linking.py:61 | observed |
| flows_to | rec#0 | n#1 | linking.py:65 | observed |
| returns_value | n#1 | return@+2 | linking.py:67 | observed |
| returns_value | rec#0 | return@+2 | linking.py:67 | observed |
| returns_value | rec#0 | return@+2 | linking.py:68 | observed |
| returns_value | n#1 | return@+2 | linking.py:69 | observed |
| flows_to | source#0 | sg#1 | linking.py:74 | observed |
| flows_to | target#0 | sg#1 | linking.py:74 | observed |
| flows_to | source#0 | tg#1 | linking.py:74 | observed |
| flows_to | target#0 | tg#1 | linking.py:74 | observed |
| guards | sg#1 | branch | linking.py:75 | observed |
| guards | tg#1 | branch | linking.py:75 | observed |
| guards | tg#1 | branch | linking.py:76 | observed |
| guards | sg#1 | branch | linking.py:76 | observed |
| guards | sg#1 | branch | linking.py:77 | observed |
| guards | tg#1 | branch | linking.py:78 | observed |
| guards | sg#1 | branch | linking.py:79 | observed |
| guards | tg#1 | branch | linking.py:80 | observed |
| guards | order#1 | branch | linking.py:86 | observed |
| guards | a#0 | branch | linking.py:86 | observed |
| guards | b#0 | branch | linking.py:86 | observed |
| flows_to | b#0 | a#1 | linking.py:86 | observed |
| flows_to | a#0 | a#1 | linking.py:86 | observed |
| flows_to | b#0 | b#1 | linking.py:86 | observed |
| flows_to | a#0 | b#1 | linking.py:86 | observed |
| phi_input | a#0 | a#2 | linking.py:86 | strongly_inferred |
| phi_input | a#1 | a#2 | linking.py:86 | strongly_inferred |
| phi_input | b#0 | b#2 | linking.py:86 | strongly_inferred |
| phi_input | b#1 | b#2 | linking.py:86 | strongly_inferred |
| flows_to | a#2 | ar#1 | linking.py:87 | observed |
| flows_to | b#2 | ar#1 | linking.py:87 | observed |
| flows_to | a#2 | br#1 | linking.py:87 | observed |
| flows_to | b#2 | br#1 | linking.py:87 | observed |
| flows_to | ar#1 | ltype#1 | linking.py:87 | observed |
| flows_to | br#1 | ltype#1 | linking.py:87 | observed |
| flows_to | ltype#1 | payload#1 | linking.py:88 | observed |
| flows_to | ar#1 | payload#1 | linking.py:88 | observed |
| flows_to | br#1 | payload#1 | linking.py:88 | observed |
| guards | ar#1 | for_loop | linking.py:90 | observed |
| guards | br#1 | for_loop | linking.py:90 | observed |
| flows_to | ar#1 | nid#1 | linking.py:90 | observed |
| flows_to | br#1 | nid#1 | linking.py:90 | observed |
| flows_to | ev#1 | expr@+6 | linking.py:90 | observed |
| flows_to | evidence_by_owner#0 | expr@+6 | linking.py:90 | observed |
| flows_to | nid#1 | expr@+6 | linking.py:90 | observed |
| phi_input | nid#1 | nid#2 | linking.py:90 | strongly_inferred |
| phi_input | nid:undefined | nid#2 | linking.py:90 | unresolved |
| returns_value | payload#1 | return@+7 | linking.py:92 | observed |
| returns_value | ltype#1 | return@+7 | linking.py:92 | observed |
| returns_value | ar#1 | return@+7 | linking.py:92 | observed |
| returns_value | br#1 | return@+7 | linking.py:92 | observed |
| returns_value | evidence_status#0 | return@+7 | linking.py:93 | observed |
| returns_value | confidence#0 | return@+7 | linking.py:93 | observed |
| returns_value | confidence#0 | return@+7 | linking.py:94 | observed |
| returns_value | method#0 | return@+7 | linking.py:94 | observed |
| returns_value | rationale#0 | return@+7 | linking.py:94 | observed |
| returns_value | ev#1 | return@+7 | linking.py:95 | observed |
| flows_to | rec#0 | n#1 | linking.py:100 | observed |
| flows_to | rec#0 | gt#1 | linking.py:100 | observed |
| flows_to | n#1 | nt#1 | linking.py:100 | observed |
| guards | gt#1 | branch | linking.py:101 | observed |
| returns_value | nt#1 | return@+2 | linking.py:101 | observed |
| guards | gt#1 | branch | linking.py:102 | observed |
| returns_value | nt#1 | return@+3 | linking.py:102 | observed |
| guards | gt#1 | branch | linking.py:103 | observed |
| returns_value | nt#1 | return@+4 | linking.py:103 | observed |
| guards | gt#1 | branch | linking.py:104 | observed |
| returns_value | nt#1 | return@+5 | linking.py:104 | observed |
| returns_value | nt#1 | return@+6 | linking.py:105 | observed |
| flows_to | root_or_workspace#0 | root#1 | linking.py:109 | observed |
| flows_to | root#1 | meta#1 | linking.py:110 | observed |
| flows_to | root#1 | rows#1 | linking.py:110 | observed |
| flows_to | meta#1 | rows#1 | linking.py:110 | observed |
| flows_to | root#1 | evidence#1 | linking.py:111 | observed |
| guards | evidence#1 | for_loop | linking.py:113 | observed |
| flows_to | evidence#1 | eid#1 | linking.py:113 | observed |
| flows_to | evidence#1 | ev#1 | linking.py:113 | observed |
| guards | ev#1 | for_loop | linking.py:114 | observed |
| flows_to | ev#1 | owner#1 | linking.py:114 | observed |
| guards | owner#1 | branch | linking.py:115 | observed |
| flows_to | evidence_by_owner#1 | expr@+7 | linking.py:115 | observed |
| flows_to | owner#1 | expr@+7 | linking.py:115 | observed |
| flows_to | eid#1 | expr@+7 | linking.py:115 | observed |
| phi_input | owner#1 | owner#2 | linking.py:114 | strongly_inferred |
| phi_input | owner:undefined | owner#2 | linking.py:114 | unresolved |
| phi_input | eid#1 | eid#2 | linking.py:113 | strongly_inferred |
| phi_input | eid:undefined | eid#2 | linking.py:113 | unresolved |
| phi_input | ev#1 | ev#2 | linking.py:113 | strongly_inferred |
| phi_input | ev:undefined | ev#2 | linking.py:113 | unresolved |
| phi_input | owner#2 | owner#3 | linking.py:113 | strongly_inferred |
| phi_input | owner:undefined | owner#3 | linking.py:113 | unresolved |
| flows_to | rows#1 | by_id#1 | linking.py:116 | observed |
| guards | rows#1 | for_loop | linking.py:124 | observed |
| flows_to | rows#1 | a#1 | linking.py:124 | observed |
| aliases_at_definition | rows#1 | a#1 | linking.py:124 | observed |
| flows_to | a#1 | target_id#1 | linking.py:125 | observed |
| flows_to | by_id#1 | b#1 | linking.py:126 | observed |
| flows_to | target_id#1 | b#1 | linking.py:126 | observed |
| guards | b#1 | branch | linking.py:127 | observed |
| guards | a#1 | branch | linking.py:127 | observed |
| flows_to | add#1 | expr@+20 | linking.py:128 | observed |
| flows_to | a#1 | expr@+20 | linking.py:128 | observed |
| flows_to | b#1 | expr@+20 | linking.py:128 | observed |
| flows_to | evidence_by_owner#1 | expr@+20 | linking.py:128 | observed |
| phi_input | a#1 | a#2 | linking.py:124 | strongly_inferred |
| phi_input | a:undefined | a#2 | linking.py:124 | unresolved |
| phi_input | b#1 | b#2 | linking.py:124 | strongly_inferred |
| phi_input | b:undefined | b#2 | linking.py:124 | unresolved |
| phi_input | target_id#1 | target_id#2 | linking.py:124 | strongly_inferred |
| phi_input | target_id:undefined | target_id#2 | linking.py:124 | unresolved |
| guards | rows#1 | for_loop | linking.py:132 | observed |
| flows_to | rows#1 | r#1 | linking.py:132 | observed |
| aliases_at_definition | rows#1 | r#1 | linking.py:132 | observed |
| guards | r#1 | branch | linking.py:133 | observed |
| flows_to | r#1 | n#1 | linking.py:134 | observed |
| flows_to | n#1 | s#1 | linking.py:134 | observed |
| flows_to | n#1 | l#1 | linking.py:134 | observed |
| guards | s#1 | branch | linking.py:135 | observed |
| flows_to | symbol_index#1 | expr@+27 | linking.py:135 | observed |
| flows_to | s#1 | expr@+27 | linking.py:135 | observed |
| flows_to | r#1 | expr@+27 | linking.py:135 | observed |
| flows_to | name_index#1 | expr@+27 | linking.py:135 | observed |
| flows_to | s#1 | expr@+27 | linking.py:135 | observed |
| flows_to | r#1 | expr@+27 | linking.py:135 | observed |
| guards | l#1 | branch | linking.py:136 | observed |
| flows_to | label_index#1 | expr@+28 | linking.py:136 | observed |
| flows_to | l#1 | expr@+28 | linking.py:136 | observed |
| flows_to | r#1 | expr@+28 | linking.py:136 | observed |
| flows_to | name_index#1 | expr@+28 | linking.py:136 | observed |
| flows_to | l#1 | expr@+28 | linking.py:136 | observed |
| flows_to | r#1 | expr@+28 | linking.py:136 | observed |
| phi_input | l#1 | l#2 | linking.py:132 | strongly_inferred |
| phi_input | l:undefined | l#2 | linking.py:132 | unresolved |
| phi_input | n#1 | n#2 | linking.py:132 | strongly_inferred |
| phi_input | n:undefined | n#2 | linking.py:132 | unresolved |
| phi_input | r#1 | r#2 | linking.py:132 | strongly_inferred |
| phi_input | r:undefined | r#2 | linking.py:132 | unresolved |
| phi_input | s#1 | s#2 | linking.py:132 | strongly_inferred |
| phi_input | s:undefined | s#2 | linking.py:132 | unresolved |
| guards | symbol_index#1 | for_loop | linking.py:137 | observed |
| flows_to | symbol_index#1 | key#1 | linking.py:137 | observed |
| flows_to | symbol_index#1 | bucket#1 | linking.py:137 | observed |
| guards | bucket#1 | branch | linking.py:138 | observed |
| guards | bucket#1 | for_loop | linking.py:139 | observed |
| flows_to | bucket#1 | a#3 | linking.py:139 | observed |
| flows_to | bucket#1 | b#3 | linking.py:139 | observed |
| guards | a#3 | branch | linking.py:140 | observed |
| guards | b#3 | branch | linking.py:140 | observed |
| flows_to | add#1 | expr@+32 | linking.py:140 | observed |
| flows_to | a#3 | expr@+32 | linking.py:140 | observed |
| flows_to | b#3 | expr@+32 | linking.py:140 | observed |
| flows_to | evidence_by_owner#1 | expr@+32 | linking.py:140 | observed |
| phi_input | a#2 | a#4 | linking.py:139 | strongly_inferred |
| phi_input | a#3 | a#4 | linking.py:139 | strongly_inferred |
| phi_input | b#2 | b#4 | linking.py:139 | strongly_inferred |
| phi_input | b#3 | b#4 | linking.py:139 | strongly_inferred |
| phi_input | a#4 | a#5 | linking.py:137 | strongly_inferred |
| phi_input | a#2 | a#5 | linking.py:137 | strongly_inferred |
| phi_input | b#2 | b#5 | linking.py:137 | strongly_inferred |
| phi_input | b#4 | b#5 | linking.py:137 | strongly_inferred |
| phi_input | bucket#1 | bucket#2 | linking.py:137 | strongly_inferred |
| phi_input | bucket:undefined | bucket#2 | linking.py:137 | unresolved |
| phi_input | key#1 | key#2 | linking.py:137 | strongly_inferred |
| phi_input | key:undefined | key#2 | linking.py:137 | unresolved |
| guards | label_index#1 | for_loop | linking.py:141 | observed |
| flows_to | label_index#1 | key#3 | linking.py:141 | observed |
| flows_to | label_index#1 | bucket#3 | linking.py:141 | observed |
| guards | bucket#3 | branch | linking.py:142 | observed |
| guards | bucket#3 | for_loop | linking.py:143 | observed |
| flows_to | bucket#3 | a#6 | linking.py:143 | observed |
| flows_to | bucket#3 | b#6 | linking.py:143 | observed |
| guards | a#6 | branch | linking.py:144 | observed |
| guards | b#6 | branch | linking.py:144 | observed |
| flows_to | add#1 | expr@+36 | linking.py:144 | observed |
| flows_to | a#6 | expr@+36 | linking.py:144 | observed |
| flows_to | b#6 | expr@+36 | linking.py:144 | observed |
| flows_to | evidence_by_owner#1 | expr@+36 | linking.py:144 | observed |
| phi_input | a#6 | a#7 | linking.py:143 | strongly_inferred |
| phi_input | a#5 | a#7 | linking.py:143 | strongly_inferred |
| phi_input | b#5 | b#7 | linking.py:143 | strongly_inferred |
| phi_input | b#6 | b#7 | linking.py:143 | strongly_inferred |
| phi_input | a#7 | a#8 | linking.py:141 | strongly_inferred |
| phi_input | a#5 | a#8 | linking.py:141 | strongly_inferred |
| phi_input | b#5 | b#8 | linking.py:141 | strongly_inferred |
| phi_input | b#7 | b#8 | linking.py:141 | strongly_inferred |
| phi_input | bucket#3 | bucket#4 | linking.py:141 | strongly_inferred |
| phi_input | bucket#2 | bucket#4 | linking.py:141 | strongly_inferred |
| phi_input | key#2 | key#4 | linking.py:141 | strongly_inferred |
| phi_input | key#3 | key#4 | linking.py:141 | strongly_inferred |
| guards | rows#1 | for_loop | linking.py:147 | observed |
| flows_to | rows#1 | a#9 | linking.py:147 | observed |
| aliases_at_definition | rows#1 | a#9 | linking.py:147 | observed |
| guards | a#9 | branch | linking.py:148 | observed |
| flows_to | a#9 | candidate_keys#1 | linking.py:149 | observed |
| guards | candidate_keys#1 | for_loop | linking.py:150 | observed |
| flows_to | candidate_keys#1 | key#5 | linking.py:150 | observed |
| aliases_at_definition | candidate_keys#1 | key#5 | linking.py:150 | observed |
| guards | name_index#1 | for_loop | linking.py:151 | observed |
| guards | key#5 | for_loop | linking.py:151 | observed |
| flows_to | name_index#1 | b#9 | linking.py:151 | observed |
| flows_to | key#5 | b#9 | linking.py:151 | observed |
| guards | b#9 | branch | linking.py:152 | observed |
| guards | a#9 | branch | linking.py:152 | observed |
| flows_to | add#1 | expr@+45 | linking.py:153 | observed |
| flows_to | a#9 | expr@+45 | linking.py:153 | observed |
| flows_to | b#9 | expr@+45 | linking.py:153 | observed |
| flows_to | evidence_by_owner#1 | expr@+45 | linking.py:153 | observed |
| phi_input | b#9 | b#10 | linking.py:151 | strongly_inferred |
| phi_input | b#8 | b#10 | linking.py:151 | strongly_inferred |
| phi_input | b#10 | b#11 | linking.py:150 | strongly_inferred |
| phi_input | b#8 | b#11 | linking.py:150 | strongly_inferred |
| phi_input | key#5 | key#6 | linking.py:150 | strongly_inferred |
| phi_input | key#4 | key#6 | linking.py:150 | strongly_inferred |
| phi_input | a#9 | a#10 | linking.py:147 | strongly_inferred |
| phi_input | a#8 | a#10 | linking.py:147 | strongly_inferred |
| phi_input | b#8 | b#12 | linking.py:147 | strongly_inferred |
| phi_input | b#11 | b#12 | linking.py:147 | strongly_inferred |
| phi_input | candidate_keys#1 | candidate_keys#2 | linking.py:147 | strongly_inferred |
| phi_input | candidate_keys:undefined | candidate_keys#2 | linking.py:147 | unresolved |
| phi_input | key#6 | key#7 | linking.py:147 | strongly_inferred |
| phi_input | key#4 | key#7 | linking.py:147 | strongly_inferred |
| guards | rows#1 | for_loop | linking.py:156 | observed |
| flows_to | rows#1 | a#11 | linking.py:156 | observed |
| aliases_at_definition | rows#1 | a#11 | linking.py:156 | observed |
| guards | a#11 | branch | linking.py:157 | observed |
| guards | a#11 | for_loop | linking.py:158 | observed |
| flows_to | a#11 | key#8 | linking.py:158 | observed |
| guards | symbol_index#1 | for_loop | linking.py:159 | observed |
| guards | key#8 | for_loop | linking.py:159 | observed |
| flows_to | symbol_index#1 | b#13 | linking.py:159 | observed |
| flows_to | key#8 | b#13 | linking.py:159 | observed |
| guards | b#13 | branch | linking.py:160 | observed |
| guards | a#11 | branch | linking.py:160 | observed |
| flows_to | add#1 | expr@+53 | linking.py:161 | observed |
| flows_to | a#11 | expr@+53 | linking.py:161 | observed |
| flows_to | b#13 | expr@+53 | linking.py:161 | observed |
| flows_to | evidence_by_owner#1 | expr@+53 | linking.py:161 | observed |
| phi_input | b#13 | b#14 | linking.py:159 | strongly_inferred |
| phi_input | b#12 | b#14 | linking.py:159 | strongly_inferred |
| phi_input | b#14 | b#15 | linking.py:158 | strongly_inferred |
| phi_input | b#12 | b#15 | linking.py:158 | strongly_inferred |
| phi_input | key#8 | key#9 | linking.py:158 | strongly_inferred |
| phi_input | key#7 | key#9 | linking.py:158 | strongly_inferred |
| phi_input | a#10 | a#12 | linking.py:156 | strongly_inferred |
| phi_input | a#11 | a#12 | linking.py:156 | strongly_inferred |
| phi_input | b#15 | b#16 | linking.py:156 | strongly_inferred |
| phi_input | b#12 | b#16 | linking.py:156 | strongly_inferred |
| phi_input | key#7 | key#10 | linking.py:156 | strongly_inferred |
| phi_input | key#9 | key#10 | linking.py:156 | strongly_inferred |
| flows_to | links#1 | ordered#1 | linking.py:163 | observed |
| guards | ordered#1 | for_loop | linking.py:165 | observed |
| flows_to | ordered#1 | x#1 | linking.py:165 | observed |
| aliases_at_definition | ordered#1 | x#1 | linking.py:165 | observed |
| phi_input | x#1 | x#2 | linking.py:165 | strongly_inferred |
| phi_input | x:undefined | x#2 | linking.py:165 | unresolved |
| returns_value | meta#1 | return@+58 | linking.py:167 | observed |
| returns_value | ordered#1 | return@+58 | linking.py:167 | observed |
| returns_value | ordered#1 | return@+58 | linking.py:168 | observed |
| returns_value | methods#1 | return@+58 | linking.py:168 | observed |
| flows_to | workspace_dir#0 | root#1 | linking.py:174 | observed |
| flows_to | root#1 | reg#1 | linking.py:174 | observed |
| flows_to | root#1 | expr@+1 | linking.py:174 | observed |
| flows_to | reg#1 | expr@+1 | linking.py:174 | observed |
| flows_to | root#1 | meta#1 | linking.py:175 | observed |
| flows_to | root#1 | expr@+5 | linking.py:178 | observed |
| flows_to | meta#1 | expr@+5 | linking.py:178 | observed |
| returns_value | reg#1 | return@+6 | linking.py:179 | observed |
| flows_to | operator_id#0 | v#1 | operators.py:27 | observed |
| returns_value | v#1 | return@+1 | operators.py:27 | observed |
| returns_value | operator_id#0 | return@+1 | operators.py:27 | observed |
| flows_to | r#1 | expr@+3 | providers/__init__.py:11 | observed |
| flows_to | p#1 | expr@+3 | providers/__init__.py:11 | observed |
| phi_input | p#1 | p#2 | providers/__init__.py:11 | strongly_inferred |
| phi_input | p:undefined | p#2 | providers/__init__.py:11 | unresolved |
| returns_value | r#1 | return@+4 | providers/__init__.py:12 | observed |
| flows_to | source#0 | p#1 | providers/adapter_result.py:11 | observed |
| guards | p#1 | branch | providers/adapter_result.py:12 | observed |
| flows_to | p#1 | obj#1 | providers/adapter_result.py:13 | observed |
| flows_to | obj#1 | ok#1 | providers/adapter_result.py:15 | observed |
| returns_value | ok#1 | return@+6 | providers/adapter_result.py:16 | observed |
| returns_value | obj#1 | return@+6 | providers/adapter_result.py:16 | observed |
| flows_to | source#0 | p#1 | providers/adapter_result.py:18 | observed |
| flows_to | p#1 | obj#1 | providers/adapter_result.py:18 | observed |
| flows_to | p#1 | raw#1 | providers/adapter_result.py:18 | observed |
| flows_to | raw#1 | sha#1 | providers/adapter_result.py:18 | observed |
| flows_to | obj#1 | graph_docs#1 | providers/adapter_result.py:19 | observed |
| guards | graph_docs#1 | for_loop | providers/adapter_result.py:20 | observed |
| flows_to | graph_docs#1 | i#1 | providers/adapter_result.py:20 | observed |
| flows_to | graph_docs#1 | g#1 | providers/adapter_result.py:20 | observed |
| guards | g#1 | branch | providers/adapter_result.py:21 | observed |
| flows_to | i#1 | name#1 | providers/adapter_result.py:22 | observed |
| flows_to | g#1 | gid#1 | providers/adapter_result.py:22 | observed |
| flows_to | sha#1 | gid#1 | providers/adapter_result.py:22 | observed |
| flows_to | i#1 | gid#1 | providers/adapter_result.py:22 | observed |
| flows_to | g#1 | graph#1 | providers/adapter_result.py:22 | observed |
| flows_to | graph#1 | expr@+5 | providers/adapter_result.py:22 | observed |
| flows_to | graph#1 | expr@+5 | providers/adapter_result.py:22 | observed |
| flows_to | graphs#1 | expr@+5 | providers/adapter_result.py:22 | observed |
| flows_to | gid#1 | expr@+5 | providers/adapter_result.py:22 | observed |
| flows_to | graph#1 | expr@+5 | providers/adapter_result.py:22 | observed |
| flows_to | name#1 | expr@+5 | providers/adapter_result.py:22 | observed |
| phi_input | gid#1 | gid#2 | providers/adapter_result.py:21 | strongly_inferred |
| phi_input | gid:undefined | gid#2 | providers/adapter_result.py:21 | unresolved |
| phi_input | graph#1 | graph#2 | providers/adapter_result.py:21 | strongly_inferred |
| phi_input | graph:undefined | graph#2 | providers/adapter_result.py:21 | unresolved |
| phi_input | name#1 | name#2 | providers/adapter_result.py:21 | strongly_inferred |
| phi_input | name:undefined | name#2 | providers/adapter_result.py:21 | unresolved |
| phi_input | g#1 | g#2 | providers/adapter_result.py:20 | strongly_inferred |
| phi_input | g:undefined | g#2 | providers/adapter_result.py:20 | unresolved |
| phi_input | gid#2 | gid#3 | providers/adapter_result.py:20 | strongly_inferred |
| phi_input | gid:undefined | gid#3 | providers/adapter_result.py:20 | unresolved |
| phi_input | graph#2 | graph#3 | providers/adapter_result.py:20 | strongly_inferred |
| phi_input | graph:undefined | graph#3 | providers/adapter_result.py:20 | unresolved |
| phi_input | i#1 | i#2 | providers/adapter_result.py:20 | strongly_inferred |
| phi_input | i:undefined | i#2 | providers/adapter_result.py:20 | unresolved |
| phi_input | name#2 | name#3 | providers/adapter_result.py:20 | strongly_inferred |
| phi_input | name:undefined | name#3 | providers/adapter_result.py:20 | unresolved |
| flows_to | obj#1 | evidence#1 | providers/adapter_result.py:23 | observed |
| guards | evidence#1 | branch | providers/adapter_result.py:24 | observed |
| flows_to | evidence#1 | evidence#2 | providers/adapter_result.py:24 | observed |
| phi_input | evidence#1 | evidence#3 | providers/adapter_result.py:24 | strongly_inferred |
| phi_input | evidence#2 | evidence#3 | providers/adapter_result.py:24 | strongly_inferred |
| returns_value | self#0 | return@+8 | providers/adapter_result.py:25 | observed |
| returns_value | p#1 | return@+8 | providers/adapter_result.py:25 | observed |
| returns_value | sha#1 | return@+8 | providers/adapter_result.py:25 | observed |
| returns_value | obj#1 | return@+8 | providers/adapter_result.py:26 | observed |
| returns_value | graphs#1 | return@+8 | providers/adapter_result.py:26 | observed |
| returns_value | evidence#3 | return@+8 | providers/adapter_result.py:26 | observed |
| returns_value | payloads#1 | return@+8 | providers/adapter_result.py:26 | observed |
| returns_value | self#0 | return@+1 | providers/base.py:17 | observed |
| flows_to | source#0 | p#1 | providers/intent_text.py:17 | observed |
| flows_to | p#1 | ok#1 | providers/intent_text.py:17 | observed |
| flows_to | self#0 | ok#1 | providers/intent_text.py:17 | observed |
| returns_value | ok#1 | return@+2 | providers/intent_text.py:18 | observed |
| flows_to | source#0 | p#1 | providers/intent_text.py:20 | observed |
| flows_to | p#1 | raw#1 | providers/intent_text.py:20 | observed |
| flows_to | raw#1 | text#1 | providers/intent_text.py:20 | observed |
| flows_to | raw#1 | sha#1 | providers/intent_text.py:20 | observed |
| flows_to | sha#1 | aid#1 | providers/intent_text.py:20 | observed |
| flows_to | aid#1 | root#1 | providers/intent_text.py:21 | observed |
| flows_to | root#1 | nodes#1 | providers/intent_text.py:21 | observed |
| flows_to | p#1 | nodes#1 | providers/intent_text.py:21 | observed |
| guards | text#1 | for_loop | providers/intent_text.py:22 | observed |
| flows_to | text#1 | lineno#1 | providers/intent_text.py:22 | observed |
| flows_to | text#1 | line#1 | providers/intent_text.py:22 | observed |
| flows_to | line#1 | s#1 | providers/intent_text.py:23 | observed |
| guards | s#1 | branch | providers/intent_text.py:24 | observed |
| guards | s#1 | branch | providers/intent_text.py:25 | observed |
| flows_to | s#1 | s#2 | providers/intent_text.py:25 | observed |
| phi_input | s#2 | s#3 | providers/intent_text.py:25 | strongly_inferred |
| phi_input | s#1 | s#3 | providers/intent_text.py:25 | strongly_inferred |
| guards | s#3 | branch | providers/intent_text.py:26 | observed |
| flows_to | idx#1 | idx#2 | providers/intent_text.py:27 | observed |
| flows_to | aid#1 | nid#1 | providers/intent_text.py:27 | observed |
| flows_to | idx#2 | nid#1 | providers/intent_text.py:27 | observed |
| flows_to | s#3 | nid#1 | providers/intent_text.py:27 | observed |
| flows_to | nodes#1 | expr@+9 | providers/intent_text.py:28 | observed |
| flows_to | nid#1 | expr@+9 | providers/intent_text.py:28 | observed |
| flows_to | s#3 | expr@+9 | providers/intent_text.py:28 | observed |
| flows_to | idx#2 | expr@+9 | providers/intent_text.py:28 | observed |
| flows_to | p#1 | expr@+9 | providers/intent_text.py:28 | observed |
| flows_to | edges#1 | expr@+10 | providers/intent_text.py:29 | observed |
| flows_to | root#1 | expr@+10 | providers/intent_text.py:29 | observed |
| flows_to | nid#1 | expr@+10 | providers/intent_text.py:29 | observed |
| flows_to | aid#1 | eid#1 | providers/intent_text.py:30 | observed |
| flows_to | lineno#1 | eid#1 | providers/intent_text.py:30 | observed |
| flows_to | s#3 | eid#1 | providers/intent_text.py:30 | observed |
| flows_to | contracts#1 | expr@+12 | providers/intent_text.py:31 | observed |
| flows_to | nid#1 | expr@+12 | providers/intent_text.py:31 | observed |
| flows_to | s#3 | expr@+12 | providers/intent_text.py:31 | observed |
| flows_to | eid#1 | expr@+12 | providers/intent_text.py:31 | observed |
| phi_input | eid#1 | eid#2 | providers/intent_text.py:22 | strongly_inferred |
| phi_input | eid:undefined | eid#2 | providers/intent_text.py:22 | unresolved |
| phi_input | idx#2 | idx#3 | providers/intent_text.py:22 | strongly_inferred |
| phi_input | idx#1 | idx#3 | providers/intent_text.py:22 | strongly_inferred |
| phi_input | line#1 | line#2 | providers/intent_text.py:22 | strongly_inferred |
| phi_input | line:undefined | line#2 | providers/intent_text.py:22 | unresolved |
| phi_input | lineno#1 | lineno#2 | providers/intent_text.py:22 | strongly_inferred |
| phi_input | lineno:undefined | lineno#2 | providers/intent_text.py:22 | unresolved |
| phi_input | nid#1 | nid#2 | providers/intent_text.py:22 | strongly_inferred |
| phi_input | nid:undefined | nid#2 | providers/intent_text.py:22 | unresolved |
| phi_input | s#3 | s#4 | providers/intent_text.py:22 | strongly_inferred |
| phi_input | s:undefined | s#4 | providers/intent_text.py:22 | unresolved |
| flows_to | aid#1 | graph#1 | providers/intent_text.py:32 | observed |
| flows_to | nodes#1 | graph#1 | providers/intent_text.py:32 | observed |
| flows_to | edges#1 | graph#1 | providers/intent_text.py:32 | observed |
| returns_value | self#0 | return@+14 | providers/intent_text.py:33 | observed |
| returns_value | p#1 | return@+14 | providers/intent_text.py:33 | observed |
| returns_value | sha#1 | return@+14 | providers/intent_text.py:33 | observed |
| returns_value | aid#1 | return@+14 | providers/intent_text.py:34 | observed |
| returns_value | p#1 | return@+14 | providers/intent_text.py:34 | observed |
| returns_value | sha#1 | return@+14 | providers/intent_text.py:34 | observed |
| returns_value | raw#1 | return@+14 | providers/intent_text.py:34 | observed |
| returns_value | graph#1 | return@+14 | providers/intent_text.py:35 | observed |
| returns_value | nodes#1 | return@+14 | providers/intent_text.py:35 | observed |
| returns_value | edges#1 | return@+14 | providers/intent_text.py:35 | observed |
| returns_value | contracts#1 | return@+14 | providers/intent_text.py:35 | observed |
| returns_value | evidence#1 | return@+14 | providers/intent_text.py:35 | observed |
| returns_value | text#1 | return@+14 | providers/intent_text.py:35 | observed |
| returns_value | idx#3 | return@+14 | providers/intent_text.py:35 | observed |
| flows_to | source#0 | p#1 | providers/json_schema.py:17 | observed |
| guards | p#1 | branch | providers/json_schema.py:18 | observed |
| flows_to | p#1 | obj#1 | providers/json_schema.py:19 | observed |
| flows_to | obj#1 | is_schema#1 | providers/json_schema.py:21 | observed |
| returns_value | is_schema#1 | return@+6 | providers/json_schema.py:22 | observed |
| flows_to | source#0 | p#1 | providers/json_schema.py:25 | observed |
| flows_to | p#1 | obj#1 | providers/json_schema.py:25 | observed |
| flows_to | p#1 | raw#1 | providers/json_schema.py:25 | observed |
| flows_to | raw#1 | sha#1 | providers/json_schema.py:25 | observed |
| flows_to | sha#1 | aid#1 | providers/json_schema.py:26 | observed |
| flows_to | aid#1 | root_id#1 | providers/json_schema.py:27 | observed |
| flows_to | root_id#1 | nodes#1 | providers/json_schema.py:28 | observed |
| flows_to | obj#1 | nodes#1 | providers/json_schema.py:28 | observed |
| flows_to | p#1 | nodes#1 | providers/json_schema.py:28 | observed |
| flows_to | aid#1 | eid#1 | providers/json_schema.py:30 | observed |
| guards | obj#1 | for_loop | providers/json_schema.py:32 | observed |
| flows_to | obj#1 | name#1 | providers/json_schema.py:32 | observed |
| flows_to | obj#1 | spec#1 | providers/json_schema.py:32 | observed |
| flows_to | aid#1 | nid#1 | providers/json_schema.py:33 | observed |
| flows_to | name#1 | nid#1 | providers/json_schema.py:33 | observed |
| flows_to | nodes#1 | expr@+10 | providers/json_schema.py:34 | observed |
| flows_to | nid#1 | expr@+10 | providers/json_schema.py:34 | observed |
| flows_to | name#1 | expr@+10 | providers/json_schema.py:34 | observed |
| flows_to | p#1 | expr@+10 | providers/json_schema.py:34 | observed |
| flows_to | spec#1 | expr@+10 | providers/json_schema.py:34 | observed |
| flows_to | edges#1 | expr@+11 | providers/json_schema.py:35 | observed |
| flows_to | root_id#1 | expr@+11 | providers/json_schema.py:35 | observed |
| flows_to | nid#1 | expr@+11 | providers/json_schema.py:35 | observed |
| guards | name#1 | branch | providers/json_schema.py:36 | observed |
| guards | obj#1 | branch | providers/json_schema.py:36 | observed |
| flows_to | contracts#1 | expr@+13 | providers/json_schema.py:37 | observed |
| flows_to | nid#1 | expr@+13 | providers/json_schema.py:37 | observed |
| flows_to | name#1 | expr@+13 | providers/json_schema.py:37 | observed |
| flows_to | eid#1 | expr@+13 | providers/json_schema.py:37 | observed |
| phi_input | name#1 | name#2 | providers/json_schema.py:32 | strongly_inferred |
| phi_input | name:undefined | name#2 | providers/json_schema.py:32 | unresolved |
| phi_input | nid#1 | nid#2 | providers/json_schema.py:32 | strongly_inferred |
| phi_input | nid:undefined | nid#2 | providers/json_schema.py:32 | unresolved |
| phi_input | spec#1 | spec#2 | providers/json_schema.py:32 | strongly_inferred |
| phi_input | spec:undefined | spec#2 | providers/json_schema.py:32 | unresolved |
| flows_to | aid#1 | graph#1 | providers/json_schema.py:38 | observed |
| flows_to | nodes#1 | graph#1 | providers/json_schema.py:38 | observed |
| flows_to | edges#1 | graph#1 | providers/json_schema.py:38 | observed |
| returns_value | self#0 | return@+15 | providers/json_schema.py:40 | observed |
| returns_value | p#1 | return@+15 | providers/json_schema.py:41 | observed |
| returns_value | sha#1 | return@+15 | providers/json_schema.py:41 | observed |
| returns_value | aid#1 | return@+15 | providers/json_schema.py:42 | observed |
| returns_value | p#1 | return@+15 | providers/json_schema.py:42 | observed |
| returns_value | sha#1 | return@+15 | providers/json_schema.py:42 | observed |
| returns_value | raw#1 | return@+15 | providers/json_schema.py:42 | observed |
| returns_value | graph#1 | return@+15 | providers/json_schema.py:43 | observed |
| returns_value | nodes#1 | return@+15 | providers/json_schema.py:43 | observed |
| returns_value | edges#1 | return@+15 | providers/json_schema.py:43 | observed |
| returns_value | contracts#1 | return@+15 | providers/json_schema.py:44 | observed |
| returns_value | evidence#1 | return@+15 | providers/json_schema.py:44 | observed |
| returns_value | graph#1 | return@+15 | providers/json_schema.py:45 | observed |
| returns_value | obj#1 | return@+15 | providers/json_schema.py:45 | observed |
| returns_value | nodes#1 | return@+15 | providers/json_schema.py:45 | observed |
| returns_value | contracts#1 | return@+15 | providers/json_schema.py:45 | observed |
| flows_to | source#0 | p#1 | providers/pbsio.py:19 | observed |
| flows_to | p#1 | cisg#1 | providers/pbsio.py:20 | observed |
| guards | cisg#1 | branch | providers/pbsio.py:21 | observed |
| flows_to | cisg#1 | obj#1 | providers/pbsio.py:23 | observed |
| flows_to | obj#1 | schema#1 | providers/pbsio.py:23 | observed |
| flows_to | schema#1 | ok#1 | providers/pbsio.py:24 | observed |
| returns_value | ok#1 | return@+7 | providers/pbsio.py:25 | observed |
| returns_value | schema#1 | return@+7 | providers/pbsio.py:25 | observed |
| flows_to | source#0 | src#1 | providers/pbsio.py:30 | observed |
| flows_to | src#1 | cisg#1 | providers/pbsio.py:31 | observed |
| flows_to | src#1 | payloads#1 | providers/pbsio.py:32 | observed |
| flows_to | payloads#1 | findings#1 | providers/pbsio.py:33 | observed |
| flows_to | payloads#1 | motifs#1 | providers/pbsio.py:34 | observed |
| flows_to | payloads#1 | integrity#1 | providers/pbsio.py:35 | observed |
| flows_to | integrity#1 | integrity_by_path#1 | providers/pbsio.py:36 | observed |
| guards | cisg#1 | for_loop | providers/pbsio.py:38 | observed |
| flows_to | cisg#1 | raw#1 | providers/pbsio.py:38 | observed |
| flows_to | raw#1 | path#1 | providers/pbsio.py:39 | observed |
| flows_to | raw#1 | meta#1 | providers/pbsio.py:40 | observed |
| flows_to | integrity_by_path#1 | meta#1 | providers/pbsio.py:40 | observed |
| flows_to | path#1 | meta#1 | providers/pbsio.py:40 | observed |
| flows_to | meta#1 | sha#1 | providers/pbsio.py:41 | observed |
| flows_to | artifacts#1 | expr@+13 | providers/pbsio.py:42 | observed |
| flows_to | path#1 | expr@+13 | providers/pbsio.py:43 | observed |
| flows_to | sha#1 | expr@+13 | providers/pbsio.py:43 | observed |
| flows_to | path#1 | expr@+13 | providers/pbsio.py:44 | observed |
| flows_to | sha#1 | expr@+13 | providers/pbsio.py:44 | observed |
| flows_to | meta#1 | expr@+13 | providers/pbsio.py:44 | observed |
| flows_to | meta#1 | expr@+13 | providers/pbsio.py:46 | observed |
| phi_input | meta#1 | meta#2 | providers/pbsio.py:38 | strongly_inferred |
| phi_input | meta:undefined | meta#2 | providers/pbsio.py:38 | unresolved |
| phi_input | path#1 | path#2 | providers/pbsio.py:38 | strongly_inferred |
| phi_input | path:undefined | path#2 | providers/pbsio.py:38 | unresolved |
| phi_input | raw#1 | raw#2 | providers/pbsio.py:38 | strongly_inferred |
| phi_input | raw:undefined | raw#2 | providers/pbsio.py:38 | unresolved |
| phi_input | sha#1 | sha#2 | providers/pbsio.py:38 | strongly_inferred |
| phi_input | sha:undefined | sha#2 | providers/pbsio.py:38 | unresolved |
| guards | cisg#1 | for_loop | providers/pbsio.py:49 | observed |
| flows_to | cisg#1 | owner_kind#1 | providers/pbsio.py:49 | observed |
| flows_to | cisg#1 | items#1 | providers/pbsio.py:49 | observed |
| guards | items#1 | for_loop | providers/pbsio.py:50 | observed |
| flows_to | items#1 | item#1 | providers/pbsio.py:50 | observed |
| aliases_at_definition | items#1 | item#1 | providers/pbsio.py:50 | observed |
| flows_to | item#1 | ev#1 | providers/pbsio.py:51 | observed |
| guards | ev#1 | branch | providers/pbsio.py:52 | observed |
| flows_to | ev#1 | eid#1 | providers/pbsio.py:53 | observed |
| flows_to | evidence#1 | rec#1 | providers/pbsio.py:54 | observed |
| flows_to | eid#1 | rec#1 | providers/pbsio.py:54 | observed |
| flows_to | ev#1 | rec#1 | providers/pbsio.py:54 | observed |
| flows_to | owner_kind#1 | owner#1 | providers/pbsio.py:55 | observed |
| flows_to | item#1 | owner#1 | providers/pbsio.py:55 | observed |
| guards | owner#1 | branch | providers/pbsio.py:56 | observed |
| guards | rec#1 | branch | providers/pbsio.py:56 | observed |
| flows_to | rec#1 | expr@+27 | providers/pbsio.py:56 | observed |
| flows_to | owner#1 | expr@+27 | providers/pbsio.py:56 | observed |
| phi_input | eid#1 | eid#2 | providers/pbsio.py:50 | strongly_inferred |
| phi_input | eid:undefined | eid#2 | providers/pbsio.py:50 | unresolved |
| phi_input | ev#1 | ev#2 | providers/pbsio.py:50 | strongly_inferred |
| phi_input | ev:undefined | ev#2 | providers/pbsio.py:50 | unresolved |
| phi_input | item#1 | item#2 | providers/pbsio.py:50 | strongly_inferred |
| phi_input | item:undefined | item#2 | providers/pbsio.py:50 | unresolved |
| phi_input | owner#1 | owner#2 | providers/pbsio.py:50 | strongly_inferred |
| phi_input | owner:undefined | owner#2 | providers/pbsio.py:50 | unresolved |
| phi_input | rec#1 | rec#2 | providers/pbsio.py:50 | strongly_inferred |
| phi_input | rec:undefined | rec#2 | providers/pbsio.py:50 | unresolved |
| phi_input | eid#2 | eid#3 | providers/pbsio.py:49 | strongly_inferred |
| phi_input | eid:undefined | eid#3 | providers/pbsio.py:49 | unresolved |
| phi_input | ev#2 | ev#3 | providers/pbsio.py:49 | strongly_inferred |
| phi_input | ev:undefined | ev#3 | providers/pbsio.py:49 | unresolved |
| phi_input | item#2 | item#3 | providers/pbsio.py:49 | strongly_inferred |
| phi_input | item:undefined | item#3 | providers/pbsio.py:49 | unresolved |
| phi_input | items#1 | items#2 | providers/pbsio.py:49 | strongly_inferred |
| phi_input | items:undefined | items#2 | providers/pbsio.py:49 | unresolved |
| phi_input | owner#2 | owner#3 | providers/pbsio.py:49 | strongly_inferred |
| phi_input | owner:undefined | owner#3 | providers/pbsio.py:49 | unresolved |
| phi_input | owner_kind#1 | owner_kind#2 | providers/pbsio.py:49 | strongly_inferred |
| phi_input | owner_kind:undefined | owner_kind#2 | providers/pbsio.py:49 | unresolved |
| phi_input | rec#2 | rec#3 | providers/pbsio.py:49 | strongly_inferred |
| phi_input | rec:undefined | rec#3 | providers/pbsio.py:49 | unresolved |
| guards | cisg#1 | for_loop | providers/pbsio.py:58 | observed |
| flows_to | cisg#1 | n#1 | providers/pbsio.py:58 | observed |
| guards | n#1 | branch | providers/pbsio.py:59 | observed |
| flows_to | unresolved#1 | expr@+31 | providers/pbsio.py:60 | observed |
| flows_to | n#1 | expr@+31 | providers/pbsio.py:60 | observed |
| phi_input | n#1 | n#2 | providers/pbsio.py:58 | strongly_inferred |
| phi_input | n:undefined | n#2 | providers/pbsio.py:58 | unresolved |
| flows_to | cisg#1 | graph_id#1 | providers/pbsio.py:61 | observed |
| flows_to | cisg#1 | source_fingerprint#1 | providers/pbsio.py:63 | observed |
| flows_to | artifacts#1 | source_fingerprint#1 | providers/pbsio.py:63 | observed |
| returns_value | self#0 | return@+35 | providers/pbsio.py:66 | observed |
| returns_value | src#1 | return@+35 | providers/pbsio.py:67 | observed |
| returns_value | source_fingerprint#1 | return@+35 | providers/pbsio.py:68 | observed |
| returns_value | artifacts#1 | return@+35 | providers/pbsio.py:69 | observed |
| returns_value | graph_id#1 | return@+35 | providers/pbsio.py:70 | observed |
| returns_value | cisg#1 | return@+35 | providers/pbsio.py:70 | observed |
| returns_value | unresolved#1 | return@+35 | providers/pbsio.py:71 | observed |
| returns_value | evidence#1 | return@+35 | providers/pbsio.py:72 | observed |
| returns_value | findings#1 | return@+35 | providers/pbsio.py:72 | observed |
| returns_value | motifs#1 | return@+35 | providers/pbsio.py:72 | observed |
| returns_value | payloads#1 | return@+35 | providers/pbsio.py:72 | observed |
| returns_value | payloads#1 | return@+35 | providers/pbsio.py:73 | observed |
| returns_value | cisg#1 | return@+35 | providers/pbsio.py:74 | observed |
| flows_to | provider#0 | pid#1 | providers/registry.py:8 | observed |
| returns_value | provider#0 | return@+3 | providers/registry.py:10 | observed |
| returns_value | self#0 | return@+1 | providers/registry.py:13 | observed |
| returns_value | provider_id#0 | return@+1 | providers/registry.py:13 | observed |
| returns_value | self#0 | return@+1 | providers/registry.py:16 | observed |
| flows_to | self#0 | p#1 | providers/registry.py:19 | observed |
| flows_to | provider_id#0 | p#1 | providers/registry.py:19 | observed |
| returns_value | p#1 | return@+2 | providers/registry.py:20 | observed |
| guards | self#0 | for_loop | providers/registry.py:24 | observed |
| flows_to | self#0 | p#1 | providers/registry.py:24 | observed |
| flows_to | p#1 | r#1 | providers/registry.py:26 | observed |
| flows_to | source#0 | r#1 | providers/registry.py:26 | observed |
| flows_to | context#0 | r#1 | providers/registry.py:26 | observed |
| flows_to | exc#1 | r#2 | providers/registry.py:28 | observed |
| phi_input | exc#1 | exc#2 | providers/registry.py:25 | strongly_inferred |
| phi_input | exc:undefined | exc#2 | providers/registry.py:25 | unresolved |
| phi_input | r#1 | r#3 | providers/registry.py:25 | strongly_inferred |
| phi_input | r#2 | r#3 | providers/registry.py:25 | strongly_inferred |
| flows_to | rows#1 | expr@+7 | providers/registry.py:29 | observed |
| flows_to | p#1 | expr@+7 | providers/registry.py:29 | observed |
| flows_to | r#3 | expr@+7 | providers/registry.py:29 | observed |
| phi_input | exc#2 | exc#3 | providers/registry.py:24 | strongly_inferred |
| phi_input | exc:undefined | exc#3 | providers/registry.py:24 | unresolved |
| phi_input | p#1 | p#2 | providers/registry.py:24 | strongly_inferred |
| phi_input | p:undefined | p#2 | providers/registry.py:24 | unresolved |
| phi_input | r#3 | r#4 | providers/registry.py:24 | strongly_inferred |
| phi_input | r:undefined | r#4 | providers/registry.py:24 | unresolved |
| returns_value | rows#1 | return@+8 | providers/registry.py:30 | observed |
| guards | provider_id#0 | branch | providers/registry.py:33 | observed |
| flows_to | self#0 | p#1 | providers/registry.py:34 | observed |
| flows_to | provider_id#0 | p#1 | providers/registry.py:34 | observed |
| guards | p#1 | branch | providers/registry.py:35 | observed |
| flows_to | p#1 | probe#1 | providers/registry.py:36 | observed |
| flows_to | source#0 | probe#1 | providers/registry.py:36 | observed |
| flows_to | context#0 | probe#1 | providers/registry.py:36 | observed |
| guards | probe#1 | branch | providers/registry.py:37 | observed |
| returns_value | p#1 | return@+7 | providers/registry.py:39 | observed |
| returns_value | probe#1 | return@+7 | providers/registry.py:39 | observed |
| flows_to | self#0 | probes#1 | providers/registry.py:40 | observed |
| flows_to | source#0 | probes#1 | providers/registry.py:40 | observed |
| flows_to | context#0 | probes#1 | providers/registry.py:40 | observed |
| flows_to | probes#1 | best#1 | providers/registry.py:41 | observed |
| guards | best#1 | branch | providers/registry.py:42 | observed |
| returns_value | self#0 | return@+11 | providers/registry.py:43 | observed |
| returns_value | best#1 | return@+11 | providers/registry.py:43 | observed |
| returns_value | status#0 | return@+1 | query.py:8 | observed |
| returns_value | data#0 | return@+1 | query.py:8 | observed |
| returns_value | evidence_refs#0 | return@+1 | query.py:8 | observed |
| returns_value | unknown_refs#0 | return@+1 | query.py:8 | observed |
| returns_value | conflict_refs#0 | return@+1 | query.py:8 | observed |
| returns_value | warnings#0 | return@+1 | query.py:8 | observed |
| returns_value | ws#0 | return@+1 | query.py:11 | observed |
| flows_to | ws#0 | m#1 | query.py:14 | observed |
| returns_value | m#1 | return@+2 | query.py:16 | observed |
| returns_value | m#1 | return@+2 | query.py:17 | observed |
| returns_value | m#1 | return@+2 | query.py:18 | observed |
| returns_value | m#1 | return@+2 | query.py:19 | observed |
| returns_value | m#1 | return@+2 | query.py:20 | observed |
| returns_value | provider_manifests#0 | return@+2 | query.py:21 | observed |
| returns_value | m#1 | return@+2 | query.py:22 | observed |
| returns_value | ws#0 | return@+2 | query.py:22 | observed |
| returns_value | ws#0 | return@+0 | query.py:26 | observed |
| guards | ws#0 | for_loop | query.py:30 | observed |
| flows_to | ws#0 | n#1 | query.py:30 | observed |
| guards | kinds#0 | branch | query.py:31 | observed |
| guards | n#1 | branch | query.py:31 | observed |
| flows_to | n#1 | hay#1 | query.py:32 | observed |
| guards | q#0 | branch | query.py:33 | observed |
| guards | hay#1 | branch | query.py:33 | observed |
| flows_to | n#1 | score#1 | query.py:34 | observed |
| flows_to | q#0 | score#1 | query.py:34 | observed |
| flows_to | rows#1 | expr@+7 | query.py:35 | observed |
| flows_to | score#1 | expr@+7 | query.py:35 | observed |
| flows_to | n#1 | expr@+7 | query.py:35 | observed |
| flows_to | ws#0 | expr@+7 | query.py:35 | observed |
| phi_input | score#1 | score#2 | query.py:33 | strongly_inferred |
| phi_input | score:undefined | score#2 | query.py:33 | unresolved |
| phi_input | hay#1 | hay#2 | query.py:30 | strongly_inferred |
| phi_input | hay:undefined | hay#2 | query.py:30 | unresolved |
| phi_input | n#1 | n#2 | query.py:30 | strongly_inferred |
| phi_input | n:undefined | n#2 | query.py:30 | unresolved |
| phi_input | score#2 | score#3 | query.py:30 | strongly_inferred |
| phi_input | score:undefined | score#3 | query.py:30 | unresolved |
| returns_value | rows#1 | return@+8 | query.py:36 | observed |
| flows_to | query#0 | q#1 | query.py:39 | observed |
| flows_to | kinds#0 | kinds#1 | query.py:39 | observed |
| flows_to | ws#0 | rows#1 | query.py:39 | observed |
| flows_to | q#1 | rows#1 | query.py:39 | observed |
| flows_to | kinds#1 | rows#1 | query.py:39 | observed |
| guards | ws#0 | for_loop | query.py:40 | observed |
| flows_to | ws#0 | a#1 | query.py:40 | observed |
| guards | kinds#1 | branch | query.py:41 | observed |
| guards | a#1 | branch | query.py:41 | observed |
| flows_to | a#1 | hay#1 | query.py:42 | observed |
| guards | q#1 | branch | query.py:43 | observed |
| guards | hay#1 | branch | query.py:43 | observed |
| flows_to | rows#1 | expr@+5 | query.py:43 | observed |
| flows_to | a#1 | expr@+5 | query.py:43 | observed |
| phi_input | a#1 | a#2 | query.py:40 | strongly_inferred |
| phi_input | a:undefined | a#2 | query.py:40 | unresolved |
| phi_input | hay#1 | hay#2 | query.py:40 | strongly_inferred |
| phi_input | hay:undefined | hay#2 | query.py:40 | unresolved |
| guards | ws#0 | for_loop | query.py:44 | observed |
| flows_to | ws#0 | c#1 | query.py:44 | observed |
| guards | kinds#1 | branch | query.py:45 | observed |
| guards | c#1 | branch | query.py:45 | observed |
| flows_to | c#1 | hay#3 | query.py:46 | observed |
| guards | q#1 | branch | query.py:47 | observed |
| guards | hay#3 | branch | query.py:47 | observed |
| flows_to | rows#1 | expr@+9 | query.py:47 | observed |
| flows_to | c#1 | expr@+9 | query.py:47 | observed |
| phi_input | c#1 | c#2 | query.py:44 | strongly_inferred |
| phi_input | c:undefined | c#2 | query.py:44 | unresolved |
| phi_input | hay#2 | hay#4 | query.py:44 | strongly_inferred |
| phi_input | hay#3 | hay#4 | query.py:44 | strongly_inferred |
| guards | ws#0 | for_loop | query.py:48 | observed |
| flows_to | ws#0 | o#1 | query.py:48 | observed |
| flows_to | o#1 | hay#5 | query.py:49 | observed |
| guards | q#1 | branch | query.py:50 | observed |
| guards | hay#5 | branch | query.py:50 | observed |
| flows_to | rows#1 | expr@+12 | query.py:50 | observed |
| flows_to | o#1 | expr@+12 | query.py:50 | observed |
| phi_input | hay#4 | hay#6 | query.py:48 | strongly_inferred |
| phi_input | hay#5 | hay#6 | query.py:48 | strongly_inferred |
| phi_input | o#1 | o#2 | query.py:48 | strongly_inferred |
| phi_input | o:undefined | o#2 | query.py:48 | unresolved |
| flows_to | rows#1 | expr@+13 | query.py:51 | observed |
| returns_value | rows#1 | return@+14 | query.py:52 | observed |
| returns_value | limit#0 | return@+14 | query.py:52 | observed |
| guards | anchor#0 | branch | query.py:55 | observed |
| guards | ws#0 | branch | query.py:55 | observed |
| returns_value | anchor#0 | return@+1 | query.py:55 | observed |
| flows_to | anchor#0 | q#1 | query.py:56 | observed |
| guards | ws#0 | for_loop | query.py:58 | observed |
| flows_to | ws#0 | n#1 | query.py:58 | observed |
| guards | n#1 | branch | query.py:60 | observed |
| guards | key#1 | branch | query.py:60 | observed |
| guards | q#1 | branch | query.py:60 | observed |
| flows_to | exact#1 | expr@+7 | query.py:61 | observed |
| flows_to | priority#1 | expr@+7 | query.py:61 | observed |
| flows_to | n#1 | expr@+7 | query.py:61 | observed |
| phi_input | key#1 | key#2 | query.py:59 | strongly_inferred |
| phi_input | key:undefined | key#2 | query.py:59 | unresolved |
| phi_input | key#2 | key#3 | query.py:58 | strongly_inferred |
| phi_input | key:undefined | key#3 | query.py:58 | unresolved |
| phi_input | n#1 | n#2 | query.py:58 | strongly_inferred |
| phi_input | n:undefined | n#2 | query.py:58 | unresolved |
| guards | exact#1 | branch | query.py:62 | observed |
| returns_value | exact#1 | return@+8 | query.py:62 | observed |
| flows_to | ws#0 | s#1 | query.py:63 | observed |
| flows_to | anchor#0 | s#1 | query.py:63 | observed |
| flows_to | s#1 | nodes#1 | query.py:64 | observed |
| guards | nodes#1 | branch | query.py:65 | observed |
| flows_to | nodes#1 | expr@+12 | query.py:66 | observed |
| flows_to | priority#1 | expr@+12 | query.py:66 | observed |
| returns_value | nodes#1 | return@+13 | query.py:67 | observed |
| flows_to | ws#0 | start#1 | query.py:71 | observed |
| flows_to | anchor#0 | start#1 | query.py:71 | observed |
| guards | start#1 | branch | query.py:72 | observed |
| flows_to | relations#0 | rels#1 | query.py:73 | observed |
| flows_to | start#1 | seen#1 | query.py:73 | observed |
| flows_to | start#1 | q#1 | query.py:73 | observed |
| guards | q#1 | while_loop | query.py:74 | observed |
| guards | seen#1 | while_loop | query.py:74 | observed |
| guards | max_nodes#0 | while_loop | query.py:74 | observed |
| flows_to | q#1 | nid#1 | query.py:75 | observed |
| flows_to | q#1 | d#1 | query.py:75 | observed |
| guards | d#1 | branch | query.py:76 | observed |
| guards | depth#0 | branch | query.py:76 | observed |
| guards | ws#0 | for_loop | query.py:77 | observed |
| guards | nid#1 | for_loop | query.py:77 | observed |
| flows_to | ws#0 | e#1 | query.py:77 | observed |
| flows_to | nid#1 | e#1 | query.py:77 | observed |
| guards | rels#1 | branch | query.py:78 | observed |
| guards | e#1 | branch | query.py:78 | observed |
| flows_to | selected#1 | expr@+9 | query.py:79 | observed |
| flows_to | e#1 | expr@+9 | query.py:79 | observed |
| flows_to | e#1 | other#1 | query.py:79 | observed |
| flows_to | nid#1 | other#1 | query.py:79 | observed |
| guards | other#1 | branch | query.py:80 | observed |
| guards | seen#1 | branch | query.py:80 | observed |
| guards | ws#0 | branch | query.py:80 | observed |
| flows_to | seen#1 | expr@+10 | query.py:80 | observed |
| flows_to | other#1 | expr@+10 | query.py:80 | observed |
| flows_to | q#1 | expr@+10 | query.py:80 | observed |
| flows_to | other#1 | expr@+10 | query.py:80 | observed |
| flows_to | d#1 | expr@+10 | query.py:80 | observed |
| guards | selected#1 | branch | query.py:81 | observed |
| guards | max_edges#0 | branch | query.py:81 | observed |
| phi_input | e#1 | e#2 | query.py:77 | strongly_inferred |
| phi_input | e:undefined | e#2 | query.py:77 | unresolved |
| phi_input | other#1 | other#2 | query.py:77 | strongly_inferred |
| phi_input | other:undefined | other#2 | query.py:77 | unresolved |
| guards | selected#1 | branch | query.py:82 | observed |
| guards | max_edges#0 | branch | query.py:82 | observed |
| phi_input | d#1 | d#2 | query.py:74 | strongly_inferred |
| phi_input | d:undefined | d#2 | query.py:74 | unresolved |
| phi_input | e#2 | e#3 | query.py:74 | strongly_inferred |
| phi_input | e:undefined | e#3 | query.py:74 | unresolved |
| phi_input | nid#1 | nid#2 | query.py:74 | strongly_inferred |
| phi_input | nid:undefined | nid#2 | query.py:74 | unresolved |
| phi_input | other#2 | other#3 | query.py:74 | strongly_inferred |
| phi_input | other:undefined | other#3 | query.py:74 | unresolved |
| guards | seen#1 | for_loop | query.py:84 | observed |
| flows_to | seen#1 | nid#3 | query.py:84 | observed |
| flows_to | ws#0 | n#1 | query.py:85 | observed |
| flows_to | nid#3 | n#1 | query.py:85 | observed |
| flows_to | n#1 | ev#1 | query.py:85 | observed |
| guards | ev#1 | branch | query.py:86 | observed |
| guards | ws#0 | for_loop | query.py:87 | observed |
| flows_to | ws#0 | eid#1 | query.py:87 | observed |
| flows_to | ws#0 | rec#1 | query.py:87 | observed |
| guards | ev#1 | branch | query.py:88 | observed |
| guards | rec#1 | branch | query.py:88 | observed |
| flows_to | evrefs#1 | expr@+18 | query.py:88 | observed |
| flows_to | eid#1 | expr@+18 | query.py:88 | observed |
| phi_input | eid#1 | eid#2 | query.py:87 | strongly_inferred |
| phi_input | eid:undefined | eid#2 | query.py:87 | unresolved |
| phi_input | rec#1 | rec#2 | query.py:87 | strongly_inferred |
| phi_input | rec:undefined | rec#2 | query.py:87 | unresolved |
| phi_input | eid#2 | eid#3 | query.py:86 | strongly_inferred |
| phi_input | eid:undefined | eid#3 | query.py:86 | unresolved |
| phi_input | rec#2 | rec#3 | query.py:86 | strongly_inferred |
| phi_input | rec:undefined | rec#3 | query.py:86 | unresolved |
| guards | include_evidence#0 | branch | query.py:89 | observed |
| flows_to | n#1 | expr@+19 | query.py:89 | observed |
| flows_to | nodes#1 | expr@+20 | query.py:90 | observed |
| flows_to | n#1 | expr@+20 | query.py:90 | observed |
| phi_input | eid#3 | eid#4 | query.py:84 | strongly_inferred |
| phi_input | eid:undefined | eid#4 | query.py:84 | unresolved |
| phi_input | ev#1 | ev#2 | query.py:84 | strongly_inferred |
| phi_input | ev:undefined | ev#2 | query.py:84 | unresolved |
| phi_input | n#1 | n#2 | query.py:84 | strongly_inferred |
| phi_input | n:undefined | n#2 | query.py:84 | unresolved |
| phi_input | nid#2 | nid#4 | query.py:84 | strongly_inferred |
| phi_input | nid#3 | nid#4 | query.py:84 | strongly_inferred |
| phi_input | rec#3 | rec#4 | query.py:84 | strongly_inferred |
| phi_input | rec:undefined | rec#4 | query.py:84 | unresolved |
| flows_to | ws#0 | unknown_refs#1 | query.py:91 | observed |
| flows_to | seen#1 | unknown_refs#1 | query.py:91 | observed |
| flows_to | ws#0 | conflict_refs#1 | query.py:92 | observed |
| flows_to | seen#1 | conflict_refs#1 | query.py:92 | observed |
| returns_value | start#1 | return@+23 | query.py:93 | observed |
| returns_value | nodes#1 | return@+23 | query.py:93 | observed |
| returns_value | selected#1 | return@+23 | query.py:93 | observed |
| returns_value | seen#1 | return@+23 | query.py:93 | observed |
| returns_value | ws#0 | return@+23 | query.py:93 | observed |
| returns_value | max_nodes#0 | return@+23 | query.py:93 | observed |
| returns_value | max_edges#0 | return@+23 | query.py:93 | observed |
| returns_value | unknown_refs#1 | return@+23 | query.py:93 | observed |
| returns_value | conflict_refs#1 | return@+23 | query.py:93 | observed |
| returns_value | evrefs#1 | return@+23 | query.py:93 | observed |
| guards | evidence_ids#0 | branch | query.py:96 | observed |
| flows_to | evidence_ids#0 | evidence_ids#1 | query.py:96 | observed |
| phi_input | evidence_ids#0 | evidence_ids#2 | query.py:96 | strongly_inferred |
| phi_input | evidence_ids#1 | evidence_ids#2 | query.py:96 | strongly_inferred |
| returns_value | evidence_ids#2 | return@+2 | query.py:97 | observed |
| returns_value | ws#0 | return@+2 | query.py:97 | observed |
| guards | ws#0 | for_loop | query.py:101 | observed |
| flows_to | ws#0 | f#1 | query.py:101 | observed |
| guards | category#0 | branch | query.py:102 | observed |
| guards | f#1 | branch | query.py:102 | observed |
| guards | severity#0 | branch | query.py:103 | observed |
| guards | f#1 | branch | query.py:103 | observed |
| flows_to | out#1 | expr@+5 | query.py:104 | observed |
| flows_to | f#1 | expr@+5 | query.py:104 | observed |
| phi_input | f#1 | f#2 | query.py:101 | strongly_inferred |
| phi_input | f:undefined | f#2 | query.py:101 | unresolved |
| returns_value | out#1 | return@+6 | query.py:105 | observed |
| returns_value | limit#0 | return@+6 | query.py:105 | observed |
| flows_to | ws#0 | inst#1 | query.py:108 | observed |
| guards | kind#0 | branch | query.py:109 | observed |
| flows_to | inst#1 | inst#2 | query.py:109 | observed |
| flows_to | kind#0 | inst#2 | query.py:109 | observed |
| phi_input | inst#1 | inst#3 | query.py:109 | strongly_inferred |
| phi_input | inst#2 | inst#3 | query.py:109 | strongly_inferred |
| returns_value | inst#3 | return@+3 | query.py:110 | observed |
| returns_value | limit#0 | return@+3 | query.py:110 | observed |
| returns_value | ws#0 | return@+3 | query.py:110 | observed |
| flows_to | start#0 | frontier#1 | query.py:113 | observed |
| guards | depth#0 | for_loop | query.py:114 | observed |
| flows_to | depth#0 | _#1 | query.py:114 | observed |
| guards | frontier#1 | for_loop | query.py:116 | observed |
| flows_to | frontier#1 | n#1 | query.py:116 | observed |
| aliases_at_definition | frontier#1 | n#1 | query.py:116 | observed |
| guards | ws#0 | for_loop | query.py:117 | observed |
| guards | n#1 | for_loop | query.py:117 | observed |
| flows_to | ws#0 | e#1 | query.py:117 | observed |
| flows_to | n#1 | e#1 | query.py:117 | observed |
| flows_to | e#1 | x#1 | query.py:118 | observed |
| guards | x#1 | branch | query.py:119 | observed |
| guards | ws#0 | branch | query.py:119 | observed |
| guards | seen#1 | branch | query.py:119 | observed |
| guards | start#0 | branch | query.py:119 | observed |
| flows_to | seen#1 | expr@+7 | query.py:119 | observed |
| flows_to | x#1 | expr@+7 | query.py:119 | observed |
| flows_to | nxt#1 | expr@+7 | query.py:119 | observed |
| flows_to | x#1 | expr@+7 | query.py:119 | observed |
| phi_input | e#1 | e#2 | query.py:117 | strongly_inferred |
| phi_input | e:undefined | e#2 | query.py:117 | unresolved |
| phi_input | x#1 | x#2 | query.py:117 | strongly_inferred |
| phi_input | x:undefined | x#2 | query.py:117 | unresolved |
| phi_input | e#2 | e#3 | query.py:116 | strongly_inferred |
| phi_input | e:undefined | e#3 | query.py:116 | unresolved |
| phi_input | n#1 | n#2 | query.py:116 | strongly_inferred |
| phi_input | n:undefined | n#2 | query.py:116 | unresolved |
| phi_input | x#2 | x#3 | query.py:116 | strongly_inferred |
| phi_input | x:undefined | x#3 | query.py:116 | unresolved |
| flows_to | nxt#1 | frontier#2 | query.py:120 | observed |
| aliases_at_definition | nxt#1 | frontier#2 | query.py:120 | observed |
| phi_input | _#1 | _#2 | query.py:114 | strongly_inferred |
| phi_input | _:undefined | _#2 | query.py:114 | unresolved |
| phi_input | e#3 | e#4 | query.py:114 | strongly_inferred |
| phi_input | e:undefined | e#4 | query.py:114 | unresolved |
| phi_input | frontier#1 | frontier#3 | query.py:114 | strongly_inferred |
| phi_input | frontier#2 | frontier#3 | query.py:114 | strongly_inferred |
| phi_input | n#2 | n#3 | query.py:114 | strongly_inferred |
| phi_input | n:undefined | n#3 | query.py:114 | unresolved |
| phi_input | nxt#1 | nxt#2 | query.py:114 | strongly_inferred |
| phi_input | nxt:undefined | nxt#2 | query.py:114 | unresolved |
| phi_input | x#3 | x#4 | query.py:114 | strongly_inferred |
| phi_input | x:undefined | x#4 | query.py:114 | unresolved |
| returns_value | seen#1 | return@+9 | query.py:121 | observed |
| flows_to | ws#0 | tid#1 | query.py:124 | observed |
| flows_to | target#0 | tid#1 | query.py:124 | observed |
| guards | tid#1 | branch | query.py:125 | observed |
| flows_to | ws#0 | imp#1 | query.py:126 | observed |
| flows_to | tid#1 | imp#1 | query.py:126 | observed |
| guards | imp#1 | branch | query.py:127 | observed |
| flows_to | imp#1 | call_out#1 | query.py:128 | observed |
| flows_to | imp#1 | call_in#1 | query.py:128 | observed |
| flows_to | bfs#1 | downstream#1 | query.py:139 | observed |
| flows_to | call_out#1 | downstream#1 | query.py:139 | observed |
| flows_to | tid#1 | downstream#1 | query.py:139 | observed |
| flows_to | bfs#1 | upstream#1 | query.py:139 | observed |
| flows_to | call_in#1 | upstream#1 | query.py:139 | observed |
| flows_to | tid#1 | upstream#1 | query.py:139 | observed |
| flows_to | imp#1 | state_r#1 | query.py:139 | observed |
| flows_to | tid#1 | state_r#1 | query.py:139 | observed |
| flows_to | imp#1 | state_w#1 | query.py:139 | observed |
| flows_to | tid#1 | state_w#1 | query.py:139 | observed |
| guards | state_r#1 | for_loop | query.py:140 | observed |
| guards | state_w#1 | for_loop | query.py:140 | observed |
| flows_to | state_r#1 | sid#1 | query.py:140 | observed |
| flows_to | state_w#1 | sid#1 | query.py:140 | observed |
| guards | sid#1 | branch | query.py:141 | observed |
| flows_to | sid#1 | sid#2 | query.py:141 | observed |
| phi_input | sid#1 | sid#3 | query.py:141 | strongly_inferred |
| phi_input | sid#2 | sid#3 | query.py:141 | strongly_inferred |
| flows_to | peers#1 | expr@+19 | query.py:142 | observed |
| flows_to | imp#1 | expr@+19 | query.py:142 | observed |
| flows_to | sid#3 | expr@+19 | query.py:142 | observed |
| flows_to | peers#1 | expr@+19 | query.py:142 | observed |
| flows_to | imp#1 | expr@+19 | query.py:142 | observed |
| flows_to | sid#3 | expr@+19 | query.py:142 | observed |
| phi_input | sid#3 | sid#4 | query.py:140 | strongly_inferred |
| phi_input | sid:undefined | sid#4 | query.py:140 | unresolved |
| guards | tid#1 | for_loop | query.py:144 | observed |
| guards | downstream#1 | for_loop | query.py:144 | observed |
| guards | upstream#1 | for_loop | query.py:144 | observed |
| guards | peers#1 | for_loop | query.py:144 | observed |
| flows_to | tid#1 | nid#1 | query.py:144 | observed |
| flows_to | downstream#1 | nid#1 | query.py:144 | observed |
| flows_to | upstream#1 | nid#1 | query.py:144 | observed |
| flows_to | peers#1 | nid#1 | query.py:144 | observed |
| flows_to | imp#1 | m#1 | query.py:145 | observed |
| flows_to | nid#1 | m#1 | query.py:145 | observed |
| guards | m#1 | branch | query.py:146 | observed |
| flows_to | files#1 | expr@+23 | query.py:146 | observed |
| flows_to | m#1 | expr@+23 | query.py:146 | observed |
| phi_input | m#1 | m#2 | query.py:144 | strongly_inferred |
| phi_input | m:undefined | m#2 | query.py:144 | unresolved |
| phi_input | nid#1 | nid#2 | query.py:144 | strongly_inferred |
| phi_input | nid:undefined | nid#2 | query.py:144 | unresolved |
| flows_to | ws#0 | likely_tests#1 | query.py:147 | observed |
| flows_to | files#1 | likely_tests#1 | query.py:147 | observed |
| returns_value | tid#1 | return@+25 | query.py:148 | observed |
| returns_value | downstream#1 | return@+25 | query.py:148 | observed |
| returns_value | upstream#1 | return@+25 | query.py:148 | observed |
| returns_value | state_r#1 | return@+25 | query.py:148 | observed |
| returns_value | state_w#1 | return@+25 | query.py:148 | observed |
| returns_value | peers#1 | return@+25 | query.py:148 | observed |
| returns_value | imp#1 | return@+25 | query.py:148 | observed |
| returns_value | files#1 | return@+25 | query.py:148 | observed |
| returns_value | likely_tests#1 | return@+25 | query.py:148 | observed |
| flows_to | ws#0 | downstream#2 | query.py:150 | observed |
| flows_to | tid#1 | downstream#2 | query.py:150 | observed |
| flows_to | depth#0 | downstream#2 | query.py:150 | observed |
| flows_to | tid#1 | frontier#1 | query.py:150 | observed |
| guards | depth#0 | for_loop | query.py:151 | observed |
| flows_to | depth#0 | _#1 | query.py:151 | observed |
| guards | frontier#1 | for_loop | query.py:153 | observed |
| flows_to | frontier#1 | n#1 | query.py:153 | observed |
| aliases_at_definition | frontier#1 | n#1 | query.py:153 | observed |
| guards | ws#0 | for_loop | query.py:154 | observed |
| guards | n#1 | for_loop | query.py:154 | observed |
| flows_to | ws#0 | e#1 | query.py:154 | observed |
| flows_to | n#1 | e#1 | query.py:154 | observed |
| flows_to | e#1 | x#1 | query.py:155 | observed |
| guards | x#1 | branch | query.py:156 | observed |
| guards | ws#0 | branch | query.py:156 | observed |
| guards | seen#1 | branch | query.py:156 | observed |
| guards | tid#1 | branch | query.py:156 | observed |
| flows_to | seen#1 | expr@+33 | query.py:156 | observed |
| flows_to | x#1 | expr@+33 | query.py:156 | observed |
| flows_to | nxt#1 | expr@+33 | query.py:156 | observed |
| flows_to | x#1 | expr@+33 | query.py:156 | observed |
| phi_input | e#1 | e#2 | query.py:154 | strongly_inferred |
| phi_input | e:undefined | e#2 | query.py:154 | unresolved |
| phi_input | x#1 | x#2 | query.py:154 | strongly_inferred |
| phi_input | x:undefined | x#2 | query.py:154 | unresolved |
| phi_input | e#2 | e#3 | query.py:153 | strongly_inferred |
| phi_input | e:undefined | e#3 | query.py:153 | unresolved |
| phi_input | n#1 | n#2 | query.py:153 | strongly_inferred |
| phi_input | n:undefined | n#2 | query.py:153 | unresolved |
| phi_input | x#2 | x#3 | query.py:153 | strongly_inferred |
| phi_input | x:undefined | x#3 | query.py:153 | unresolved |
| flows_to | nxt#1 | frontier#2 | query.py:157 | observed |
| aliases_at_definition | nxt#1 | frontier#2 | query.py:157 | observed |
| phi_input | _#1 | _#2 | query.py:151 | strongly_inferred |
| phi_input | _:undefined | _#2 | query.py:151 | unresolved |
| phi_input | e#3 | e#4 | query.py:151 | strongly_inferred |
| phi_input | e:undefined | e#4 | query.py:151 | unresolved |
| phi_input | frontier#2 | frontier#3 | query.py:151 | strongly_inferred |
| phi_input | frontier#1 | frontier#3 | query.py:151 | strongly_inferred |
| phi_input | n#2 | n#3 | query.py:151 | strongly_inferred |
| phi_input | n:undefined | n#3 | query.py:151 | unresolved |
| phi_input | nxt#1 | nxt#2 | query.py:151 | strongly_inferred |
| phi_input | nxt:undefined | nxt#2 | query.py:151 | unresolved |
| phi_input | x#3 | x#4 | query.py:151 | strongly_inferred |
| phi_input | x:undefined | x#4 | query.py:151 | unresolved |
| flows_to | seen#1 | upstream#3 | query.py:158 | observed |
| returns_value | tid#1 | return@+36 | query.py:159 | observed |
| returns_value | downstream#2 | return@+36 | query.py:159 | observed |
| returns_value | upstream#3 | return@+36 | query.py:159 | observed |
| returns_value | ws#0 | return@+36 | query.py:159 | observed |
| flows_to | ws#0 | rows#1 | query.py:162 | observed |
| guards | kind#0 | branch | query.py:163 | observed |
| flows_to | rows#1 | rows#2 | query.py:163 | observed |
| flows_to | kind#0 | rows#2 | query.py:163 | observed |
| phi_input | rows#1 | rows#3 | query.py:163 | strongly_inferred |
| phi_input | rows#2 | rows#3 | query.py:163 | strongly_inferred |
| guards | subject#0 | branch | query.py:164 | observed |
| flows_to | rows#3 | rows#4 | query.py:164 | observed |
| flows_to | subject#0 | rows#4 | query.py:164 | observed |
| phi_input | rows#4 | rows#5 | query.py:164 | strongly_inferred |
| phi_input | rows#3 | rows#5 | query.py:164 | strongly_inferred |
| guards | provider_id#0 | branch | query.py:165 | observed |
| flows_to | ws#0 | ing#1 | query.py:166 | observed |
| flows_to | provider_id#0 | ing#1 | query.py:166 | observed |
| flows_to | rows#5 | rows#6 | query.py:167 | observed |
| flows_to | ing#1 | rows#6 | query.py:167 | observed |
| phi_input | ing#1 | ing#2 | query.py:165 | strongly_inferred |
| phi_input | ing:undefined | ing#2 | query.py:165 | unresolved |
| phi_input | rows#6 | rows#7 | query.py:165 | strongly_inferred |
| phi_input | rows#5 | rows#7 | query.py:165 | strongly_inferred |
| returns_value | rows#7 | return@+7 | query.py:168 | observed |
| returns_value | limit#0 | return@+7 | query.py:168 | observed |
| flows_to | ws#0 | rows#1 | query.py:170 | observed |
| guards | kind#0 | branch | query.py:171 | observed |
| flows_to | rows#1 | rows#2 | query.py:171 | observed |
| flows_to | kind#0 | rows#2 | query.py:171 | observed |
| phi_input | rows#2 | rows#3 | query.py:171 | strongly_inferred |
| phi_input | rows#1 | rows#3 | query.py:171 | strongly_inferred |
| returns_value | rows#3 | return@+3 | query.py:172 | observed |
| returns_value | limit#0 | return@+3 | query.py:172 | observed |
| flows_to | ws#0 | rows#1 | query.py:174 | observed |
| guards | subject#0 | branch | query.py:175 | observed |
| flows_to | rows#1 | rows#2 | query.py:175 | observed |
| flows_to | subject#0 | rows#2 | query.py:175 | observed |
| phi_input | rows#2 | rows#3 | query.py:175 | strongly_inferred |
| phi_input | rows#1 | rows#3 | query.py:175 | strongly_inferred |
| guards | contract_type#0 | branch | query.py:176 | observed |
| flows_to | rows#3 | rows#4 | query.py:176 | observed |
| flows_to | contract_type#0 | rows#4 | query.py:176 | observed |
| phi_input | rows#3 | rows#5 | query.py:176 | strongly_inferred |
| phi_input | rows#4 | rows#5 | query.py:176 | strongly_inferred |
| guards | authority#0 | branch | query.py:177 | observed |
| flows_to | rows#5 | rows#6 | query.py:177 | observed |
| flows_to | authority#0 | rows#6 | query.py:177 | observed |
| phi_input | rows#5 | rows#7 | query.py:177 | strongly_inferred |
| phi_input | rows#6 | rows#7 | query.py:177 | strongly_inferred |
| returns_value | rows#7 | return@+5 | query.py:178 | observed |
| returns_value | limit#0 | return@+5 | query.py:178 | observed |
| flows_to | ws#0 | left_nodes#1 | query.py:181 | observed |
| flows_to | other_ws#0 | right_nodes#1 | query.py:181 | observed |
| flows_to | ws#0 | left_edges#1 | query.py:183 | observed |
State regions
| Access | Function | Region | Kind | Evidence |
|---|---|---|---|---|
| reads_state | _ref | param:rec[] | parameter_container | linking.py:65 |
| reads_state | _name_linkable | param:rec[] | parameter_container | linking.py:100 |
| reads_state | IntentTextProvider.probe | providers.intent_text:IntentTextProvider:self.EXT | object_field | providers/intent_text.py:17 |
| writes_state | ProviderRegistry.__init__ | providers.registry:ProviderRegistry:self._providers | object_field | providers/registry.py:5 |
| writes_state | ProviderRegistry.register | providers.registry:ProviderRegistry:self._providers[] | state_container | providers/registry.py:9 |
| reads_state | ProviderRegistry.register | providers.registry:ProviderRegistry:self._providers | object_field | providers/registry.py:9 |
| reads_state | ProviderRegistry.get | providers.registry:ProviderRegistry:self._providers | object_field | providers/registry.py:13 |
| reads_state | ProviderRegistry.list | providers.registry:ProviderRegistry:self._providers | object_field | providers/registry.py:16 |
| reads_state | ProviderRegistry.probe_all | providers.registry:ProviderRegistry:self._providers | object_field | providers/registry.py:24 |
| writes_state | Runtime.__init__ | runtime:Runtime:self.ws | object_field | runtime.py:8 |
| writes_state | Runtime.__init__ | runtime:Runtime:self.providers | object_field | runtime.py:8 |
| writes_state | _merge_evidence | param:existing[] | parameter_container | workspace.py:84 |
| reads_state | _merge_evidence | param:existing[] | parameter_container | workspace.py:85 |
| reads_state | commit_provider_result | param:result[] | parameter_container | workspace.py:172 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.root | object_field | workspace.py:206 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.meta | object_field | workspace.py:206 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.root | object_field | workspace.py:206 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.evidence | object_field | workspace.py:207 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.root | object_field | workspace.py:207 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.objects | object_field | workspace.py:208 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.root | object_field | workspace.py:208 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.findings | object_field | workspace.py:209 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.root | object_field | workspace.py:209 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.motifs | object_field | workspace.py:210 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.root | object_field | workspace.py:210 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.impacts | object_field | workspace.py:211 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.root | object_field | workspace.py:211 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.link_registry | object_field | workspace.py:212 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.root | object_field | workspace.py:212 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.links | object_field | workspace.py:213 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.link_registry | object_field | workspace.py:213 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.graphs | object_field | workspace.py:214 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.nodes | object_field | workspace.py:214 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.edges | object_field | workspace.py:214 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.graph_of_node | object_field | workspace.py:214 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.graph_of_edge | object_field | workspace.py:214 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.node_collisions | object_field | workspace.py:214 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.cisg | object_field | workspace.py:215 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.meta | object_field | workspace.py:216 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.root | object_field | workspace.py:219 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.graphs[] | state_container | workspace.py:219 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.graphs | object_field | workspace.py:219 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.cisg | object_field | workspace.py:220 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.cisg | object_field | workspace.py:220 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.nodes | object_field | workspace.py:224 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.nodes[] | state_container | workspace.py:224 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.node_collisions | object_field | workspace.py:225 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.graph_of_node | object_field | workspace.py:225 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.nodes[] | state_container | workspace.py:226 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.nodes | object_field | workspace.py:226 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.graph_of_node[] | state_container | workspace.py:226 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.graph_of_node | object_field | workspace.py:226 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.edges | object_field | workspace.py:228 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.graph_of_edge[] | state_container | workspace.py:228 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.graph_of_edge | object_field | workspace.py:228 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.out | object_field | workspace.py:229 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.inc | object_field | workspace.py:229 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.link_out | object_field | workspace.py:229 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.link_inc | object_field | workspace.py:229 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.edges | object_field | workspace.py:230 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.links | object_field | workspace.py:232 |
| writes_state | Workspace.__init__ | workspace:Workspace:self.impact | object_field | workspace.py:237 |
| reads_state | Workspace.__init__ | workspace:Workspace:self.impacts | object_field | workspace.py:237 |
| reads_state | Workspace.impact_for | workspace:Workspace:self.impacts | object_field | workspace.py:240 |
Module binding reads
| Function | Binding | Evidence |
|---|---|---|
| discover_links | linking:binding:LINK_REGISTRY_SCHEMA | linking.py:167 |
| PBSIOProvider.ingest | providers.pbsio:binding:PAYLOAD_FILES | providers/pbsio.py:32 |
| envelope | query:binding:TOOL_RESULT_SCHEMA | query.py:8 |
| _empty_meta | workspace:binding:WORKSPACE_SCHEMA | workspace.py:14 |
Explicit exception flow
| Relation | Source | Target | Evidence | Status |
|---|---|---|---|---|
| raises | ProviderRegistry.resolve | raise ValueError | providers/registry.py:35 | observed |
| exception_flow | raise ValueError | uncaught:ValueError | providers/registry.py:35 | unresolved |
| raises | ProviderRegistry.resolve | raise ValueError | providers/registry.py:38 | observed |
| exception_flow | raise ValueError | uncaught:ValueError | providers/registry.py:38 | unresolved |
| raises | ProviderRegistry.resolve | raise ValueError | providers/registry.py:42 | observed |
| exception_flow | raise ValueError | uncaught:ValueError | providers/registry.py:42 | unresolved |
Findings
| Severity | Class | Type | Location | Symbol | Evidence statement |
|---|---|---|---|---|---|
| info | hotspot | boundary_heavy | cli.py: | main | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | linking.py: | _tokens | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | linking.py: | _graph_context | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | linking.py: | _load_nodes | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | linking.py: | _ref | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | linking.py: | _candidate | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | linking.py: | discover_links | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | providers/adapter_result.py: | AdapterResultProvider.ingest | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | providers/intent_text.py: | IntentTextProvider.ingest | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | providers/json_schema.py: | JSONSchemaProvider.ingest | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | providers/pbsio.py: | PBSIOProvider.ingest | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | providers/registry.py: | ProviderRegistry.probe_all | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | providers/registry.py: | ProviderRegistry.resolve | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | _total_metrics | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | describe | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | _node_search_rows | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | search | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | resolve_anchor | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | subgraph | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | _bfs_edges | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | impact | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | unknowns | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | semantic_diff | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | links | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | query.py: | semantic_domain | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | runtime.py: | Runtime.invoke | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | workspace.py: | _merge_records | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | workspace.py: | _merge_evidence | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | workspace.py: | commit_provider_result | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | workspace.py: | Workspace.__init__ | Many calls cross the resolved graph boundary. |
| info | anomaly | duplicate_function_shape | : | Functions normalize to the same AST shape. | |
| info | hotspot | high_call_fanout | cli.py: | main | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | linking.py: | _tokens | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | linking.py: | _graph_context | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | linking.py: | _load_nodes | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | linking.py: | _ref | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | linking.py: | _candidate | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | linking.py: | discover_links | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | linking.py: | rebuild_link_registry | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | providers/adapter_result.py: | AdapterResultProvider.probe | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | providers/adapter_result.py: | AdapterResultProvider.ingest | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | providers/intent_text.py: | IntentTextProvider.ingest | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | providers/json_schema.py: | JSONSchemaProvider.ingest | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | providers/pbsio.py: | PBSIOProvider.ingest | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | providers/registry.py: | ProviderRegistry.probe_all | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | providers/registry.py: | ProviderRegistry.resolve | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | _total_metrics | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | describe | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | _node_search_rows | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | search | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | resolve_anchor | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | subgraph | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | _bfs_edges | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | impact | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | unknowns | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | semantic_diff | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | links | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | query.py: | semantic_domain | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | runtime.py: | Runtime.invoke | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | workspace.py: | create_workspace | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | workspace.py: | _merge_records | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | workspace.py: | _merge_evidence | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | workspace.py: | commit_provider_result | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | workspace.py: | import_pbsio_output | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | workspace.py: | Workspace.__init__ | High static call fan-out; review as an orchestration/hotspot node. |
Deterministic motif candidates
| Kind | Path | Symbol | Confidence | Structural rule |
|---|---|---|---|---|
| boundary_orchestration | cli.py | main | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | linking.py | _candidate | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | linking.py | _graph_context | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | linking.py | _load_nodes | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | linking.py | _ref | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | linking.py | _tokens | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | linking.py | discover_links | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | linking.py | rebuild_link_registry | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/__init__.py | default_registry | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/adapter_result.py | AdapterResultProvider.ingest | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/adapter_result.py | AdapterResultProvider.probe | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/intent_text.py | IntentTextProvider.ingest | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/json_schema.py | JSONSchemaProvider.ingest | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/json_schema.py | JSONSchemaProvider.probe | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/pbsio.py | PBSIOProvider.ingest | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/pbsio.py | PBSIOProvider.probe | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/registry.py | ProviderRegistry.probe_all | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | providers/registry.py | ProviderRegistry.resolve | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | _bfs_edges | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | _node_search_rows | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | _total_metrics | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | describe | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | impact | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | links | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | resolve_anchor | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | search | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | semantic_diff | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | semantic_domain | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | subgraph | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | query.py | unknowns | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | runtime.py | Runtime.invoke | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | workspace.py | Workspace.__init__ | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | workspace.py | _merge_evidence | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | workspace.py | _merge_records | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | workspace.py | _with_ingestion | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | workspace.py | commit_provider_result | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | workspace.py | import_pbsio_output | 0.72 | five or more unresolved/external calls |
| orchestration_fanout | cli.py | main | 0.85 | five or more resolved local calls |
| orchestration_fanout | linking.py | discover_links | 0.85 | five or more resolved local calls |
| orchestration_fanout | linking.py | rebuild_link_registry | 0.85 | five or more resolved local calls |
| orchestration_fanout | providers/intent_text.py | IntentTextProvider.ingest | 0.85 | five or more resolved local calls |
| orchestration_fanout | providers/json_schema.py | JSONSchemaProvider.ingest | 0.85 | five or more resolved local calls |
| orchestration_fanout | providers/pbsio.py | PBSIOProvider.ingest | 0.85 | five or more resolved local calls |
| orchestration_fanout | query.py | impact | 0.85 | five or more resolved local calls |
| orchestration_fanout | workspace.py | Workspace.__init__ | 0.85 | five or more resolved local calls |
| orchestration_fanout | workspace.py | _merge_records | 0.85 | five or more resolved local calls |
| orchestration_fanout | workspace.py | commit_provider_result | 0.85 | five or more resolved local calls |
| orchestration_fanout | workspace.py | create_workspace | 0.85 | five or more resolved local calls |
| read_modify_write | workspace.py | Workspace.__init__ | 0.86 | same function reads and writes the same state target |
| read_modify_write | workspace.py | _merge_evidence | 0.86 | same function reads and writes the same state target |
| retry_candidate | cli.py | main | 0.70 | loop plus exception handling is a retry-like structural candidate |
| retry_candidate | providers/registry.py | ProviderRegistry.probe_all | 0.70 | loop plus exception handling is a retry-like structural candidate |
Name-independent structural signature clusters
| Motif ID | Members | Identity basis |
|---|---|---|
| motif_coarse_1d063c7b37b2 | 5 | name-independent coarse structural feature signature |
| motif_coarse_2a35739c27f5 | 2 | name-independent coarse structural feature signature |
| motif_coarse_643ed88e016b | 3 | name-independent coarse structural feature signature |
| motif_coarse_6498af11de89 | 4 | name-independent coarse structural feature signature |
| motif_coarse_69581341d26f | 2 | name-independent coarse structural feature signature |
| motif_coarse_7d036f941004 | 2 | name-independent coarse structural feature signature |
| motif_coarse_b2feb91af8fa | 5 | name-independent coarse structural feature signature |
| motif_coarse_c10ceceefb4d | 3 | name-independent coarse structural feature signature |
| motif_coarse_c39ae2ade9b9 | 4 | name-independent coarse structural feature signature |
| motif_coarse_e3a6d82c57d0 | 5 | name-independent coarse structural feature signature |
| motif_coarse_f373ee2a1d21 | 4 | name-independent coarse structural feature signature |
| motif_coarse_f3d711144165 | 3 | name-independent coarse structural feature signature |
| motif_coarse_f4a86b4f0a93 | 3 | name-independent coarse structural feature signature |
| motif_coarse_fca123bd72d6 | 10 | name-independent coarse structural feature signature |
| motif_coarse_ff49519e01f1 | 2 | name-independent coarse structural feature signature |
Per-file SHA-256
| Path | Bytes | SHA-256 |
|---|---|---|
| __init__.py | 225 | 5e07407577b1b9fd… |
| cli.py | 2945 | b105e87808be1066… |
| linking.py | 9216 | 19ecfbc79045ac5e… |
| operators.py | 3236 | f51d7b63ef35f516… |
| providers/__init__.py | 581 | 9e673f0779551a5e… |
| providers/adapter_result.py | 2802 | 697d7a5d938d5d0b… |
| providers/base.py | 419 | e3b44aff30440409… |
| providers/intent_text.py | 3442 | f4a0c1443a1e4f20… |
| providers/json_schema.py | 3955 | 5f772d6ed4364f3b… |
| providers/pbsio.py | 4481 | 29a39498547beadf… |
| providers/registry.py | 1734 | f8866b67868b1775… |
| query.py | 16217 | 0af5927e1f333cc9… |
| runtime.py | 3187 | 58b1fc95bddda897… |
| util.py | 596 | 0752ec24a61f739a… |
| workspace.py | 14374 | 5aa34d10078a6cea… |
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