fastapi/fastapi
Unavailable · not collected
Requires: No eligible records in this window.
Counted directly from a source record.
An estimator standing in for the thing itself. Always carries a caveat.
Derived from detectable traces only. Reads as a floor, never a share.
Opposite orientation to proxy, so the two never read as one another.
A stated reason and the capability required. Never a zero.
No value, no plotted position, no tooltip, no cell in any download.
| Formula | 8 merged pull requests with a review / 91 merged = 8.8% |
|---|---|
| Sample | n = 91 of population 200 pull requests · 45.5% coverage |
| Excluded | 109 · pull requests not merged (open or closed unmerged) |
| Assumption | Only GitHub review records count. Approval given in a plain comment, over chat, or in person is invisible, so a team with a different review habit will score unfairly low — verify against the listed examples before treating a low number as a finding. |
| Strongest evidence | Rank 1: 1936.0 lines merged unreviewed. |
| Repositories collected | 6 |
|---|---|
| Repositories failed | 0 |
| Lines excluded as generated | 555,383 |
| Pull request collection truncated | 6 repository(-ies). Every pull-request metric inherits that ceiling. |
| Metric | Identifier | Value | Evidence kind | Confidence | Coverage | State |
|---|---|---|---|---|---|---|
| Median time from ready to shipped | delivery.lead_time_p50 | 12 min | measured | high | 46% | Observed |
| Slowest tenth of changes take at least | delivery.lead_time_p90 | 4.1 a contributors | measured | high | 46% | Observed |
| Median wait for the first human review | delivery.time_to_first_review_p50 | 4.9 h | measured | high | 12% | Observed |
| Releases to the main branch per week | delivery.deploy_frequency_per_week | 14.95 | proxy | medium | 100% | Observed |
| Share of changes that needed a fix or revert | delivery.change_failure_rate | 0.0% | proxy | low | 100% | Observed |
| Median time to repair a reverted change | delivery.mttr_hours | – | proxy | low | – | Unavailable |
| Changes currently waiting | delivery.wip_open_prs | 15 | measured | high | 8% | Observed |
| Share of open changes stalled over 30 days | delivery.stale_pr_share | 6.7% | measured | high | 8% | Observed |
| Commits | velocity.commits_total | 759 | measured | high | 100% | Observed |
| Lines of code added | velocity.lines_added | 547,191 | measured | high | 98% | Observed |
| Lines of code removed | velocity.lines_removed | 166,668 | measured | high | 98% | Observed |
| Net change in codebase size | velocity.net_lines | 380,523 | measured | high | 100% | Observed |
| Days per week with any activity | velocity.active_days_per_week | 3.47 | measured | high | 100% | Observed |
| Median commit size | velocity.commit_size_p50 | 39 | measured | high | 99% | Observed |
| Lines changed per active day | velocity.lines_per_active_day | 4,056 | measured | high | 100% | Observed |
| Share of work that is new capability | velocity.feature_work_share | 30.1% | proxy | medium | 63% | Observed |
| Share of commits that are trivial | velocity.trivial_commit_share | 29.1% | proxy | medium | 100% | Observed |
| Rework rate: new code rewritten within 21 days | quality.rework_rate | 3.3% | proxy | medium | 100% | Observed |
| Share of new code that is tests | quality.test_line_ratio | 26.3% | proxy | medium | 100% | Observed |
| Share of code changes that updated tests too | quality.test_coupling_rate | 39.3% | proxy | medium | 41% | Observed |
| Share of all changes landing in the busiest 10 files | quality.hotspot_concentration | 8.9% | measured | high | 100% | Observed |
| Share of changes too large to review properly | quality.large_change_share | 11.5% | proxy | medium | 100% | Observed |
| Share of functions long enough to be hard to follow | quality.long_function_share | 5.0% | proxy | medium | 100% | Observed |
| Deepest nesting in the worst tenth of functions | quality.max_nesting_p90 | 4 | proxy | medium | 100% | Observed |
| Share of code that is copy-pasted | quality.duplication_rate | 55.8% | proxy | medium | 100% | Observed |
| Share of lines that are comments | quality.comment_density | 8.4% | proxy | medium | 100% | Observed |
| Commits carrying an AI-tool trace (floor) | ai.detected_commit_share | 0.4% | inferred | medium | 100% | Observed |
| Lines arriving in AI-traced commits (floor) | ai.detected_line_share | 0.1% | inferred | low | 100% | Observed |
| Contributors with any AI-traced commit | ai.adopter_share | 3.5% | inferred | medium | 100% | Observed |
| Share of AI traces from the single most-used tool | ai.tool_concentration | 33.3% | inferred | medium | 100% | Observed |
| Rework gap between AI-traced and untraced work | ai.rework_delta | 2.2% | inferred | low | 100% | Observed |
| Test-ratio gap between AI-traced and untraced work | ai.test_ratio_delta | 54.7% | inferred | low | 100% | Observed |
| Size gap between AI-traced and untraced commits | ai.commit_size_delta | -54.4% | inferred | low | 99% | Observed |
| AI tool configuration files present | ai.config_artifact_count | 0 | measured | high | 100% | Observed |
| Share of AI suggestions actually accepted | ai.native_acceptance_rate | – | measured | high | – | Unavailable |
| Lines accepted from AI suggestions (measured) | ai.native_lines_accepted | – | measured | high | – | Unavailable |
| How far the commit-trace floor understates measured AI use | ai.floor_understatement | – | measured | medium | – | Unavailable |
| Active contributors | people.active_contributors | 86 | measured | high | 100% | Observed |
| Bus factor: people holding half the code | people.bus_factor | 2 | measured | high | 100% | Observed |
| Share of the code written by one person | people.top_contributor_share | 43.0% | measured | high | 100% | Observed |
| Share of work from people new to this codebase | people.newcomer_share | 49.0% | measured | high | 100% | Observed |
| Share of files only one person has ever touched | people.knowledge_silo_share | 38.6% | measured | high | 100% | Observed |
| Share of contributors still active in the last 90 days | people.contributor_retention | 10.5% | measured | high | 100% | Observed |
| Share of merged changes with a recorded review | process.review_coverage | 8.8% | measured | high | 46% | Observed |
| Share of changes merged by their own author | process.self_merge_share | 57.1% | measured | high | 46% | Observed |
| Median change size | process.pr_size_p50 | 29 | measured | high | 98% | Observed |
| Share of reviews done by one person | process.reviewer_load_top_share | 32.5% | measured | high | 100% | Observed |
| Share of work that bypassed pull requests | process.direct_push_share | 92.4% | proxy | medium | 100% | Observed |
| Share of branches abandoned over 90 days | process.stale_branch_share | 72.7% | measured | high | 100% | Observed |
| Branches | process.branch_count | 22 | measured | high | 100% | Observed |
| Share of work saved outside working hours | temporal.after_hours_share | 36.0% | proxy | medium | 100% | Observed |
| Share of work saved at weekends | temporal.weekend_share | 22.0% | proxy | medium | 100% | Observed |
| Busiest hour of the day | temporal.peak_hour | 10:00–11:00 local | measured | high | 100% | Observed |
| How bursty the work pattern is | temporal.burstiness | 2.68x | proxy | low | 100% | Observed |
| Share of automated checks that failed | ci.failure_rate | 30.7% | measured | high | 96% | Observed |
| Median time for automated checks to finish | ci.duration_p50_minutes | 0.6 min | measured | high | 100% | Observed |
| Automated check runs per week | ci.runs_per_week | 3.78 | measured | high | 96% | Observed |
Provenance. Computed from fastapi/fastapi, window [2025-09-05, 2026-08-26). 0 language-model calls. 555,383 lines excluded as generated before any metric was computed.
Redaction 1 · privacy policy 1.1.0.
No contributor is named, ranked or ordered anywhere in this document. That capability does not exist in the system that produced it.