Aetheria/tests/Aetheria.Shared.Tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 166b6202b1 Cut 12.3 fix batch: the model sweep is now an independent fixed point
Rewrite the shared-item model sweep instead of leaving it a follow-up:
the earlier ModelWithSharedItems copied FireControl.Apply's own
survey-then-walk shape closely enough that reverting production to a
plain sequential per-lane absorb (no pooling at all) still passed it.

FixedPointItemResolution settles items in a different order from
production: it batches every lane's own armour-only walk into full
passes, then checks every currently open pool for readiness once per
whole pass (a dynamic, re-derived-each-time check, not a table built
once up front -- a precomputed-once version deadlocked on a non-convex
item crossed twice by the same lane). Lane geometry is read from the
real FireControl.Lanes instead of a second hand-rolled walk, removing
a class of disagreement that had nothing to do with absorption order.
Durabilities are now drawn below a lane's own share so every shared hit
overflows, hull damage is compared alongside armour and items, and the
tolerance is tightened now that lane geometry can no longer drift.
Also fixes: rejected attempts in the retry loop were mutating real
state without resetting it, corrupting the "before" snapshot; the
model was missing Entity.ItemAbsorb's own pooled .1f threshold.

Reran M0 (control, green) through M4: M1 (forced sequential absorb)
now kills the sweep as well as the mirror/proportional tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 17:38:08 +02:00
..
Aetheria.Shared.Tests.csproj Pin AetheriaStores routing with tests; make PlayerSettings readable 2026-09-14 19:12:54 +02:00
AetheriaStoresTests.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
BrownoutTests.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
CapabilityEventsTests.cs Test that capability events route only to their own kind's subscribers 2026-09-17 14:37:07 +02:00
ConditionRatioTests.cs Cut 8: pin ConditionRatio -- perfect/dead/durability/heat/power/force-unchanged 2026-09-19 04:41:43 +02:00
FireAuthorityTests.cs Cut 12.3: drop two Cut 12.3 tests that called the deleted Entity.ApplyHit 2026-09-25 05:56:11 +02:00
FireControlCut4Tests.cs Cut 11 second round: one owner for PBase, and tests for what the 51 survivors showed 2026-09-22 16:39:52 +02:00
FireControlCut5Tests.cs Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +02:00
FireControlCut6cTests.cs Fire control Cut 6c.1/6c.2: Resolution becomes reciprocal, targeting degrades instead of throwing 2026-09-19 18:31:46 +02:00
FireControlCut6dTests.cs Cut 12.2: where a hit lands is priced and drawn from one silhouette 2026-09-24 20:40:50 +02:00
FireControlCut6Tests.cs Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +02:00
FireControlCut7Tests.cs Cut 12.2: where a hit lands is priced and drawn from one silhouette 2026-09-24 20:40:50 +02:00
FireControlCut8Tests.cs Cut 8: a removed entity is a dead entity, and re-anchor the stranded mutations 2026-09-22 00:50:57 +02:00
FireControlCut9Tests.cs Cut 12.2 Soul fix batch: half-open clamp, split assembly, real rolls 2026-09-24 23:08:19 +02:00
FireControlCut11Tests.cs Correct the Splash handedness claim: an undefended mutant, not a shipped bug 2026-09-22 18:37:12 +02:00
FireControlCut12Tests.cs Cut 12.3 fix batch: F10, an independent AlongBearing expectation at several bearings 2026-09-25 11:53:47 +02:00
FireControlCut123Tests.cs Cut 12.3 fix batch: the model sweep is now an independent fixed point 2026-09-25 17:38:08 +02:00
FireControlTests.cs Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
HeatResponseTests.cs Cut 1: close S5/S6's validation gaps, pin S7's surviving mutants 2026-09-18 18:42:10 +02:00
IffAndCombatTests.cs Test the IFF/grudge/detection rules and the weapon stance gate 2026-09-17 14:01:31 +02:00
InputCapacitorTests.cs Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
LoadoutTests.cs Pin the targeting subsystem, reveal rule and Q4's required-equipment rule 2026-09-19 13:03:12 +02:00
PlayerSettingsSensitivityTests.cs Move mouse-look sensitivity into the PlayerSettings CultCache global 2026-09-17 17:22:09 +02:00
PowerBusTests.cs F2: gate the bus's reactors and consumers on Active, not Online 2026-09-19 05:06:31 +02:00
PowerCurveTests.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
PowerTierTests.cs F3: an empty tier is not a satisfied tier, and sub-epsilon demand pays its way 2026-09-19 05:15:30 +02:00
RoleAuthoringTests.cs Cut 7: refuse a stat naming a role its design lacks 2026-09-19 05:01:17 +02:00
RunSaveTests.cs Delete the persisted-behaviors feature per operator ruling 2026-09-17 05:44:37 +02:00
ShieldReserveTests.cs F4/F5: shield restore survives inactivity, and CanTakeHit stops mutating 2026-09-19 05:32:29 +02:00
StatResolverTests.cs Pin Gate 1, Gate 2 and F8's mutant fix with tests and mutations 2026-09-18 20:42:05 +02:00
stryker-config.json Cut 11 map: mutation testing moves to Stryker, and the survivors it found 2026-09-22 15:59:06 +02:00
TargetingSystemTests.cs Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +02:00