# Graph Report - graphs/audio-dsp-tools  (2026-07-29)

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

## Summary
- 505 nodes · 1003 edges · 17 communities
- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 49 edges (avg confidence: 0.8)
- 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

## God Nodes (most connected - your core abstractions)
1. `BtAudioSource` - 84 edges
2. `Daemon` - 24 edges
3. `Bluetooth` - 21 edges
4. `RegBlock` - 16 edges
5. `Params` - 13 edges
6. `runBenchmarkCase()` - 13 edges
7. `Params` - 13 edges
8. `Coeffs` - 13 edges
9. `St` - 13 edges
10. `main()` - 13 edges

## Surprising Connections (you probably didn't know these)
- `calcPeak()` --calls--> `jl()`  [INFERRED]
  dl48-software/dsp-stack-ng/tools/eqpeak1_kernel_bench.cpp → dl48-software/dsp-stack-ng/tools/eqpeak4x_rotation_diag.cpp
- `calcPeak()` --calls--> `jl()`  [INFERRED]
  dl48-software/dsp-stack-ng/tools/eqpeak1_precision_bench.cpp → dl48-software/dsp-stack-ng/tools/eqpeak4x_rotation_diag.cpp
- `calcPeak()` --calls--> `jl()`  [INFERRED]
  dl48-software/dsp-stack-ng/tools/eqpeak_cascade_bench.cpp → dl48-software/dsp-stack-ng/tools/eqpeak4x_rotation_diag.cpp
- `main()` --calls--> `startBluetooth()`  [INFERRED]
  dl48-software/dsp-stack-ng/tools/netmedia-daemon/main.cpp → dl48-software/dsp-stack-ng/tools/netmedia-daemon/bluetooth.cpp
- `main()` --calls--> `stopBluetooth()`  [INFERRED]
  dl48-software/dsp-stack-ng/tools/netmedia-daemon/main.cpp → dl48-software/dsp-stack-ng/tools/netmedia-daemon/bluetooth.cpp

## Import Cycles
- None detected.

## Communities (17 total, 0 thin omitted)

### Community 0 - "Community 0"
Cohesion: 0.08
Nodes (54): BenchStats, best, median, runs, worst, checksum(), closeEnough(), Coeffs (+46 more)

### Community 1 - "Community 1"
Cohesion: 0.04
Nodes (53): AbstractFifo, Codec, BtAudioSource, _client, _clientMu, _codec, _drainMu, DRIFT_COMP_DISTANCE (+45 more)

### Community 2 - "Community 2"
Cohesion: 0.08
Nodes (40): benchDRAM(), benchL1(), calcPeak(), Coeffs, a1, a2, b0, b1 (+32 more)

### Community 3 - "Community 3"
Cohesion: 0.06
Nodes (41): stopBluetooth(), atomic, mutex, vector, ak4118_configure_bypass(), Args, recvPort, root (+33 more)

### Community 4 - "Community 4"
Cohesion: 0.15
Nodes (35): DBusHandlerResult, DBusMessage, aacEndpointHandler(), agentHandler(), Bluetooth, Bluetooth::Bluetooth(), cleanupDbus, _dbus (+27 more)

### Community 5 - "Community 5"
Cohesion: 0.09
Nodes (26): calcPeak(), Coeffs, a1, a2, b0, b1, b2, array (+18 more)

### Community 6 - "Community 6"
Cohesion: 0.16
Nodes (28): configure_pi10_owa_out(), D2HelpCfg, direction, drq_port, fifo_phys, period_bytes, disable_owa_tx(), dump_registers() (+20 more)

### Community 7 - "Community 7"
Cohesion: 0.16
Nodes (28): calcPeak(), casc2_cur(), casc2_split(), casc3_cur(), casc3_split(), Coeffs, a1, a2 (+20 more)

### Community 8 - "Community 8"
Cohesion: 0.14
Nodes (26): f32, f32x4, K, vector, Gains, g11, g12, g21 (+18 more)

### Community 9 - "Community 9"
Cohesion: 0.16
Nodes (25): benchKernel(), calcPeak(), Coeffs, a1, a2, b0, f32, K (+17 more)

### Community 10 - "Community 10"
Cohesion: 0.15
Nodes (24): calcPeak(), Coeffs, a1, a2, b0, f32, Kern, vector (+16 more)

### Community 11 - "Community 11"
Cohesion: 0.14
Nodes (23): Co, a1, a2, b0, f32, f32x4, K, vector (+15 more)

### Community 12 - "Community 12"
Cohesion: 0.22
Nodes (23): closeEnough(), constGain(), array, EqBand2, EqPeak4x, mt19937, string, vector (+15 more)

### Community 13 - "Community 13"
Cohesion: 0.17
Nodes (19): acquireTransport, beginFadeOut, BtAudioSource::BtAudioSource(), drainInterleaved, findTransportPath, flushToClient, plcApplyCrossfade, plcConceal (+11 more)

### Community 14 - "Community 14"
Cohesion: 0.29
Nodes (11): checksum(), vector, main(), mk(), run(), setup(), Stats, best (+3 more)

### Community 15 - "Community 15"
Cohesion: 0.50
Nodes (9): handleGetBuffer, handleMsg, sendFileInfo, sendFrame, startServer, startStreaming, startStreamingWithTransport, shared_ptr (+1 more)

### Community 16 - "Community 16"
Cohesion: 0.53
Nodes (5): crash_handler(), install_crash_trap(), write_hex(), write_str(), siginfo_t

## Knowledge Gaps
- **171 isolated node(s):** `b0`, `a1`, `a2`, `x2`, `x1` (+166 more)
  These have ≤1 connection - possible missing edges or undocumented components.

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

- **Why does `BtAudioSource` connect `Community 1` to `Community 5`, `Community 3`, `Community 13`, `Community 15`?**
  _High betweenness centrality (0.278) - this node is a cross-community bridge._
- **What connects `b0`, `a1`, `a2` to the rest of the system?**
  _171 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
  _Cohesion score 0.08022598870056497 - nodes in this community are weakly interconnected._
- **Should `Community 1` be split into smaller, more focused modules?**
  _Cohesion score 0.03508771929824561 - nodes in this community are weakly interconnected._
- **Should `Community 2` be split into smaller, more focused modules?**
  _Cohesion score 0.08350951374207188 - nodes in this community are weakly interconnected._
- **Should `Community 3` be split into smaller, more focused modules?**
  _Cohesion score 0.05708245243128964 - nodes in this community are weakly interconnected._
- **Should `Community 5` be split into smaller, more focused modules?**
  _Cohesion score 0.0896551724137931 - nodes in this community are weakly interconnected._