Repository navigation
fix: refresh realm trade when bankruptcy changes - #203
Merged
Merged
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
A realm treasury can cross into bankruptcy without dirtying province economics. Quiet exports could then publish its current negative bank with cached trade/production from before bankruptcy. A direct or single-guild flood between two treasury transitions could also leave the guarded cache marked fresh for outputs from the wrong state.
Refresh dirty economics before exporting live provinces, guilds and Chronicle. Guarded recalculation checks realm-bank bankruptcy alongside the model version; every completed full recalculation records that state, and partial/failed floods invalidate it. Same-state balance changes retain the cache. Chronicle uses the refreshed trade for its existing prestige update. Bank balances and settlement code are unchanged.
Validation: the original bankruptcy/export regressions fail before the fix. Three added regressions fail on the first revision and pass on the final revision: recovery after direct full and single-guild floods, and no duplicate guarded flood after a completed full recalculation. All 37 affected-suite tests pass. Final
TFMC_MVN_REMOTE=0 tfmc-mvn -o -B clean verifypassed all 8,510 tests with no failures, errors or skips and zero missed-line coverage. Runtime JAR validation and GitHub CI pass on head 0335990.Independent Opus 5.5 and Muse reviews both accepted final head 0335990 with no blockers. Their direct/partial recalculation finding was reproduced and fixed before merge. No live plugin or server has been changed by this PR.
Documentation: TF-Minecraft/Docs#313