Every commit scored for change-risk against this repo's own history, so 'elevated' means elevated here rather than on some global curve.
Needs review
432 commits sit in this repo's top risk tercile, which is 33% of the 1,326scored. The cut is drawn against this codebase's own history rather than a global curve, so a quiet repo still fills its top band, and here it starts at 8.8 out of 10. What pushes a commit up is size and spread together: a large change confined to one area scores below a smaller one scattered across a dozen files.
Commit categories over time, read off the subject line. Fixes carry the accent because that is the series this chart exists to show.
Consistently other-driven across its history.
Ranked by change-risk, highest first. Priority is a tercile of this repo's own distribution, so a quiet repo still fills its top band.
| # | Commit | Author | When | Lines | Risk | Top driver |
|---|---|---|---|---|---|---|
| 1 | efd2ac1cchore: renormalize line endings to LF | Garmclaudeassisted | 3mo ago | +23.8K -23.8K | 100%Elevated | more lines added than baseline |
| 2 | 14d00c6cToken-level cache hit rate, compression-vs-cache tracking, dashboard SQL, security plan | chopratejas | 4mo ago | +259.8K -1 | 100%Elevated | more lines added than baseline |
| 3 | da743418Add hierarchical memory system with graph + vector storage | chopratejas | 6mo ago | +22.9K -12.1K | 100%Elevated | more lines added than baseline |
| 4 | 9c7d4512Initial commit: Headroom SDK - LLM context optimization toolkit | chopratejas | 7mo ago | +25.8K -0 | 100%Elevated | more lines added than baseline |
| 5 | ce3b2f0bfix(ci): regenerate uv.lock against public PyPI (was Netflix-internal) | chopratejas | 3mo ago | +4.3K -4.3K | 99%Elevated | more lines added than baseline |
| 6 | fa5fbfabfix(rust): wire ICM compressor into Rust proxy on /v1/messages | chopratejas | 3mo ago | +40.9K -20 | 99%Elevated | more lines added than baseline |
| 7 | 6e9ea54atest: fix PR formatting and cover log compressor | JerrettDaviscopilotassisted | 3mo ago | +3.7K -3.5K | 99%Elevated | more lines added than baseline |
| 8 | 38bf3e63test: expand coverage across helper slices | JerrettDaviscopilotassisted | 3mo ago | +8.6K -829 | 99%Elevated | more lines added than baseline |
| 9 | 5413e7afchore: normalize provider slice line endings | JerrettDaviscopilotassisted | 3mo ago | +8.1K -8.1K | 99%Elevated | more lines added than baseline |
| 10 | b17c6d81refactor: extract provider logic into slices | JerrettDaviscopilotassisted | 3mo ago | +8.1K -7.7K | 99%Elevated | more lines added than baseline |
| 11 | 6bc44b3echore(deps): refresh uv.lock to schema revision 3 | Adryan Eka Vandra | 3mo ago | +3.8K -3.8K | 99%Elevated | more lines added than baseline |
| 12 | 31a05dc2docs: add living specification in specify/ directory | JerrettDavisclaudeassisted | 3mo ago | +4.2K -1 | 99%Elevated | more lines added than baseline |
| 13 | 911eb85anew docs UI + ts doc coverage | Adib Mohsin | 3mo ago | +14.3K -0 | 99%Elevated | more lines added than baseline |
| 14 | cdb721a7typescript coverage | Adib Mohsin | 4mo ago | +5.5K -104 | 99%Elevated | more lines added than baseline |
| 15 | e8ab444fRefactor: split server.py into handler mixins (Steps 5-9) | chopratejas | 4mo ago | +5.3K -5.1K | 99%Elevated | more lines added than baseline |
| 16 | a2b2ec54Add OSS evaluation suite, universal JSON crush, latency benchmarks | chopratejas | 5mo ago | +6.0K -347 | 99%Elevated | more lines added than baseline |
| 17 | d1a28322Add HTMLExtractor for web content extraction with OSS benchmarks | chopratejasclaudeassisted | 6mo ago | +6.6K -3.2K | 99%Elevated | more lines added than baseline |
| 18 | d3298368fix: improve error handling and add comprehensive test coverage | chopratejasclaudeassisted | 6mo ago | +6.2K -15 | 99%Elevated | more lines added than baseline |
| 19 | 95fd6d86Add multi-provider batch API support with CCR post-processing | chopratejas | 6mo ago | +5.8K -166 | 99%Elevated | more lines added than baseline |
| 20 | c850ccc3Replace legacy memory system with HierarchicalMemory | chopratejas | 6mo ago | +6.3K -3.5K | 99%Elevated | more lines added than baseline |
| 21 | 31aa72c8Add universal compression module with ML-based content detection | chopratejas | 6mo ago | +5.7K -5 | 99%Elevated | more lines added than baseline |
| 22 | 9c9bb30dAdd persistent memory system with zero-latency inline extraction | chopratejas | 6mo ago | +5.6K -109 | 99%Elevated | more lines added than baseline |
| 23 | d724f140v0.2.2: Add CCR Response Handler, Context Tracker, and restructure docs | chopratejas | 6mo ago | +5.2K -716 | 99%Elevated | more lines added than baseline |
| 24 | e4a41faaFix all ruff lint and format errors for CI | chopratejas | 6mo ago | +11.9K -2.7K | 99%Elevated | more lines added than baseline |
| 25 | c1feb605feat: Add CCR architecture, TOIN telemetry, and DevEx improvements | chopratejas | 6mo ago | +14.6K -173 | 99%Elevated | more lines added than baseline |
| 26 | 7a05808eAdd cache optimization module with scalable dynamic content detection | chopratejas | 7mo ago | +6.6K -1 | 99%Elevated | more lines added than baseline |
| 27 | 175746ccPrepare for OSS release v0.2.0 | chopratejas | 7mo ago | +9.2K -273 | 99%Elevated | more lines added than baseline |
| 28 | a99dc614feat: output-token reduction — verbosity shaper, per-user learning, counterfactual savings (#965) | Tejas Chopra | 1mo ago | +3.7K -3 | 97%Elevated | more lines added than baseline |
| 29 | 9579567bchore(deps): loosen over-pinned constraints and add upper bounds (#538) | Patrick A | 1mo ago | +5.0K -4.9K | 97%Elevated | more lines added than baseline |
| 30 | e325d1b8fix(ci): pin public PyPI in pyproject.toml + scrub Netflix URLs from uv.lock | chopratejas | 3mo ago | +4.3K -4.3K | 97%Elevated | more lines added than baseline |
| 31 | 57c3e38cfix: C3 — /v1/responses Rust HTTP handler + per-item-type passthrough | chopratejas | 3mo ago | +2.6K -7 | 97%Elevated | more lines added than baseline |
| 32 | ddc6f6cefix: C1 — byte-level SSE parser + state machines | chopratejas | 3mo ago | +2.5K -1 | 97%Elevated | more lines added than baseline |
| 33 | 967b0db4fix: B1 — retire ICM, RollingWindow, scoring, relevance + dependents | chopratejas | 3mo ago | +4.7K -18.0K | 97%Elevated | more lines added than baseline |
| 34 | 0ce2243ddocs: add Realignment plan (40 PRs, 9 phases) | chopratejas | 3mo ago | +3.9K -6 | 97%Elevated | more lines added than baseline |
| 35 | 013344f6fix(rust): IntelligentContextManager port (simplified, OSS) — PR-B | chopratejas | 3mo ago | +2.0K -0 | 97%Elevated | more lines added than baseline |
| 36 | 21989e36fix(rust): port MessageScorer to Rust + parity harness (PR-A) | chopratejas | 3mo ago | +3.0K -15 | 97%Elevated | more lines added than baseline |
| 37 | 01a423a3fix(rust): reformat/offload pipeline + log templates + diff noise (Phase 3g rework) | chopratejas | 3mo ago | +3.6K -1.2K | 97%Elevated | more lines added than baseline |
| 38 | 2f659535chore(deps): bump the npm_and_yarn group across 3 directories with 4 updates | dependabot[bot] | 3mo ago | +3.2K -1.5K | 97%Elevated | more lines added than baseline |
| 39 | 0414cb70feat(rust): scaffold workspace + parity harness (phase-0) | chopratejasclaudeassisted | 3mo ago | +7.3K -0 | 97%Elevated | more lines added than baseline |
| 40 | 470bb6cffix: resolve rebased ci regressions | JerrettDaviscopilotassisted | 3mo ago | +6.1K -6.1K | 97%Elevated | more lines added than baseline |
| 41 | 49a8f80echore: normalize proxy compatibility line endings | JerrettDaviscopilotassisted | 3mo ago | +3.2K -3.2K | 97%Elevated | more lines added than baseline |
| 42 | 7d747306fix: restore proxy compatibility surface | JerrettDaviscopilotassisted | 3mo ago | +3.2K -3.2K | 97%Elevated | more lines added than baseline |
| 43 | 3ddc7ff3fix: restore release and compress regressions | JerrettDaviscopilotassisted | 3mo ago | +3.4K -3.3K | 97%Elevated | more lines added than baseline |
| 44 | 82301bbfAdd cross-agent memory interoperability via MCP, sync engine, and atomic facts | Tejas Chopra | 3mo ago | +2.9K -44 | 97%Elevated | more lines added than baseline |
| 45 | 7d02829fHarden Anthropic prefix cache stability across proxy and batch paths | JerrettDavis | 4mo ago | +4.6K -3.9K | 97%Elevated | more lines added than baseline |
| 46 | 053c4a06feat: add OpenClaw ContextEngine plugin (@headroom-ai/openclaw) | chopratejas | 4mo ago | +3.7K -0 | 97%Elevated | more lines added than baseline |
| 47 | 72e65148Add TypeScript SDK (headroom-ai npm package) | chopratejas | 4mo ago | +6.8K -1.5K | 97%Elevated | more lines added than baseline |
| 48 | 0fd6dfcafeat: add live traffic learning + cross-agent memory writers (--learn flag) | Tejas Chopra | 4mo ago | +2.5K -11 | 97%Elevated | more lines added than baseline |
| 49 | 84ad47ebAdd SQLiteVectorIndex using sqlite-vec for bounded vector search | chopratejas | 6mo ago | +5.2K -3.7K | 97%Elevated | more lines added than baseline |
| 50 | e86d9a39feat(compression): add exclude_tools to bypass compression for specific tools | Claude Code Botclaudeassisted | 6mo ago | +3.9K -3.6K | 97%Elevated | more lines added than baseline |
Two views of the same model: where the cuts fall, and what commit shape lands you above them.
Every scored commit, binned on the raw 0 to 10 score rather than the percentile. Percentile ranks are uniform by construction, so that axis has no shape to draw. The dashed lines are the tercile cuts behind each row's priority pill.
The 200 most recent commits, on their own recency sample rather than the feed above: that defaults to risk-sorted, so reusing it would plot only the top tercile and call it the spread. Big and scattered is what the model penalises. Click a dot to open it.
Repowise tracks change history across 2,506 files in 2233admin/headroom. In the last 90 days 2,311 files were touched, 4,786 times in total, most often server.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.