blindspot

Knowledge resilience report

Repository: /private/tmp/cohort10/langchain
Generated 2026-05-20 15:45 UTC · window: last 90 days · blindspot v0.2.1

Executive brief

Fragile Resilience 50/100 · F · team profile

Top 3 risks
  1. MEDIUM Update CODEOWNERS for .github/ISSUE_TEMPLATE/bug-report.yml .github/ISSUE_TEMPLATE/bug-report.yml
  2. MEDIUM Update CODEOWNERS for .github/ISSUE_TEMPLATE/feature-request.yml .github/ISSUE_TEMPLATE/feature-request.yml
  3. MEDIUM Update CODEOWNERS for .github/PULL_REQUEST_TEMPLATE.md .github/PULL_REQUEST_TEMPLATE.md

Business implication An unexpected departure of the top contributor would orphan 225 critical files and likely slow feature delivery by 3–5 weeks while the team learns the surface.

Executive summary

Establish a successor for Mason Daugherty (mason@langchain.dev)'s work — 225 files would orphan without them

Resilience is **Fragile** (50/100). Weakest dimension: review hygiene (F).

Risk inventory: 225 file(s) would become orphans if the top contributor leaves; 16 file(s) carry high correction load (≥35% fix/revert); 2 service(s) lack AI-readable operational context.

Top recommended action: Establish a successor for Mason Daugherty (mason@langchain.dev)'s work — 225 files would orphan without them

💡 Want a richer, prose-style executive summary? Add a cloud LLM key (Anthropic or OpenAI) to your scan:
--api-key sk-ant-... --provider anthropic --model claude-sonnet-4-6
or set narrative.api_key in .blindspot.yaml. Without a key, this rule-based narrator is used — deterministic, in-process, no network.

Overview

Engineering Resilience Score

Overall
50/100 F
Fragile

Fragile resilience overall (score 50). Weakest dimension: AI operational readiness at 0.

Team-based Multiple maintainers without a single dominant contributor.

Key signals — the six questions

Six concrete questions, each with a one-number answer. This is the report. Each signal opens up below into the files, services and people behind its number — run with --detailed for the architecture deep-dive.

Ownership concentration D
1 service rests on a single owner
If that person is unavailable, no one else can confidently change these areas.
Single-engineer dependency
225 files orphan if the top contributor leaves
These files would have no confident owner the day that person walks out.
Knowledge decay
No file is critically decayed
Owners are still close to the code they own.
Review depth
Reviews carry substantive comments
Approvals reflect real scrutiny, not rubber-stamping.
Correction load C
16 files carry a heavy bugfix tail
After each feature these files get a stream of fix/revert commits — see the Correction load table (--detailed) for the exact surfaces; the top ones also appear in the actions list.
AI-readable context F
Repo lacks AI-readable operational context (1/5)
No specs, architecture notes / ADRs, prompts at the repo root — a new human or AI agent must reverse-engineer the codebase.

Recommended actions

Concrete next steps derived from the signals in this report. Each action is tied to a specific finding — treat them as conversation starters with the team, not directives.

Priority Confidence Category Title Target Evidence
Medium High Codeowners Update Update CODEOWNERS for .github/ISSUE_TEMPLATE/bug-report.yml
Declared owners (@ccurme, @eyurtsev, @mdrxy) do not include the current top contributor. Mason Daugherty (mason@langchain.dev) holds 100% of effective ownership. Either add them to the CODEOWNERS rule or assign explicit cross-coverage.
▸ Declared owner does not include the actual top contributor (Mason Daugherty (mason@langchain.dev) at 100% coverage).
.github/ISSUE_TEMPLATE/bug-report.yml declared=@ccurme, @eyurtsev, @mdrxy, actual_top=mason@langchain.dev, coverage=100%, line=1
Medium High Codeowners Update Update CODEOWNERS for .github/ISSUE_TEMPLATE/feature-request.yml
Declared owners (@ccurme, @eyurtsev, @mdrxy) do not include the current top contributor. Mason Daugherty (mason@langchain.dev) holds 100% of effective ownership. Either add them to the CODEOWNERS rule or assign explicit cross-coverage.
▸ Declared owner does not include the actual top contributor (Mason Daugherty (mason@langchain.dev) at 100% coverage).
.github/ISSUE_TEMPLATE/feature-request.yml declared=@ccurme, @eyurtsev, @mdrxy, actual_top=mason@langchain.dev, coverage=100%, line=1
Medium High Codeowners Update Update CODEOWNERS for .github/PULL_REQUEST_TEMPLATE.md
Declared owners (@ccurme, @eyurtsev, @mdrxy) do not include the current top contributor. Mason Daugherty (mason@langchain.dev) holds 100% of effective ownership. Either add them to the CODEOWNERS rule or assign explicit cross-coverage.
▸ Declared owner does not include the actual top contributor (Mason Daugherty (mason@langchain.dev) at 100% coverage).
.github/PULL_REQUEST_TEMPLATE.md declared=@ccurme, @eyurtsev, @mdrxy, actual_top=mason@langchain.dev, coverage=100%, line=1
Medium High Codeowners Update Update CODEOWNERS for .github/actions/uv_setup/action.yml
Declared owners (@ccurme, @eyurtsev, @mdrxy) do not include the current top contributor. John Kennedy (jkennedyvz@github) holds 100% of effective ownership. Either add them to the CODEOWNERS rule or assign explicit cross-coverage.
▸ Declared owner does not include the actual top contributor (John Kennedy (jkennedyvz@github) at 100% coverage).
.github/actions/uv_setup/action.yml declared=@ccurme, @eyurtsev, @mdrxy, actual_top=jkennedyvz@github, coverage=100%, line=1
Medium High Codeowners Update Update CODEOWNERS for .github/dependabot.yml
Declared owners (@ccurme, @eyurtsev, @mdrxy) do not include the current top contributor. Mason Daugherty (mason@langchain.dev) holds 57% of effective ownership. Either add them to the CODEOWNERS rule or assign explicit cross-coverage.
▸ Declared owner does not include the actual top contributor (Mason Daugherty (mason@langchain.dev) at 57% coverage).
.github/dependabot.yml declared=@ccurme, @eyurtsev, @mdrxy, actual_top=mason@langchain.dev, coverage=57%, line=1

