work families — what the debt ledger is actually asking for
The ledger is a flat, append-only list sorted by severity, so it answers what screams loudest and never what should I build. This page groups rows that describe ONE problem, so a seat can pick the act that closes the most rows instead of the loudest single row. A family is the set of rows that all literally name the same thing — the anchor. Membership is a property each row holds on its own, so unrelated rows can never be chained together through a third, and the family's name is the anchor rather than a guess about it.
| # | family | rows | open | sev | scopes | days | priority | row idx |
|---|---|---|---|---|---|---|---|---|
| 1 | nx_dup_source_check | 264 | 164 | 9 | 188 | 58 | 1476 | 47, 55, 106, 121, 167, 207, 226, 240, 254, 258, 274, 281 (+252 more) |
| 2 | nx_stale_sweep | 174 | 154 | 6 | 1 | 17 | 924 | 373, 376, 377, 378, 379, 380, 434, 435, 436, 437, 438, 439 (+162 more) |
| 3 | nx_stale_sweep | 176 | 154 | 6 | 2 | 0 | 924 | 355, 359, 373, 376, 377, 378, 379, 380, 434, 435, 436, 437 (+164 more) |
| 4 | nx_debt | 88 | 57 | 9 | 77 | 55 | 513 | 34, 82, 215, 231, 340, 939, 1271, 1298, 1335, 1374, 1383, 1504 (+76 more) |
| 5 | md5 | 63 | 48 | 9 | 54 | 59 | 432 | 124, 202, 210, 348, 418, 424, 427, 433, 487, 489, 490, 493 (+51 more) |
| 6 | nx_mgmt_api | 78 | 46 | 9 | 65 | 39 | 414 | 148, 150, 156, 161, 164, 169, 347, 367, 699, 709, 710, 772 (+66 more) |
| 7 | nx_hostctl | 66 | 44 | 9 | 62 | 57 | 396 | 30, 232, 335, 525, 530, 634, 688, 713, 716, 882, 932, 992 (+54 more) |
| 8 | nx_fs_write | 47 | 35 | 9 | 37 | 48 | 315 | 6, 8, 54, 71, 73, 108, 116, 192, 290, 425, 512, 811 (+35 more) |
priority = max_sev × open_rows. Both terms are measured from the plane. distinct_scopes was removed from the product because under anchor grouping it rewards a GENERIC anchor touching many lanes over a specific one, which is backwards for deciding what to build; it is shown as context instead. Effort is deliberately absent: the plane records when a row was FILED, never when it was CLOSED, so an effort term here would be invented rather than measured.
Coverage: 4464 rows scanned, 2909 open, 594 families found covering 4026 rows, and 438 rows that REFUSED to cluster (reported, never folded into a family — most debt genuinely is singletons). Showing the top 8; a recommendation list longer than 5–8 is a list again. Grouped by shared anchor over 3329 candidate anchors, of which 0 were rejected as too broad to name a work item.
Measured quality of this grouping. B-cubed against 42 hand-read rows across 12 known families: precision 952‰, recall 823‰, F1 882‰. This is a FLOOR, not a corpus score — 42 labelled rows against the whole plane. High precision with lower recall is the expected signature of grouping by shared identifier: what it groups does belong together, but it misses members that describe the same problem in different words.
plane_declared == plane_found, so every row the plane declares was examined.
A family is a claim, not a verdict. It says these rows look like one problem and that one act may close several — confirm by reading the members before scheduling. Generated by nx_debtcluster page (AICL L2, evidence-capped: correlation and summary only, no diagnosis is produced and none is claimed).