Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[quality] bundle fake answers unrouted requests with a plain 404; the harness should assert on unexpected traffic outside application fallbacks

Aperta
#568 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

@hivecommons-hive ci sta già lavorando.

Dal 22/10/2026.

  • #569 di @hivecommons-hive — aperta

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

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

agent/quality needs-kind stage/040-covered-by-pr testing

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 from afterEach ahead of reset.
  • 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 through mergeQueueFallback as lgtmBindingArms/lgtmRemovalNoopArms already 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

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di cncf/prow-github-actions

Tutte le issue di cncf/prow-github-actions

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.