Skip to content

v0.1.7

Choose a tag to compare

@github-actions github-actions released this 21 Aug 06:20
· 47 commits to dev since this release

Action required

Run specflow upgrade in every repo that has specflow installed. This release is guidance only —
two rules added to files specflow manages, no CLI behavior change.

specflow upgrade
specflow status     # `stale` should read `none` afterwards

What it changes on disk

Three managed files are refreshed. Nothing you own is touched: spec/, BUILD_QUEUE.md,
CLAIMS.md, and your own text outside specflow's markers are all unaffected, and upgrade still
never commits.

Path Change
AGENTS.md one paragraph added to The work queue (full installs only)
specflow/procedures/spec-edit.md one paragraph added to Persisting a design decision (full installs only)
specflow/procedures/claim-batch.md one check added to Eligibility

A managed file you have edited yourself is still left alone and its new version written to
<file>.specflow-new, as in v0.1.6.

What the rules say

Size a batch by the layers it crosses, not the deliverables it lists. Three edits inside one
layer is a small batch; one edit each to the spec, a template, the code, and its tests is a wide one,
however short each item reads in the queue. When a batch's declared file list spans more layers than
its goal needs, it gets split on the layer seam — and the split pieces then declare disjoint file
lists, which is exactly what the existing parallelism rule needs to let them run at the same time.

What counts as a layer is per project, and specflow does not enumerate it. Seams differ per repo;
a shipped list would be wrong in most installs and would read as a contract rather than a heuristic.

Prune before claiming, not only at finish. claim-batch.md now tests the retention rule in its
eligibility section:

sed -n '/^## Completed/,$p' CLAIMS.md | grep -c '^### '   # more than 5 → prune first

Pruning only at finish does nothing for whoever claims next: they still read the overgrown ledger on
the way in, and that read is the cost. The threshold is the same 5 that specflow finish already
enforces, so there is no second number and no stop-and-ask.

Both additions are gated to full installs where they name queue machinery, so a --spec-only install
still never mentions the queue.

Behavior changes

None. No verb, flag, or output line changed; specflow status, next, claim, finish, and
verify behave exactly as in v0.1.6.

Install

curl -fsSL https://raw.githubusercontent.com/MatanKoby/specflow/main/install.sh | sh
# or
go install github.com/MatanKoby/specflow/cmd/specflow@v0.1.7

Full diff: v0.1.6...v0.1.7