Skip to content

Make faction members characters - #160

Merged
ryanbarlow97 merged 39 commits into
mainfrom
stage5/members
Oct 12, 2026
Merged

ryanbarlow97 merged 39 commits into
mainfrom
stage5/members

Conversation

@ryanbarlow97

@ryanbarlow97 ryanbarlow97 commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Stage 5 makes SimpleFactions character-based end to end: guild membership, leadership, voting, mercenary enrollment, treasuries, daily settlement, vehicles and death succession all follow characters instead of Minecraft accounts.

  • Membership migration waits for the reviewed RPCharacters heir map, backs up every store, restores interrupted writes before replay, merges aliases and quarantines unresolved entries without dropping roles or money. Staff can inspect and assign quarantine records; dependents check SimpleFactionsApi.ready() or the ready event before loading faction state.
  • Guild money lives in DenarEconomy's ledger as guild:<incarnation UUID> accounts (signed debt preserved); citizen tax is withheld to guildtax:<incarnation> and swept in settlement. One immutable realm-wide plan pays each day as a single sf:settle:<day> posting with exact replayable effects; recovery never recalculates a published day.
  • Every interactive money caller (deposits, loans, branches, capital/relocation, pillage, mercenary formation, casino income, vehicle fees/refunds/maintenance/upkeep) uses durable operation intents with captured character sessions and guild incarnations. Loan offer books are bound to the issuer incarnation. Uncertain physical deliveries freeze for staff instead of redelivering.
  • Character deaths preserve owed wages/dividends under the authoritative deathId before rights cleanup and succession; vehicle payers migrate once from VehicleFramework's persisted ownership to heir characters.

Validation:

  • tfmc-mvn -o -B --no-transfer-progress clean verify: 7,799 tests, no failures, 100% line coverage gate passed (f5149ad).
  • Copied-Main rehearsal in a loopback-only lab (13 staged stage-5 jars): migration conserved the non-system supply exactly (4,950,428 cents), every heir wallet and 49/49 guild balances matched the legacy baseline cent-for-cent, 27/27 vehicle payers resolved, clean restart showed zero account diffs, two daily settlements applied once each, a staged crash-after-posting settlement recovered without duplicating, and 9,900 full-sync ledger postings with 99 bots online measured p99 4.25 ms.

Draft integration branch for stage 5 of TF-Minecraft/RPCharacters#89 and #156. Documentation: TF-Minecraft/Docs#199. This must ship as one coordinated set with TLibs, DenarEconomy, RPCharacters and the migrated consumers; no release or server deployment is included.

ryanbarlow97 and others added 22 commits October 12, 2026 17:01
Council seats, refusals, election candidates and votes, session voters,
movement and cause leaders, pool citizens and proposal proposers and
targets are member keys: matched exactly, shown by character name and
turned into players through Members. Movement admin commands take
character names with spaces.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member strings in the war, raid, civil war and request code are now
character member keys. Combat state stays keyed by account; warband
rejoin waits for the same character's session to start.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Menus, creators and tab completion use member keys: lookups by the
current character, names shown through Members, heads from the account
that plays the character. Plugin menus capture the opener's character
session and close with a short message when clicked after a switch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Vehicles, mercenaries, espionage, inactivity, prestige, chat resolvers,
ledger and utils use member keys. Mercenary eligibility reads the
enrolled character's own trait. CharacterNames gives way to Members.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 381 files, which is 281 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: da6bb52c-7678-4f49-8bd7-5589264e69ce

📥 Commits

Reviewing files that changed from the base of the PR and between 9126f44 and 921e207.


📒 Files selected for processing (381)
  • pom.xml
  • src/main/java/net/tfminecraft/simplefactions/SimpleFactions.java
  • src/main/java/net/tfminecraft/simplefactions/api/SimpleFactionsApi.java
  • src/main/java/net/tfminecraft/simplefactions/database/BattleData.java
  • src/main/java/net/tfminecraft/simplefactions/database/Database.java
  • src/main/java/net/tfminecraft/simplefactions/database/DurableJson.java
  • src/main/java/net/tfminecraft/simplefactions/database/GuildData.java
  • src/main/java/net/tfminecraft/simplefactions/database/WarbandData.java
  • src/main/java/net/tfminecraft/simplefactions/economy/EconomyRuntime.java
  • src/main/java/net/tfminecraft/simplefactions/economy/ExternalIncome.java
  • src/main/java/net/tfminecraft/simplefactions/economy/GuildTaxPolicy.java
  • src/main/java/net/tfminecraft/simplefactions/economy/GuildTreasury.java
  • src/main/java/net/tfminecraft/simplefactions/economy/Money.java
  • src/main/java/net/tfminecraft/simplefactions/economy/OperationJournal.java
  • src/main/java/net/tfminecraft/simplefactions/economy/TreasuryActions.java
  • src/main/java/net/tfminecraft/simplefactions/economy/TreasuryPhysical.java
  • src/main/java/net/tfminecraft/simplefactions/economy/TreasuryTopology.java
  • src/main/java/net/tfminecraft/simplefactions/economy/settlement/DailyPreparationJournal.java
  • src/main/java/net/tfminecraft/simplefactions/economy/settlement/FactionUpkeepPlan.java
  • src/main/java/net/tfminecraft/simplefactions/economy/settlement/RealmSettlementCalculation.java
  • src/main/java/net/tfminecraft/simplefactions/economy/settlement/RealmSettlementChanges.java
  • src/main/java/net/tfminecraft/simplefactions/economy/settlement/RealmSettlementEffects.java
  • src/main/java/net/tfminecraft/simplefactions/economy/settlement/RealmSettlementService.java
  • src/main/java/net/tfminecraft/simplefactions/economy/settlement/SettlementGuilds.java
  • src/main/java/net/tfminecraft/simplefactions/economy/settlement/SettlementJournal.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/CharacterNames.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/EspionageAccess.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/EspionageCommands.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/EspionageService.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/EspionageState.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/OfficeCharacterDeathListener.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/OfficeCharacters.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/ReportDetails.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/RosterLore.java
  • src/main/java/net/tfminecraft/simplefactions/espionage/SpecialPositionAssignment.java
  • src/main/java/net/tfminecraft/simplefactions/events/SimpleFactionsReadyEvent.java
  • src/main/java/net/tfminecraft/simplefactions/government/Council.java
  • src/main/java/net/tfminecraft/simplefactions/government/Government.java
  • src/main/java/net/tfminecraft/simplefactions/government/election/Election.java
  • src/main/java/net/tfminecraft/simplefactions/government/movement/Movement.java
  • src/main/java/net/tfminecraft/simplefactions/government/movement/MovementJoinCopy.java
  • src/main/java/net/tfminecraft/simplefactions/government/movement/Pool.java
  • src/main/java/net/tfminecraft/simplefactions/government/movement/admin/MovementAdminService.java
  • src/main/java/net/tfminecraft/simplefactions/government/movement/admin/MovementCommandManager.java
  • src/main/java/net/tfminecraft/simplefactions/government/movement/admin/MovementTabCompletion.java
  • src/main/java/net/tfminecraft/simplefactions/government/movement/cause/Cause.java
  • src/main/java/net/tfminecraft/simplefactions/government/proposal/Proposal.java
  • src/main/java/net/tfminecraft/simplefactions/government/session/Session.java
  • src/main/java/net/tfminecraft/simplefactions/government/stability/StateStability.java
  • src/main/java/net/tfminecraft/simplefactions/guild/Guild.java
  • src/main/java/net/tfminecraft/simplefactions/guild/branch/Branch.java
  • src/main/java/net/tfminecraft/simplefactions/guild/income/GuildBankGrant.java
  • src/main/java/net/tfminecraft/simplefactions/guild/income/GuildDonation.java
  • src/main/java/net/tfminecraft/simplefactions/guild/income/Ledger.java
  • src/main/java/net/tfminecraft/simplefactions/guild/income/LedgerHistory.java
  • src/main/java/net/tfminecraft/simplefactions/guild/income/SettlementLedgerView.java
  • src/main/java/net/tfminecraft/simplefactions/guild/loans/Loan.java
  • src/main/java/net/tfminecraft/simplefactions/guild/loans/LoanBook.java
  • src/main/java/net/tfminecraft/simplefactions/guild/loans/LoanHandler.java
  • src/main/java/net/tfminecraft/simplefactions/identity/LeaderCharacterListener.java
  • src/main/java/net/tfminecraft/simplefactions/identity/LeaderCharacters.java
  • src/main/java/net/tfminecraft/simplefactions/identity/Members.java
  • src/main/java/net/tfminecraft/simplefactions/identity/death/CharacterDeaths.java
  • src/main/java/net/tfminecraft/simplefactions/identity/death/DeathJournal.java
  • src/main/java/net/tfminecraft/simplefactions/identity/death/DeathJournalStore.java
  • src/main/java/net/tfminecraft/simplefactions/identity/death/FactionDeaths.java
  • src/main/java/net/tfminecraft/simplefactions/identity/death/OwedPayment.java
  • src/main/java/net/tfminecraft/simplefactions/inactivity/InactivityService.java
  • src/main/java/net/tfminecraft/simplefactions/installation/InstallationProtectionListener.java
  • src/main/java/net/tfminecraft/simplefactions/installation/handler/InstallationHandler.java
  • src/main/java/net/tfminecraft/simplefactions/integration/rpcharacters/chat/FactionChatRecipientResolver.java
  • src/main/java/net/tfminecraft/simplefactions/integration/rpcharacters/chat/GuildChatRecipientResolver.java
  • src/main/java/net/tfminecraft/simplefactions/integration/rpcharacters/chat/OrgChatMemberCollector.java
  • src/main/java/net/tfminecraft/simplefactions/keys/Keys.java
  • src/main/java/net/tfminecraft/simplefactions/managers/CapitalMovePrompt.java
  • src/main/java/net/tfminecraft/simplefactions/managers/CommandManager.java
  • src/main/java/net/tfminecraft/simplefactions/managers/FactionManager.java
  • src/main/java/net/tfminecraft/simplefactions/managers/InventoryManager.java
  • src/main/java/net/tfminecraft/simplefactions/managers/InviteCommands.java
  • src/main/java/net/tfminecraft/simplefactions/managers/MercenaryCommandManager.java
  • src/main/java/net/tfminecraft/simplefactions/managers/PlayerManager.java
  • src/main/java/net/tfminecraft/simplefactions/managers/RelationManager.java
  • src/main/java/net/tfminecraft/simplefactions/managers/RelocationPrompt.java
  • src/main/java/net/tfminecraft/simplefactions/managers/SessionManager.java
  • src/main/java/net/tfminecraft/simplefactions/managers/TitleManager.java
  • src/main/java/net/tfminecraft/simplefactions/managers/WarManager.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/CampaignInstallationPickView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/CampaignRaidLaunchView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/CampaignView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/CompanyCreator.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/CompanyView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/ContractView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/DeclareWarView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/ElectionCreator.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/ElectionView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/EspionageView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/FactionCreator.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/FactionView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/GovernmentCreator.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/GovernmentView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/GuildCreator.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/GuildView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/InstallationView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/InventoryUpdater.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/LoanPayment.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/MemberHeads.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/MilitaryView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/MovementCreator.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/MovementView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/RelationView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/ReportedMenus.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/TierTitleView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/VehicleFeeView.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/WarCreator.java
  • src/main/java/net/tfminecraft/simplefactions/managers/inventory/WarView.java
  • src/main/java/net/tfminecraft/simplefactions/map/Compiler.java
  • src/main/java/net/tfminecraft/simplefactions/map/MapSystem.java
  • src/main/java/net/tfminecraft/simplefactions/map/export/PublicFactionProjection.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/company/MercenaryCompany.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/company/MercenaryCompanyService.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/company/MercenaryEligibility.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/company/MercenaryInvites.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/company/WageSettings.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/contract/ContractBook.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/contract/ContractHandler.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/contract/MercenaryContract.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/contract/MercenaryEngagements.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/contract/MercenaryMarket.java
  • src/main/java/net/tfminecraft/simplefactions/mercenary/stat/MercenaryStatService.java
  • src/main/java/net/tfminecraft/simplefactions/migration/CharacterMigration.java
  • src/main/java/net/tfminecraft/simplefactions/migration/MigrationFiles.java
  • src/main/java/net/tfminecraft/simplefactions/migration/MigrationManifest.java
  • src/main/java/net/tfminecraft/simplefactions/migration/Quarantine.java
  • src/main/java/net/tfminecraft/simplefactions/migration/QuarantineCommands.java
  • src/main/java/net/tfminecraft/simplefactions/migration/StoreMapper.java
  • src/main/java/net/tfminecraft/simplefactions/objects/Bank.java
  • src/main/java/net/tfminecraft/simplefactions/objects/Faction.java
  • src/main/java/net/tfminecraft/simplefactions/objects/handler/GuildHandler.java
  • src/main/java/net/tfminecraft/simplefactions/objects/handler/ProvinceHandler.java
  • src/main/java/net/tfminecraft/simplefactions/objects/request/RelocateRequest.java
  • src/main/java/net/tfminecraft/simplefactions/objects/request/VehicleHandoverRequest.java
  • src/main/java/net/tfminecraft/simplefactions/player/PlayerEconomyManager.java
  • src/main/java/net/tfminecraft/simplefactions/prestige/MemberPlaytime.java
  • src/main/java/net/tfminecraft/simplefactions/settlement/handler/SettlementHandler.java
  • src/main/java/net/tfminecraft/simplefactions/tiers/Title.java
  • src/main/java/net/tfminecraft/simplefactions/utils/EconomicImpact.java
  • src/main/java/net/tfminecraft/simplefactions/utils/FactionCleanup.java
  • src/main/java/net/tfminecraft/simplefactions/utils/MemberAccounts.java
  • src/main/java/net/tfminecraft/simplefactions/utils/PostSettlementPayouts.java
  • src/main/java/net/tfminecraft/simplefactions/utils/TabCompletion.java
  • src/main/java/net/tfminecraft/simplefactions/utils/Wealth.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/VehicleFactionCommands.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/battle/BattleVehicleEligibilityService.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/berth/FactionVehicleGiveService.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/berth/FactionVehicleReleaseListener.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/berth/FactionVehicleReleaseService.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/berth/InstallationVehicleOwnerSync.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/berth/VehicleTransferConsentService.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/berth/VehicleTransferListener.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/fees/VehicleFeeService.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/fees/VehicleFeeStore.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/fees/VehiclePayments.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/fees/VehicleReclaimFeeListener.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/fees/VehicleRegistrationFeeListener.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/handover/VehicleHandoverListener.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/handover/VehicleHandoverService.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/maintenance/DenarEconomyPlayerBank.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleMaintenancePayListener.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleMaintenancePayService.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleMaintenancePaySessionManager.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleMaintenancePersistence.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleSettlement.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleUpkeepProjection.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleUpkeepService.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/registry/VehicleOwnershipQueries.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/registry/VehiclePayerMigration.java
  • src/main/java/net/tfminecraft/simplefactions/vehicles/registry/VehicleRegistryPersistence.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/campaign/CampaignBattleJoinService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/campaign/CampaignBattleLaunchService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/campaign/CampaignBattleOutcomeService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/campaign/CampaignBattleRosterService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/campaign/CampaignBattleSignupReminderService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/campaign/CampaignNavalAutoLossReminderService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/campaign/warband/CampaignWarbandBattleService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/campaign/warband/CampaignWarbandSignupService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/engine/core/Battle.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/engine/core/BattleEndSupport.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/events/BattleEndedEvent.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/events/BattleStartedEvent.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/military/BattleCasualtyService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/persistence/BattleMapper.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/persistence/WarbandMapper.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/ui/BattleCommandManager.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/warband/Warband.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/warband/WarbandManager.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/warband/WarbandMembershipListener.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/warband/WarbandMembershipService.java
  • src/main/java/net/tfminecraft/simplefactions/war/battle/warband/WarbandRejoinState.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/progression/AttackerNavalContestService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/progression/postbattle/CampaignOffensiveForfeitService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/raid/CampaignRaidJoinService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/raid/CampaignRaidWarbandService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/raid/RaidCommandManager.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/raid/RaidTabCompletion.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/raid/fight/CampaignRaidBattleEndService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/raid/fight/CampaignRaidBattleService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/raid/fight/CampaignRaidLaunchService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/raid/fight/CampaignRaidMusterReminderService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/raid/intruder/CampaignRaidIntruderService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/runtime/BattleAutoresolveService.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/runtime/BattleScheduleLookups.java
  • src/main/java/net/tfminecraft/simplefactions/war/campaign/runtime/pick/BattleInstallationPickService.java
  • src/main/java/net/tfminecraft/simplefactions/war/civilwar/CivilWarStartService.java
  • src/main/java/net/tfminecraft/simplefactions/war/civilwar/CivilWarTempRebelFactory.java
  • src/main/java/net/tfminecraft/simplefactions/war/civilwar/wartime/CivilWarUntangleService.java
  • src/main/java/net/tfminecraft/simplefactions/war/freeze/PreparationFreeze.java
  • src/main/java/net/tfminecraft/simplefactions/war/freeze/VfBuildersConstructionFreeze.java
  • src/main/java/net/tfminecraft/simplefactions/war/resolution/PillageApplyService.java
  • src/test/java/net/tfminecraft/simplefactions/PluginLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/api/SimpleFactionsApiTest.java
  • src/test/java/net/tfminecraft/simplefactions/database/DatabaseCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/database/DurableJsonTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/GuildTaxPolicyTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/GuildTreasuryTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/OperationJournalTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/TreasuryActionsTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/TreasuryTopologyTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/settlement/DailyPreparationJournalTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/settlement/RealmSettlementCalculationTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/settlement/RealmSettlementEffectsTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/settlement/RealmSettlementServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/economy/settlement/SettlementJournalTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/CharacterBoundaryCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/CharacterKeyedMembers.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/CharacterNameResolutionTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/EspionageBypassTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/EspionageMenusCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/EspionageOperationsCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/EspionagePermissionsTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/EspionageTestFixtures.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/GuildIntelligenceTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/IntelligenceBrowsingTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/IntelligencePolicyTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/OfficeAppointmentsTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/OfficeOptionalIntegrationsTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/OfficePersistenceTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/OfficeVacancyTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/ReportPresentationTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/RosterAndLedgerPresentationTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/UnguardedFactionTest.java
  • src/test/java/net/tfminecraft/simplefactions/espionage/VassalIntelligenceTest.java
  • src/test/java/net/tfminecraft/simplefactions/government/CharacterKeyedPoliticsTest.java
  • src/test/java/net/tfminecraft/simplefactions/government/GovernmentCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/government/GovernmentProcessesCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/government/movement/MovementCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/government/movement/admin/MovementAdminServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/GuildBankCommandTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/GuildCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/GuildDeleteCommandTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/GuildInviteTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/GuildKickCommandTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/GuildUnresolvedLeaderTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/SharedAccountRivalGuildsTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/TestCharacters.java
  • src/test/java/net/tfminecraft/simplefactions/guild/income/CasinoProfitOperationTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/income/GuildBankGrantTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/income/IncomePreviewLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/income/LedgerSettlementCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/guild/income/MercenarySettlementTest.java
  • src/test/java/net/tfminecraft/simplefactions/identity/LeaderCharactersTest.java
  • src/test/java/net/tfminecraft/simplefactions/identity/MembersTest.java
  • src/test/java/net/tfminecraft/simplefactions/identity/SharedLeaderCharactersTest.java
  • src/test/java/net/tfminecraft/simplefactions/identity/death/CharacterDeathsTest.java
  • src/test/java/net/tfminecraft/simplefactions/identity/death/DeathJournalStoreTest.java
  • src/test/java/net/tfminecraft/simplefactions/identity/death/FactionDeathsTest.java
  • src/test/java/net/tfminecraft/simplefactions/inactivity/InactivityCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/installation/InstallationProtectionCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/installation/handler/InstallationHandlerConstructTest.java
  • src/test/java/net/tfminecraft/simplefactions/installation/handler/InstallationLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/integration/IntegrationBoundaryCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/integration/rpcharacters/chat/OrgChatMemberCollectorTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/CapitalMoveLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/CapitalMovePromptConfirmTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/CommandManagerCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/FactionManagerCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/InventoryManagerCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/InventoryManagerRegressionTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/InventoryManagerStaleMenuTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/MercenaryCommandsCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/PlayerEventsLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/PlayerManagerCharacterStartTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/PlayerManagerCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/PlayerManagerLoanBookTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/RelocationLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/SessionLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/StaleRequestsReviewRegressionTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/TabCompletionCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/inventory/CharacterKeyFixture.java
  • src/test/java/net/tfminecraft/simplefactions/managers/inventory/FactionMenusCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/inventory/GovernmentMenusCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/inventory/GuildMenusCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/inventory/MemberNamesInMenusTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/inventory/MercenaryMenusCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/inventory/PolicyMenusCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/inventory/ReportedMenusCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/managers/inventory/StaleGovernmentEconomyReviewRegressionTest.java
  • src/test/java/net/tfminecraft/simplefactions/map/MapClaimsCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/map/export/MapExportLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/map/export/PublicFactionProjectionTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/company/CompanyFixture.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/company/CompanyGuiTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/company/MercenaryCompanyFormationTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/company/MercenaryEligibilityTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/company/MercenaryEnlistmentTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/company/MercenaryHomeManpowerTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/company/SharedMercenaryCharactersTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/company/WageSettingsTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/contract/ContractFixture.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/contract/MercenaryContractBoundaryCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/contract/MercenaryContractTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/contract/MercenaryMarketTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/stat/ExternalIntegrationsCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/mercenary/stat/MercenaryStatServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/migration/CharacterMigrationTest.java
  • src/test/java/net/tfminecraft/simplefactions/migration/QuarantineCommandsTest.java
  • src/test/java/net/tfminecraft/simplefactions/objects/DomainConfigurationBoundaryCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/objects/FactionCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/objects/FactionInviteTest.java
  • src/test/java/net/tfminecraft/simplefactions/objects/handler/TaxLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/prestige/MemberPlaytimeTest.java
  • src/test/java/net/tfminecraft/simplefactions/testsupport/GuiTestFixture.java
  • src/test/java/net/tfminecraft/simplefactions/testsupport/NameKeyedMembers.java
  • src/test/java/net/tfminecraft/simplefactions/testsupport/SharedIdentity.java
  • src/test/java/net/tfminecraft/simplefactions/testsupport/TestSettlements.java
  • src/test/java/net/tfminecraft/simplefactions/testsupport/TestTreasuries.java
  • src/test/java/net/tfminecraft/simplefactions/utils/FactionCleanupCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/utils/FactionEconomicsCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/utils/PostSettlementPayoutsTest.java
  • src/test/java/net/tfminecraft/simplefactions/utils/SettlementPaymentBoundaryCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/utils/SharedDomainUtilitiesCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/VehicleCommandRouteTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/VehicleCommandsCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/berth/FactionVehicleGiveServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/berth/FactionVehicleReleaseServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/berth/InstallationVehicleUnberthServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/berth/VehicleInstallationLockServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/berth/VehicleInteractionsCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/berth/VehicleTransactionBoundaryCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/berth/VehicleTransferConsentServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/fees/VehicleFeeServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/fees/VehicleFeeStoreValidationTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/fees/VehiclePaymentsTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/maintenance/CharacterVehicleBankTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleMaintenanceBankCommandTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleMaintenancePayAndRepairTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleRuntimeLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleSettlementTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleUpkeepProjectionTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleUpkeepServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/maintenance/VehicleUpkeepTaxTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/registry/PlayerVehicleRegistryTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/registry/VehicleOwnerKeysTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/registry/VehiclePayerMigrationTest.java
  • src/test/java/net/tfminecraft/simplefactions/vehicles/registry/VehicleRegistryBoundaryCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/battle/campaign/CampaignBattleJoinServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/battle/engine/core/CapturedBattleCharactersTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/battle/warband/BattleRosterBoundaryCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/battle/warband/BattleRosterLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/battle/warband/WarbandMembershipServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/campaign/WarCampaignServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/campaign/raid/CampaignRaidLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/campaign/raid/intruder/CampaignRaidIntruderServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/campaign/schedule/CampaignScheduleLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/campaign/vote/BattleQuorumServiceTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/civilwar/CivilWarLifecycleCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/civilwar/wartime/CivilWarWartimeBoundaryCoverageTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/freeze/VfBuildersConstructionFreezeTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/resolution/PillageMissingBankRegressionTest.java
  • src/test/java/net/tfminecraft/simplefactions/war/resolution/PillageTreasuryTest.java
  • src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
  • src/test/resources/junit-platform.properties

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the size:XXL 1,000+ effective changed lines (tests excluded in mixed PRs). label Oct 12, 2026
@ryanbarlow97
ryanbarlow97 marked this pull request as ready for review October 12, 2026 20:40
@ryanbarlow97
ryanbarlow97 merged commit e61a977 into main Oct 12, 2026
3 checks passed
@ryanbarlow97
ryanbarlow97 deleted the stage5/members branch October 12, 2026 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ effective changed lines (tests excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant