# Graph Report - graphs/software-services-tools  (2026-07-29)

## Corpus Check
- cluster-only mode — file stats not available

## Summary
- 1420 nodes · 2527 edges · 102 communities (69 shown, 33 thin omitted)
- Extraction: 87% EXTRACTED · 13% INFERRED · 0% AMBIGUOUS · INFERRED: 316 edges (avg confidence: 0.78)
- Token cost: 0 input · 0 output

## Community Hubs (Navigation)
- Community 0
- Community 1
- Community 2
- Community 3
- Community 4
- Community 5
- Community 6
- Community 7
- Community 8
- Community 9
- Community 10
- Community 11
- Community 12
- Community 13
- Community 14
- Community 15
- Community 16
- Community 17
- Community 18
- Community 19
- Community 20
- Community 21
- Community 22
- Community 23
- Community 24
- Community 25
- Community 26
- Community 27
- Community 28
- Community 29
- Community 30
- Community 31
- Community 32
- Community 33
- Community 34
- Community 35
- Community 36
- Community 37
- Community 38
- Community 39
- Community 40
- Community 41
- Community 42
- Community 43
- Community 44
- Community 45
- Community 46
- Community 47
- Community 48
- Community 49
- Community 50
- Community 51
- Community 52
- Community 53
- Community 54
- Community 55
- Community 56
- Community 57
- Community 58
- Community 59
- Community 61
- Community 62
- Community 63
- Community 64
- Community 65
- Community 66
- Community 67
- Community 68
- Community 69
- Community 70
- Community 71
- Community 72
- Community 73
- Community 74
- Community 75
- Community 76
- Community 77
- Community 78
- Community 79
- Community 80
- Community 82
- Community 83
- Community 84
- Community 85
- Community 87
- Community 88
- Community 89
- Community 90
- Community 100
- Community 101

## God Nodes (most connected - your core abstractions)
1. `FirmwareUpdater` - 66 edges
2. `checkCommands()` - 65 edges
3. `PluginDSP` - 54 edges
4. `setDataKeyinKS()` - 52 edges
5. `wsSend()` - 50 edges
6. `logInfo()` - 35 edges
7. `PluginEditor` - 33 edges
8. `FormattedException` - 33 edges
9. `escapeName()` - 27 edges
10. `PluginDSP` - 26 edges

## Surprising Connections (you probably didn't know these)
- `monitorFolder` --calls--> `time`  [INFERRED]
  dl48-software/web-key-server-mock/mediawatcher.h → dl48-software/dsp-stack-test-mixergraph/src/GlobalState.h
- `startBluetooth()` --calls--> `logInfo()`  [INFERRED]
  dl48-software/web-key-server-mock/bluetooth.cpp → dl48-software/web-key-server-mock/logger.h
- `stopBluetooth()` --calls--> `logInfo()`  [INFERRED]
  dl48-software/web-key-server-mock/bluetooth.cpp → dl48-software/web-key-server-mock/logger.h
- `cmd_FACTORY_RESET()` --calls--> `sleep()`  [INFERRED]
  dl48-software/web-key-server-mock/cmds/dspcommands.cpp → dl48-software/web-key-server-mock/utils.h
- `stopKeystoreThread()` --calls--> `logInfo()`  [INFERRED]
  dl48-software/web-key-server-mock/keystore.cpp → dl48-software/web-key-server-mock/logger.h

## Import Cycles
- None detected.

## Communities (102 total, 33 thin omitted)

### Community 0 - "Community 0"
Cohesion: 0.06
Nodes (114): base64_decode(), checkCommands(), cmd_BT_PAIR_DISCONNECT(), cmd_ETHER_CONNECT(), cmd_FACTORY_RESET(), cmd_FIRMWARE_FILE_CORRUPTED_OK(), cmd_FIRMWARE_UPDATE(), cmd_FIRMWARE_UPDATE_CANCELLED() (+106 more)

### Community 1 - "Community 1"
Cohesion: 0.06
Nodes (66): Any, api_route, BaseHTTPMiddleware, AppConfig, load_config(), _load_yaml_config(), RepoConfig, _build_prompt() (+58 more)

### Community 2 - "Community 2"
Cohesion: 0.07
Nodes (23): Build, FirmwareUpdater, activeChannel, buildCache, buildCacheFetchedAt, buildCacheMutex, buildCacheValid, cancelRequested (+15 more)

