Problem
cleanup's failed-attempts.md corpus has two escalating backlog signals that a recent fa-classify.py --relaxed run confirmed are not resolvable via the normal archive/dedup pass:
- Class count drift: total recorded failure-pattern classes have grown to 161-165, well past the escalation threshold of 50.
COLD candidates (safe to archive) are 0, so a normal archive pass cannot shrink this — the classes are still active/relevant, just too numerous and likely contain near-duplicates or overly narrow splits that should be merged.
- Hook-debt backlog: 9 classes are marked
status=hook-pending (a hook was proposed as the fix but never implemented/verified), above the threshold of 8. This has crossed the threshold twice recently (dropped to 7 after one promotion, then rose back to 9 as new patterns were registered faster than hooks were implemented).
Both signals point to the same underlying issue: pattern registration is outpacing implementation/consolidation work on this corpus.
Scope
- Class-count clustering review: review the ~161-165 recorded classes for merge/split candidates — classes that describe the same underlying failure mode with different wording, or classes that were split too finely and should be recombined. Reduce the total count meaningfully (target: closer to the 50-class threshold, though full compliance may take multiple passes).
- Hook-debt sprint: for the 9
hook-pending classes, either (a) implement and verify the proposed hook (promoting the class to hook-active), or (b) determine the hook is no longer warranted and reclassify/close the entry. Prioritize classes with the clearest, most mechanically verifiable fixes first.
- Registration discipline: while working through the backlog, avoid registering further new failed-attempts classes in this repo unless truly novel — the backlog itself indicates recent registration has outpaced follow-through.
Out of scope
- Wholesale rewrite of the failed-attempts.md format or classification scheme.
- Classes with
status=rule-covered or status=watch — these are intentionally left as-is pending real-world recurrence, not part of this backlog.
Implementation Plan
Verification
| Feature |
Procedure |
Expected Result |
| Hook-debt reduction |
Re-run the classifier after implementing/reclassifying pending-hook classes |
hook-pending count drops below the threshold of 8 |
| Class-count reduction |
Re-run the classifier after the merge/split pass |
Total class count measurably lower than the 161-165 starting point |
| No regression |
Spot-check a sample of merged/reclassified entries |
No loss of information — merged entries retain all distinct failure scenarios they represented |
Problem
cleanup'sfailed-attempts.mdcorpus has two escalating backlog signals that a recentfa-classify.py --relaxedrun confirmed are not resolvable via the normal archive/dedup pass:COLDcandidates (safe to archive) are 0, so a normal archive pass cannot shrink this — the classes are still active/relevant, just too numerous and likely contain near-duplicates or overly narrow splits that should be merged.status=hook-pending(a hook was proposed as the fix but never implemented/verified), above the threshold of 8. This has crossed the threshold twice recently (dropped to 7 after one promotion, then rose back to 9 as new patterns were registered faster than hooks were implemented).Both signals point to the same underlying issue: pattern registration is outpacing implementation/consolidation work on this corpus.
Scope
hook-pendingclasses, either (a) implement and verify the proposed hook (promoting the class tohook-active), or (b) determine the hook is no longer warranted and reclassify/close the entry. Prioritize classes with the clearest, most mechanically verifiable fixes first.Out of scope
status=rule-coveredorstatus=watch— these are intentionally left as-is pending real-world recurrence, not part of this backlog.Implementation Plan
fa-classify.py --relaxed(or the current equivalent) to get a fresh class inventory with status breakdownhook-pendingclasses: implement + verify the hook, or reclassify if no longer warrantedhook-pendingand total class count) have moved meaningfully toward their thresholdsVerification
hook-pendingcount drops below the threshold of 8