From a0a650db7a58e4afd3ff6ad3aaabbaaac89eff1f Mon Sep 17 00:00:00 2001
From: Meta Vens
Date: Sun, 18 Oct 2026 18:56:36 +0200
Subject: [PATCH] Boss_carries_exactly: the open slot's brand is one the
antagonist's outfitter can choose, not any product of the design
Co-Authored-By: Claude Sonnet 5.5
---
tests/Aetheria.Shared.Tests/RunGoalTests.cs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/Aetheria.Shared.Tests/RunGoalTests.cs b/tests/Aetheria.Shared.Tests/RunGoalTests.cs
index 5eb9af5d3..c4f7eaf2e 100644
--- a/tests/Aetheria.Shared.Tests/RunGoalTests.cs
+++ b/tests/Aetheria.Shared.Tests/RunGoalTests.cs
@@ -186,7 +186,10 @@ public sealed partial class RunStartTests
string Cell(LoadoutSlot slot, string brand) => $"{slot.Position.x},{slot.Position.y},{slot.Rotation},{_cache.Get(slot.Design).Name},{brand}";
var pinned = loadout.Slots.Where(slot => slot != open).Select(slot => Cell(slot, _cache.Get(slot.Product).Name)).OrderBy(x => x, StringComparer.Ordinal).ToArray();
- var brands = _cache.GetAll().Where(product => product.Design.Key.Equals(open.Design.Key)).Select(product => product.Name).ToArray();
+ // The brands the context can choose for it: what the antagonist's own outfitter picks over many draws, never by key order.
+ var brands = Enumerable.Range(1, 64).Select(seed => GeneratorFor(galaxy, _items, antagonist, (uint) seed).ChooseProduct(_cache.Get(open.Design))?.Name)
+ .Where(name => name != null).Distinct().ToArray();
+ Assert.NotEmpty(brands);
var items = LoggingItems(new List());
var boss = Assert.Single(BossZonePack(galaxy, items, galaxy.Exit).Entities, entity => entity.Boss);