Skip to content

Navigation Menu

Sign in
Sign up

fix(ci): RQ-64-DEPS — the MINORHOLD exit said nothing about the tree the suite ran on - #1186

Merged
avrabe merged 4 commits into
main from
fix/deps-exit-965
Sep 7, 2026
Merged

fix(ci): RQ-64-DEPS — the MINORHOLD exit said nothing about the tree the suite ran on #1186
avrabe merged 4 commits into
main from
fix/deps-exit-965

Conversation

@avrabe

@avrabe avrabe commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

RQ-64-DEPS (#965) — the hold had an exit; it just said nothing about the tree

Premise corrected first. The artifact claimed MINORHOLD "has no exit
condition". It does — dependabot-auto-merge.yml:20: "A hold is a delay, never
a block: merge a held bump BY HAND once the FULL suite is green ... the
discriminator is CI, not a maintainer's read of the diff."
That criterion is
right. The correction is recorded beside the original rather than edited away.

What the exit omitted is everything about the tree the suite ran on, which is
what made it unusable in practice:

  1. Base freshness is part of "green." chore(deps): bump wit-parser from 0.257.1 to 0.258.0 #1106 /chore(deps): bump pulseengine/rivet from 0.34.0 to 0.35.0 #1107 /chore(deps): bump wast from 257.0.1 to 258.0.0 #1110 each showed exactly
    one red — Rivet Federated Graph (advisory) — which is green on main,
    measured on trees whose merge-base was four days and one release stale.
    Neither that red nor a green would have attributed anything to the bump.
  2. The refresh mechanism can be permanently gone. Those three each carried a
    human Merge branch 'main' into dependabot/... commit, and dependabot refuses
    to rebase a branch with foreign commits — it said so itself. Merging main
    into a dependabot branch to freshen it is the move that destroys the ability
    to freshen it.
    Not obvious, not reversible, now written down.
  3. A bump nobody evaluates needs a disposition. These accumulated for a week
    because nothing required an answer. "Still open" is not a disposition.

And the command must be plain text

@dependabot recreate inside backticks is silently ignored. Measured: three PRs
unchanged for half an hour after a backticked command; the identical command
posted unformatted on #1106 was acted on within minutes, and #1107/#1110
followed once reposted plain. The failure is indistinguishable from "the bot is
slow" — which is how it was misdiagnosed here, until probing the plain form on
one PR before repeating it settled the question.

All four held PRs are now on near-current bases and green. Their disposition is
the second half of this artifact's done-when and is not claimed here, so
the artifact stays proposed with the increment recorded in landed:.

None of this loosens the hold

0.x-minor is breaking under semver and the ordeal 0.9→0.12 hang cost days. This
makes the exit precise enough to use, which is what keeps a hold a delay rather
than an accumulator.

Refs #965

avrabe added a commit that referenced this pull request Sep 7, 2026
...s stays proposed (half the done-when)
R4 is satisfied by fields.landed rather than a status flip, deliberately: the
exit condition landed but the four held PRs have no disposition yet, and
claiming `implemented` on half a criterion is the shape this release keeps
finding in other people's gates.
Refs #965
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L 

codecov Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

avrabe and others added 4 commits September 7, 2026 14:34
...ng about the tree the suite ran on
The artifact's original premise ("the hold has no exit") was too strong. The
workflow states one at dependabot-auto-merge.yml:20 — "a hold is a delay, never
a block: merge a held bump BY HAND once the FULL suite is green ... the
discriminator is CI, not a maintainer's read of the diff." That criterion is
correct. The premise is corrected in the artifact rather than edited away, the
third premise correction this release and the same discipline RQ-64-FLOORPROSE
got.
What the exit omitted is everything about the TREE THE SUITE RAN ON, which is
what made it unusable in practice:
1. Base freshness is part of "green". #1106/#1107/#1110 each showed exactly one
 red — `Rivet Federated Graph (advisory)` — which is GREEN on main, measured
 on trees whose merge-base was four days and one release stale. Neither that
 red nor a green would have attributed anything to the bump.
2. The refresh mechanism can be permanently gone. Those three each carry a human
 `Merge branch 'main' into dependabot/...` commit, and dependabot refuses to
 rebase a branch with foreign commits — it said so on all three at 06:05Z.
 Merging main into a dependabot branch to freshen it is the move that destroys
 the ability to freshen it. Now written down, because it is not obvious and it
 is not reversible.
3. A bump nobody evaluates needs a disposition. These accumulated for a week
 because nothing required an answer. "Still open" is not a disposition.
None of this loosens the hold — 0.x-minor is breaking under semver and the
ordeal 0.9->0.12 hang cost days. It makes the exit precise enough to use, which
is what keeps a hold a delay rather than an accumulator.
Verified: claim_check 59/59 (the MINORHOLD count-eq patterns are untouched —
the added text deliberately avoids them), workflow parses, rivet validate at
main's 40-error baseline with 0 broken cross-refs.
Refs #965
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L 
...` matched `41.6 %`
The plan comment asserted that VG-009 and VCR-REACH-002 both still state
aarch64 accepts 1.6 %. Only the second is true.
VG-009's only "1.6" is the tail of "41.6 %", a line-coverage figure for
synth-backend-riscv/src/backend.rs, framed "measured at v0.54.0" — correctly
dated history, and untouched since #918. Flagging it would have been a false
red on a properly dated citation.
Measured and reported by the RQ-64-SCOPEGAP lane, which was briefed with
explicit permission to return a negative result and used it. The claim was
mine: it came from a grep for `1.6`, which returns OCCURRENCES and cannot
return FRAMING. Same failure that produced v0.62's devirtualization claim,
and the correction is left visible beside the original rather than edited
away — the scoping error is the same shape the artifact is about.
The real population the artifact should have named is larger and of a
different kind: eight artifacts restating the repo's own proof counts as
undated present-tense fact ("188 Qed / 52 Admitted", six months stale
against a number CLAUDE.md itself count-eq-pins).
`chore` deliberately, not `fix`: naming RQ-64-SCOPEGAP in a delivery-shaped
subject would oblige R4 to find that artifact's status flip in THIS PR, and
it belongs to #1182.
Verified: rivet validate at main's 40-error baseline, 0 broken cross-refs;
status_evidence_check exit 0.
Refs #1085
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L 
...pendabot commands, measured by probe
`@dependabot recreate` inside BACKTICKS is silently ignored. Measured
2026年09月07日: three held PRs sat unchanged for over half an hour after a
backticked command; the identical command posted UNFORMATTED on #1106 was acted
on within minutes, and #1107/#1110 followed once reposted plain.
Worth writing down for two reasons. The failure is indistinguishable from "the
bot is slow", which is how it was misdiagnosed here. And the only reason it
became a measurement rather than a guess is that the plain form was probed on
ONE PR before being repeated on all of them — the difference between a
controlled test and three identical shots in the dark.
Refs #965
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L 
...s stays proposed (half the done-when)
R4 is satisfied by fields.landed rather than a status flip, deliberately: the
exit condition landed but the four held PRs have no disposition yet, and
claiming `implemented` on half a criterion is the shape this release keeps
finding in other people's gates.
Refs #965
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L 
avrabe merged commit 18309f5 into main Sep 7, 2026
61 checks passed
avrabe deleted the fix/deps-exit-965 branch September 7, 2026 12:56
avrabe added a commit that referenced this pull request Sep 7, 2026
...rred — a scope decision, surfaced rather than silent (#1192)
Two artifact updates, no code.
RQ-64-DEPS -> implemented. Both done-when clauses are discharged: the MINORHOLD
exit condition landed in #1186, and all four held bumps now have a disposition
recorded on the PR itself — #1106 and #1110 and #1107 merged for three different
reasons, #1108 closed as genuinely breaking. Four bumps, four outcomes, each on
its own evidence. The z3 decline is the FIRST time the enforced hold has stopped
a breaking 0.x-minor before it landed; the rule was written after ordeal
0.9->0.12 hung CI for days (#849) and had never been falsified until now.
RQ-64-ARCHMODEL stays `proposed` with its reason attached, following the v0.63
precedent (3540292). spar#445 is still OPEN with no activity since 2026年09月03日,
re-verified at cut time rather than carried forward. It is an EXTERNAL blocker,
categorically different from a deferral for scope: nothing here went stale and
nothing got harder — it cannot proceed because the tool it depends on silently
ACCEPTS input it should refuse.
Fourth consecutive release recording feature-loop steps 1-2 as N/A, tracked by
#1136. Noted in the artifact: the conformance gate does not accept that prose as
evidence — it derives NA-FILED only from a release-SCOPED artifact existing, so
the obligation is discharged by filing, not by asserting "synth is a Rust
compiler, not AADL-architected". That assertion is true and has never been
examined, which is the point of #1136.
Verified: rivet at main's 40-error cross-repo baseline with 0 broken cross-refs,
status_evidence exit 0, claim_check 62/62.
Refs #965, #1136
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /