Overview
File Change Frequency Overall
  • There are 7 files with 2,029 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 0 files changed 21-50 times (0 lines of code)
    • 2 files changed 6-20 times (1,080 lines of code)
    • 5 files changed 1-5 times (949 lines of code)
0% | 0% | 0% | 53% | 46%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 7 files with 2,029 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 0 files changed by 11-25 contributors (0 lines of code)
    • 0 files changed by 6-10 contributors (0 lines of code)
    • 4 files changed by 2-5 contributors (1,896 lines of code)
    • 3 files changed by 1 contributor (133 lines of code)
0% | 0% | 0% | 93% | 6%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
mjs, ts, yml, md, txt, json, gitignore, js, yaml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
ts0% | 0% | 0% | 53% | 46%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
src0% | 0% | 0% | 53% | 46%
Most Frequently Changed Files (Top 8)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
main.ts
in src
434 21 2025-10-02 2026-08-21 9 3 +315 / -49 mbolin@openai.com viyatb@openai.com
646 12 2025-10-03 2026-10-05 8 5 +644 / -93 mbolin@openai.com viyatb@openai.com
170 7 2025-10-04 2026-08-13 5 3 +97 / -14 mbolin@openai.com ww@openai.com
43 1 2025-10-04 2025-11-05 3 1 +58 / -3 mbolin@openai.com mbolin@openai.com
646 21 2025-10-03 2026-10-05 3 2 +501 / -105 mbolin@openai.com viyatb@openai.com
22 1 2025-10-06 2025-10-06 1 1 +27 / -0 mbolin@openai.com mbolin@openai.com
68 4 2026-08-21 2026-08-21 1 1 +74 / -0 viyatb@openai.com viyatb@openai.com
22 2
Files With Most Churn (Top 8)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
646 12 2025-10-03 2026-10-05 8 5 +644 / -93 mbolin@openai.com viyatb@openai.com
646 21 2025-10-03 2026-10-05 3 2 +501 / -105 mbolin@openai.com viyatb@openai.com
main.ts
in src
434 21 2025-10-02 2026-08-21 9 3 +315 / -49 mbolin@openai.com viyatb@openai.com
170 7 2025-10-04 2026-08-13 5 3 +97 / -14 mbolin@openai.com ww@openai.com
68 4 2026-08-21 2026-08-21 1 1 +74 / -0 viyatb@openai.com viyatb@openai.com
43 1 2025-10-04 2025-11-05 3 1 +58 / -3 mbolin@openai.com mbolin@openai.com
22 1 2025-10-06 2025-10-06 1 1 +27 / -0 mbolin@openai.com mbolin@openai.com
22 2
Files With Most Contributors (Top 8)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
646 12 2025-10-03 2026-10-05 8 5 +644 / -93 mbolin@openai.com viyatb@openai.com
main.ts
in src
434 21 2025-10-02 2026-08-21 9 3 +315 / -49 mbolin@openai.com viyatb@openai.com
170 7 2025-10-04 2026-08-13 5 3 +97 / -14 mbolin@openai.com ww@openai.com
646 21 2025-10-03 2026-10-05 3 2 +501 / -105 mbolin@openai.com viyatb@openai.com
43 1 2025-10-04 2025-11-05 3 1 +58 / -3 mbolin@openai.com mbolin@openai.com
22 1 2025-10-06 2025-10-06 1 1 +27 / -0 mbolin@openai.com mbolin@openai.com
68 4 2026-08-21 2026-08-21 1 1 +74 / -0 viyatb@openai.com viyatb@openai.com
22 2
Files With Least Contributors (Top 8)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
22 2
68 4 2026-08-21 2026-08-21 1 1 +74 / -0 viyatb@openai.com viyatb@openai.com
43 1 2025-10-04 2025-11-05 3 1 +58 / -3 mbolin@openai.com mbolin@openai.com
22 1 2025-10-06 2025-10-06 1 1 +27 / -0 mbolin@openai.com mbolin@openai.com
646 21 2025-10-03 2026-10-05 3 2 +501 / -105 mbolin@openai.com viyatb@openai.com
main.ts
in src
434 21 2025-10-02 2026-08-21 9 3 +315 / -49 mbolin@openai.com viyatb@openai.com
170 7 2025-10-04 2026-08-13 5 3 +97 / -14 mbolin@openai.com ww@openai.com
646 12 2025-10-03 2026-10-05 8 5 +644 / -93 mbolin@openai.com viyatb@openai.com
Correlations

File Size vs. Number of Changes: 7 points

src/dropSudo.ts x: 646 lines of code y: 3 # changes src/runCodexExec.ts x: 646 lines of code y: 8 # changes src/linuxCredentials.ts x: 68 lines of code y: 1 # changes src/main.ts x: 434 lines of code y: 9 # changes src/checkActorPermissions.ts x: 170 lines of code y: 5 # changes src/writeProxyConfig.ts x: 43 lines of code y: 3 # changes src/checkOutput.ts x: 22 lines of code y: 1 # changes
9.0
# changes
  min: 1.0
  average: 4.29
  25th percentile: 1.0
  median: 3.0
  75th percentile: 8.0
  max: 9.0
0 646.0
lines of code
min: 22.0 | average: 289.86 | 25th percentile: 43.0 | median: 170.0 | 75th percentile: 646.0 | max: 646.0

