# Idle Work Detector

- **Command:** `lore idle [--days <N>] [--labels <pattern>]`
- **Confidence:** 73%
- **Tier:** 3
- **Status:** proposed
- **Effort:** medium — label event querying with configurable patterns

## What

Find entities that received an "in progress" or similar label but have had no
discussion activity for N days. Cross-reference with assignee to show who might
have forgotten about something.

## Why

Forgotten WIP is invisible waste. Developers start work, get pulled to something
urgent, and the original task sits idle. This makes it visible before it becomes
a problem.

## Data Required

All exists today:
- `resource_label_events` (label_name, action='add', created_at)
- `discussions` (last_note_at for entity activity)
- `issues` / `merge_requests` (state, assignees)
- `issue_assignees` / `mr_assignees`

## Implementation Sketch

```
1. Query resource_label_events for labels matching "in progress" patterns
   Default patterns: "in-progress", "in_progress", "doing", "wip",
   "workflow::in-progress", "status::in-progress"
   Configurable via --labels flag
2. For each entity with an "in progress" label still applied:
   a. Check if the label was subsequently removed (if so, skip)
   b. Get last_note_at from discussions for that entity
   c. Flag if last_note_at is older than threshold
3. Join with assignees for attribution
```

## Human Output

```
Idle Work (labeled "in progress" but no activity for 14+ days)

group/backend
  #90  Rate limiting design       assigned to: charlie    idle 18 days
       Last activity: label +priority::high by dave
  #85  Cache invalidation fix     assigned to: alice      idle 21 days
       Last activity: discussion comment by bob

group/frontend
  !230 Dashboard redesign         assigned to: eve        idle 14 days
       Last activity: DiffNote by dave
```

## Downsides

- Requires label naming conventions; no universal standard
- Work may be happening outside GitLab (local branch, design doc)
- "Idle" threshold is subjective; 14 days may be normal for large features

## Extensions

- `lore idle --assignee alice` — personal idle work check
- `lore idle --notify` — generate message templates for nudging owners
- Configurable label patterns in config.json for team-specific workflows
