Google link: pin the four test gaps, one slot owner, drop IsSignInProvider #82

Merged
heimdall merged 2 commits from heimdall/google-link-test-gaps into main 2026-11-12 17:02:19 +00:00
Member

Follow-up google-link-test-gaps (Soul lows on #81).

  • Pins: two-slot continuation leaves a parallel sign-in alive; undefined attempt Purpose (9, -1, 4) is no attempt and asks Heimdall for nothing; empty/whitespace pending link id refused before any Heimdall call; a 201 confirm that does not say linked ({}, pending, Linked) is not shown as linked. Each shown red under a mutation of its guard.
  • One real finding: replaceSlot: cookieName was not load-bearing because the await step returned cookieName rather than the started attempt's slot; it now returns next.CookieName, so StartAsync is the single slot owner and removing replaceSlot fails the test.
  • Removed dead IsSignInProvider (no caller in src or tests).

Full suite on .NET 8: 1425/1425 pass (log gltg-full.log). Not deployed.

🤖 Generated with Claude Code

Follow-up `google-link-test-gaps` (Soul lows on #81). - Pins: two-slot continuation leaves a parallel sign-in alive; undefined attempt Purpose (9, -1, 4) is no attempt and asks Heimdall for nothing; empty/whitespace pending link id refused before any Heimdall call; a 201 confirm that does not say `linked` ({}, pending, Linked) is not shown as linked. Each shown red under a mutation of its guard. - One real finding: `replaceSlot: cookieName` was not load-bearing because the await step returned `cookieName` rather than the started attempt's slot; it now returns `next.CookieName`, so `StartAsync` is the single slot owner and removing `replaceSlot` fails the test. - Removed dead `IsSignInProvider` (no caller in src or tests). Full suite on .NET 8: 1425/1425 pass (log gltg-full.log). Not deployed. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The await step passed replaceSlot to StartAsync but named the slot from its own cookieName, so replaceSlot decided nothing. The step now returns the slot the started attempt chose, one owner.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Member

Soul pass clean at 1298e7db. Correction to the description: the next.CookieName return is behaviour-neutral (it equals the old cookieName since replaceSlot is that slot), so it is a tidy, not a pinned fix; the tests pin replaceSlot itself.

Soul pass clean at 1298e7db. Correction to the description: the `next.CookieName` return is behaviour-neutral (it equals the old `cookieName` since replaceSlot is that slot), so it is a tidy, not a pinned fix; the tests pin `replaceSlot` itself.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Bifrost!82
No description provided.