Skip to content

Speck 0.3.0

Choose a tag to compare

@nicoten nicoten released this 10 Sep 18:26
· 3 commits to main since this release

The whole OpenSpec circle runs from the app, a project opens on an overview
rather than a file, and changes link to their pull requests.

Workflows run in your terminal

This replaces how 0.2.0 worked. That version ran sessions inside the app,
streaming their activity into a panel. Running headless meant no step could be
approved as it happened, which is the wrong trade for an agent editing your
repository — and archive is worse than that: its workflow asks how to merge
delta specs into your main specs, and headless there is nobody to ask.

So a workflow now opens a Claude session in your terminal, in the project root,
where you approve each step. The activity panel and the permission choice are
both gone; there is nothing left to configure.

A change's dashboard carries Apply, Verify and Archive, and +
beside Active changes proposes one. Emphasis follows the work: Apply leads while
tasks remain, Verify once they are ticked, Archive stays quiet because it
rewrites your main specs.

A project opens on an overview

Three counts — active changes, open specs, archived — and then the project's own
words about itself, taken from the context block in openspec/config.yaml.
That prose exists to brief an agent on stack, conventions and domain, and it
introduces the project to a person just as well.

config.yaml used to open by default, which was an accident of being first in
the reading order rather than a decision.

Pull requests

OpenSpec records none — no field for one, nothing in the CLI that knows about
branches. So changes are matched to pull requests by inference, and the
dashboard says which strategy found them: a branch named after the change, or
pull requests containing commits that touched the change's own files. All
matches are shown, because a change is usually touched by several — proposing,
applying, archiving it. The repository itself is linked in the top bar.

Fixes

  • Opening a change's dashboard crashed. On a serde enum, rename_all
    renames the variants and leaves the fields alone, so Rust sent
    pull_requests while the app read pullRequests. The same mistake was
    silently blanking the model, duration and cost on session events.
  • A malformed stylesheet. A bad edit had duplicated ~270 lines into the
    middle of a media query, splitting a selector list. Browsers skip malformed
    rules, so it rendered and shipped unnoticed.
  • One unrenderable view no longer takes the window down.
  • The expand caret was 12px and flush against the window edge.
  • The schema spec-driven and read by openspec readouts are gone; a degraded
    read now says so in words, above whichever view you are in.

Install

Download the .dmg, drag Speck to Applications. Signed with a Developer ID and
notarised. Apple Silicon only.

Running an earlier version? Speck will offer this one on launch.