Scenario Briefs (Crossing, Duel, FusedRounds, LauncherAngles, StarvedReactor, WeaponFeel), scenario and test comments and test locals say the design names (Lightning Projector, Light Laser, Cell Blaster, Guided Missile Launcher, Swarm Rocket Pod, Muon Fusion Reactor, Cluster Cannon, Charged Scatter Blaster, Rugged Drive, Racing Drive) instead of the retired brand names; Crossing.PlightRange is ProjectorRange.
generic-designs: the batch carries ExpectUnchanged so every record it does not author keeps its bytes (the plain commit re-encoded four records, dropping SensorData key 7). DesignTexts rewrites Large Drive, Tractor Beam, Smoke Proximity, Smoke Delayed, Smoke Refused and Smoke Refused Charge as tech-node text; the Tractor Beam's old line moves to its product Space Tractor. smoke-rounds' authored text names Light Laser and Charged Scatter Blaster to match.
Tests: NoScenarioBriefNamesRetiredGear, TheCapacitorDesignCarriesItsRoleMap, NoDesignTextNamesAProduct, and a command test that widens every payload and checks apply changes only the three records it authors and restores the rewritten texts.
Not built or run at this commit; GameData/Aetheria.cc is regenerated in the next commit, so NoDesignTextNamesAProduct and the command test fail here.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The finding's fixture (Synthetic(8, 7005), the seeded random walk through its
eighth intent) compares a warm allocator with a fresh one at every step. Fails
on the 0.4.0 pin, passes on 0.4.1. Builds.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
EvasionTerm: the aggregate reads go; SteeringTests: ATurnIsThatFractionOfTheHullsTurn;
Brownout/ConditionRatio seat the lone thruster on the centre column; ThrottleLockTests
compare a locked ship to an unlocked twin through the same ticks; ThrustAllocationTests
(Duel flight, lost/degraded/repaired drives, dead thrusters, full turn, arena-stepped
flight); ThrustAllocatorTests.AMicroIntentIsServed.
Not yet verified green at this commit; the test project builds only against the
deleted aggregates' removal in the previous commit.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The previous commit (8bfce189) does not build: CS0104 ambiguous Random in ThrustAllocatorTests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nothing asked, nothing fired is a fact about the intent: when all three clamped intents are exactly zero Allocate returns the zeroed buffer before the solve, so a warm solve that stops at the iteration cap can no longer fire thrusters. The output flush is gone. The warm start is left at the last solved point. Tests: the two 40-thruster hulls Soul found, and a small intent still answered at any column scale. Builds untested locally; verified on Yggdrasil.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A cost row pulling the errors the other way lowers the pre-onset drive throttle by about 20 percent (1.30e-4 to 1.06e-4 at turn .5); the bounds sit 8 percent under the measured value.
Commit builds: yes (tests/Aetheria.Shared.Tests not yet run on this commit; the full run is the closing job).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The turn leaves a forward error of 2, the top of TA-R2's error box; a bound of 1 or 1.5 gives yaw back.
Commit builds: yes (tests/Aetheria.Shared.Tests not yet run on this commit; the full run is the closing job).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
128 torque-free forward thrusters from a cold start reach the 100-iteration cap through the public surface; the call must keep the iterate it reached, not zero it.
Commit builds: yes (tests/Aetheria.Shared.Tests not yet run on this commit; the full run is the closing job).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Stryker survivors 12390 (initial _columns +1 skips the first resize at n = 1) and
12399/12400 (A not cleared between same-count calls) get tests. Array.Clear on b was an
equivalent mutant: rows 0-6 are assigned every call and the ridge rows are never written.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Removes the scratch probe. The spec pinned 1e-4; the optimum leaks 1.2e-4 (Duel) and
1.6e-4 (halved Talaria) from the first touch of Turn. Builds; ran 18 tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rules TA-R1 to TA-R4 of cut-thrust-allocator-core.r2, tests on synthetic columns
(Duel, damaged Duel, symmetric hull). First draft; not yet run.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>