openai / openai-knowledge-retrieval
File Churn

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 4 files with 1,089 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)
    • 0 files changed 6-20 times (0 lines of code)
    • 4 files changed 1-5 times (1,089 lines of code)
0% | 0% | 0% | 0% | 100%
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 4 files with 1,089 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)
    • 3 files changed by 2-5 contributors (768 lines of code)
    • 1 file changed by 1 contributor (321 lines of code)
0% | 0% | 0% | 70% | 29%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
py, md, txt, ts, yaml, tsx, json, toml, css, svg, gitignore, js, cjs, editorconfig, html
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
cjs0% | 0% | 0% | 0% | 0%
js0% | 0% | 0% | 0% | 0%
ts0% | 0% | 0% | 0% | 0%
tsx0% | 0% | 0% | 0% | 0%
css0% | 0% | 0% | 0% | 0%
html0% | 0% | 0% | 0% | 0%
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
app0% | 0% | 0% | 0% | 100%
stores0% | 0% | 0% | 0% | 100%
configs0% | 0% | 0% | 0% | 100%
models0% | 0% | 0% | 0% | 0%
evals0% | 0% | 0% | 0% | 0%
telemetry0% | 0% | 0% | 0% | 0%
prompts0% | 0% | 0% | 0% | 0%
ingestion0% | 0% | 0% | 0% | 0%
retrieval0% | 0% | 0% | 0% | 0%
extensions0% | 0% | 0% | 0% | 0%
docker0% | 0% | 0% | 0% | 0%
templates0% | 0% | 0% | 0% | 0%
cli0% | 0% | 0% | 0% | 0%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
main.py
in app/backend/app
577 20 2025-11-01 2025-11-25 3 3 +145 / -21 103690170+royziv11@users.no... stsuruno@openai.com
79 - 2025-12-10 2025-12-10 1 2 +170 / -0 jordanellis@openai.com oaiagicorp@gmail.com
112 - 2025-12-10 2025-12-10 1 2 +242 / -0 jordanellis@openai.com oaiagicorp@gmail.com
321 9 2026-01-13 2026-01-13 1 1 +18 / -0 stsuruno@openai.com stsuruno@openai.com
__init__.py
in app/backend/app
1 -
md.py
in ingestion/loaders
1 -
docx.py
in ingestion/loaders
1 -
csv.py
in ingestion/loaders
1 -
pdf.py
in ingestion/loaders
1 -
xml.py
in ingestion/loaders
1 -
code.py
in ingestion/loaders
1 -
html.py
in ingestion/loaders
1 -
clean.py
in ingestion/preprocessors
1 -
dedupe.py
in ingestion/preprocessors
1 -
tables_to_md.py
in ingestion/preprocessors
1 -
lang_detect.py
in ingestion/preprocessors
1 -
__init__.py
in evals/reporters
3 -
postcss.config.cjs
in app/frontend
6 -
7 -
index.ts
in app/frontend/src/chatkit-react
8 -
loader.py
in prompts
11 1
logging.py
in telemetry
11 1
App.tsx
in app/frontend/src
12 -
index.html
in app/frontend
13 -
main.tsx
in app/frontend/src
13 -
19 3
schema.py
in evals/graders
19 1
index.css
in app/frontend/src
20 -
vite.config.ts
in app/frontend
20 1
tailwind.config.ts
in app/frontend
21 -
filter.py
in retrieval
21 1
citations.py
in retrieval
21 1
qa.py
in evals/metrics
22 4
judge_prompts.py
in evals/graders
22 2
documents.py
in app/backend/app
23 4
types.py
in ingestion
24 -
hybrid.py
in ingestion/chunkers
28 1
md.py
in evals/reporters
30 1
rubrics.py
in evals
32 1
canonicalize.py
in evals/generator
36 2
useColorScheme.ts
in app/frontend/src/hooks
37 2
eslint.config.js
in app/frontend
37 -
useKnowledgeDocuments.ts
in app/frontend/src/hooks
40 1
ThemeToggle.tsx
in app/frontend/src/components
41 -
recursive.py
in ingestion/chunkers
41 2
heading.py
in ingestion/chunkers
44 1
48 3
base.py
in stores
48 5
retrieval.py
in evals/metrics
48 6
config.ts
in app/frontend/src/lib
50 -
Files With Most Churn (Top 50)
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
112 - 2025-12-10 2025-12-10 1 2 +242 / -0 jordanellis@openai.com oaiagicorp@gmail.com
79 - 2025-12-10 2025-12-10 1 2 +170 / -0 jordanellis@openai.com oaiagicorp@gmail.com
main.py
in app/backend/app
577 20 2025-11-01 2025-11-25 3 3 +145 / -21 103690170+royziv11@users.no... stsuruno@openai.com
321 9 2026-01-13 2026-01-13 1 1 +18 / -0 stsuruno@openai.com stsuruno@openai.com
__init__.py
in app/backend/app
1 -
md.py
in ingestion/loaders
1 -
docx.py
in ingestion/loaders
1 -
csv.py
in ingestion/loaders
1 -
pdf.py
in ingestion/loaders
1 -
xml.py
in ingestion/loaders
1 -
code.py
in ingestion/loaders
1 -
html.py
in ingestion/loaders
1 -
clean.py
in ingestion/preprocessors
1 -
dedupe.py
in ingestion/preprocessors
1 -
tables_to_md.py
in ingestion/preprocessors
1 -
lang_detect.py
in ingestion/preprocessors
1 -
__init__.py
in evals/reporters
3 -
postcss.config.cjs
in app/frontend
6 -
7 -
index.ts
in app/frontend/src/chatkit-react
8 -
loader.py
in prompts
11 1
logging.py
in telemetry
11 1
App.tsx
in app/frontend/src
12 -
index.html
in app/frontend
13 -
main.tsx
in app/frontend/src
13 -
19 3
schema.py
in evals/graders
19 1
index.css
in app/frontend/src
20 -
vite.config.ts
in app/frontend
20 1
tailwind.config.ts
in app/frontend
21 -
filter.py
in retrieval
21 1
citations.py
in retrieval
21 1
qa.py
in evals/metrics
22 4
judge_prompts.py
in evals/graders
22 2
documents.py
in app/backend/app
23 4
types.py
in ingestion
24 -
hybrid.py
in ingestion/chunkers
28 1
md.py
in evals/reporters
30 1
rubrics.py
in evals
32 1
canonicalize.py
in evals/generator
36 2
useColorScheme.ts
in app/frontend/src/hooks
37 2
eslint.config.js
in app/frontend
37 -
useKnowledgeDocuments.ts
in app/frontend/src/hooks
40 1
ThemeToggle.tsx
in app/frontend/src/components
41 -
recursive.py
in ingestion/chunkers
41 2
heading.py
in ingestion/chunkers
44 1
48 3
base.py
in stores
48 5
retrieval.py
in evals/metrics
48 6
config.ts
in app/frontend/src/lib
50 -
Files With Most Contributors (Top 50)
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
main.py
in app/backend/app
577 20 2025-11-01 2025-11-25 3 3 +145 / -21 103690170+royziv11@users.no... stsuruno@openai.com
112 - 2025-12-10 2025-12-10 1 2 +242 / -0 jordanellis@openai.com oaiagicorp@gmail.com
79 - 2025-12-10 2025-12-10 1 2 +170 / -0 jordanellis@openai.com oaiagicorp@gmail.com
321 9 2026-01-13 2026-01-13 1 1 +18 / -0 stsuruno@openai.com stsuruno@openai.com
synthesis.py
in models
291 3
schema.py
in evals/graders
19 1
runner.py
in evals/graders
150 5
judge_prompts.py
in evals/graders
22 2
html.py
in evals/reporters
51 1
__init__.py
in evals/reporters
3 -
md.py
in evals/reporters
30 1
schema.py
in evals/datasets
52 2
harness.py
in evals
112 2
qa.py
in evals/metrics
22 4
retrieval.py
in evals/metrics
48 6
rubrics.py
in evals
32 1
auto_pipeline.py
in evals/generator
160 2
sampler.py
in evals/generator
53 1
canonicalize.py
in evals/generator
36 2
qgen.py
in evals/generator
257 5
corpus_iter.py
in evals/generator
92 1
candidates.py
in evals/generator
104 3
local_judge.py
in evals/runners
144 5
openai_evals.py
in evals/runners
195 5
logging.py
in telemetry
11 1
loader.py
in prompts
11 1
19 3
utils.py
in ingestion/chunkers
60 5
heading.py
in ingestion/chunkers
44 1
xml_aware.py
in ingestion/chunkers
65 3
recursive.py
in ingestion/chunkers
41 2
hybrid.py
in ingestion/chunkers
28 1
pipeline.py
in ingestion
332 9
lang_detect.py
in ingestion/preprocessors
1 -
tables_to_md.py
in ingestion/preprocessors
1 -
dedupe.py
in ingestion/preprocessors
1 -
clean.py
in ingestion/preprocessors
1 -
html.py
in ingestion/loaders
1 -
code.py
in ingestion/loaders
1 -
xml.py
in ingestion/loaders
1 -
pdf.py
in ingestion/loaders
1 -
csv.py
in ingestion/loaders
1 -
docx.py
in ingestion/loaders
1 -
md.py
in ingestion/loaders
1 -
types.py
in ingestion
24 -
pipeline.py
in retrieval
234 9
citations.py
in retrieval
21 1
filter.py
in retrieval
21 1
reranker.py
in retrieval
134 8
expansion.py
in retrieval
84 3
Files With Least Contributors (Top 50)
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
pipeline.py
in ingestion
332 9
config.py
in cli
296 7
synthesis.py
in models
291 3
qgen.py
in evals/generator
257 5
KnowledgeDocumentsPanel.tsx
in app/frontend/src/components
236 5
pipeline.py
in retrieval
234 9
main.py
in cli
203 7
openai_evals.py
in evals/runners
195 5
auto_pipeline.py
in evals/generator
160 2
runner.py
in evals/graders
150 5
memory_store.py
in app/backend/app
145 2
local_judge.py
in evals/runners
144 5
reranker.py
in retrieval
134 8
114 6
114 -
harness.py
in evals
112 2
custom-qdrant.yaml
in templates
112 -
110 -
110 -
qdrant-hybrid.yaml
in templates
107 -
useStableOptions.ts
in app/frontend/src/chatkit-react
106 2
candidates.py
in evals/generator
104 3
assistant_agent.py
in app/backend/app
97 7
corpus_iter.py
in evals/generator
92 1
Home.tsx
in app/frontend/src/components
90 -
expansion.py
in retrieval
84 3
useChatKit.ts
in app/frontend/src/chatkit-react
83 1
ChatKit.tsx
in app/frontend/src/chatkit-react
80 -
openai.yaml
in templates
79 -
useThreadCitations.ts
in app/frontend/src/hooks
72 1
xml_aware.py
in ingestion/chunkers
65 3
ChatKitPanel.tsx
in app/frontend/src/components
65 1
DocumentPreviewModal.tsx
in app/frontend/src/components
64 2
utils.py
in ingestion/chunkers
60 5
my_chunker.py
in extensions
59 3
sampler.py
in evals/generator
53 1
schema.py
in evals/datasets
52 2
html.py
in evals/reporters
51 1
config.ts
in app/frontend/src/lib
50 -
retrieval.py
in evals/metrics
48 6
base.py
in stores
48 5
48 3
heading.py
in ingestion/chunkers
44 1
recursive.py
in ingestion/chunkers
41 2
ThemeToggle.tsx
in app/frontend/src/components
41 -
useKnowledgeDocuments.ts
in app/frontend/src/hooks
40 1
eslint.config.js
in app/frontend
37 -
useColorScheme.ts
in app/frontend/src/hooks
37 2
canonicalize.py
in evals/generator
36 2
rubrics.py
in evals
32 1
Correlations

