Follow-up to #187, which landed as a PR — so the decision it asked for is buried in a merged PR body and nothing surfaces it. This tracks it.
Measured state
rivet release status, today:
| release |
accepted |
proposed |
cuttable |
| v3.3.0 |
7 |
3 |
✗ |
| v3.4.0 |
10 |
3 |
✗ |
Six blockers. One is unbuilt engineering work. Five are measurement outcomes or ordering:
| blocker |
release |
why it is proposed |
| FEAT-064 |
v3.3.0 |
AC1 falsified in practice (#123) and repaired by FEAT-077/FEAT-087 — both v3.4.0, both shipped |
| REQ-020 |
v3.3.0 |
the identity half; gated on FEAT-064 |
| FEAT-069 |
v3.3.0 |
measured 0.67% proven rate; depends-on FEAT-095 (v3.5.0) |
| FEAT-057 |
v3.4.0 |
convex polyhedra — the only unbuilt work across both releases |
| FEAT-094 |
v3.4.0 |
own residual: "cannot be scheduled until REQ-021 has a path" |
| REQ-021 |
v3.4.0 |
adjudication; first implementation refuted, 6 wrong-verdict paths (#122) |
So v3.3.0 is not waiting on effort. It is waiting on claims that the work itself falsified, plus two dependencies that point at later releases.
The three inversions are now gated
FEAT-096 (#194) makes them machine-checked rather than found by hand: a depends-on crossing forward over a release boundary fails CI. The three known ones are allowlisted with reasons, and a stale entry also fails — so they stay visible and must be re-acknowledged rather than fading.
That means this issue has a mechanical consequence: whichever option is chosen, the fix is to delete allowlist entries, and the gate stays red until they are.
The decision
Unchanged from #187, and still yours:
- (a) Move FEAT-064 and REQ-020 to v3.4.0 — recommended. It makes the plan match what the work discovered: the identity property was refuted in v3.3.0's timeframe and repaired in v3.4.0's, so v3.4.0 is where it belongs. Also drops FEAT-069 to v3.5.0 alongside FEAT-095.
- (b) Accept that v3.3.0 ships after v3.4.0. Honest, and version numbers stop being chronological.
- (c) Re-cut v3.3.0 around what is actually accepted, moving the rest out.
I am deliberately not choosing — re-scoping a release is a planning call, not a mechanical one. Everything above is measured; the trade is not.
Refs: FEAT-096
Follow-up to #187, which landed as a PR — so the decision it asked for is buried in a merged PR body and nothing surfaces it. This tracks it.
Measured state
rivet release status, today:Six blockers. One is unbuilt engineering work. Five are measurement outcomes or ordering:
proposeddepends-onFEAT-095 (v3.5.0)So v3.3.0 is not waiting on effort. It is waiting on claims that the work itself falsified, plus two dependencies that point at later releases.
The three inversions are now gated
FEAT-096 (#194) makes them machine-checked rather than found by hand: a
depends-oncrossing forward over a release boundary fails CI. The three known ones are allowlisted with reasons, and a stale entry also fails — so they stay visible and must be re-acknowledged rather than fading.That means this issue has a mechanical consequence: whichever option is chosen, the fix is to delete allowlist entries, and the gate stays red until they are.
The decision
Unchanged from #187, and still yours:
I am deliberately not choosing — re-scoping a release is a planning call, not a mechanical one. Everything above is measured; the trade is not.
Refs: FEAT-096