### Community 3 - "Community 3"
Cohesion: 0.07
Nodes (55): BaseHTTPRequestHandler, _boolish(), broadcast(), _broadcast_snapshot(), clamp_dsp_osc_config(), _clamped_multipliers(), deploy_collectors(), _dmesg_active() (+47 more)

### Community 4 - "Community 4"
Cohesion: 0.04
Nodes (45): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-vue, eslint-plugin-vue-pug, globals (+37 more)

### Community 5 - "Community 5"
Cohesion: 0.05
Nodes (42): String, vector, CriticalSection, Time, vector, LogEntry, message, sequence (+34 more)

### Community 6 - "Community 6"
Cohesion: 0.07
Nodes (25): apply_control(), _boolish(), clamp_dsp_osc_config(), dmesg_follow(), kmsg_snapshot(), open_handles(), parse_kmsg(), _pick() (+17 more)

### Community 7 - "Community 7"
Cohesion: 0.07
Nodes (41): changeNetworkStatus(), checkThereIsConnection(), String, getIpAndNetmask(), getNetConfig(), getWifiList(), File, function (+33 more)

### Community 8 - "Community 8"
Cohesion: 0.05
Nodes (11): DmesgKeepaliveTest, DspOscillatorControlTest, FanClampTest, FreqGuardrailTest, ParseWrgbTest, Unit tests for the SOC1 daemon's pure logic: validation, guardrails, the fan…, SendLedPackingTest, SendLedTest (+3 more)

### Community 9 - "Community 9"
Cohesion: 0.07
Nodes (30): SocketChannelPtr, WebSocketChannelPtr, CriticalSection, function, SocketChannelPtr, string, string_view, WebSocketChannelPtr (+22 more)

### Community 10 - "Community 10"
Cohesion: 0.06
Nodes (32): avgUsageDisplay, cap(), coreCount, DisplayRow, displayRows, dsp, frozenPeak, frozenProfile (+24 more)

### Community 11 - "Community 11"
Cohesion: 0.07
Nodes (35): ApplicationProperties, Graphics, PluginDSP, AudioProcessorEditor, JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR, Label, PluginDSP, Timer (+27 more)

### Community 12 - "Community 12"
Cohesion: 0.07
Nodes (34): hex2(), LED_TARGETS, ledGroupForColorKey(), ledHex(), ledKeys(), ledMultiplierKeysForColorKey(), LedTarget, LedType (+26 more)

### Community 13 - "Community 13"
Cohesion: 0.06
Nodes (22): AudioProcessor, JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR, PluginDSP, buf1, buf2, DATA_FORMAT_SCHEMA, dsp, dspR (+14 more)

### Community 14 - "Community 14"
Cohesion: 0.07
Nodes (29): author, dependencies, @freedmanelectronics/dl48-fontawesome-kit-326afe3ac7, pinia, quasar, @quasar/extras, vue, vue-router (+21 more)

### Community 15 - "Community 15"
Cohesion: 0.14
Nodes (26): logInfo(), json, path, DeviceScanner, formatDisk, mountInternalMTP, mountUSBDiskInMTP, processUnfinishedWAVFiles (+18 more)

### Community 16 - "Community 16"
Cohesion: 0.09
Nodes (19): cpuSeries, cpuYMax, DOMAINS, dspOverlay, dspSeries, evlAvailable, freqSeries, hist (+11 more)

### Community 17 - "Community 17"
Cohesion: 0.10
Nodes (11): AudioProcessorEditor, AudioBuffer, AudioProcessor, JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR, MidiBuffer, String, unique_ptr, PluginDSP (+3 more)

### Community 18 - "Community 18"
Cohesion: 0.11
Nodes (14): Cell, array, atomic, T, MPMC, buf, corrupted, dummy0 (+6 more)

### Community 19 - "Community 19"
Cohesion: 0.22
Nodes (11): Conn, Mutex, Request, main(), newHub(), sourceIP(), browserConn, hub (+3 more)

### Community 20 - "Community 20"
Cohesion: 0.13
Nodes (17): BtCmds, Bluetooth, enabled, executeCmd, init, pendingDisconnect, pendingEnable, run (+9 more)

### Community 21 - "Community 21"
Cohesion: 0.11
Nodes (16): String, atomic, CriticalSection, String, MainThread, MainThread::MainThread(), nextGraphPath, reloadGraph (+8 more)

### Community 22 - "Community 22"
Cohesion: 0.12
Nodes (15): AudioBuffer, AudioProcessor, BusesLayout, MemoryBlock, MidiBuffer, floatToInt32(), int32ToFloat(), JUCE_CALLTYPE createPluginFilter() (+7 more)

### Community 23 - "Community 23"
Cohesion: 0.11
Nodes (16): applyOsc(), clampNum(), dsp, hist, loadClass, oscChannel, oscEnable, oscFreq (+8 more)

### Community 24 - "Community 24"
Cohesion: 0.19
Nodes (6): String, Thread, initLogger(), sleep(), doFirstBootStuff(), main()

### Community 25 - "Community 25"
Cohesion: 0.25
Nodes (17): build_initramfs(), build_kernel(), build_sunxi_fel(), check_prerequisites(), die(), fetch_busybox(), find_drive(), find_drive_linux() (+9 more)

### Community 26 - "Community 26"
Cohesion: 0.12
Nodes (9): autoscroll, cap, capOptions, lines, logEl, paused, soc, socs (+1 more)

### Community 27 - "Community 27"
Cohesion: 0.24
Nodes (15): PluginDSP::PluginDSP(), applyUpdate(), connectWSC(), string, string_view, handleIncomingMessage(), jsonEscape(), registerWSCHandlers() (+7 more)

### Community 28 - "Community 28"
Cohesion: 0.17
Nodes (11): function, findV(), linFrom01(), linTo01(), logFrom01(), logTo01(), vmixFrom01(), vmixTo01() (+3 more)

### Community 29 - "Community 29"
Cohesion: 0.14
Nodes (12): capMhz, emit, options, props, Dsp, DspProfile, DspProfileHot, Freq (+4 more)

### Community 30 - "Community 30"
Cohesion: 0.16
Nodes (14): applyFan(), applyFanPct(), applyLed(), applyLedPct(), cpub, fanDuty, fanPct, fanPctInput (+6 more)

### Community 31 - "Community 31"
Cohesion: 0.18
Nodes (9): Colour, Graphics, String, LogViewerModel, lineColours, lines, rawLines, ListBoxModel (+1 more)

### Community 32 - "Community 32"
Cohesion: 0.18
Nodes (9): vector, InsertBlockEditor, blockInfoLabel, blockTypeCombo, blockTypeLabel, currentBlockType, paramContainer, paramViewport (+1 more)

### Community 33 - "Community 33"
Cohesion: 0.15
Nodes (13): ComboBox, Label, ToggleButton, unique_ptr, ParamWidget, combo, info, label (+5 more)

### Community 34 - "Community 34"
Cohesion: 0.15
Nodes (9): chop(), AudioBuffer, AudioProcessorEditor, MemoryBlock, MidiBuffer, createEditor, processBlock, DSPBlock (+1 more)

### Community 35 - "Community 35"
Cohesion: 0.18
Nodes (12): compareByTime(), convertTimeToTimeT(), string, FileInfo, filename, timestamp, Thread, MediaWatcher (+4 more)

### Community 36 - "Community 36"
Cohesion: 0.20
Nodes (6): Component, Graphics, Timer, PluginEditor, GenericAudioProcessorEditor, Viewport

### Community 37 - "Community 37"
Cohesion: 0.17
Nodes (10): BB_ENV_PASSTHROUGH_ADDITIONS, BUILD_NUMBER, DL_DIR, GIT_CLONE_SRC, MACHINE, MODEL, SDK_BUILD_REQUESTED, build-yocto.sh script (+2 more)

### Community 38 - "Community 38"
Cohesion: 0.20
Nodes (11): bounds, cv, draw(), fmt(), hover, onMove(), PAD, props (+3 more)

### Community 39 - "Community 39"
Cohesion: 0.20
Nodes (8): mutex, getInitMessage(), initKeyStore(), repl(), resetKeys(), stopFaderThread(), stopKeystoreThread(), wildcardToRegex()

### Community 40 - "Community 40"
Cohesion: 0.20
Nodes (6): CheckSaveThread, Serial, Thread, unique_ptr, FaderThread, _faderUART

### Community 41 - "Community 41"
Cohesion: 0.22
Nodes (4): connected, socs, store, Soc

### Community 42 - "Community 42"
Cohesion: 0.25
Nodes (5): build-image.sh script, INSTALLED_SIZE, REVISION, build-deb.sh script, rebuild-all-deb.sh script

### Community 43 - "Community 43"
Cohesion: 0.25
Nodes (7): drawer, faderColor, faderTitle, hasProfile, links, socs, store