File Size vs. Number of Changes: 4 points

stores/openai_file_search.py x: 321 lines of code y: 1 # changes configs/default.openai.yaml x: 79 lines of code y: 1 # changes configs/default.qdrant.yaml x: 112 lines of code y: 1 # changes app/backend/app/main.py x: 577 lines of code y: 3 # changes
3.0
# changes
  min: 1.0
  average: 1.5
  25th percentile: 1.0
  median: 1.0
  75th percentile: 2.5
  max: 3.0
0 577.0
lines of code
min: 79.0 | average: 272.25 | 25th percentile: 87.25 | median: 216.5 | 75th percentile: 513.0 | max: 577.0

Number of Contributors vs. Number of Changes: 4 points

stores/openai_file_search.py x: 1 # contributors y: 1 # changes configs/default.openai.yaml x: 2 # contributors y: 1 # changes app/backend/app/main.py x: 3 # contributors y: 3 # changes
3.0
# changes
  min: 1.0
  average: 1.5
  25th percentile: 1.0
  median: 1.0
  75th percentile: 2.5
  max: 3.0
0 3.0
# contributors
min: 1.0 | average: 2.0 | 25th percentile: 1.25 | median: 2.0 | 75th percentile: 2.75 | max: 3.0

Number of Contributors vs. File Size: 4 points

