17 KiB
Graph Report - /home/scheianu/digiserver-v2 (2026-08-16)
Corpus Check
- 49 files · ~210,805 words
- Verdict: corpus is large enough that graph structure adds value.
Summary
- 631 nodes · 1162 edges · 41 communities detected
- Extraction: 56% EXTRACTED · 44% INFERRED · 0% AMBIGUOUS · INFERRED: 512 edges (avg confidence: 0.62)
- Token cost: 0 input · 0 output
Community Hubs (Navigation)
- _COMMUNITY_Community 0
- _COMMUNITY_Community 1
- _COMMUNITY_Community 2
- _COMMUNITY_Community 3
- _COMMUNITY_Community 4
- _COMMUNITY_Community 5
- _COMMUNITY_Community 6
- _COMMUNITY_Community 7
- _COMMUNITY_Community 8
- _COMMUNITY_Community 9
- _COMMUNITY_Community 10
- _COMMUNITY_Community 11
- _COMMUNITY_Community 12
- _COMMUNITY_Community 13
- _COMMUNITY_Community 14
- _COMMUNITY_Community 15
- _COMMUNITY_Community 16
- _COMMUNITY_Community 17
- _COMMUNITY_Community 18
- _COMMUNITY_Community 19
- _COMMUNITY_Community 20
- _COMMUNITY_Community 21
- _COMMUNITY_Community 22
- _COMMUNITY_Community 23
- _COMMUNITY_Community 24
- _COMMUNITY_Community 25
- _COMMUNITY_Community 26
- _COMMUNITY_Community 27
- _COMMUNITY_Community 28
- _COMMUNITY_Community 29
- _COMMUNITY_Community 30
- _COMMUNITY_Community 31
- _COMMUNITY_Community 32
- _COMMUNITY_Community 33
- _COMMUNITY_Community 34
- _COMMUNITY_Community 35
- _COMMUNITY_Community 36
- _COMMUNITY_Community 37
- _COMMUNITY_Community 38
- _COMMUNITY_Community 39
- _COMMUNITY_Community 40
God Nodes (most connected - your core abstractions)
log_action()- 116 edgesPlayerEdit- 99 edgesPlayerUser- 74 edgesPlaylist- 33 edgesCaddyConfigGenerator- 31 edgesHTTPSConfig- 30 edgesContent- 24 edgesUser- 19 edgescreate_app()- 13 edgesModels package for digiserver-v2.- 13 edges
Surprising Connections (you probably didn't know these)
reset_user_password()--calls-->log_action()[INFERRED] /home/scheianu/digiserver-v2/app/blueprints/admin.py → /home/scheianu/digiserver-v2/app/utils/logger.pyupload_header_logo()--calls-->log_action()[INFERRED] /home/scheianu/digiserver-v2/app/blueprints/admin.py → /home/scheianu/digiserver-v2/app/utils/logger.pydelete_editing_user()--calls-->log_action()[INFERRED] /home/scheianu/digiserver-v2/app/blueprints/admin.py → /home/scheianu/digiserver-v2/app/utils/logger.pydelete_playlist()--calls-->log_action()[INFERRED] /home/scheianu/digiserver-v2/app/blueprints/content.py → /home/scheianu/digiserver-v2/app/utils/logger.pyMain playlist management page.--uses-->PlayerEdit[INFERRED] /home/scheianu/digiserver-v2/app/blueprints/content.py → /home/scheianu/digiserver-v2/app/models/player_edit.py
Communities
Community 0 - "Community 0"
Cohesion: 0.03 Nodes (80): change_password(), login(), logout(), Authentication Blueprint - Login, Logout, Register, register(), add_content_to_group(), add_player_to_group(), delete_group() (+72 more)
Community 1 - "Community 1"
Cohesion: 0.04 Nodes (72): Add player_user table for user code mappings., admin_panel(), admin_required(), build_player(), change_theme(), change_user_role(), clear_logs(), create_user() (+64 more)
Community 2 - "Community 2"
Cohesion: 0.04 Nodes (61): add_content_to_playlist(), add_weblink(), add_weblink_to_playlist(), assign_player_to_playlist(), bulk_remove_from_playlist(), content_list(), create_fullhd_image(), delete_playlist() (+53 more)
Community 3 - "Community 3"
Cohesion: 0.06 Nodes (57): api_not_found(), authenticate_player(), deploy_player(), get_cached_playlist(), get_logs(), get_player_playlist(), get_player_status(), get_playlist_by_quickconnect() (+49 more)
Community 4 - "Community 4"
Cohesion: 0.07 Nodes (42): add_muted_column(), Add muted column to playlist_content association table., configure_login_manager(), create_app(), DigiServer v2 - Application Factory Modern Flask application with blueprint arch, Configure Flask-Login, Register error handlers, Register CLI commands (+34 more)
Community 5 - "Community 5"
Cohesion: 0.04 Nodes (27): Content, Content model for media files., String representation of Content., Check if content is an image., Check if content is a video., Content model representing media files for display. Attributes:, Check if content is a PDF., Check if content is a web link (URL) rather than an uploaded file. (+19 more)
Community 6 - "Community 6"
Cohesion: 0.05 Nodes (45): Add https_config table for HTTPS configuration management., Write Caddyfile to disk. Args: caddyfile_content: C, Reload Caddy configuration without restart. Note: Caddy monitor, Generate a complete Caddyfile. Behaviour: - HTTPS disabled / no, Write Caddyfile to disk. The default path is /etc/caddy/Caddyfile — the, Push the current Caddyfile to Caddy via its admin API (/load). Caddy ap, HTTPSConfig, String representation of HTTPSConfig. (+37 more)
Community 7 - "Community 7"
Cohesion: 0.06 Nodes (26): create_group(), delete_media(), Delete a media file and remove it from all playlists., Group, Group model for organizing players and content., Group model for organizing players with shared content. Attributes:, String representation of Group., Add a player to this group. Args: player: Player in (+18 more)
Community 8 - "Community 8"
Cohesion: 0.23 Nodes (23): check_database_integrity(), Colors, get_player_auth_code(), get_sample_content(), main(), print_error(), print_info(), print_section() (+15 more)
Community 9 - "Community 9"
Cohesion: 0.11 Nodes (20): Get upload progress for a specific upload., upload_content(), upload_progress_status(), clear_upload_progress(), delete_file(), get_file_size(), get_upload_progress(), process_pdf_file() (+12 more)
Community 10 - "Community 10"
Cohesion: 0.12 Nodes (18): background_player_deployment(), Background task execution for long-running operations., Run a function in a background thread, with a Flask app context pushed., Deploy player code to host in background. Args: hostname: SSH h, run_background_task(), deploy_player_to_host(), generate_app_config(), generate_player_config() (+10 more)
Community 11 - "Community 11"
Cohesion: 0.15 Nodes (18): build_player_action(), Build/refresh the staged player code and/or write its base config., build_player_files(), get_player_server_settings(), get_short_head(), load_build_settings(), make_build_record(), Utilities for building/staging the player files on the server. Admins use the " (+10 more)
Community 12 - "Community 12"
Cohesion: 0.29 Nodes (7): cleanup_libreoffice_processes(), pptx_to_pdf_libreoffice(), PowerPoint to PDF converter using LibreOffice., Clean up any hanging LibreOffice processes., Convert PPTX to PDF using LibreOffice for highest quality. This functio, Validate if file is a valid PowerPoint file. Args: filepath: Pa, validate_pptx_file()
Community 13 - "Community 13"
Cohesion: 0.5 Nodes (3): migrate(), Migration: Add edit_on_player_enabled column to playlist_content table., Add edit_on_player_enabled column to playlist_content.
Community 14 - "Community 14"
Cohesion: 1.0 Nodes (1): Migrate player_user table to remove player_id and make user_code unique globally
Community 15 - "Community 15"
Cohesion: 1.0 Nodes (1): Add original_filename column to content table. This preserves the pristine uplo
Community 16 - "Community 16"
Cohesion: 1.0 Nodes (1): Add url column to content table for weblink support.
Community 17 - "Community 17"
Cohesion: 1.0 Nodes (1): Add deployment tracking columns to player table.
Community 18 - "Community 18"
Cohesion: 1.0 Nodes (1): Add email field to https_config table.
Community 19 - "Community 19"
Cohesion: 1.0 Nodes (1): Flask extensions initialization Centralized extension management for the applica
Community 20 - "Community 20"
Cohesion: 1.0 Nodes (1): Check if feedback indicates an error.
Community 21 - "Community 21"
Cohesion: 1.0 Nodes (1): Get age of feedback in seconds.
Community 22 - "Community 22"
Cohesion: 1.0 Nodes (1): Get most recent feedback for a player. Args: player
Community 23 - "Community 23"
Cohesion: 1.0 Nodes (1): Get the current HTTPS configuration. Returns: HTTPS
Community 24 - "Community 24"
Cohesion: 1.0 Nodes (1): Create or update HTTPS configuration. Args: https_e
Community 25 - "Community 25"
Cohesion: 1.0 Nodes (1): Check if user has admin role.
Community 26 - "Community 26"
Cohesion: 1.0 Nodes (1): Check if player is online (seen in last 5 minutes).
Community 27 - "Community 27"
Cohesion: 1.0 Nodes (1): Authenticate a player by hostname and password or quickconnect code.
Community 28 - "Community 28"
Cohesion: 1.0 Nodes (1): Create an info level log entry. Args: message: Log
Community 29 - "Community 29"
Cohesion: 1.0 Nodes (1): Create a warning level log entry. Args: message: Lo
Community 30 - "Community 30"
Cohesion: 1.0 Nodes (1): Create an error level log entry. Args: message: Log
Community 31 - "Community 31"
Cohesion: 1.0 Nodes (1): Get number of content items in this group.
Community 32 - "Community 32"
Cohesion: 1.0 Nodes (1): Get file size in megabytes.
Community 33 - "Community 33"
Cohesion: 1.0 Nodes (1): Get number of groups containing this content.
Community 34 - "Community 34"
Cohesion: 1.0 Nodes (1): Name of the original (unedited) file for display purposes.
Community 35 - "Community 35"
Cohesion: 1.0 Nodes (1): Path (relative to uploads/) where the original unedited file lives. Whe
Community 36 - "Community 36"
Cohesion: 1.0 Nodes (1): Path (relative to uploads/) of the current/latest version to display.
Community 37 - "Community 37"
Cohesion: 1.0 Nodes (1): Whether this content has been edited on a player.
Community 38 - "Community 38"
Cohesion: 1.0 Nodes (1): Display name of the original (unedited) file.
Community 39 - "Community 39"
Cohesion: 1.0 Nodes (1): uploads/-relative path of the pristine original file. After a player ed
Community 40 - "Community 40"
Cohesion: 1.0 Nodes (0):
Knowledge Gaps
- 178 isolated node(s):
Migrate player_user table to remove player_id and make user_code unique globally,Add original_filename column to content table. This preserves the pristine uplo,Add url column to content table for weblink support.,Add deployment tracking columns to player table.,Add email field to https_config table.(+173 more) These have ≤1 connection - possible missing edges or undocumented components. - Thin community
Community 14(2 nodes):migrate_player_user_global.py,Migrate player_user table to remove player_id and make user_code unique globallyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 15(2 nodes):Add original_filename column to content table. This preserves the pristine uplo,add_original_filename_to_content.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 16(2 nodes):Add url column to content table for weblink support.,add_url_to_content.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 17(2 nodes):Add deployment tracking columns to player table.,add_deployment_fields_to_player.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 18(2 nodes):Add email field to https_config table.,add_email_to_https_config.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 19(2 nodes):Flask extensions initialization Centralized extension management for the applica,extensions.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 20(1 nodes):Check if feedback indicates an error.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 21(1 nodes):Get age of feedback in seconds.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 22(1 nodes):Get most recent feedback for a player. Args: playerToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 23(1 nodes):Get the current HTTPS configuration. Returns: HTTPSToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 24(1 nodes):Create or update HTTPS configuration. Args: https_eToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 25(1 nodes):Check if user has admin role.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 26(1 nodes):Check if player is online (seen in last 5 minutes).Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 27(1 nodes):Authenticate a player by hostname and password or quickconnect code.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 28(1 nodes):Create an info level log entry. Args: message: LogToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 29(1 nodes):Create a warning level log entry. Args: message: LoToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 30(1 nodes):Create an error level log entry. Args: message: LogToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 31(1 nodes):Get number of content items in this group.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 32(1 nodes):Get file size in megabytes.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 33(1 nodes):Get number of groups containing this content.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 34(1 nodes):Name of the original (unedited) file for display purposes.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 35(1 nodes):Path (relative to uploads/) where the original unedited file lives. WheToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 36(1 nodes):Path (relative to uploads/) of the current/latest version to display.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 37(1 nodes):Whether this content has been edited on a player.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 38(1 nodes):Display name of the original (unedited) file.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 39(1 nodes):uploads/-relative path of the pristine original file. After a player edToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 40(1 nodes):check_fix_player.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted.