Skip to content

Commit a3fcd14

Browse files
committed
Updated graphify’s info
1 parent d1b54d4 commit a3fcd14

4 files changed

Lines changed: 784 additions & 811 deletions

File tree

‎graphify-out/GRAPH_REPORT.md‎

Lines changed: 46 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
# Graph Report - python_tca2 (2026-08-20)
1+
# Graph Report - python_tca2 (2026-08-21)
22

33
## Corpus Check
4-
- 36 files · ~596,849 words
4+
- 36 files · ~596,901 words
55
- Verdict: corpus is large enough that graph structure adds value.
66

77
## Summary
8-
- 311 nodes · 546 edges · 25 communities (20 shown, 5 thin omitted)
9-
- Extraction: 94% EXTRACTED · 6% INFERRED · 0% AMBIGUOUS · INFERRED: 35 edges (avg confidence: 0.92)
8+
- 317 nodes · 538 edges · 28 communities (19 shown, 9 thin omitted)
9+
- Extraction: 94% EXTRACTED · 6% INFERRED · 0% AMBIGUOUS · INFERRED: 31 edges (avg confidence: 0.92)
1010
- Token cost: 0 input · 0 output
1111

1212
## Graph Freshness
13-
- Built from commit: `7311766b`
13+
- Built from commit: `d1b54d49`
1414
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
1515
- Run `graphify update .` after code changes (no API cost).
1616

1717
## Community Hubs (Navigation)
1818
- candidate_alignment.py
1919
- AnchorWordList
2020
- Any
21-
- generate_alignment_suggestions
21+
- alignment_suggestion.py
2222
- CandidateAlignment
2323
- similarity_utils.py
2424
- AlignmentSearch
@@ -27,7 +27,7 @@
2727
- best_path_score
2828
- tca2
2929
- Kven Commission Corpus
30-
- RollingDocument
30+
- .get_aligned_sentence_elements
3131
- Program 6. februar
3232
- Norwegian–Northern Sámi Anchor Lexicon Test Fixture
3333
- Sentence Alignment Input A
@@ -36,20 +36,23 @@
3636
- python-tca2
3737
- Q: Why does ElementInfoToBeCompared connect Element Scoring to Utility Clustering, Alignment Elements, Alignment Model?
3838
- Q: What would be a more stable of computing scores? This is quite essential …
39-
- write_streaming_result
40-
- AlignmentElement
39+
- AlignedSentenceElements
40+
- AnchorWordHit
41+
- AlignmentSuggestion
42+
- Score
43+
- slice
4144

4245
## God Nodes (most connected - your core abstractions)
43-
1. `CandidateAlignment` - 33 edges
46+
1. `CandidateAlignment` - 31 edges
4447
2. `AnchorWordList` - 27 edges
4548
3. `WordMatch` - 20 edges
46-
4. `AlignmentSearch` - 20 edges
47-
5. `MatchCluster` - 17 edges
48-
6. `MatchClusters` - 17 edges
49-
7. `PathCandidate` - 16 edges
50-
8. `as_score()` - 16 edges
51-
9. `AlignmentModel` - 15 edges
52-
10. `RollingDocument` - 14 edges
49+
4. `MatchCluster` - 17 edges
50+
5. `MatchClusters` - 17 edges
51+
6. `AlignmentSearch` - 17 edges
52+
7. `AlignmentModel` - 15 edges
53+
8. `as_score()` - 15 edges
54+
9. `AnchorWordHit` - 12 edges
55+
10. `RollingDocument` - 11 edges
5356

5457
## Surprising Connections (you probably didn't know these)
5558
- `load_anchor_words()` --uses--> `AnchorWordList` [INFERRED]
@@ -71,19 +74,19 @@
7174
- **Kven–Norwegian Parallel Corpus** — data_kommisjonen_21_08_2020_fkv_txt_fkv_new_kven_commission_corpus, data_kommisjonen_21_08_2020_nob_txt_nob_new_norwegian_commission_corpus, suggest1_9_id_446575_html_nob_kven_norwegian_translation_examples [INFERRED 0.95]
7275
- **Norwegian–Northern Sámi Anchor Resources** — suggest1_anchor_nob_sme_norwegian_northern_sami_anchor_lexicon, tests_anchor_nob_sme_norwegian_northern_sami_anchor_lexicon, tests_anchor_sme_nob_northern_sami_norwegian_anchor_lexicon [INFERRED 0.95]
7376

74-
## Communities (25 total, 5 thin omitted)
77+
## Communities (28 total, 9 thin omitted)
7578

7679
### Community 0 - "candidate_alignment.py"
7780
Cohesion: 0.06
7881
Nodes (31): _enumerate_scoring_characters(), _enumerate_words(), _is_matching_proper_name(), Yield ref pairs whose extractor output on both sides satisfies predicate., _words_equal(), MatchCluster, Any, Score (+23 more)
7982

8083
### Community 1 - "AnchorWordList"
8184
Cohesion: 0.07
82-
Nodes (36): command, parametrize, AlignedSentenceElements, Convert an AlignedSentenceElements into a tuple of strings. Args:…, to_string_tuple(), main(), AlignmentModel, AlignedSentenceElements (+28 more)
85+
Nodes (44): command, Element, parametrize, AlignedSentenceElements, Convert an AlignedSentenceElements into a tuple of strings. Args:…, to_string_tuple(), main(), AlignmentModel (+36 more)
8386

84-
### Community 3 - "generate_alignment_suggestions"
85-
Cohesion: 0.33
86-
Nodes (6): generate_alignment_suggestions(), is_valid_suggestion(), AlignmentSuggestion, Check if the increment combination is valid based on the constraints. Args:…, Create a list of AlignmentSuggestions based on the given number of files. Args:…, test_generate_alignment_suggestions()
87+
### Community 3 - "alignment_suggestion.py"
88+
Cohesion: 0.13
89+
Nodes (14): generate_alignment_suggestions(), is_valid_suggestion(), AlignmentSuggestion, This module provides functionality for generating alignment suggestions., Check if the increment combination is valid based on the constraints. Args:…, Create a list of AlignmentSuggestions based on the given number of files. Args:…, PathCandidate, Score (+6 more)
8790

8891
### Community 4 - "CandidateAlignment"
8992
Cohesion: 0.12
@@ -94,11 +97,11 @@ Cohesion: 0.14
9497
Nodes (23): adjust_for_length_correlation(), bad_length_correlation(), calculate_length_correlation_factor(), dice_match_word_pair(), dice_match_word_with_phrase(), is_word_anchor_match(), Pattern, Score (+15 more)
9598

9699
### Community 6 - "AlignmentSearch"
97-
Cohesion: 0.07
98-
Nodes (28): PathRank, AlignmentSearch, _BeamRound, get_best_path_score(), AlignedSentenceElements, AlignmentSuggestion, Score, slice (+20 more)
100+
Cohesion: 0.09
101+
Nodes (22): AlignedSentenceElements, AlignmentSuggestion, PathCandidate, PathRank, AlignmentSearch, _BeamRound, get_best_path_score(), Beam search over candidate sentence alignments. Beam search explores several… (+14 more)
99102

100103
### Community 7 - "AnchorWordListEntry"
101-
Cohesion: 0.24
104+
Cohesion: 0.27
102105
Nodes (6): Loads anchor word list entries from a specified file. Reads the file line by…, AnchorWordListEntry, Pattern, Generate a list of phrase patterns from input pairs. Args: pairs: A list of…, Generates a list of compiled regex patterns from a synonym phrase. Args: syn: A…, Make a proper regular expression from the anchor word
103106

104107
### Community 8 - "extend_alignment_paths Debug Trace"
@@ -117,9 +120,9 @@ Nodes (4): Knut Hofland, Sentence Alignment Program, tca2, Øystein Reigem
117120
Cohesion: 1.00
118121
Nodes (3): Kven Commission Corpus, Norwegian Commission Corpus, Kven–Norwegian Translation Examples
119122

120-
### Community 12 - "RollingDocument"
121-
Cohesion: 0.24
122-
Nodes (4): slice, Return whether an input position is beyond the document end., Lazily materialize alignment elements and discard committed input., RollingDocument
123+
### Community 12 - ".get_aligned_sentence_elements"
124+
Cohesion: 0.40
125+
Nodes (3): AlignedSentenceElements, slice, Return elements in the current search window for the supplied slices.
123126

124127
### Community 13 - "Program 6. februar"
125128
Cohesion: 0.67
@@ -137,33 +140,29 @@ Nodes (4): Answer, Outcome, Q: Why does ElementInfoToBeCompared connect Element
137140
Cohesion: 0.40
138141
Nodes (4): Answer, Outcome, Q: What would be a more stable of computing scores? This is quite essential …, Source Nodes
139142

140-
### Community 23 - "write_streaming_result"
141-
Cohesion: 0.22
142-
Nodes (13): Element, add_filename_id(), make_tmx_header(), make_tu(), make_tuv(), AlignedSentenceElements, Path, Add the tmx filename as an prop element in the header. (+5 more)
143-
144-
### Community 24 - "AlignmentElement"
145-
Cohesion: 0.25
146-
Nodes (3): AlignmentElement, Removes special characters from the start and end of a word. Iterates through a…, remove_special_characters()
143+
### Community 24 - "AnchorWordHit"
144+
Cohesion: 0.12
145+
Nodes (9): AlignmentElement, Removes special characters from the start and end of a word. Iterates through a…, remove_special_characters(), AnchorWordHit, AnchorWordHits, Pattern, Retrieve synonyms for a given text number from the entries. Args: text_number:…, Retrieves anchor word hits based on provided words and indices. Args: words: A… (+1 more)
147146

148147
## Knowledge Gaps
149-
- **24 isolated node(s):** `py-tca2.sh script`, `python-tca2`, `Answer`, `Outcome`, `Source Nodes` (+19 more)
148+
- **24 isolated node(s):** `python-tca2`, `py-tca2.sh script`, `Answer`, `Outcome`, `Source Nodes` (+19 more)
150149
These have ≤1 connection - possible missing edges or undocumented components.
151-
- **5 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
150+
- **9 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
152151

153152
## Suggested Questions
154153
_Questions this graph is uniquely positioned to answer:_
155154

156-
- **Why does `CandidateAlignment` connect `CandidateAlignment` to `candidate_alignment.py`, `AnchorWordList`, `AlignmentSearch`?**
157-
_High betweenness centrality (0.209) - this node is a cross-community bridge._
158-
- **Why does `AlignmentSearch` connect `AlignmentSearch` to `AnchorWordList`, `RollingDocument`, `CandidateAlignment`?**
159-
_High betweenness centrality (0.111) - this node is a cross-community bridge._
160-
- **Why does `MatchClusters` connect `candidate_alignment.py` to `CandidateAlignment`?**
161-
_High betweenness centrality (0.090) - this node is a cross-community bridge._
162-
- **Are the 4 inferred relationships involving `CandidateAlignment` (e.g. with `AlignmentSearch` and `AnchorWordHit`) actually correct?**
163-
_`CandidateAlignment` has 4 INFERRED edges - model-reasoned connections that need verification._
155+
- **Why does `CandidateAlignment` connect `CandidateAlignment` to `candidate_alignment.py`, `AnchorWordHit`, `AlignmentSearch`, `AnchorWordList`?**
156+
_High betweenness centrality (0.164) - this node is a cross-community bridge._
157+
- **Why does `AnchorWordList` connect `AnchorWordList` to `AnchorWordHit`, `AnchorWordListEntry`?**
158+
_High betweenness centrality (0.095) - this node is a cross-community bridge._
159+
- **Why does `AlignmentSearch` connect `AlignmentSearch` to `AnchorWordList`?**
160+
_High betweenness centrality (0.087) - this node is a cross-community bridge._
161+
- **Are the 3 inferred relationships involving `CandidateAlignment` (e.g. with `AnchorWordHit` and `MatchClusters`) actually correct?**
162+
_`CandidateAlignment` has 3 INFERRED edges - model-reasoned connections that need verification._
164163
- **Are the 7 inferred relationships involving `AnchorWordList` (e.g. with `main()` and `AlignmentModel`) actually correct?**
165164
_`AnchorWordList` has 7 INFERRED edges - model-reasoned connections that need verification._
166165
- **Are the 3 inferred relationships involving `WordMatch` (e.g. with `CandidateAlignment` and `MatchCluster`) actually correct?**
167166
_`WordMatch` has 3 INFERRED edges - model-reasoned connections that need verification._
168-
- **Are the 4 inferred relationships involving `AlignmentSearch` (e.g. with `CandidateAlignment` and `PathCandidate`) actually correct?**
169-
_`AlignmentSearch` has 4 INFERRED edges - model-reasoned connections that need verification._
167+
- **Are the 2 inferred relationships involving `MatchCluster` (e.g. with `WordMatch` and `MatchClusters`) actually correct?**
168+
_`MatchCluster` has 2 INFERRED edges - model-reasoned connections that need verification._

‎graphify-out/graph.html‎

Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)