Graph Health
Reach for this when the base is mostly true and still feels unusable. Decay is invisible: a wrong number looks exactly like a right one, so the check has to be scheduled rather than noticed.
- Search keeps missing things you know are in there
- Tags have fragmented into one-off variants
- Half-finished notes have quietly become permanent
Nobody thinks their documentation is out of date, and everybody's documentation is out of date. There is no error message for decay, so the check has to be scheduled rather than noticed. /graph-health is aimed not at whether each note is true, which is /dream's job, but at whether the whole structure is well-formed.
The Three Gauges
| Gauge | Healthy | Warning | Unhealthy |
|---|---|---|---|
| Tag Sprawl (tags used exactly once) | Under 20% | 20% to 40% | Over 40% |
| Link Density (links per note) | 3 to 10 | Under 3: orphan | Over 10: split the hub |
| Provisional Note Age | Under 30 days | 30 days: decide | 60 days: critical |
A tag nobody reuses is a tag search cannot use. A note with fewer than three links is found only by exact recall. A note with more than ten is a hub too big to keep updated. And "emergent" quietly becomes the permanent status of a third of the base if nobody forces the call.
Why Aggregate Matters
A base that is mostly true can still be unusable. Tags fragment into one-off variants, notes sit isolated, half-finished items never get promoted or retired. None of that shows up reading one note. All of it shows up when you measure the shape.
The Score
The check ends with a health score out of 100. It starts at 100 and takes deductions for each stale item (3 points), each expired item (4), each dead reference (5), each broken link (4), each single-use tag (2, up to 10), each non-blessed tag (3, up to 15), each orphan note (1, up to 10), and each hub (2, up to 10). Tag sprawl in the warning band costs 2 points, and in the unhealthy band it costs 5. Ninety to 100 is excellent, 70 to 89 is good, 50 to 69 is fair, and below 50 is poor.
The check only reports. It flags problems and never edits a note.
Three gauges, three thresholds, and a decision each time one crosses.