Signal details

Each signal above, opened up — the files, services and people behind the headline number. Risk signals are expanded by default; healthy ones stay collapsed.

Ownership concentration — service risk map risk

Bus factor measures how many people would need to leave before knowledge of a service is critically lost. A bus factor of 1 means a single person carries the service.

ServiceFilesBus factor RiskTop ownerTheir coverage
.github 42 1 critical Mason Daugherty (mason@langchain.dev) 85%
(root) 5 2 high Mason Daugherty (mason@langchain.dev) 79%
libs 379 7 healthy Mason Daugherty (mason@langchain.dev) 50%
Single-engineer dependency — departure scenarios risk

For each of the top contributors by aggregate ownership coverage, this is what would happen if they left tomorrow: how many files lose their primary expert, how many become unowned (orphan, top remaining coverage < 30%), and which services take the largest hit. Use this to prioritise pair-work and knowledge transfer.

CRITICAL If Mason Daugherty (mason@langchain.dev) leaves
Files affected
245 / 426
Orphan files
225 (53%)
Avg coverage loss
54%
Most-affected services
  • libs 201/379 files, 187 orphan, 50% avg loss
  • .github 40/42 files, 34 orphan, 85% avg loss
  • (root) 4/5 files, 4 orphan, 79% avg loss
CRITICAL If ccurme (chester.curme@gmail.com) leaves
Files affected
44 / 426
Orphan files
31 (7%)
Avg coverage loss
9%
Most-affected services
  • libs 44/379 files, 31 orphan, 10% avg loss
  • .github 0/42 files, 0% avg loss
  • (root) 0/5 files, 0% avg loss
CRITICAL If Nick Hollon (nick.hollon@langchain.dev) leaves
Files affected
27 / 426
Orphan files
33 (8%)
Avg coverage loss
7%
Most-affected services
  • libs 27/379 files, 33 orphan, 8% avg loss
  • .github 0/42 files, 1% avg loss
  • (root) 0/5 files, 0% avg loss
Knowledge decay — top concerns healthy

Decay rises when an owner stops touching a file and others have been changing it. The 90-day projection shows the trajectory if nothing changes.

No file is critically decayed.
Review depth — review lineage healthy

Review data fetched from GitHub (50 PRs analyzed). A rubber-stamp ratio is the share of approvals on a file that arrived without a single review comment. Reviewer diversity measures whether several people share the review load.

Files with highest rubber-stamp ratio

No rubber-stamp patterns detected.

Files with lowest reviewer diversity

No low-diversity files detected.
Correction load — files with a bugfix tail risk

Share of recent commits to each file that are follow-up fixes or reverts. A high ratio is observable evidence of stability debt — work is shipping but corrections are paying for it. Look at the surface, not the person.

File Total commits Fixes Reverts Correction ratio Risk
libs/partners/openai/langchain_openai/chat_models/base.py 19 14 0 74% critical
libs/partners/anthropic/langchain_anthropic/chat_models.py 13 9 0 69% critical
libs/partners/fireworks/langchain_fireworks/chat_models.py 8 5 0 62% critical
libs/partners/openai/langchain_openai/chat_models/azure.py 5 3 0 60% critical
libs/partners/openai/tests/unit_tests/chat_models/test_base.py 10 6 0 60% critical
libs/partners/openai/tests/unit_tests/chat_models/test_responses_stream.py 5 3 0 60% critical
libs/partners/anthropic/tests/unit_tests/test_chat_models.py 12 7 0 58% critical
libs/partners/ollama/langchain_ollama/chat_models.py 7 4 0 57% critical
libs/partners/anthropic/tests/integration_tests/test_chat_models.py 7 4 0 57% critical
libs/partners/openai/tests/integration_tests/chat_models/test_responses_api.py 9 5 0 56% critical
libs/core/tests/unit_tests/language_models/chat_models/test_base.py 6 2 1 50% critical
libs/partners/fireworks/tests/unit_tests/test_chat_models.py 6 3 0 50% critical
libs/partners/mistralai/Makefile 5 2 0 40% high
libs/partners/openrouter/Makefile 5 2 0 40% high
libs/langchain_v1/langchain/chat_models/base.py 8 2 1 38% high
AI-readable context — operational docs coverage risk

Coverage of AI-readable organizational memory — agent rules, specs, prompts, architecture decisions, skills. The repo-root row is what the signal grades; per-service rows are shown for context. This is not an AI-generated-code detector.

Surface Agent rules Specs Prompts Architecture Skills Coverage
(repo) 20%
.github 0%
libs 0%