anthropics / beam
Components

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components. This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (17 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure at level 1 (relative to the source code root).

Bubble Chart | Tree Map
Component Sizes (Lines of Code)
The "primary" logical decomposition has 17 components.
  • 7,196 files, 802,375 LOC (100.0% vs. main code).
  • "sdks" is biggest, containing 67.66% of LOC.
  • ".gemini" is smallest, containing 0% of LOC.


sdks542880 LOC (67%) 3,869 files
runners138536 LOC (17%) 1,249 files
playground38140 LOC (4%) 451 files
learning28866 LOC (3%) 1,056 files
website20006 LOC (2%) 245 files
it10397 LOC (1%) 168 files
model5205 LOC (<1%) 14 files
infra5111 LOC (<1%) 16 files
.test-infra4364 LOC (<1%) 64 files
buildSrc3314 LOC (<1%) 9 files
scripts2374 LOC (<1%) 16 files
ROOT1252 LOC (<1%) 4 files
release1228 LOC (<1%) 17 files
.github342 LOC (<1%) 9 files
contributor-docs185 LOC (<1%) 1 file
plugins165 LOC (<1%) 7 files
.gemini10 LOC (<1%) 1 file
Component Commits
Components ordered by number of commits
Total Commits per Component
All commits, some commits may include files from multiple components.
sdks17644 commits (39%)
runners4895 commits (10%)
buildSrc1576 commits (3%)
website573 commits (1%)
ROOT513 commits (1%)
playground445 commits (<1%)
learning252 commits (<1%)
.test-infra217 commits (<1%)
model181 commits (<1%)
release161 commits (<1%)
scripts77 commits (<1%)
it60 commits (<1%)
.github18 commits (<1%)
plugins8 commits (<1%)
infra7 commits (<1%)
contributor-docs7 commits (<1%)
.gemini2 commits (<1%)
Yearly File Updates Trend per Components
The number of file changes in commits
animated commit history: all time cumulative | 12 months window
2026 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016
sdks
15
1041
1052
1219
1527
1799
2445
2198
2618
2434
1296
runners
1
158
243
173
204
352
502
733
824
946
759
buildSrc
1
87
110
154
204
238
305
308
169
ROOT
57
87
101
149
101
18
website
48
56
83
228
69
74
10
5
model
18
31
33
46
5
16
19
13
.test-infra
16
23
10
33
21
56
21
31
6
it
10
17
33
release
7
23
20
17
37
34
9
14
infra
7
scripts
6
11
2
58
learning
5
5
65
60
7
80
30
playground
5
16
97
168
159
.gemini
2
plugins
8
.github
3
13
2
contributor-docs
7


Dependencies between components in same commits (past 180 days)
The number on the lines shows the number of shared commits.
See detailed temporal dependencies report...

flowchart TB
    n0["sdks"]
    n1["runners"]
    n0 ---|"8"| n0
    n1 ---|"1"| n1
    classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
    classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
    linkStyle 0 stroke:#a0a0a0DB,stroke-width:8px
    linkStyle 1 stroke:#a0a0a05E,stroke-width:1px



2026-06-24 10:52