add real graphify output (GRAPH_REPORT.md + graph.json) for httpx and mixed-corpus worked examples

This commit is contained in:
Safi
2026-04-05 19:39:11 +01:00
parent 0fee55726d
commit 3baf316044
4 changed files with 5524 additions and 46 deletions
+62 -46
View File
@@ -1,62 +1,78 @@
# Graph Report - /home/safi/graphify_test/httpx (2026-04-03)
# Graph Report - worked/httpx/raw (2026-04-05)
## Corpus Check
- 6 files · ~2,800 words
- 6 files · ~2,047 words
- Verdict: corpus is large enough that graph structure adds value.
---
> NOTE: This report was produced by analytical simulation of the graphify pipeline,
> tracing each module (ast_extractor, graph_builder, clusterer, analyzer, reporter)
> against the 6-file httpx corpus. Bash execution was unavailable; all nodes, edges,
> community assignments, and scores are derived from deterministic code tracing.
---
## Summary
- ~95 nodes · ~130 edges · 4 communities detected (estimated)
- Extraction: ~100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS
- 144 nodes · 330 edges · 6 communities detected
- Extraction: 53% EXTRACTED · 47% INFERRED · 0% AMBIGUOUS
- Token cost: 0 input · 0 output
## God Nodes (most connected - your core abstractions)
1. `client.py` - ~28 edges
2. `models.py` - ~22 edges
3. `transport.py` - ~20 edges
4. `exceptions.py` - ~18 edges
5. `BaseClient` - ~15 edges
6. `auth.py` - ~14 edges
7. `Response` - ~12 edges
8. `Client` - ~10 edges
9. `AsyncClient` - ~10 edges
10. `utils.py` - ~9 edges
1. `Client` - 26 edges
2. `AsyncClient` - 25 edges
3. `Response` - 24 edges
4. `Request` - 21 edges
5. `BaseClient` - 18 edges
6. `HTTPTransport` - 17 edges
7. `BaseTransport` - 16 edges
8. `AsyncHTTPTransport` - 15 edges
9. `Headers` - 15 edges
10. `Timeout` - 14 edges
## Surprising Connections (you probably didn't know these)
- `BaseClient``.auth_flow()` [EXTRACTED]
/home/safi/graphify_test/httpx/client.py ↔ /home/safi/graphify_test/httpx/auth.py
- `ProxyTransport``TransportError` [EXTRACTED]
/home/safi/graphify_test/httpx/transport.py ↔ /home/safi/graphify_test/httpx/exceptions.py
- `ConnectionPool``Request` [EXTRACTED]
/home/safi/graphify_test/httpx/transport.py ↔ /home/safi/graphify_test/httpx/models.py
- `DigestAuth``Response` [EXTRACTED]
/home/safi/graphify_test/httpx/auth.py ↔ /home/safi/graphify_test/httpx/models.py
- `utils.py``Cookies` [EXTRACTED]
/home/safi/graphify_test/httpx/utils.py ↔ /home/safi/graphify_test/httpx/models.py
- `Timeout` --uses--> `URL` [INFERRED]
worked/httpx/raw/client.py → worked/httpx/raw/models.py
- `Timeout` --uses--> `Headers` [INFERRED]
worked/httpx/raw/client.py → worked/httpx/raw/models.py
- `Timeout` --uses--> `Cookies` [INFERRED]
worked/httpx/raw/client.py → worked/httpx/raw/models.py
- `Timeout` --uses--> `BaseTransport` [INFERRED]
worked/httpx/raw/client.py → worked/httpx/raw/transport.py
- `Timeout` --uses--> `HTTPTransport` [INFERRED]
worked/httpx/raw/client.py → worked/httpx/raw/transport.py
## Communities
### Community 0 - "Core HTTP Client"
Cohesion: 0.14
Nodes (12): client.py, BaseClient, Client, AsyncClient, .send(), .request(), .get(), .post(), .close(), .aclose(), Timeout, Limits
### Community 0 - "Community 0"
Cohesion: 0.11
Nodes (8): ConnectError, AsyncBaseTransport, AsyncHTTPTransport, BaseTransport, ConnectionPool, HTTPTransport, MockTransport, ProxyTransport
### Community 1 - "Request/Response Models"
Cohesion: 0.18
Nodes (10): models.py, Request, Response, URL, Headers, Cookies, .read(), .json(), .raise_for_status(), .cookies
### Community 1 - "Community 1"
Cohesion: 0.13
Nodes (9): Auth, BasicAuth, BearerAuth, DigestAuth, NetRCAuth, Limits, Timeout, Request (+1 more)
### Community 2 - "Exception Hierarchy"
Cohesion: 0.10
Nodes (20): exceptions.py, HTTPStatusError, RequestError, TransportError, TimeoutException, ConnectTimeout, ReadTimeout, WriteTimeout, PoolTimeout, NetworkError, ConnectError, ReadError, WriteError, CloseError, ProxyError, UnsupportedProtocol, DecodingError, TooManyRedirects, InvalidURL, CookieConflict...
### Community 2 - "Community 2"
Cohesion: 0.12
Nodes (3): AsyncClient, BaseClient, Client
### Community 3 - "Transport & Auth"
Cohesion: 0.08
Nodes (18): transport.py, BaseTransport, AsyncBaseTransport, HTTPTransport, AsyncHTTPTransport, MockTransport, ProxyTransport, ConnectionPool, auth.py, Auth, BasicAuth, DigestAuth, BearerAuth, NetRCAuth, .handle_request(), .auth_flow(), utils.py, .obfuscate_sensitive_headers()...
### Community 3 - "Community 3"
Cohesion: 0.11
Nodes (3): Cookies, Headers, URL
### Community 4 - "Community 4"
Cohesion: 0.16
Nodes (20): Exception, CloseError, ConnectTimeout, CookieConflict, DecodingError, HTTPError, HTTPStatusError, InvalidURL (+12 more)
### Community 5 - "Community 5"
Cohesion: 0.28
Nodes (3): build_url_with_params(), flatten_queryparams(), primitive_value_to_str()
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
- **Why does `Client` connect `Community 2` to `Community 0`, `Community 1`, `Community 3`, `Community 4`?**
_High betweenness centrality (0.177) - this node is a cross-community bridge._
- **Why does `Response` connect `Community 1` to `Community 0`, `Community 2`, `Community 3`, `Community 4`?**
_High betweenness centrality (0.168) - this node is a cross-community bridge._
- **Why does `AsyncClient` connect `Community 2` to `Community 0`, `Community 1`, `Community 3`, `Community 4`?**
_High betweenness centrality (0.165) - this node is a cross-community bridge._
- **Are the 12 inferred relationships involving `Client` (e.g. with `Request` and `Response`) actually correct?**
_`Client` has 12 INFERRED edges - model-reasoned connections that need verification._
- **Are the 12 inferred relationships involving `AsyncClient` (e.g. with `Request` and `Response`) actually correct?**
_`AsyncClient` has 12 INFERRED edges - model-reasoned connections that need verification._
- **Are the 18 inferred relationships involving `Response` (e.g. with `Timeout` and `Limits`) actually correct?**
_`Response` has 18 INFERRED edges - model-reasoned connections that need verification._
- **Are the 18 inferred relationships involving `Request` (e.g. with `Timeout` and `Limits`) actually correct?**
_`Request` has 18 INFERRED edges - model-reasoned connections that need verification._
File diff suppressed because it is too large Load Diff
+68
View File
@@ -0,0 +1,68 @@
# Graph Report - worked/mixed-corpus/raw (2026-04-05)
## Corpus Check
- 4 files · ~2,500 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 22 nodes · 38 edges · 5 communities detected
- Extraction: 50% EXTRACTED · 50% INFERRED · 0% AMBIGUOUS
- Token cost: 0 input · 0 output
## God Nodes (most connected - your core abstractions)
1. `_cross_file_surprises()` - 7 edges
2. `_is_file_node()` - 5 edges
3. `_cross_community_surprises()` - 5 edges
4. `_node_community_map()` - 4 edges
5. `_is_concept_node()` - 4 edges
6. `_surprise_score()` - 4 edges
7. `suggest_questions()` - 4 edges
8. `god_nodes()` - 3 edges
9. `surprising_connections()` - 3 edges
10. `_file_category()` - 2 edges
## Surprising Connections (you probably didn't know these)
- `suggest_questions()` --calls--> `_node_community_map()` [INFERRED]
worked/mixed-corpus/raw/analyze.py → worked/mixed-corpus/raw/analyze.py _Bridges community 3 → community 2_
- `_cross_file_surprises()` --calls--> `_surprise_score()` [INFERRED]
worked/mixed-corpus/raw/analyze.py → worked/mixed-corpus/raw/analyze.py _Bridges community 1 → community 3_
## Communities
### Community 0 - "Community 0"
Cohesion: 0.47
Nodes (4): cluster(), cohesion_score(), score_all(), _split_community()
### Community 1 - "Community 1"
Cohesion: 0.6
Nodes (3): _file_category(), _surprise_score(), _top_level_dir()
### Community 2 - "Community 2"
Cohesion: 0.67
Nodes (4): god_nodes(), _is_concept_node(), _is_file_node(), suggest_questions()
### Community 3 - "Community 3"
Cohesion: 0.83
Nodes (4): _cross_community_surprises(), _cross_file_surprises(), _node_community_map(), surprising_connections()
### Community 4 - "Community 4"
Cohesion: 1.0
Nodes (2): build(), build_from_json()
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
- **Why does `_cross_file_surprises()` connect `Community 3` to `Community 1`, `Community 2`?**
_High betweenness centrality (0.024) - this node is a cross-community bridge._
- **Why does `_is_file_node()` connect `Community 2` to `Community 1`, `Community 3`?**
_High betweenness centrality (0.008) - this node is a cross-community bridge._
- **Why does `_surprise_score()` connect `Community 1` to `Community 3`?**
_High betweenness centrality (0.007) - this node is a cross-community bridge._
- **Are the 6 inferred relationships involving `_cross_file_surprises()` (e.g. with `surprising_connections()` and `_node_community_map()`) actually correct?**
_`_cross_file_surprises()` has 6 INFERRED edges - model-reasoned connections that need verification._
- **Are the 4 inferred relationships involving `_is_file_node()` (e.g. with `god_nodes()` and `_cross_file_surprises()`) actually correct?**
_`_is_file_node()` has 4 INFERRED edges - model-reasoned connections that need verification._
- **Are the 4 inferred relationships involving `_cross_community_surprises()` (e.g. with `surprising_connections()` and `_cross_file_surprises()`) actually correct?**
_`_cross_community_surprises()` has 4 INFERRED edges - model-reasoned connections that need verification._
- **Are the 3 inferred relationships involving `_node_community_map()` (e.g. with `_cross_file_surprises()` and `_cross_community_surprises()`) actually correct?**
_`_node_community_map()` has 3 INFERRED edges - model-reasoned connections that need verification._
+603
View File
@@ -0,0 +1,603 @@
{
"directed": false,
"multigraph": false,
"graph": {},
"nodes": [
{
"label": "analyze.py",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L1",
"id": "analyze",
"community": 1
},
{
"label": "_node_community_map()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L6",
"id": "analyze_node_community_map",
"community": 3
},
{
"label": "_is_file_node()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L11",
"id": "analyze_is_file_node",
"community": 2
},
{
"label": "god_nodes()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L35",
"id": "analyze_god_nodes",
"community": 2
},
{
"label": "surprising_connections()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L57",
"id": "analyze_surprising_connections",
"community": 3
},
{
"label": "_is_concept_node()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L89",
"id": "analyze_is_concept_node",
"community": 2
},
{
"label": "_file_category()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L114",
"id": "analyze_file_category",
"community": 1
},
{
"label": "_top_level_dir()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L125",
"id": "analyze_top_level_dir",
"community": 1
},
{
"label": "_surprise_score()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L130",
"id": "analyze_surprise_score",
"community": 1
},
{
"label": "_cross_file_surprises()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L181",
"id": "analyze_cross_file_surprises",
"community": 3
},
{
"label": "_cross_community_surprises()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L239",
"id": "analyze_cross_community_surprises",
"community": 3
},
{
"label": "suggest_questions()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L321",
"id": "analyze_suggest_questions",
"community": 2
},
{
"label": "graph_diff()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L438",
"id": "analyze_graph_diff",
"community": 1
},
{
"label": "build.py",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/build.py",
"source_location": "L1",
"id": "build",
"community": 4
},
{
"label": "build_from_json()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/build.py",
"source_location": "L8",
"id": "build_build_from_json",
"community": 4
},
{
"label": "build()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/build.py",
"source_location": "L31",
"id": "build_build",
"community": 4
},
{
"label": "cluster.py",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L1",
"id": "cluster",
"community": 0
},
{
"label": "build_graph()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L6",
"id": "cluster_build_graph",
"community": 0
},
{
"label": "cluster()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L27",
"id": "cluster_cluster",
"community": 0
},
{
"label": "_split_community()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L72",
"id": "cluster_split_community",
"community": 0
},
{
"label": "cohesion_score()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L92",
"id": "cluster_cohesion_score",
"community": 0
},
{
"label": "score_all()",
"file_type": "code",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L103",
"id": "cluster_score_all",
"community": 0
}
],
"links": [
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L6",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_node_community_map",
"source": "analyze",
"target": "analyze_node_community_map"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L11",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_is_file_node",
"source": "analyze",
"target": "analyze_is_file_node"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L35",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_god_nodes",
"source": "analyze",
"target": "analyze_god_nodes"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L57",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_surprising_connections",
"source": "analyze",
"target": "analyze_surprising_connections"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L89",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_is_concept_node",
"source": "analyze",
"target": "analyze_is_concept_node"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L114",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_file_category",
"source": "analyze",
"target": "analyze_file_category"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L125",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_top_level_dir",
"source": "analyze",
"target": "analyze_top_level_dir"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L130",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_surprise_score",
"source": "analyze",
"target": "analyze_surprise_score"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L181",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_cross_file_surprises",
"source": "analyze",
"target": "analyze_cross_file_surprises"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L239",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_cross_community_surprises",
"source": "analyze",
"target": "analyze_cross_community_surprises"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L321",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_suggest_questions",
"source": "analyze",
"target": "analyze_suggest_questions"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L438",
"weight": 1.0,
"_src": "analyze",
"_tgt": "analyze_graph_diff",
"source": "analyze",
"target": "analyze_graph_diff"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L195",
"weight": 0.8,
"_src": "analyze_cross_file_surprises",
"_tgt": "analyze_node_community_map",
"source": "analyze_node_community_map",
"target": "analyze_cross_file_surprises"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L274",
"weight": 0.8,
"_src": "analyze_cross_community_surprises",
"_tgt": "analyze_node_community_map",
"source": "analyze_node_community_map",
"target": "analyze_cross_community_surprises"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L333",
"weight": 0.8,
"_src": "analyze_suggest_questions",
"_tgt": "analyze_node_community_map",
"source": "analyze_node_community_map",
"target": "analyze_suggest_questions"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L45",
"weight": 0.8,
"_src": "analyze_god_nodes",
"_tgt": "analyze_is_file_node",
"source": "analyze_is_file_node",
"target": "analyze_god_nodes"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L204",
"weight": 0.8,
"_src": "analyze_cross_file_surprises",
"_tgt": "analyze_is_file_node",
"source": "analyze_is_file_node",
"target": "analyze_cross_file_surprises"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L283",
"weight": 0.8,
"_src": "analyze_cross_community_surprises",
"_tgt": "analyze_is_file_node",
"source": "analyze_is_file_node",
"target": "analyze_cross_community_surprises"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L353",
"weight": 0.8,
"_src": "analyze_suggest_questions",
"_tgt": "analyze_is_file_node",
"source": "analyze_is_file_node",
"target": "analyze_suggest_questions"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L45",
"weight": 0.8,
"_src": "analyze_god_nodes",
"_tgt": "analyze_is_concept_node",
"source": "analyze_god_nodes",
"target": "analyze_is_concept_node"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L84",
"weight": 0.8,
"_src": "analyze_surprising_connections",
"_tgt": "analyze_cross_file_surprises",
"source": "analyze_surprising_connections",
"target": "analyze_cross_file_surprises"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L86",
"weight": 0.8,
"_src": "analyze_surprising_connections",
"_tgt": "analyze_cross_community_surprises",
"source": "analyze_surprising_connections",
"target": "analyze_cross_community_surprises"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L202",
"weight": 0.8,
"_src": "analyze_cross_file_surprises",
"_tgt": "analyze_is_concept_node",
"source": "analyze_is_concept_node",
"target": "analyze_cross_file_surprises"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L353",
"weight": 0.8,
"_src": "analyze_suggest_questions",
"_tgt": "analyze_is_concept_node",
"source": "analyze_is_concept_node",
"target": "analyze_suggest_questions"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L151",
"weight": 0.8,
"_src": "analyze_surprise_score",
"_tgt": "analyze_file_category",
"source": "analyze_file_category",
"target": "analyze_surprise_score"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L158",
"weight": 0.8,
"_src": "analyze_surprise_score",
"_tgt": "analyze_top_level_dir",
"source": "analyze_top_level_dir",
"target": "analyze_surprise_score"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L213",
"weight": 0.8,
"_src": "analyze_cross_file_surprises",
"_tgt": "analyze_surprise_score",
"source": "analyze_surprise_score",
"target": "analyze_cross_file_surprises"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/analyze.py",
"source_location": "L236",
"weight": 0.8,
"_src": "analyze_cross_file_surprises",
"_tgt": "analyze_cross_community_surprises",
"source": "analyze_cross_file_surprises",
"target": "analyze_cross_community_surprises"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/build.py",
"source_location": "L8",
"weight": 1.0,
"_src": "build",
"_tgt": "build_build_from_json",
"source": "build",
"target": "build_build_from_json"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/build.py",
"source_location": "L31",
"weight": 1.0,
"_src": "build",
"_tgt": "build_build",
"source": "build",
"target": "build_build"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/build.py",
"source_location": "L39",
"weight": 0.8,
"_src": "build_build",
"_tgt": "build_build_from_json",
"source": "build_build_from_json",
"target": "build_build"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L6",
"weight": 1.0,
"_src": "cluster",
"_tgt": "cluster_build_graph",
"source": "cluster",
"target": "cluster_build_graph"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L27",
"weight": 1.0,
"_src": "cluster",
"_tgt": "cluster_cluster",
"source": "cluster",
"target": "cluster_cluster"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L72",
"weight": 1.0,
"_src": "cluster",
"_tgt": "cluster_split_community",
"source": "cluster",
"target": "cluster_split_community"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L92",
"weight": 1.0,
"_src": "cluster",
"_tgt": "cluster_cohesion_score",
"source": "cluster",
"target": "cluster_cohesion_score"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L103",
"weight": 1.0,
"_src": "cluster",
"_tgt": "cluster_score_all",
"source": "cluster",
"target": "cluster_score_all"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L63",
"weight": 0.8,
"_src": "cluster_cluster",
"_tgt": "cluster_split_community",
"source": "cluster_cluster",
"target": "cluster_split_community"
},
{
"relation": "calls",
"confidence": "INFERRED",
"source_file": "worked/mixed-corpus/raw/cluster.py",
"source_location": "L104",
"weight": 0.8,
"_src": "cluster_score_all",
"_tgt": "cluster_cohesion_score",
"source": "cluster_cohesion_score",
"target": "cluster_score_all"
}
]
}