Skip to content

plan(v0.36): triage the untracked issue board; give v0.36.0 a theme - #869

Merged
avrabe merged 2 commits into
mainfrom
plan/v036-trust-the-signal
Aug 27, 2026
Merged

plan(v0.36): triage the untracked issue board; give v0.36.0 a theme#869
avrabe merged 2 commits into
mainfrom
plan/v036-trust-the-signal

Conversation

@avrabe

@avrabe avrabe commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

The v0.35.0 split moved artifacts between release labels. That is triage, not
planning
— it ranged only over things that already had artifacts, so anything
unrepresented on the issue board was structurally invisible to it.

Checking found 7 open issues with no artifact reference — the exact failure
the planning rule names.

Two were already done and never closed

#796 "branch protection has zero required checks" — actually set days ago (["CI Gate"], enforce_admins: true). Closed with the verification output, not on recollection.
#867 liveness alert whose cited run was completed/cancelled, with nothing queued and 12 runners online.

Three become artifacts

REQ-316 (#862) — the self-hosted fleet restarts mid-run, killing jobs across
labels and reporting them as failure with no failed step. Already caused
one published misattribution.

REQ-317 (#839/#849/#860/#867) — the liveness probe misdiagnoses three
distinct ways and auto-closes each time, so its defects survive every
occurrence and the next reader starts from the same wrong hint.

REQ-318 (#800) — externally-owned verification. Backlog, not scheduled:
it overlaps REQ-308 and REQ-313 enough that solving it first risks three
near-identical mechanisms for "this obligation is declared, owned elsewhere, and
not yet discharged".

Two are correctly unplanned

#549 and #508 carry external-watch — a deliberate decision not to scope them,
not an oversight. Worth stating so a future sweep doesn't "fix" them.

v0.36.0 now has a theme: every member is a signal that lies

REQ-295, REQ-306 a gate satisfiable by an empty stub
REQ-314 tests that can't find the binary under nextest — local verification of CI changes is impossible
REQ-315 an artifact a merged commit claims to implement stays proposed
REQ-316 infrastructure loss reported as test failure
REQ-317 an alert whose own diagnosis is wrong

REQ-307 moved to backlog — CLI usability, doesn't belong with these.

Counts: v0.35.0 12 · v0.36.0 6 · backlog 11.

Verification

rivet validate exit 0 · rivet docs check exit 0 · 288 artifacts · no
duplicate ids. Re-ran the gap check: open issues with no artifact went 7 → 2,
both external-watch.

avrabe added 2 commits August 27, 2026 19:21
Scope is the 12 artifacts carrying `release: v0.35.0` — three verified
(REQ-274/275/276, the customer dashboard trio) and nine implemented (REQ-299,
303, 304, 305, 309, 310, 311, 312, 313). Every issue a human reported this
cycle is fixed: #832, #833, #835, #848, #852, #853, #854, #856.

Cut with nine artifacts at `implemented` rather than `verified`, on the
maintainer's decision. Each carries a named undischarged clause recorded in the
artifact — the --fail-under policy on REQ-309, the git: fallback and lock error
message on REQ-312, release-status categories on REQ-313. Holding the release
until every clause is discharged would recreate at release scope exactly the
deadlock REQ-313 exists to detect: a criterion dischargeable only by a release
shipping. The residuals are stated in the release notes rather than rounded up.

The remaining scope moved with a logged decision in #866: five artifacts to the
next minor (REQ-295, 306, 307, 314, 315) and nine to backlog, including two —
REQ-300 and REQ-308 — that need a design decision before they can be scheduled
at all.

Two things this release fixes that were reporting correctly and being ignored.
The Kani job had been failing on a genuine error[E0063] since REQ-309 added
fields to CoverageEntry and missed the #[cfg(kani)] harness, which is invisible
to cargo build, cargo test and clippy --all-targets — the whole local
self-verify set. And the Test job's evidence step could produce no JUnit XML and
still go green. Both are the same shape as the defects this release is about.

docs check caught two of my own errors here: a stale binary reporting the
pre-bump workspace version, and a forward reference to the next minor in the
changelog. Both fixed before pushing.

Confirmed with cargo fmt --check, clippy --all-targets -D warnings on 1.97.0,
cargo test --workspace (exit 0, 65 ok), rivet validate and rivet docs check —
all exit 0.

Refs: REQ-274, REQ-275, REQ-276, REQ-303, REQ-309, REQ-311, REQ-313
The v0.35.0 split moved artifacts between release labels. That is triage, not
planning: it ranged only over things that ALREADY had artifacts, so anything
unrepresented on the issue board was structurally invisible to it. Checking
found seven open issues with no artifact reference at all — the exact failure
the loop's own instructions name.

Two of the seven were already resolved and simply never closed:

  #796  branch protection has zero required checks — actually set days ago
        (required contexts ["CI Gate"], enforce_admins true), closed with the
        verification output rather than on recollection
  #867  runner liveness alert whose cited run was `completed/cancelled`, with
        nothing queued and 12 runners online — closed with evidence

Three become artifacts:

  REQ-316  #862  the self-hosted fleet restarts mid-run, killing in-flight jobs
                 across labels and reporting them as `failure` with no failed
                 step, which has already produced one published misattribution
  REQ-317  #839/#849/#860/#867  the liveness probe misdiagnoses three distinct
                 ways and auto-closes each time, so its defects survive every
                 occurrence and the next reader starts from the same wrong hint
  REQ-318  #800  externally-owned verification — backlog, not scheduled: it
                 overlaps REQ-308 and REQ-313 enough that solving it first
                 risks three near-identical mechanisms for the same idea

Two are correctly unplanned: #549 and #508 carry `external-watch`, which is a
deliberate decision not to scope them, not an oversight.

v0.36.0 now has a theme rather than leftovers — every member is a signal that
lies. REQ-295 and REQ-306 (a gate satisfiable by an empty stub), REQ-314 (tests
that cannot find the binary under nextest, so local verification of CI changes
is impossible), REQ-315 (an artifact a merged commit claims to implement stays
`proposed`), REQ-316 (infrastructure loss reported as test failure) and REQ-317
(an alert whose own diagnosis is wrong). REQ-307 moved to backlog: it is CLI
usability and does not belong with these.

Counts after: v0.35.0 12, v0.36.0 6, backlog 11.

Confirmed with rivet validate (exit 0), rivet docs check (exit 0), 288
artifacts, no duplicate ids. Re-ran the gap check: open issues with no artifact
went 7 -> 2, both external-watch.

Refs: REQ-316, REQ-317, REQ-318, REQ-307
@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

Copy link
Copy Markdown

📐 Rivet artifact delta

Change Count
Added 3
Removed 0
Modified 0
Downstream impacted (depth ≤ 5) 0

Graph

graph LR
  REQ_316["REQ-316"]:::added
  REQ_317["REQ-317"]:::added
  REQ_318["REQ-318"]:::added
  classDef added fill:#d4edda,stroke:#28a745,color:#155724
  classDef removed fill:#f8d7da,stroke:#dc3545,color:#721c24
  classDef modified fill:#fff3cd,stroke:#ffc107,color:#856404
  classDef overflow fill:#e2e3e5,stroke:#6c757d,color:#495057,stroke-dasharray: 3 3
Loading
Added
  • REQ-316
  • REQ-317
  • REQ-318

📎 Full HTML dashboard attached as workflow artifact rivet-delta-pr-869download from the workflow run.

Posted by rivet-delta workflow. The graph shows only changed artifacts; open the HTML dashboard (above) for full context.

@avrabe
avrabe merged commit 9d9a697 into main Aug 27, 2026
33 of 34 checks passed
@avrabe
avrabe deleted the plan/v036-trust-the-signal branch August 27, 2026 22:44
avrabe added a commit that referenced this pull request Aug 27, 2026
…plan

The release notes were written before #869 landed, so the "deferred to the next
minor" line named REQ-307 (since moved to backlog as CLI usability, not part of
the v0.36.0 theme) and omitted REQ-316 and REQ-317, which #869 created from
untracked issues #862 and #839/#849/#860/#867.

Caught by diffing the changelog line against the actual `release: v0.36.0`
query rather than re-reading the prose. Release notes that describe scope should
be checked against the scope, not against memory of it — the same check that
found REQ-298 missing from the v0.34.0 notes.

Confirmed with rivet docs check (exit 0), rivet validate (exit 0), cargo
fmt --check, clippy --all-targets -D warnings on 1.97.0 and cargo test
--workspace (exit 0, 65 ok).

Refs: REQ-307, REQ-316, REQ-317
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant