v0.1.7
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