[quality] bundle fake answers unrouted requests with a plain 404; the harness should assert on unexpected traffic outside application fallbacks
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- graphql, typescript
- Ambito
- backend, developer-experience, testing
Direzione di ricerca
Start with __tests__/bundle/fakeGithub.ts and its reset and unmatched-request handling, then inspect src/utils/mergeQueue.ts to understand why unexpected 404 responses are currently swallowed. Add the opt-in unmatched-request allowance and assertion contract, and pin it with a harness-only test. Update the named OWNERS bundle suites and verify the focused bundle tests; avoid broader suite adoption, which is explicitly out of scope.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Finding
Child of #554 (P1 "Strengthen assertions and the test harness", second checkbox): __tests__/bundle/fakeGithub.ts records requests no route matched but answers them with a normal-looking 404, so each scenario is left to notice traffic it never modelled. Application fallbacks hide the miss: src/utils/mergeQueue.ts queueState swallows any error (including that 404) into a once-per-run warning and a direct merge, which is the #518 pattern.
Measured on main at e3119ad by instrumenting the fake's 404 arm during vitest run __tests__/bundle (86 files, 528 tests): 3,029 unmatched requests. ~2,800 are the configuration loader's probes and 175 the OWNERS tree probe, both intentional. The residue is 25 unmatched POST /graphql (tide's merge queue read, in 11 files that never route it) and ~20 membership/collaborator/OWNERS reads whose 404 is the point of the scenario. None of those is asserted as intentional anywhere; a forgotten route and a deliberate miss look identical.
Recommendation
- Keep the unmatched requests apart in the fake and let a scenario declare the misses it relies on (
allowUnmatched), with the configuration loader's probes always allowed. - Give the harness an assertion that fails a scenario on the rest (
assertNoUnexpectedRequests), callable fromafterEachahead ofreset. - Pin that contract with a harness-only test (plain fetches, no bundle run).
- Adopt it in the OWNERS bundle suites whose merge queue read was unrouted (
ownersParseArms.test.ts,ownersProbeArms.test.ts), answering that read throughmergeQueueFallbackaslgtmBindingArms/lgtmRemovalNoopArmsalready do.
Wider adoption across the other bundle files that leave POST /graphql unrouted (approveMembershipArms, cronLgtmFailureArms, ownersTreeLoadArms, ownersFilters, approveEvaluationArms, blunderbussArms, blunderbussDelay) is deliberately not part of this issue: the blunderbuss files are occupied by open hold PRs (#559, #561, #562, #567), and each remaining file is a one-line beforeEach/afterEach change that can follow once the harness is in.
Decision taken by hive: additive API on the fake, opt-in per file, loader probes allowed by default. Making reset() assert for every file would fail ~20 suites at once and is not backward compatible.
Priority
- Impact: high (unmodelled traffic currently passes silently in bundle scenarios)
- Effort: low
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 6faa951
— hive: agent=quality backend=copilot model=claude-fable-5.1
- Lingua principale
- TypeScript
- Stelle
- 132
- Fork
- 24
- Merge medio
- 1g 17h
- PR unite (30g)
- 218
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di cncf/prow-github-actions
-
[quality] Unit msw servers reject unhandled requests but no test fails when the code under test swallows the rejection (158 tests run through fallbacks)Forse già presa @hivecommons-hive l’ha presa 1 giorno fa. Apertaagent/quality needs-kind stage/040-covered-by-pr testing
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
cncf/prow-github-actions#570 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
[quality] sweep.ts delayed-reviewers OWNERS guard (line 80 false arm) is covered by neither the unit nor the bundle suiteForse già presa @hivecommons-hive l’ha presa 2 giorni fa. Apertaagent/quality needs-kind stage/040-covered-by-pr testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 25/100
cncf/prow-github-actions#560 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
Follow-up: strengthen test contracts, CI enforcement, release delivery, and quality triageForse già presa @hivecommons-hive l’ha presa 2 giorni fa. Apertakind/cleanup quality stage/040-covered-by-pr tests
Difficoltà 5/5 Più di una settimana Idoneità per principianti 18/100
cncf/prow-github-actions#554 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
[quality] Re-evaluate the e2e branch coverage floor after pending coverage work landsForse già presa @hivecommons-hive l’ha presa 2 giorni fa. Apertahive/claimed-by-quality kind/cleanup stage/040-covered-by-pr
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
cncf/prow-github-actions#551 · 4 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
🐝 Hive Advisory ReportApertahive/advisory kind/cleanup
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
cncf/prow-github-actions#170 · 3 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di cncf/prow-github-actions
Issue simili
-
area:desktop bug documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
anthropics/claude-code#104801 ·
I maintainer di solito rispondono entro 1 giorno
-
Add: Halloween Non Stop SDApertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
spudly/design-system#110 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: REST API URL starting with "http" but no scheme (e.g. httpbin.org/get) is not given an http:// prefixForse già presa @ItsDeadlyProgrammer l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
appsmithorg/appsmith#42471 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni