changes
This commit is contained in:
144
fusion_notes/graphify-out/GRAPH_REPORT.md
Normal file
144
fusion_notes/graphify-out/GRAPH_REPORT.md
Normal file
@@ -0,0 +1,144 @@
|
||||
# Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_notes (2026-04-22)
|
||||
|
||||
## Corpus Check
|
||||
- 8 files · ~4,943 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 48 nodes · 58 edges · 16 communities detected
|
||||
- Extraction: 91% EXTRACTED · 9% INFERRED · 0% AMBIGUOUS · INFERRED: 5 edges (avg confidence: 0.8)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Community Hubs (Navigation)
|
||||
- [[_COMMUNITY_Community 0|Community 0]]
|
||||
- [[_COMMUNITY_Community 1|Community 1]]
|
||||
- [[_COMMUNITY_Community 2|Community 2]]
|
||||
- [[_COMMUNITY_Community 3|Community 3]]
|
||||
- [[_COMMUNITY_Community 4|Community 4]]
|
||||
- [[_COMMUNITY_Community 5|Community 5]]
|
||||
- [[_COMMUNITY_Community 6|Community 6]]
|
||||
- [[_COMMUNITY_Community 7|Community 7]]
|
||||
- [[_COMMUNITY_Community 8|Community 8]]
|
||||
- [[_COMMUNITY_Community 9|Community 9]]
|
||||
- [[_COMMUNITY_Community 10|Community 10]]
|
||||
- [[_COMMUNITY_Community 11|Community 11]]
|
||||
- [[_COMMUNITY_Community 12|Community 12]]
|
||||
- [[_COMMUNITY_Community 13|Community 13]]
|
||||
- [[_COMMUNITY_Community 14|Community 14]]
|
||||
- [[_COMMUNITY_Community 15|Community 15]]
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `AudioRecorder` - 9 edges
|
||||
2. `SpeechRecognizer` - 5 edges
|
||||
3. `voiceStopRecording()` - 5 edges
|
||||
4. `_voiceNotify()` - 5 edges
|
||||
5. `voiceStartRecording()` - 4 edges
|
||||
6. `voiceCancelNote()` - 4 edges
|
||||
7. `_voiceFormatText()` - 4 edges
|
||||
8. `voicePostNote()` - 3 edges
|
||||
9. `_voiceCleanup()` - 3 edges
|
||||
10. `ResConfigSettings` - 2 edges
|
||||
|
||||
## Surprising Connections (you probably didn't know these)
|
||||
- `voiceStopRecording()` --calls--> `blobToBase64()` [INFERRED]
|
||||
/Users/gurpreet/Github/Odoo-Modules/fusion_notes/static/src/js/voice_note_button.js → /Users/gurpreet/Github/Odoo-Modules/fusion_notes/static/src/js/voice_note_service.js
|
||||
|
||||
## Communities
|
||||
|
||||
### Community 0 - "Community 0"
|
||||
Cohesion: 0.28
|
||||
Nodes (1): AudioRecorder
|
||||
|
||||
### Community 1 - "Community 1"
|
||||
Cohesion: 0.33
|
||||
Nodes (2): blobToBase64(), SpeechRecognizer
|
||||
|
||||
### Community 2 - "Community 2"
|
||||
Cohesion: 0.4
|
||||
Nodes (2): getSettings(), voiceStartRecording()
|
||||
|
||||
### Community 3 - "Community 3"
|
||||
Cohesion: 0.33
|
||||
Nodes (1): FusionNotesController
|
||||
|
||||
### Community 4 - "Community 4"
|
||||
Cohesion: 0.67
|
||||
Nodes (4): _voiceFormatText(), _voiceNotify(), voiceStopRecording(), voiceToggleAiFormat()
|
||||
|
||||
### Community 5 - "Community 5"
|
||||
Cohesion: 0.67
|
||||
Nodes (1): ResConfigSettings
|
||||
|
||||
### Community 6 - "Community 6"
|
||||
Cohesion: 0.67
|
||||
Nodes (2): voiceCancelRecording(), _voiceCleanup()
|
||||
|
||||
### Community 7 - "Community 7"
|
||||
Cohesion: 0.67
|
||||
Nodes (3): toggleComposer(), voiceCancelNote(), voicePostNote()
|
||||
|
||||
### Community 8 - "Community 8"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 9 - "Community 9"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 10 - "Community 10"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 11 - "Community 11"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 12 - "Community 12"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Return Fusion Notes settings for the frontend.
|
||||
|
||||
### Community 13 - "Community 13"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Transcribe audio using OpenAI Whisper API. Args: audio_base
|
||||
|
||||
### Community 14 - "Community 14"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Format transcribed text into a professional note using GPT. Args:
|
||||
|
||||
### Community 15 - "Community 15"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Post a voice note to the specified record's chatter. Args:
|
||||
|
||||
## Knowledge Gaps
|
||||
- **5 isolated node(s):** `FusionNotesController`, `Return Fusion Notes settings for the frontend.`, `Transcribe audio using OpenAI Whisper API. Args: audio_base`, `Format transcribed text into a professional note using GPT. Args:`, `Post a voice note to the specified record's chatter. Args:`
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **Thin community `Community 8`** (1 nodes): `__init__.py`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Community 9`** (1 nodes): `__init__.py`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Community 10`** (1 nodes): `__init__.py`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Community 11`** (1 nodes): `__manifest__.py`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Community 12`** (1 nodes): `Return Fusion Notes settings for the frontend.`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Community 13`** (1 nodes): `Transcribe audio using OpenAI Whisper API. Args: audio_base`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Community 14`** (1 nodes): `Format transcribed text into a professional note using GPT. Args:`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Community 15`** (1 nodes): `Post a voice note to the specified record's chatter. Args:`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
|
||||
- **Why does `AudioRecorder` connect `Community 0` to `Community 1`?**
|
||||
_High betweenness centrality (0.137) - this node is a cross-community bridge._
|
||||
- **Why does `voiceStopRecording()` connect `Community 4` to `Community 0`, `Community 1`, `Community 2`?**
|
||||
_High betweenness centrality (0.102) - this node is a cross-community bridge._
|
||||
- **Why does `SpeechRecognizer` connect `Community 1` to `Community 0`, `Community 6`?**
|
||||
_High betweenness centrality (0.066) - this node is a cross-community bridge._
|
||||
- **Are the 2 inferred relationships involving `voiceStopRecording()` (e.g. with `.stop()` and `blobToBase64()`) actually correct?**
|
||||
_`voiceStopRecording()` has 2 INFERRED edges - model-reasoned connections that need verification._
|
||||
- **What connects `FusionNotesController`, `Return Fusion Notes settings for the frontend.`, `Transcribe audio using OpenAI Whisper API. Args: audio_base` to the rest of the system?**
|
||||
_5 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_notes_models_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_notes_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_notes_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/__init__.py", "source_location": "L2", "weight": 1.0}], "raw_calls": []}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_notes_models_res_config_settings_py", "label": "res_config_settings.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L1"}, {"id": "res_config_settings_resconfigsettings", "label": "ResConfigSettings", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L12"}, {"id": "res_config_settings_resconfigsettings_set_values", "label": ".set_values()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L59"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_notes_models_res_config_settings_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L5", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_notes_models_res_config_settings_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L7", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_notes_models_res_config_settings_py", "target": "res_config_settings_resconfigsettings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L12", "weight": 1.0}, {"source": "res_config_settings_resconfigsettings", "target": "res_config_settings_resconfigsettings_set_values", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L59", "weight": 1.0}], "raw_calls": [{"caller_nid": "res_config_settings_resconfigsettings_set_values", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L60"}, {"caller_nid": "res_config_settings_resconfigsettings_set_values", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L63"}, {"caller_nid": "res_config_settings_resconfigsettings_set_values", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L64"}, {"caller_nid": "res_config_settings_resconfigsettings_set_values", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L65"}, {"caller_nid": "res_config_settings_resconfigsettings_set_values", "callee": "super", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L67"}, {"caller_nid": "res_config_settings_resconfigsettings_set_values", "callee": "items", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L68"}, {"caller_nid": "res_config_settings_resconfigsettings_set_values", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L69"}, {"caller_nid": "res_config_settings_resconfigsettings_set_values", "callee": "set_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L71"}, {"caller_nid": "res_config_settings_resconfigsettings_set_values", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/models/res_config_settings.py", "source_location": "L72"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_notes_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_notes_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_notes_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/__init__.py", "source_location": "L5", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_notes_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_notes_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/__init__.py", "source_location": "L6", "weight": 1.0}], "raw_calls": []}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_notes_controllers_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/controllers/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_notes_controllers_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_notes_controllers_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/controllers/__init__.py", "source_location": "L2", "weight": 1.0}], "raw_calls": []}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_notes_manifest_py", "label": "__manifest__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_notes/__manifest__.py", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
257
fusion_notes/graphify-out/graph.html
Normal file
257
fusion_notes/graphify-out/graph.html
Normal file
File diff suppressed because one or more lines are too long
1138
fusion_notes/graphify-out/graph.json
Normal file
1138
fusion_notes/graphify-out/graph.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user