Knowledge resilience report
Critical Resilience 38/100 · F · doc only profile
src/Serilog/Configuration/LoggerSinkConfiguration.cs
Business implication Code surface is too small for confident structural claims; treat any concentration signal as informational only.
Establish a successor for Arjan Vermunt (a.vermunt@dutchwebsolutions.nl)'s work — 5 files would orphan without them
Resilience is **Critical** (38/100). Weakest dimension: ownership concentration (F). Repo profile: doc-only — very little code surface for this analysis. Treat results with caution.
Risk inventory: 5 file(s) would become orphans if the top contributor leaves; 1 file(s) carry rubber-stamp review patterns; 4 service(s) lack AI-readable operational context.
Top recommended action: Establish a successor for Arjan Vermunt (a.vermunt@dutchwebsolutions.nl)'s work — 5 files would orphan without them
--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.
Critical resilience overall (score 38). Weakest dimension: ownership concentration at 0.
Doc-only Very little code surface — treat results with caution.
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 |
|---|---|---|---|---|---|
| Medium | Low | Review Hygiene |
Review without scrutiny
Add review depth requirement for src/Serilog/Configuration/LoggerSinkConfiguration.cs
100% of approvals on this file arrived without a substantive review comment (across 4 reviews). Introduce a review checklist or require at least one substantive comment before approval is allowed.
▸ 100% of approvals on this file arrived without a substantive review comment (4 reviews).
|
src/Serilog/Configuration/LoggerSinkConfiguration.cs |
rubber_stamp_ratio=100%, reviews=4 |
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 |
|---|---|---|---|---|---|
test |
3 | 1 | critical | Arjan Vermunt (a.vermunt@dutchwebsolutions.nl) | 100% |
Configuration |
1 | 1 | critical | Arjan Vermunt (a.vermunt@dutchwebsolutions.nl) | 100% |
Core |
1 | 1 | critical | Arjan Vermunt (a.vermunt@dutchwebsolutions.nl) | 100% |
Formatting |
1 | 1 | critical | Simon Cropp (simon.cropp@gmail.com) | 100% |
Entirely owned by one person — the most acute knowledge risk.
| File | Owner | Coverage |
|---|---|---|
src/Serilog/Configuration/LoggerSinkConfiguration.cs |
Arjan Vermunt (a.vermunt@dutchwebsolutions.nl) | 100% |
src/Serilog/Core/Sinks/RestrictedSink.cs |
Arjan Vermunt (a.vermunt@dutchwebsolutions.nl) | 100% |
src/Serilog/Formatting/Json/JsonValueFormatter.cs |
Simon Cropp (simon.cropp@gmail.com) | 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.
test
3/3 files, 3 orphan, 100% avg loss
Configuration
1/1 files, 1 orphan, 100% avg loss
Core
1/1 files, 1 orphan, 100% avg loss
Formatting
1/1 files, 1 orphan, 100% avg loss
Configuration
0/1 files, 0% avg loss
Core
0/1 files, 0% 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/Serilog/Formatting/Json/JsonValueFormatter.cs |
Simon Cropp (simon.cropp@gmail.com) | 112 | 37% | medium | 43% |
src/Serilog/Configuration/LoggerSinkConfiguration.cs |
Arjan Vermunt (a.vermunt@dutchwebsolutions.nl) | 18 | 11% | low | 36% |
src/Serilog/Core/Sinks/RestrictedSink.cs |
Arjan Vermunt (a.vermunt@dutchwebsolutions.nl) | 18 | 11% | low | 36% |
Review data fetched from GitHub (8 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 | Comments | Rubber-stamp |
|---|---|---|---|---|
src/Serilog/Configuration/LoggerSinkConfiguration.cs |
2 | 4 | 0 | 100% |
| File | Reviewers | Reviews | Diversity |
|---|---|---|---|
src/Serilog/Configuration/LoggerSinkConfiguration.cs |
2 | 4 | 38% |
src/Serilog/Core/ILoggingFailureListener.cs |
2 | 3 | 44% |
src/Serilog/Core/ISetLoggingFailureListener.cs |
2 | 3 | 44% |
src/Serilog/Core/LoggingFailureKind.cs |
2 | 3 | 44% |
src/Serilog/Core/Sinks/Batching/BatchingSink.cs |
2 | 3 | 44% |
src/Serilog/Core/Sinks/Fallback/DelegatingLoggingFailureListener.cs |
2 | 3 | 44% |
src/Serilog/Core/Sinks/Fallback/FailureListenerSink.cs |
2 | 3 | 44% |
src/Serilog/Core/Sinks/OptionalInterfaceForwardingSink.cs |
2 | 3 | 44% |
src/Serilog/Debugging/SelfLog.cs |
2 | 3 | 44% |
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) | — | — | — | — | — | 0% |
| Configuration | — | — | — | — | — | 0% |
| Core | — | — | — | — | — | 0% |
| Formatting | — | — | — | — | — | 0% |
| test | — | — | — | — | — | 0% |