stores/openai_file_search.py x: 1 # contributors y: 321 lines of code configs/default.openai.yaml x: 2 # contributors y: 79 lines of code configs/default.qdrant.yaml x: 2 # contributors y: 112 lines of code app/backend/app/main.py x: 3 # contributors y: 577 lines of code
577.0
lines of code
  min: 79.0
  average: 272.25
  25th percentile: 87.25
  median: 216.5
  75th percentile: 513.0
  max: 577.0
0 3.0
# contributors
min: 1.0 | average: 2.0 | 25th percentile: 1.25 | median: 2.0 | 75th percentile: 2.75 | max: 3.0

Number of Changes vs. Line Churn: 23 points

.env.example x: 2 # changes y: 4 line churn README.md x: 1 # changes y: 8 line churn stores/openai_file_search.py x: 1 # changes y: 18 line churn .gitignore x: 1 # changes y: 4 line churn configs/default.openai.yaml x: 1 # changes y: 170 line churn configs/default.qdrant.yaml x: 1 # changes y: 242 line churn app/backend/app/main.py x: 3 # changes y: 166 line churn app/backend/tests/test_citations.py x: 2 # changes y: 202 line churn data/example_data/01_company_overview_and_history.txt x: 1 # changes y: 772 line churn data/example_data/02_investment_account_products.txt x: 1 # changes y: 906 line churn data/example_data/03_lending_products.txt x: 1 # changes y: 880 line churn data/example_data/04_insurance_offerings.txt x: 1 # changes y: 930 line churn data/example_data/05_business_banking.txt x: 1 # changes y: 828 line churn data/example_data/06_digital_banking_platform.txt x: 1 # changes y: 1036 line churn data/example_data/07_compliance_and_regulations.txt x: 1 # changes y: 714 line churn data/example_data/09_financial_advisory_process.txt x: 1 # changes y: 1014 line churn data/example_data/10_customer_support_policies.txt x: 1 # changes y: 688 line churn data/example_data/11_risk_management.txt x: 1 # changes y: 760 line churn data/example_data/12_treasury_operations.txt x: 1 # changes y: 782 line churn data/example_data/13_it_infrastructure_and_security.txt x: 1 # changes y: 718 line churn data/example_data/14_hr_and_training.txt x: 1 # changes y: 942 line churn data/example_data/15_investor_relations.txt x: 1 # changes y: 632 line churn
1036.0
line churn
  min: 4.0
  average: 578.09
  25th percentile: 170.0
  median: 718.0
  75th percentile: 880.0
  max: 1036.0
