feat(economy): low power takes radar first and halves repair (C4, Sprint 16.6) - #78
Merged
Conversation
Sprint 16.6, D-030/Economy.md shutdown order: - Radar falls FIRST at a deficit: FogOfWarSystem.GetRadarSignatures returns nothing while the team's balance is low power. The economy becomes the third required constructor dependency (the compiler enumerated every host and rig again). MinimapHud goes dark with it - same balance, same read as the 16.5 radar gate. - Production and construction keep the exact 0.5 Q16.16 speed penalty (existing). - Repair halves exactly: 10 -> 5 HP/tick under low power (Economy.md repair rule; 10/2 is exact, no rounding). - NOT included, by design: the defense shutdown. Whether a tower fires is CombatSystem's call alone, and Simulation/Combat/ has no notion of power - that input would be units-track terrain. Goes to 13B as a finding (Issue #70). This branch REPLICATES the Sprint 16.5 state (PR #77: FogOfWarSystem construction dependency, MinimapHud radar gate, BuildMenuHud radar hint, all host/rig signature updates) as its base, because 16.6 builds directly on the 16.5 radar functions and PR-only flow forbids stacking on a local branch. Identical hunks in both merge directions: whichever of #77 and this PR lands first, the other merges clean. New tests: pings stop at deficit and resume on recovery (Fog), repair halves exactly under low power (Construction). EditMode mirrors synced. No baseline impact: low-power effects read committed balances; the decay of 16.4 is what moves state, and that lands with #73.
…ions Der Wiedergabe-Fixture in CombatSystemTests nennt seine Wirtschaft economy; beim Nachziehen der 16.5-Signatur blieb an einer Stelle der Name des ersten Fixtures (factions) stehen. Die CI brach mit CS0103 ab, bevor ein Test lief. Beide Spiegel gleich gezogen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
# Conflicts: # Assets/Tests/EditMode/AI/SkirmishAiTests.cs # Assets/Tests/EditMode/Gameplay/CanonicalMatchSetupTests.cs # Assets/Tests/EditMode/Simulation/CombatSystemTests.cs # Assets/Tests/EditMode/Simulation/ConstructionSystemTests.cs # Assets/Tests/EditMode/Simulation/EconomyIntegrationTests.cs # Assets/Tests/EditMode/Simulation/FogOfWarSystemTests.cs # Assets/Tests/EditMode/Simulation/ProductionConstructionIntegrationTests.cs # Assets/Tests/EditMode/Simulation/WeaponValuesTests.cs # Assets/_Project/Scripts/Gameplay/Match/MatchRunner.cs # Assets/_Project/Scripts/Presentation/UI/MinimapHud.cs # Assets/_Project/Scripts/Simulation/Vision/FogOfWarSystem.cs # CHANGELOG.md # tools/Nova.SimRunner.Tests/BarracksSpawnMatchConfigTests.cs # tools/Nova.SimRunner.Tests/CanonicalMatchSetupTests.cs # tools/Nova.SimRunner.Tests/CombatSystemTests.cs # tools/Nova.SimRunner.Tests/EconomyIntegrationTests.cs # tools/Nova.SimRunner.Tests/FogOfWarSystemTests.cs # tools/Nova.SimRunner.Tests/LockstepNetworkTests.cs # tools/Nova.SimRunner.Tests/ProductionConstructionIntegrationTests.cs # tools/Nova.SimRunner.Tests/SkirmishAiTests.cs # tools/Nova.SimRunner.Tests/WeaponValuesTests.cs # tools/Nova.SimRunner/Determinism10000Scenario.cs # tools/Nova.SimRunner/Program.cs # tools/Nova.SimRunner/Scale500PrecombatScenario.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Was
Sprint 16.6 (C4, Economy.md-Low-Power-Regel) vervollständigt die Strommangel-Wirkung:
FogOfWarSystem.GetRadarSignatureskeine Pings mehr.Bewusst nicht enthalten ist die Verteidigungsabschaltung: Sie gehört zu
CombatSystemund damit in den Einheitenstrang; der Befund ist in Issue #70 erfasst.Warum
Erst wenn Radar, Karte und Reparatur tatsächlich auf ein Stromdefizit reagieren, wird der Angriff auf ein Kraftwerk zu einem taktischen Wirtschaftsziel. Die Implementierung liest nur den bestehenden Economy-Zustand; es gibt keinen neuen Befehlstyp und kein neues Zustands-, Snapshot-, Replay- oder Wireformatfeld.
Die autoritative Reparaturänderung erhält eine eigene Regelidentität:
RulesHash64steigt von Revision 1 auf Revision 2 und bindet 10/5 HP pro Tick. Revision-1-Replays und -Peers bleiben strukturell lesbar, werden gegenüber Revision-2-Hosts beziehungsweise -Peers aber vor Tick 1 abgelehnt.Basis und Scope
aec0f5db35836287fa936c6fd6d948aceeb08ceb.maineinschließlich fix(construction): sites carry the definition role, not Unit (#44, Sprint 16.3) #71, feat(economy): derived storage ceiling caps the AE account (#53, Sprint 16.4) #73 und D-105 integriert; alle Konstruktor-Konflikte verbinden sowohl Economy/Fog als auch Construction/Combat.Nachweis
./.dotnet/dotnet test tools/Nova.SimRunner.Tests/Nova.SimRunner.Tests.csproj -c Release --no-restore: 683/683 grün auf dem committed Head.python3 .github/scripts/check_docs.py: grün (179 Markdown-Dateien, 5 Quality-JSONs).git diff --checkund Konfliktmarkerprüfung: grün.aec0f5d: vollständig grün (Baseline Guard, Doku, Contributor Gate, Integrität, Relay-Smoke und Tests).Menschliche/Unity-Sicht
Nicht gespielt. Grund: Der reale Unity-EditMode-Batchlauf wurde auf Unity
6000.5.4f1gestartet, kam aber wegen eines wiederholten lokalen Licensing-Handshakes (Unsupported protocol version 1.18.1) nicht bis zur Testausführung; es entstand kein Ergebnis-XML. Eine manuelle Spielrunde war in dieser Agentensitzung deshalb ebenfalls nicht belastbar ausführbar.Ersatznachweise: vollständige 683er-SimRunner-Suite, gespiegelte Radar-/Reparaturtests, Fingerprint-/Replay-/Relay-Kompatibilitätstests, sauberer Build, Dokuprüfung, unabhängige Reviews und frische GitHub-CI auf dem exakten Head.
Restrisiko:
MinimapHud.OnGUIsowie das Abschalten und Wiederherstellen seiner sichtbaren Panel-/Trefferfläche sind nicht automatisiert und wurden auf diesem Head nicht visuell beobachtet. Die Simulationsseite (keine Radar-Pings, 5 HP/Tick bei Low Power, Wiederherstellung nach ausgeglichener Bilanz) ist automatisiert abgedeckt.Changelog und Release-Impact
Ein Eintrag unter
[Unreleased]: „Low Power ist eine Waffe (C4, Sprint 16.6)“.Release-Impact: minor. Kein Zustands-, Schema- oder Wireformatbruch; die RulesHash-Kompatibilitätsgrenze Revision 1 → 2 ist beabsichtigt.
Governance
Owner-PR nach D-105: Selbstmerge erst nach strikt grüner CI und unabhängiger read-only Prüfung des aktuellen Heads.