ship-authoring stats --top-speed adds the VelocityLimit a bare hull lacks #3

Merged
nibu merged 1 commit from nibu/ship-authoring-top-speed-adds into master 2026-11-10 17:39:10 +00:00
Member

Backlog item package-hull-top-speed.

Problem (verified on master): ship-authoring create without --like writes a hull with no behaviors; ShipAuthoring.Validate (ShipAuthoring.cs:269) refuses a Ship hull without a VelocityLimitData; and stats --top-speed refused any hull that did not already have exactly one. So no command could give a bare hull a top speed.

Fix: the first --top-speed adds the one VelocityLimit (fixed speed, Min=Max); two or more are still refused. ShipProductTests: the two refusals on a bare hull become an add-and-set assertion.

Tests: ShipProductTests + ShipAuthoringTests, 45/45 pass (CultLib worktrees pinned via CultMathRoot/CultLibRoot). Full suite not run (550/2905 fail on master for the untraced mod-catalog reason).

Not merged.

🤖 Generated with Claude Code

Backlog item package-hull-top-speed. Problem (verified on master): `ship-authoring create` without `--like` writes a hull with no behaviors; `ShipAuthoring.Validate` (ShipAuthoring.cs:269) refuses a Ship hull without a `VelocityLimitData`; and `stats --top-speed` refused any hull that did not already have exactly one. So no command could give a bare hull a top speed. Fix: the first `--top-speed` adds the one VelocityLimit (fixed speed, Min=Max); two or more are still refused. ShipProductTests: the two refusals on a bare hull become an add-and-set assertion. Tests: ShipProductTests + ShipAuthoringTests, 45/45 pass (CultLib worktrees pinned via CultMathRoot/CultLibRoot). Full suite not run (550/2905 fail on master for the untraced mod-catalog reason). Not merged. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
create without --like makes a hull with no behaviors, Validate refuses a ship hull without a VelocityLimit, and stats --top-speed refused any hull without exactly one: no command could give such a hull a top speed. The first --top-speed now adds the one limit; two or more are still refused.

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

Steward check before merge (nibu, 2026-11-10).

  • Applies to master: 0 commits behind, mergeable.
  • dotnet test tests/Aetheria.Shared.Tests on the PR head: 2888 pass, 16 fail. Master at the same time: 2889 pass, 15 fail (the pre-existing red set: Brownout/ConditionRatio thrust pins, MiningCut3 ChunkInfo, RestoredHulls, six RunStart pins). The only difference is EconomyCommandTests.ReportOnTheShippedCatalogGoesToTheGivenWriterAndNeverToConsole, a console-capture test that picks up another parallel test's output; it passes (58/58 with ShipProductTests) when run alone on this head, and this PR does not touch it. No new deterministic failure.
  • Falsification: restoring master's ShipAuthoringCommands.cs under this PR's tests fails ShipProductTests.StatsWritesOnlyTheFieldsItNamesAndARefusalLeavesTheFileUntouched, so the changed behavior (first --top-speed adds the VelocityLimit a bare hull lacks) is pinned.
  • Merged. Host-wide red set stays tracked in follow-up suite-red-triage-findings.
Steward check before merge (nibu, 2026-11-10). - Applies to master: 0 commits behind, mergeable. - `dotnet test tests/Aetheria.Shared.Tests` on the PR head: 2888 pass, 16 fail. Master at the same time: 2889 pass, 15 fail (the pre-existing red set: Brownout/ConditionRatio thrust pins, MiningCut3 ChunkInfo, RestoredHulls, six RunStart pins). The only difference is `EconomyCommandTests.ReportOnTheShippedCatalogGoesToTheGivenWriterAndNeverToConsole`, a console-capture test that picks up another parallel test's output; it passes (58/58 with ShipProductTests) when run alone on this head, and this PR does not touch it. No new deterministic failure. - Falsification: restoring master's `ShipAuthoringCommands.cs` under this PR's tests fails `ShipProductTests.StatsWritesOnlyTheFieldsItNamesAndARefusalLeavesTheFileUntouched`, so the changed behavior (first `--top-speed` adds the VelocityLimit a bare hull lacks) is pinned. - Merged. Host-wide red set stays tracked in follow-up suite-red-triage-findings.
nibu merged commit c965962281 into master 2026-11-10 17:39:10 +00:00
nibu referenced this pull request from a commit 2026-11-10 17:51:03 +00:00
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/Aetheria!3
No description provided.