blindspot

Knowledge resilience report

Repository: /private/tmp/cohort10/cline
Generated 2026-05-20 16:13 UTC · window: last 90 days · blindspot v0.2.1

Executive brief

Fragile Resilience 58/100 · F · team profile

Top 3 risks
  1. HIGH Diversify ownership of '.clinerules' (currently single-owner) .clinerules
  2. HIGH Diversify ownership of 'cli' (currently single-owner) cli
  3. HIGH Diversify ownership of 'locales' (currently single-owner) locales

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

Executive summary

Pair Saoud Rizwan (saoudrizwan@github) on 'cli' — bus factor 1 across 143 files

Resilience is **Fragile** (58/100). Weakest dimension: ownership concentration (F).

Risk inventory: 3 service(s) rest on a single contributor; 759 file(s) would become orphans if the top contributor leaves; 142 file(s) carry high correction load (≥35% fix/revert); 20 service(s) lack AI-readable operational context.

Top recommended action: Pair Saoud Rizwan (saoudrizwan@github) on 'cli' — bus factor 1 across 143 files

💡 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
58/100 F
Fragile

Fragile resilience overall (score 58). Weakest dimension: AI operational readiness at 7.

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 F
3 services rest on a single owner
If that person is unavailable, no one else can confidently change these areas.
Single-engineer dependency
759 files orphan if the top contributor leaves
These files would have no confident owner the day that person walks out.
Knowledge decay
No file has drifted far from its owner
Owners are still close to the code they own.
Review depth
Reviews carry substantive comments
Approvals reflect real scrutiny, not rubber-stamping.
Correction load
Correction load is low across the codebase
A handful of files (142) run a high fix/revert ratio, but repo-wide rework pressure stays low.
AI-readable context
Repo carries AI-readable operational context (2/5)
A new contributor or AI agent has docs to load at the repo root before touching code.

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
High High Ownership Diversification Single-owner concentration Diversify ownership of '.clinerules' (currently single-owner)
Service '.clinerules' has bus factor 1 across 13 files; CandiedUniverse (candieduniverse@github) holds 85% of effective ownership. Pair them with at least two additional engineers and rotate code reviews for this area over the next 60 days.
▸ Bus factor 1 over 13 files — CandiedUniverse (candieduniverse@github) holds 85% of effective ownership.
.clinerules bus_factor=1, top_owner_coverage=85%, files=13
High High Ownership Diversification Single-owner concentration Diversify ownership of 'cli' (currently single-owner)
Service 'cli' has bus factor 1 across 143 files; Saoud Rizwan (saoudrizwan@github) holds 85% of effective ownership. Pair them with at least two additional engineers and rotate code reviews for this area over the next 60 days. Cadence: one file per sprint to keep the load reviewable.
▸ Bus factor 1 over 143 files — Saoud Rizwan (saoudrizwan@github) holds 85% of effective ownership.
cli bus_factor=1, top_owner_coverage=85%, files=143
High High Ownership Diversification Single-owner concentration Diversify ownership of 'locales' (currently single-owner)
Service 'locales' has bus factor 1 across 24 files; Saoud Rizwan (saoudrizwan@github) holds 92% of effective ownership. Pair them with at least two additional engineers and rotate code reviews for this area over the next 60 days. Cadence: aim to cover the top files this quarter.
▸ Bus factor 1 over 24 files — Saoud Rizwan (saoudrizwan@github) holds 92% of effective ownership.
locales bus_factor=1, top_owner_coverage=92%, files=24
Medium High Codeowners Update Update CODEOWNERS for .github/copilot-instructions.md
Declared owners (@saoudrizwan, @arafatkatze, @maxpaulus43, @candieduniverse) do not include the current top contributor. M.Yoshida(Jyuko Co.,Ltd) (mitsunori_yoshida_8@hotmail.com) holds 44% of effective ownership. Either add them to the CODEOWNERS rule or assign explicit cross-coverage.
▸ Declared owner does not include the actual top contributor (M.Yoshida(Jyuko Co.,Ltd) (mitsunori_yoshida_8@hotmail.com) at 44% coverage).
.github/copilot-instructions.md declared=@saoudrizwan, @arafatkatze, @maxpaulus43, @candieduniverse, actual_top=mitsunori_yoshida_8@hotmail.com, coverage=44%, line=1
Medium High Quality Guardrail Fragile velocity Stabilize delivery on src/core/task/index.ts
38% of recent commits to this file are follow-up fixes or reverts (8 of 21). Consider tightening review depth, adding regression tests, or pairing on the next non-trivial change to this surface.
▸ 38% of recent commits to this file are follow-up fixes or reverts — work surface ships fast but corrections pay the bill.
src/core/task/index.ts correction_ratio=38%, fixes=7, reverts=1, total=21

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
cli 143 1 critical Saoud Rizwan (saoudrizwan@github) 85%
locales 24 1 critical Saoud Rizwan (saoudrizwan@github) 92%
(config) 19 1 critical Saoud Rizwan (saoudrizwan@github) 95%
.clinerules 13 1 critical CandiedUniverse (candieduniverse@github) 85%
.cline 1 1 critical Robin Newhouse (robin@cline.bot) 100%
docs 172 2 high Saoud Rizwan (saoudrizwan@github) 80%
evals 38 2 high Tomás Barreiro (barreirot@github) 78%
.github 34 2 high Saoud Rizwan (saoudrizwan@github) 75%
tests 22 2 high Saoud Rizwan (saoudrizwan@github) 59%
standalone 3 2 high Mikołaj Kondratek (mkondratek@github) 57%
sdk 3254 3 medium abeatrix (beatrix@cline.bot) 34%
scripts 15 3 medium Saoud Rizwan (saoudrizwan@github) 54%
hosts 14 3 medium Dominic Cooney (dominic.cooney@cline.bot) 44%
.changeset 16 4 healthy Ara (arafat.da.khan@gmail.com) 46%
integrations 13 4 healthy CandiedUniverse (candieduniverse@github) 36%
(root) 21 5 healthy Saoud Rizwan (saoudrizwan@github) 31%
test 14 5 healthy CandiedUniverse (candieduniverse@github) 36%
proto 9 5 healthy CandiedUniverse (candieduniverse@github) 25%
core 190 6 healthy CandiedUniverse (candieduniverse@github) 23%
utils 10 6 healthy Mikołaj Kondratek (mkondratek@github) 20%
shared 33 7 healthy Tomás Barreiro (barreirot@github) 24%
services 33 8 healthy Tomás Barreiro (barreirot@github) 21%
webview-ui 66 9 healthy Saoud Rizwan (saoudrizwan@github) 15%

Files with single ownership

Entirely owned by one person — the most acute knowledge risk.

FileOwnerCoverage
src/shared/storage/types.ts Tomás Barreiro (barreirot@github) 100%
src/core/prompts/system-prompt/constants.ts Ara (arafat.da.khan@gmail.com) 100%
src/core/task/tools/ToolExecutorCoordinator.ts Bee (abeatrix@github) 100%
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 Bee (abeatrix@github) leaves
Files affected
1462 / 4157
Orphan files
711 (17%)
Avg coverage loss
27%
Most-affected services
  • sdk 1428/3254 files, 669 orphan, 34% avg loss
  • core 22/190 files, 23 orphan, 12% avg loss
  • webview-ui 5/66 files, 8 orphan, 9% avg loss
CRITICAL If abeatrix (beatrix@cline.bot) leaves
Files affected
1409 / 4157
Orphan files
759 (18%)
Avg coverage loss
27%
Most-affected services
  • sdk 1409/3254 files, 747 orphan, 34% avg loss
  • shared 0/33 files, 3 orphan, 0% avg loss
  • webview-ui 0/66 files, 3 orphan, 0% avg loss
CRITICAL If Saoud Rizwan (saoudrizwan@github) leaves
Files affected
708 / 4157
Orphan files
550 (13%)
Avg coverage loss
17%
Most-affected services
  • sdk 269/3254 files, 199 orphan, 10% avg loss
  • docs 147/172 files, 127 orphan, 80% avg loss
  • cli 140/143 files, 116 orphan, 85% 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.

FileTop owner Days since touch Decay score Risk 90-day projection
src/core/storage/StateManager.ts Max (maxpaulus43@gmail.com) 72 36% medium 48%
src/core/api/index.ts Ara (arafat.da.khan@gmail.com) 68 33% medium 45%
src/core/task/tools/ToolExecutorCoordinator.ts Bee (abeatrix@github) 86 33% medium 42%
src/integrations/checkpoints/CheckpointGitOperations.ts Saoud Rizwan (saoudrizwan@github) 79 32% medium 42%
src/core/storage/disk.ts Saoud Rizwan (saoudrizwan@github) 75 30% medium 41%
src/core/task/index.ts CandiedUniverse (candieduniverse@github) 30 30% medium 52%
src/core/prompts/system-prompt/constants.ts Ara (arafat.da.khan@gmail.com) 70 29% medium 41%
src/core/prompts/system-prompt/spec.ts Ara (arafat.da.khan@gmail.com) 70 29% medium 41%
src/core/controller/index.ts CandiedUniverse (candieduniverse@github) 30 23% low 45%
src/shared/storage/types.ts Tomás Barreiro (barreirot@github) 36 19% low 38%
src/core/storage/remote-config/utils.ts Robin Newhouse (robin@cline.bot) 34 18% low 38%
src/core/task/tools/types/TaskConfig.ts Dominic Cooney (dominic.cooney@cline.bot) 20 12% low 36%
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

File Reviewers Reviews Diversity
src/core/api/index.ts 4 15 66%
src/core/task/index.ts 4 14 66%
Correction load — files with a bugfix tail healthy

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
sdk/packages/llms/src/providers/handlers/base.test.ts 7 6 0 86% critical
src/utils/__tests__/model-utils.test.ts 5 4 0 80% critical
src/utils/model-utils.ts 5 4 0 80% critical
sdk/packages/core/src/services/llms/provider-defaults.ts 10 8 0 80% critical
sdk/packages/core/src/services/llms/provider-defaults.test.ts 9 7 0 78% critical
sdk/packages/llms/src/providers/families/openai-compatible.test.ts 9 6 1 78% critical
sdk/apps/cli/src/tui/hooks/use-local-command-actions.tsx 12 8 1 75% critical
src/core/api/transform/openrouter-stream.ts 10 7 0 70% critical
sdk/packages/llms/src/providers/families/openai-compatible.ts 10 6 1 70% critical
sdk/packages/core/src/hub/server/handlers/run-handlers.ts 9 6 0 67% critical
sdk/apps/cli/src/tui/views/onboarding/view.tsx 6 4 0 67% critical
sdk/apps/cli/src/tui/hooks/use-model-selector.tsx 6 4 0 67% critical
sdk/packages/llms/src/providers/families/openai-chat.test.ts 6 3 1 67% critical
sdk/packages/llms/src/providers/routing/provider-options.ts 11 7 0 64% critical
sdk/packages/core/src/tools/schemas.ts 11 7 0 64% critical
AI-readable context — operational docs coverage healthy

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) 40%
sdk 60%
.cline 20%
.github 20%
core 20%
evals 20%
.changeset 0%
.clinerules 0%
cli 0%
docs 0%
hosts 0%