Command
okulo ownership
Show who knows each file and highlight knowledge islands.
knowledgerisk
When to use it
Onboarding, succession planning, or reviewing bus-factor risks on hotspots.
Usage
okulo ownership [repo] [options]
Options
| Option | Default | Description |
|---|---|---|
--islands-only | off | Only files dominated by one author |
--source | blame | blame (current lines) or churn (faster, window-based) |
--island-threshold | 80 | % owned by the main author to count as an island |
--min-lines | 20 | Tiny files are never islands |
--workers | 8 | Parallel git blame processes |
--no-cache | off | Ignore .git/okulo/ blame cache |
Examples
Islands only
okulo ownership --islands-only Faster approximation
okulo ownership --source churn -w 12m Backend knowledge risk
okulo ownership --components backend --islands-only
Sample output
Illustrative terminal output (column layout matches the real CLI):
Code ownership by surviving lines (git blame)
file main author share authors frag gone lines flags
──────────────────────── ───────────── ───── ─────── ──── ──── ───── ────────────────
src/billing/invoice.py Ada Lovelace 81% 4 0.34 12% 840 hotspot island
web/checkout/Cart.tsx Grace Hopper 64% 5 0.51 0% 520 hotspot
legacy/report_v1.py Old Contractor 92% 2 0.15 92% 600 island
120 files · 24 authors (19 active) · 14 knowledge islands (≥80% one author), 3 of them hotspots
12% of the code written by people who left
How to read it
- share — % of surviving lines from the main author. ≥ island threshold (default 80%) ⇒ island.
- hotspot island — concentrated knowledge on code that still changes: highest staffing risk.
- gone — share authored by people now inactive. High gone % on hot files means the team is editing unfamiliar code.
- frag — fragmentation of authorship (higher ⇒ more contributors / less single-owner clarity).
Tips
- First blame run can be slow; later runs use cache under
.git/okulo/. - Use for system risk conversations — not performance reviews.