Skip to content

Releases: speclinedev/specline

Canon 3.1.0 — two normative parts, unattended builds opt-in

Choose a tag to compare

@jonathansimmons jonathansimmons released this 30 Sep 18:39
c4642a6

Completes what v3.0 started: separates ordinary spec writing and record
keeping from unattended-build machinery. Part 1 (writing a spec) and Part 2
(keeping the record) are normative; Part 3 (unattended builds) is opt-in via
unattended: true in specline.yml (default off) and is labeled
experimental everywhere it surfaces.

  • Lifecycle state follows location: shape in docs/drafts/, approve into
    docs/specs/, graduate into archive/ and knowledge/.
  • Tiers are removed — one validation mode; unattended is the only switch.
  • CLI, MCP, GitHub Action, reference site, and handbook aligned to the new
    contract; upgrade migrates legacy draft/ratified spec folders without
    silently approving them.

Full rationale and rule-by-rule changes in specline-3.1.md's "Changes from
v2.8" section and docs/proposals/v3.1-amendment.md. See #26.

Canon 3.0.0 — attended by default, one branch is the normal shape

Choose a tag to compare

@jonathansimmons jonathansimmons released this 20 Sep 17:35
ffd9ea9

Merge-first falls away as a MUST: no spec has to land on the merge target
before work begins. One branch — spec, build, graduation, one PR — is now
the normal shape; the two-branch shape stays legal for parallel shaping or
a runner that needs a landed baseline.

New build: attended | unattended key (absence = attended, the default).
Amendment mid-build is a normal move for an attended spec: the builder says
so, the decider agrees, the diff is the record — no handback ceremony.

Everything designed for an unattended runner is preserved, not deleted:
status.md, the build loop, routing, and the full runner contract move into
a dedicated "Unattended builds" chapter, text unchanged from v2.8, gated
behind build: unattended.

Full changelog in specline-3.0.md's "Changes from v2.8" section.

See #25.

v2.8.0

Choose a tag to compare

@jonathansimmons jonathansimmons released this 23 Jul 04:21
15d2305

Canon 2.8.0 — the runnable-command entry shape + merge_target.

  • An agent-loopable acceptance item MAY carry its command inline: <claim> — run: cmd`` — one shell invocation, exit 0 settles the claim. Opt-in, never required; a v2.7 spec stays valid untouched.
  • New advisory doctor rule CHECK-RUN-MALFORMED (warns on a malformed — run: item; absence never fires).
  • Runner contract: non-normative SHOULD — reflect runnable-check advances into status.md's Last green checkpoint.
  • specline.yml gains optional merge_target (repo-level integration branch; absent → the repo's default branch).

Canon 2.7.1 — slug-as-ID + the runner contract

Choose a tag to compare

@jonathansimmons jonathansimmons released this 01 Jul 17:16
066b186

First shipped release of the 2.7 line (2.7.0 was merged but never tagged).

2.7.0 — slug-as-ID

A spec's identity is its slug (the folder name), not a four-digit counter-allocated ID. .id-counter, the numeric id frontmatter field, and the counter-gap check are gone. Collisions surface as real git conflicts at merge instead of silent duplicate numbers. SLUG-DUPLICATE replaces ID-DUPLICATE; FRONTMATTER-ID-MISMATCH → FRONTMATTER-SLUG-MISMATCH. See MIGRATING-2.6-to-2.7.md.

2.7.1 — the runner contract

The minimal file-observable behaviors a build-loop runner must satisfy to be Specline-compliant: a machine-parseable ## State handoff token (building | ready-for-review | blocked | escalated), plus mirroring the reviewer's bounce verdict and the escalation reason into status.md. Transport stays the runner's own business.

Action + CLI resolve from source at this tag; standalone binaries are attached by the release workflow.

Canon 2.6.3 — spec design.md → implementation.md

Choose a tag to compare

@jonathansimmons jonathansimmons released this 26 Jun 16:15
1e44131

Renames the per-spec build-scratch design.md → implementation.md (it holds the 'how' — mechanics + suggested UI approach — not graphic design). Frees design.md for its natural meaning: a repo-level design-system doc alongside architecture.md. Doc-only; no rule change. Pin the Action at speclinedev/specline/cli@v2.6.

Canon 2.6.2 — Assumptions section naming

Choose a tag to compare

@jonathansimmons jonathansimmons released this 25 Jun 19:52
6508e6d

Patch: the spec-body Assumptions section now has a single canonical name in the canon prose (it was titled "Assumptions / external dependencies" in one place but "Assumptions" in the checklist + allowlist, which tripped UNKNOWN-SECTION for agents using the long title). No rule change. Pin the Action at speclinedev/specline/cli@v2.6.

Canon 2.6.1 — spec.md is integrity

Choose a tag to compare

@jonathansimmons jonathansimmons released this 25 Jun 05:34
eb2c4d0

Patch to 2.6.0: STRUCT-MISSING-SPEC is promoted from advisory to integrity (blocks). spec.md is the constitutive file — a specs/ folder without it is not a spec, and its dir-derived id would otherwise let other specs resolve relations to an empty shell. relations.md and other auxiliary files stay advisory. Quarantine keeps it humane: it blocks only a PR that touches the empty folder.

Pin the Action at speclinedev/specline@v2.6.1.

Canon 2.6 — gate integrity, advise on taste

Choose a tag to compare

@jonathansimmons jonathansimmons released this 24 Jun 19:58
84ded02

Canon 2.6 re-tiers Specline: it blocks only on integrity (parse/reference/ID/enum/archive facts) and treats every judgment about spec quality — completeness, sizing, mechanics (B6), build-readiness, lifecycle — as an advisory warning that never blocks. The decider owns 'enough'.

  • Ratification is git's: the approving merge to main is the record; ratified_by/ratified_at and FRONTMATTER-MISSING-RATIFIED are gone. Specline never duplicates what code or git already owns.
  • B6 is now an unverified advisory indicator, not a defect.
  • New specline upgrade (2.5) + bundled canon specline-2.6.md.

Pin the Action at speclinedev/specline@v2.6.0.

Canon 2.5.0

Choose a tag to compare

@jonathansimmons jonathansimmons released this 23 Jun 20:56
221db21

Canon 2.5.0 — the current Specline release (dropped the -draft label; same contract, honest version).

  • doctor enforces canon 2.5: CORRECTIONS-MALFORMED + required ## Corrections, and CANON-PIN-MISMATCH (warn-only)
  • specline upgrade bumps a repo's pin + regenerates generated files to the served canon
  • bundled canon: specline-2.5.md (2.5.0)

Pin the Action at speclinedev/specline@v2.5.0.