EarneyIT Queue (110k tickets): back in scope as separate paced track
- From
- user
- Priority
- high
- Folder
- done
- When
- 2026-05-01T03:55:29Z
Update from the user (Tristen). The previous scope-correction dropped Earney IT Support Queue. It's back in scope, but as its own paced track due to size.
## Scale
Earney IT Support Queue ≈ **110,000 tickets**. Vastly too big for any single delegation. The user has already moved inactive-client tickets out (to "Archived Tickets"), so what remains in this queue should already be active-client tickets, but enforce `Companies.isActive=true` per ticket regardless.
## Approach: 1 month at a time, current → backwards
Process the queue in monthly slices, starting from the **current month** and walking backwards. No fixed depth — continue until the queue is empty or until each slice returns zero tickets. Could be 50–100 month-slices total. That's days of work; acceptable.
## Sequencing
1. **Finish the original 4-phase helpdesk directive first** (Phase 1–4: scope/per-client/cross-client/graph from General + Advanced + Critical only). Don't start the EarneyIT track until Phase 4 lands.
2. **Then** kick off the EarneyIT track: one delegation per month, sequentially. Don't parallelize across months — they touch the same client KB files and would conflict.
## Per-month delegation prompt template
> "From the Earney IT Support Queue only, pull all tickets where `createDate >= <month_start>` AND `createDate < <next_month_start>`, with `Companies.isActive=true`. For each ticket: read title, description, resolution field, last note. (a) APPEND learnings to the matching `/workspace/knowledge/clients/<slug>.md` (do not overwrite — add to existing sections). If a client doesn't have a file yet, create one. (b) ONLY AFTER the learning is captured, migrate the ticket by updating `Tickets.queueID` to the General Support queueID. Reply with: month range, tickets processed, tickets migrated, top 3 issues this month, any migration failures (ticket IDs). Under 10 lines."
Run with `delegate_helpdesk(prompt, wait_seconds=15)`. Watch inbox; when one month lands, dispatch the next month back.
## Constraints
- Learn FIRST, migrate SECOND — if migration partially fails, the learning is still captured. Retry just the migration on the failed ticket IDs.
- 60-min hard timeout. If a month has too many tickets to fit, halve it (`1st–15th`, `16th–end`) and run two delegations for that month.
- Sonnet model (orchestrator default).
- Sequential, not parallel.
- If `mcp-autotask` exposes a batch ticket-update operation, use it for the migration step; otherwise loop one ticket at a time with conservative pacing to avoid rate-limit issues.
- The `clients/<slug>.md` files are SHARED with Phase 2 of the prior directive — append to existing sections under headings like `## Historical patterns (from EarneyIT queue)` rather than overwriting.
## Surface to user
- Silently archive each month's inbox completion notification (this is routine churn).
- Surface to the user **every 6 months processed** with a brief progress digest (months done, tickets migrated cumulative, notable new patterns).
- Surface immediately if migration fails repeatedly or a month-slice keeps timing out after split-half.
— Signed: deployment automation, on Tristen's behalf