Skip to content

overseer: Todo - #2

Open
stamatron wants to merge 6 commits into
stamat:mainfrom
stamatron:overseer/issue-1
Open

overseer: Todo#2
stamatron wants to merge 6 commits into
stamat:mainfrom
stamatron:overseer/issue-1

Conversation

@stamatron

Copy link
Copy Markdown

Closes #1

gh-overseer #1 — done

Shipped the concrete items; each is a separate subtask: commit. Defaults unchanged, so nothing new activates unless you set the config key. All 31 tests pass.

Done

  • Local log preservedlog_file config appends the (redacted) log to disk as well as stdout.
  • Verbose flag--verbose (or verbose: true) streams the agent's live output into the log so you can watch a job.
  • Optional acks + shorter reportsack_start / ack_finish (both default true) gate the start/finish comments; prompt now asks the agent to keep its report short.
  • Review phase first — prompt now tells the agent to review and ask for clarification before any code, making no changes if unclear.
  • Impersonationimpersonate: true commits under your identity (commit_name/commit_email, else your login + noreply) instead of the bot's.
  • Optional webfetchallow_web: true appends WebFetch to allowed tools. (You could already do this by hand via allowed_tools; this is the convenience flag.)
  • Session per Issue/PR (the priority) — work_root gives each issue/PR a persistent checkout dir. Claude keys its session transcripts by cwd, so a stable path is what lets a claude runner --resume the same session on every follow-up. First run mints a UUID --session-id (stored in state.json under sessions); follow-ups --resume it; a stale transcript falls back to a fresh session automatically. No work_root → old temp-dir behaviour, no session reuse.

Needs your call (no code guessed)

  • mini runs as claude default — not an overseer bug. Two causes: (1) with no run_agent: mini line the first runner (claude) is used — that's by design; (2) the mini runner has no -m <model> so mini-swe-agent falls back to its default model (claude), and --cost-limit 0 makes it exit immediately. Tell me the model you want mini to drive and I'll fix the runner (add -m …, sane --cost-limit).
  • Sandbox / Docker jail for arbitrary execution — deliberately not built yet; it's a real design fork. Rough options:
    • Docker-per-job: run the agent inside a container (repo bind-mounted, --network gated by allow_web, dropped caps, non-root, CPU/mem limits). Strongest isolation; needs Docker on the host and reworks run_agent to docker run.
    • Lightweight: --permission-mode + a tight allowed_tools (already in place) plus a seccomp/nsjail wrapper. Less isolation, no daemon.
    • The persistent work_root dirs are already an easy container mount point.
      Which way do you want (Docker dependency acceptable?), and should the jail be default-on or opt-in?

Note

  • With sessions on, the prompt still ships the full thread each time (harmless redundancy alongside resume). Can trim later if you want leaner follow-up prompts.

$2.97 · 40 turns · 2,728,818 in (2,647,525 cached) · 35,133 out

@stamatron stamatron mentioned this pull request Jul 21, 2026
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.

Todo

1 participant