Skip to content

Termigo v0.9.3

Choose a tag to compare

@github-actions github-actions released this 16 Aug 15:33
· 0 commits to 3a43d529d5834b55afbd86b855e5f9aa5ae045dc since this release

Orchestration, an approval queue, and the fixes that came out of using them.

  • Sub-agents read in parallel. A broad study request - audit this project,
    explore an unfamiliar codebase - is split into tasks that run at once, each
    with its own context, and a task can declare depends_on to receive what the
    others found. They read; they do not build a site for you. What comes back is
    findings, and the main agent still makes every edit.

  • A builder sub-agent can now write, because sub-agents finally have a way to
    ask. The SDK's approval protocol works by ending the run and resuming from
    the next request, and a sub-agent has no message boundary to end at - so it
    waits on a promise the user resolves instead.

    /approve and /deny take n, all or list. With several builders queued
    a bare /approve refuses and prints the list rather than guessing, because
    answering the wrong agent cannot be taken back. Stop answers the question too:
    blocked work is denied rather than left waiting forever.

    A builder gets write_file, create_directory, edit and multi_edit, and
    write_file refuses a path that already exists - whole-file replacement is
    the one write with no conflict check, and four agents at once is exactly where
    it would lose someone's work. No delete, no shell, and its own read history.

  • Approving a command used to fail it. The environment block appended to every
    request landed after the approval, and the SDK looks for approvals in the last
    message only - so it found a user turn, never ran the command, and the
    provider rejected the whole history. The error named the conversation rather
    than the approval, which is why it read as a corrupted session.

  • A broad request on a thinking model failed outright with "Thinking mode does
    not support this tool_choice". The forced fan-out was decided from the request
    alone and never looked at the model, so the feature broke exactly the requests
    it exists for.

  • Todo lists now end when the work ends. The strip hid only when the list was
    empty, never when it was done, and a stopped run left its item claiming to be
    in progress permanently. Lists also stay with the project they were written
    for instead of following you into the next one.

  • One reasoning block per run, bounded and scrolling, with the tool calls it
    produced still visible around it.

  • Each run writes one line to the app log: context assembly time, prompt size
    broken down by what contributed it, cache hit rate, steps, and why it stopped.
    Most of the fixes above were found by reading it.

From upstream: reliable Korean/CJK IME input on macOS, close-tabs-to-the-right
and close-other-tabs, a configurable editor wrap column, and hardened agent
notification delivery.

Test coverage went from 100 files to 135 over this release.