Knowledge resilience report
Fragile Resilience 58/100 · F · team profile
.clinerules
cli
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.
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
--api-key sk-ant-... --provider anthropic --model claude-sonnet-4-6or set
narrative.api_key in .blindspot.yaml.
Without a key, this rule-based narrator is used — deterministic,
in-process, no network.
Fragile resilience overall (score 58). Weakest dimension: AI operational readiness at 7.
Team-based Multiple maintainers without a single dominant contributor.
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.
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 |
Each signal above, opened up — the files, services and people behind the headline number. Risk signals are expanded by default; healthy ones stay collapsed.
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.
| Service | Files | Bus factor | Risk | Top owner | Their 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% |
Entirely owned by one person — the most acute knowledge risk.
| File | Owner | Coverage |
|---|---|---|
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% |
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.
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
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
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
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.
| File | Top 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 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.
| File | Reviewers | Reviews | Diversity |
|---|---|---|---|
src/core/api/index.ts |
4 | 15 | 66% |
src/core/task/index.ts |
4 | 14 | 66% |
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 |
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% |
| sdk | ✓ | — | — | ✓ | ✓ | 60% |
| .cline | — | — | — | — | ✓ | 20% |
| .github | ✓ | — | — | — | — | 20% |
| core | — | — | ✓ | — | — | 20% |
| evals | — | — | — | ✓ | — | 20% |
| .changeset | — | — | — | — | — | 0% |
| .clinerules | — | — | — | — | — | 0% |
| cli | — | — | — | — | — | 0% |
| docs | — | — | — | — | — | 0% |
| hosts | — | — | — | — | — | 0% |