0 3.0
# changes
min: 1.0 | average: 1.17 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 3.0

Number of Contributors vs. Line Churn: 4 points

stores/openai_file_search.py x: 1 # contributors y: 18 line churn configs/default.openai.yaml x: 2 # contributors y: 170 line churn configs/default.qdrant.yaml x: 2 # contributors y: 242 line churn app/backend/app/main.py x: 3 # contributors y: 166 line churn
242.0
line churn
  min: 18.0
  average: 149.0
  25th percentile: 55.0
  median: 168.0
  75th percentile: 224.0
  max: 242.0
0 3.0
# contributors
min: 1.0 | average: 2.0 | 25th percentile: 1.25 | median: 2.0 | 75th percentile: 2.75 | max: 3.0

File Size vs. Line Churn: 4 points

stores/openai_file_search.py x: 321 lines of code y: 18 line churn configs/default.openai.yaml x: 79 lines of code y: 170 line churn configs/default.qdrant.yaml x: 112 lines of code y: 242 line churn app/backend/app/main.py x: 577 lines of code y: 166 line churn
242.0
line churn
  min: 18.0
  average: 149.0
  25th percentile: 55.0
  median: 168.0
  75th percentile: 224.0
  max: 242.0
0 577.0
lines of code
min: 79.0 | average: 272.25 | 25th percentile: 87.25 | median: 216.5 | 75th percentile: 513.0 | max: 577.0