Skip to content

feat: overseer rewrite — ticket closer that reduces the queue#123

Merged
fazxes merged 1 commit intomainfrom
feat/overseer-rewrite
Apr 6, 2026
Merged

feat: overseer rewrite — ticket closer that reduces the queue#123
fazxes merged 1 commit intomainfrom
feat/overseer-rewrite

Conversation

@fazxes
Copy link
Copy Markdown
Member

@fazxes fazxes commented Apr 6, 2026

Problem

Overseer ran 3 consecutive sessions fixing frontmatter while 58 tasks piled up. It never closed a single task. The queue grew because builder creates 1-5 tasks/session but only completes 1.

Solution

  • Overseer is now a ticket closer: closes duplicates, wontfixes noise, marks shipped tasks done
  • pick-role.py triggers OVERSEE on queue drift (not raw size), with CLEAN/NEEDS MORE WORK signals
  • Builder's Generate Work step is queue-aware: 50+ pending = create 0 new tasks

Test plan

  • 45 pick-role tests pass
  • make check passes
  • pick-role.py live: OVERSEE scores 5 (correctly suppressed after recent overseer sessions)
  • Run daemon — overseer should close tasks, not just fix formatting

The overseer was running 3 sessions in a row fixing frontmatter while
58 tasks piled up. It never closed a single task. Now it's an engineer
whose primary metric is: pending count BEFORE vs AFTER.

overseer.md rewrite:
- Primary job: REDUCE the queue (close duplicates, wontfix noise, mark done)
- Can write quick code fixes for simple tasks (same PR workflow as builder)
- Reports CLEAN or NEEDS MORE WORK signal for pick-role.py
- Generates 0 new tasks (that's the builder's job)

pick-role.py scoring changes:
- OVERSEE triggers on queue DRIFT, not raw size
- pending >= 80: +50 (critical), pending >= 50 AND 5+ sessions since oversee: +35
- Stale tasks >= 5: +30, new GitHub Issues synced: +25
- NEEDS MORE WORK flag: +20 (previous overseer wasn't done)
- CLEAN cap: if overseer ran < 3 sessions ago AND said CLEAN, score stays at 5
- Prevents the dead loop: overseer runs, cleans, signals done, doesn't run again

evolve.md Step 6o:
- Queue-aware task cap: 50+ pending = create 0 new tasks, under 50 = max 3
- Prevents the builder from growing the queue faster than overseer can drain it

Tests: 45 passing (6 new overseer scoring tests)
@fazxes fazxes merged commit ff63219 into main Apr 6, 2026
@fazxes fazxes deleted the feat/overseer-rewrite branch April 6, 2026 07:01
fazxes added a commit that referenced this pull request Apr 7, 2026
Closed 20 tasks with evidence:
- DONE (2): #73 (AGENTS.md created), #181 (docs/prompt/ deleted)
- WONTFIX-OBSOLETE (5): #78, #89, #128, #141, #157
  (reference docs/prompt/ or docs/ops/ paths deleted in session #103)
- WONTFIX-DUPLICATE (1): #88 (subset of #69)
- WONTFIX-NEVER-PICKED (12): #66, #69, #90, #96, #112,
  #114, #120, #123, #132, #133, #138, #145
  (low priority, 20-80+ sessions without being picked, speculative)

Priority fix: #103 downgraded from urgent to normal (umbrella epic,
not an actionable urgent fix).
fazxes added a commit that referenced this pull request Apr 9, 2026
…y report

Tasks created from analysis of sessions #107-#122 and 7 human-filed issues:
- #241 (urgent): fix worktree cleanup -- .claude/worktrees/agent-* leaking
- #242 (urgent): add sessions_since_eval signal + brain eval cadence rule
- #243 (normal): run nightshift against Phractal immediately (eval #17)

Root causes identified: eval loop broken (14 sessions stale), worktree leak
confirmed live, Phractal E2E never runs in daemon cadence.
fazxes added a commit that referenced this pull request Apr 9, 2026
Add the missing strategy report for session #123 that tasks #241,
#242, and #243 reference. Mark task #223 (worktree cleanup) as done
since it is superseded by the more detailed #241 spec.
fazxes added a commit that referenced this pull request Apr 9, 2026
strategy: session #123 -- 3 tasks from v2 strategy analysis
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant