Skip to content

speccoder 0.5.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 00:34
· 19 commits to main since this release

Added

  • Agents as executors, governed call by call. [executor] agent = "copilot" (or opencode, claude, codex, gemini; any ACP agent
    with kind = "acp" and argv) runs the agent over the Agent Client
    Protocol. speccoder puts it into its ask-first mode and decides every
    permission request itself: everything the agent does on its own asks
    you (you can allow its plain reads for the task), and its file and
    terminal calls go through speccoder's protected paths, masking and
    sandbox. A change it makes without asking is reported as decides
    alone
    ; a missing sign-in stops with EXECUTOR-LOGIN and the agent's
    own login as a step.
  • Pick an agent. speccoder run --agent opencode and the app's Run ▾
    menu for one run; doctor --agents and Settings › Executor show each
    agent as installed, signed in and asks first; the live card shows its
    plan and the tally (asked · allowed · waited · refused); a failed task
    offers Try with the next agent.
  • Every task finds its doer. A task naming only paths in its
    feature's folder is planning work: it may write design documents there,
    never spec.md, tasks.md, review.json or the constitution, and
    ticks regression_only (planning_work). A [YOU] task, or one that
    stopped BLOCKED, waits for you; the board and Before you run show
    who does what.
  • No stop is a dead end. A BLOCKED stop offers I did it,
    Hint & retry and Skip: one key at a terminal (d/h/s),
    buttons in the app, task done / task hint on the command line.
  • Run it here. In the app, a fix that is a speccoder command runs or
    opens its view; your own fix (npm install, git add … && git commit)
    runs from a card after a yes, in the OS sandbox with network, only as
    speccoder built it. Sign-ins open a terminal. Every error has Copy
    (masked) and Copy Bug Report; --copy at the CLI.

Changed

  • [executor] kind = "claude" and "codex" are gone: write
    agent = "claude" / agent = "codex". kind = "command" stays.
  • A task line's leading / (/specs/001-x/plan.md) names the
    repository root.

Fixed

  • An acceptance author's command given as one string
    (["cargo test --test acceptance_us1"]) was refused, so new projects'
    tasks ticked regression_only; it is now that command's words.

Upgrading

  • speccoder replay of a run recorded before 0.5.0 reports a divergence
    (model calls are recorded with a different key order); ticks and
    attempts in git are unaffected.