Number of Contributors vs. Number of Changes: 7 points

src/dropSudo.ts x: 2 # contributors y: 3 # changes src/runCodexExec.ts x: 5 # contributors y: 8 # changes src/linuxCredentials.ts x: 1 # contributors y: 1 # changes src/main.ts x: 3 # contributors y: 9 # changes src/checkActorPermissions.ts x: 3 # contributors y: 5 # changes src/writeProxyConfig.ts x: 1 # contributors y: 3 # changes
9.0
# changes
  min: 1.0
  average: 4.29
  25th percentile: 1.0
  median: 3.0
  75th percentile: 8.0
  max: 9.0
0 5.0
# contributors
min: 1.0 | average: 2.29 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 5.0

Number of Contributors vs. File Size: 7 points

src/dropSudo.ts x: 2 # contributors y: 646 lines of code src/runCodexExec.ts x: 5 # contributors y: 646 lines of code src/linuxCredentials.ts x: 1 # contributors y: 68 lines of code src/main.ts x: 3 # contributors y: 434 lines of code src/checkActorPermissions.ts x: 3 # contributors y: 170 lines of code src/writeProxyConfig.ts x: 1 # contributors y: 43 lines of code src/checkOutput.ts x: 1 # contributors y: 22 lines of code
646.0
lines of code
  min: 22.0
  average: 289.86
  25th percentile: 43.0
  median: 170.0
  75th percentile: 646.0
  max: 646.0
0 5.0
# contributors
min: 1.0 | average: 2.29 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 5.0

Number of Changes vs. Line Churn: 28 points

CHANGELOG.md x: 11 # changes y: 72 line churn README.md x: 16 # changes y: 352 line churn dist/main.js x: 14 # changes y: 3632 line churn src/dropSudo.ts x: 3 # changes y: 606 line churn src/runCodexExec.ts x: 8 # changes y: 737 line churn test/dropSudo.test.mjs x: 2 # changes y: 805 line churn test/dropSudoSocketAcl.test.mjs x: 1 # changes y: 190 line churn test/runCodexExecLifecycle.test.mjs x: 1 # changes y: 243 line churn action.yml x: 14 # changes y: 504 line churn docs/security.md x: 8 # changes y: 98 line churn src/linuxCredentials.ts x: 1 # changes y: 74 line churn src/main.ts x: 9 # changes y: 364 line churn test/actionHardening.test.mjs x: 1 # changes y: 282 line churn test/linuxCredentials.test.mjs x: 1 # changes y: 107 line churn test/runCodexExec.test.mjs x: 3 # changes y: 638 line churn package.json x: 3 # changes y: 8 line churn pnpm-lock.yaml x: 1 # changes y: 21 line churn src/checkActorPermissions.ts x: 5 # changes y: 111 line churn test/checkActorPermissions.test.mjs x: 3 # changes y: 192 line churn .github/workflows/ci.yml x: 4 # changes y: 18 line churn .gitignore x: 1 # changes y: 1 line churn .github/workflows/cla.yml x: 2 # changes y: 6 line churn examples/test-sandbox-protections.yml x: 2 # changes y: 74 line churn src/writeProxyConfig.ts x: 3 # changes y: 61 line churn examples/unprivileged-user.yml x: 1 # changes y: 42 line churn src/which.ts x: 1 # changes y: 64 line churn
3632.0
line churn
  min: 1.0
  average: 335.75
  25th percentile: 46.75
  median: 102.5
  75th percentile: 361.0
  max: 3632.0
0 16.0
# changes
min: 1.0 | average: 4.32 | 25th percentile: 1.0 | median: 2.5 | 75th percentile: 7.25 | max: 16.0

Number of Contributors vs. Line Churn: 7 points

src/dropSudo.ts x: 2 # contributors y: 606 line churn src/runCodexExec.ts x: 5 # contributors y: 737 line churn src/linuxCredentials.ts x: 1 # contributors y: 74 line churn src/main.ts x: 3 # contributors y: 364 line churn src/checkActorPermissions.ts x: 3 # contributors y: 111 line churn src/writeProxyConfig.ts x: 1 # contributors y: 61 line churn src/checkOutput.ts x: 1 # contributors y: 27 line churn
737.0
line churn
  min: 27.0
  average: 282.86
  25th percentile: 61.0
  median: 111.0
  75th percentile: 606.0
  max: 737.0
0 5.0
# contributors
min: 1.0 | average: 2.29 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 5.0

File Size vs. Line Churn: 7 points

src/dropSudo.ts x: 646 lines of code y: 606 line churn src/runCodexExec.ts x: 646 lines of code y: 737 line churn src/linuxCredentials.ts x: 68 lines of code y: 74 line churn src/main.ts x: 434 lines of code y: 364 line churn src/checkActorPermissions.ts x: 170 lines of code y: 111 line churn src/writeProxyConfig.ts x: 43 lines of code y: 61 line churn src/checkOutput.ts x: 22 lines of code y: 27 line churn
737.0
line churn
  min: 27.0
  average: 282.86
  25th percentile: 61.0
  median: 111.0
  75th percentile: 606.0
  max: 737.0
0 646.0
lines of code
min: 22.0 | average: 289.86 | 25th percentile: 43.0 | median: 170.0 | 75th percentile: 646.0 | max: 646.0