### Community 44 - "Community 44"
Cohesion: 0.29
Nodes (5): settings, showCores, timeWindowSec, Settings, useSettingsStore

### Community 45 - "Community 45"
Cohesion: 0.39
Nodes (7): buildFaderkeysForBank(), function, string, handleLocalKey(), initializeMixer(), sendFaderMsg(), setKeysWithFilter()

### Community 46 - "Community 46"
Cohesion: 0.36
Nodes (8): handleIncomingMessage(), logDebug(), logError(), wsBroadcastToOthers(), registerTcpHandlers(), registerWssHandlers(), FMT_INLINE, format_string

### Community 47 - "Community 47"
Cohesion: 0.38
Nodes (6): CMAKE_C_COMPILER_LAUNCHER, CMAKE_CXX_COMPILER_LAUNCHER, CMAKE_OBJC_COMPILER_LAUNCHER, build_all_macos.sh script, splice(), spliceAll()

### Community 48 - "Community 48"
Cohesion: 0.38
Nodes (6): CMAKE_C_COMPILER_LAUNCHER, CMAKE_CXX_COMPILER_LAUNCHER, CMAKE_OBJC_COMPILER_LAUNCHER, build_all_macos.sh script, splice(), spliceAll()

### Community 49 - "Community 49"
Cohesion: 0.33
Nodes (6): image_exists(), INSTALLED_SIZE, REVISION, RT1021REVISION, build-deb.sh script, WEBKEYREVISION

### Community 51 - "Community 51"
Cohesion: 0.40
Nodes (4): CMAKE_C_COMPILER_LAUNCHER, CMAKE_CXX_COMPILER_LAUNCHER, CMAKE_OBJC_COMPILER_LAUNCHER, make_xcode_project.sh script

### Community 52 - "Community 52"
Cohesion: 0.40
Nodes (4): CMAKE_C_COMPILER_LAUNCHER, CMAKE_CXX_COMPILER_LAUNCHER, CMAKE_OBJC_COMPILER_LAUNCHER, make_xcode_project.sh script

### Community 54 - "Community 54"
Cohesion: 0.60
Nodes (4): find_drive(), find_drive_linux(), find_drive_macos(), fastflash.sh script

### Community 56 - "Community 56"
Cohesion: 0.40
Nodes (5): ButtonConfig, buttonName, colorName, key, shiftValue

### Community 57 - "Community 57"
Cohesion: 0.40
Nodes (5): EncoderMeta, law, maxv, minv, prec

### Community 59 - "Community 59"
Cohesion: 0.50
Nodes (3): GIT_SSH_COMMAND, GIT_TERMINAL_PROMPT, entrypoint.sh script

### Community 61 - "Community 61"
Cohesion: 0.67
Nodes (3): Function, ScopeExit, exitHandler

## Knowledge Gaps
- **354 isolated node(s):** `build-image.sh script`, `install-sdk.sh script`, `init-mixer-build.sh script`, `ubuntu-install-deps.sh script`, `build-yocto.sh script` (+349 more)
  These have ≤1 connection - possible missing edges or undocumented components.
- **33 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.

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

- **Why does `LogEntry` connect `Community 5` to `Community 24`?**
  _High betweenness centrality (0.138) - this node is a cross-community bridge._
- **Why does `PluginDSP` connect `Community 13` to `Community 32`, `Community 33`, `Community 34`, `Community 36`, `Community 5`, `Community 82`, `Community 53`?**
  _High betweenness centrality (0.062) - this node is a cross-community bridge._
- **Why does `FirmwareUpdater` connect `Community 2` to `Community 24`, `Community 0`, `Community 39`?**
  _High betweenness centrality (0.048) - this node is a cross-community bridge._
- **Are the 4 inferred relationships involving `checkCommands()` (e.g. with `FormattedException` and `logError()`) actually correct?**
  _`checkCommands()` has 4 INFERRED edges - model-reasoned connections that need verification._
- **Are the 41 inferred relationships involving `setDataKeyinKS()` (e.g. with `run` and `cmd_FACTORY_RESET()`) actually correct?**
  _`setDataKeyinKS()` has 41 INFERRED edges - model-reasoned connections that need verification._
- **What connects `build-image.sh script`, `install-sdk.sh script`, `init-mixer-build.sh script` to the rest of the system?**
  _354 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
  _Cohesion score 0.06260504201680672 - nodes in this community are weakly interconnected._