Skip to content

Setlist 2.0.0 (edition v1.8, the boundary edition)

Choose a tag to compare

@AlexCiortan AlexCiortan released this 20 Aug 14:35
· 4 commits to main since this release

Setlist 2.0.0 (edition v1.8, the boundary edition)

Setlist turns Claude Code into a spec-driven engineering partner: you direct as architect
and reviewer, the agent writes the code, and a spec, not the keyboard, is the control
surface. 2.0.0 is the release where enforcement moved to the strongest layer available:
git itself.

Highlights

  • The guarantee now lives in git's own hooks. The push-time trunk audit stands between
    unreviewed work and a shared trunk, and it decides by identity and ancestry: does this
    history descend from the commit that adopted the rules, and did this content arrive
    through a closed spec's lineage. Because git runs the audit after the shell has already
    parsed arguments and resolved refs, a merge is a merge however it was spelled.
  • Fast feedback stays where you work. pre-commit and pre-merge-commit refuse
    incomplete closes at commit and merge time, with precise, actionable messages, so the
    ordinary day feels immediate while the push-time audit holds the line.
  • /setlist:retrofit respects the hooks you already have. Retrofitting into a project
    that uses husky, lefthook or pre-commit now detects the existing hook layer by content
    and stops with a clear choice, instead of silently taking over. One environment variable
    (SETLIST_ADOPT_HOOKSPATH=1) expresses the deliberate handover.
  • Brand-new remotes are protected from the first push. On a repository's first push to
    an empty remote, every pushed branch is audited as a trunk candidate, so a project's
    default branch is born clean. Push the trunk first and it simply passes.
  • Close conditions read what a human sees. The mandatory Architecture-diagram field is
    now read from live text only: prose inside code fences, comments or collapsed examples
    no longer satisfies (or poisons) a Closing report, matching how the spec inventory and
    QA verdicts are already read.
  • Every decision is measured, not assumed. The severity model, the audit's
    identity-and-ancestry rules, and each close condition were exercised by generated
    adversarial inputs, mutation checks, and cold end-to-end dogfood runs on three stacks
    before this tag was cut.

Upgrading from 1.x: run /setlist:upgrade in your instance; the wiring check verifies
the new enforcement is live before it reports success. Full per-version deltas are in
CHANGELOG.md; the framework document ships as setlist.md (edition v1.8).