Skip to content

fix(test): carry #9813's new argument and cache-key fragment into the six stale assertions (#9822) - #9823

Closed
JSONbored wants to merge 2 commits into
mainfrom
fix/stale-ci-assertions-main-red
Closed

fix(test): carry #9813's new argument and cache-key fragment into the six stale assertions (#9822)#9823
JSONbored wants to merge 2 commits into
mainfrom
fix/stale-ci-assertions-main-red

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Closes #9822.

main is red on its own. Six tests fail at 9ec808c47 with no PR involved, so every PR opened against it inherits a validate failure for work that is itself correct — including #9812 and #9815, which is how I found this.

npx vitest run test/unit/queue.test.ts test/unit/agent-approval-queue.test.ts

Cause

#9813 (gate.ignoredCheckRuns) made two shape changes and did not carry them into the expectations:

  1. fetchLiveCiAggregatePreferGraphQl gained an 8th parameter, ignoredCheckRuns (src/queue/ci-resolution.ts:206 passes it; src/github/backfill.ts:3434 declares it). Four assertions still list seven arguments.
  2. The live-fact cache key gained an |ign: fragmentci-resolution.ts now builds …|adv:…|ign:…. One expectation still ends at |adv:.

Two accept-path assertions additionally expected undefined for advisoryCheckRuns where the settings resolver supplies null: the resolver returns the column's value rather than an absence, and toHaveBeenCalledWith distinguishes the two. Note the two call paths legitimately differ — the queue processor's direct call passes undefined, the settings-resolved accept path passes null — so the expectations differ too, deliberately.

Scope

Expectations only — no source change. The production code is correct, which is why nothing is broken at runtime, and why this went unnoticed: #9813's own CI ran before the merges that made both call paths exercise the new argument.

Validation

npx vitest run test/unit/queue.test.ts test/unit/agent-approval-queue.test.ts test/unit/ci-resolution.test.ts test/unit/pr-detail-durable-cache.test.ts347 passed, from 6 failing before.

… six stale assertions (#9822)

`main` is red on its own: six tests fail at 9ec808c with no PR involved, so every PR opened against
it inherits a `validate` failure for work that is correct.

#9813 (`gate.ignoredCheckRuns`) made two shape changes and did not carry them into the expectations:
`fetchLiveCiAggregatePreferGraphQl` gained an 8th parameter, and the live-fact cache key gained an
`|ign:` fragment. Two accept-path assertions additionally expected `undefined` for `advisoryCheckRuns`
where the settings resolver supplies `null` -- the resolver returns the column's value rather than an
absence, and `toHaveBeenCalledWith` distinguishes the two.

Expectations only. The production code is correct, which is why nothing is broken at runtime and why
this went unnoticed: #9813's own CI ran before the merges that made both call paths exercise it.
@loopover-orb

loopover-orb Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Important

🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨

⏳ LoopOver is waiting…

LoopOver has seen this pull request and is waiting on CI checks to finish before reviewing it. This comment will update once the review runs.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed · 🟨 Waiting

@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.10%. Comparing base (9ec808c) to head (2674742).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #9823       +/-   ##
===========================================
+ Coverage   79.03%   94.10%   +15.07%     
===========================================
  Files         280      815      +535     
  Lines       58366    63091     +4725     
  Branches     6697    21965    +15268     
===========================================
+ Hits        46128    59373    +13245     
+ Misses      11955     2644     -9311     
- Partials      283     1074      +791     
Flag Coverage Δ
backend 94.10% <ø> (?)
control-plane ?
engine ?
rees ?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 912 files with indirect coverage changes

@loopover-orb loopover-orb Bot added the manual-review Gittensor contributor context label Jul 29, 2026
…s parity test requires (#9822)

The second way #9813 left main red. `.loopover.yml.example` documents the new `gate.ignoredCheckRuns`
field; `config/examples/loopover.full.yml` does not -- and
`test/unit/config-templates.test.ts` asserts the two are byte-identical from the WHERE IT LIVES
marker onward, precisely so a field cannot be documented in one place and missing from the other.

The full example now carries the same block. Nothing else in the two bodies differed.
@JSONbored

Copy link
Copy Markdown
Owner Author

Superseded — the identical fix landed in #9829 (merged as 9d7f56727), which is why this now shows conflicting: the same three files were already corrected on main.

Two sessions found #9813's fallout independently and filed within ~35 minutes of each other (#9822 / #9828). Same diagnosis, same three causes, same file set. Closing this one as the redundant half; nothing here is lost.

@JSONbored JSONbored closed this Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

manual-review Gittensor contributor context

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: main is red — #9813's new ignoredCheckRuns argument left six assertions stale

1 participant