Skip to content

feat(economy): let produced harvesters start with a field order (#134) - #147

Draft
cubetribe wants to merge 2 commits into
mainfrom
feat/134-harvester-born-harvesting
Draft

cubetribe wants to merge 2 commits into
mainfrom
feat/134-harvester-born-harvesting

Conversation

@cubetribe

Copy link
Copy Markdown
Collaborator

Was: Ein in der Raffinerie produzierter Sammler bekommt beim Spawn den Ernteauftrag auf das nächste Feld mit Restbestand (ab Footprint-Zentrum der Raffinerie, EconomySystem.TryFindNearestField), wie der Gründungs-Sammler. Die Skirmish-KI beauftragt zusätzlich Sammler mit fremdem Feldauftrag neu (latenter Hänger); AiBehaviorId r10. Stop und H bleiben beim Spieler.

Warum: Nur der Gründungs-Sammler erntete von selbst; jeder weitere wartete unbewacht am Sammelpunkt. Fixes #134, Entscheidung D-121 (Entwurf).

Bereiche: Simulation/Production/, Scripts/AI/, AI.Data/, Determinism10000Scenario (Drehbuch), Tests beider Spuren, DecisionLog, CHANGELOG.

Baselines: Keine der vier Guard-Dateien berührt. Der KI-Pin in CanonicalAiOutcomeTests wandert im selben PR (D-101): Tick 2726 unverändert, Endzustand neu gemessen und im Kommentar dokumentiert. RulesRevision bleibt V3 — Inhaberentscheidung, ob im V4-Fenster gebumpt wird (Review-Befund).

Alternative: Der Client-Weg aus 73f54b5 (Art-Branch, _autoAssignedHarvesters) ist in D-121 bewertet und entfällt bei Annahme dieses PR.

Changelog: [Unreleased] → Geändert.
Tests: dotnet test 786/786; check_docs.py OK; Guard-Selbsttest OK.
Unity-Spuren: EditMode 671/671, PlayMode 15/15.
Spielabnahme: nicht gespielt — Ersatznachweis Sim-Tests (Geburtsauftrag, Wirtschaftszyklus ohne H-Befehl); Restrisiko: Weg Sammelpunkt → entferntes Feld mit Client-Eskorte ungespielt.

Berichte: reports/v8.6.0/issue-lauf-2026-10-17/02-issue-134-*.md, 02b-review-1-issue-134.md.

🤖 Generated with Claude Code

cubetribe and others added 2 commits October 17, 2026 17:49
Only the founding harvester harvested on its own: ConstructionSystem
grants it a field when the refinery completes, while ProductionSystem
spawned every later harvester with nothing but the rally target. The
game teaches that harvesters work by themselves and then silently stops
doing so from the second one on; an idle harvester also never got an
escort. A harvester produced at a refinery is now born with a harvest
order on the nearest field with remaining reserve, measured from the
refinery's footprint centre via EconomySystem.TryFindNearestField, the
same rule as the founding harvester. Stop and H stay with the player.
The skirmish AI additionally re-tasks harvesters whose order names a
foreign field, which closes a latent hang; AiBehaviorId rises to r10.

Fixes #134. Decision D-121 (draft; binding with the merge). The
canonical AI outcome pin moves in this PR as D-101 prescribes (decided
tick 2726 unchanged); none of the four guard baselines is touched and
RulesRevision stays V3 (owner to decide on a bump in the V4 window).
Sim tests 786/786; Unity EditMode mirrors not run; not played.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
EditMode 671/671 and PlayMode 15/15 measured on this branch with Unity
6000.5.4f1 via the lane script from #110; no failures, clean tree.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nur der Gründungs-Harvester erntet von selbst — jeder produzierte wartet unbewacht auf ein manuelles H

1 participant