Skip to content

fix: bound estate retries for destroyed vehicles - #165

Merged
ryanbarlow97 merged 1 commit into
mainfrom
stage6c/vehicle-estate-retry
Oct 14, 2026
Merged

ryanbarlow97 merged 1 commit into
mainfrom
stage6c/vehicle-estate-retry

Conversation

@ryanbarlow97

@ryanbarlow97 ryanbarlow97 commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

A vehicle destroyed after a failed estate handover or last-owner save kept its durable plan at RETRY forever: the missing owner metadata and registry row reached the unknown-type gate without counting attempts. Route that existing plan through the three spaced hourly checks and BLOCKED outcome, so staff can retry or waive it without recreating its row or vehicle.

Also narrow the estate bridge comment to its API boundary; durable vehicle registry writes retain their existing financial fail-closed behavior.

Validation: LOCAL Java 21 clean verify passes 8,041 tests with zero missed lines at the unchanged gate; 57 focused checks pass, including the 29 original participant tests, five review probes and three permanent destroyed-vehicle regressions. The identical three regressions fail on the original production with assertion failures only. Python rollback: three tests pass. Exactly one of 1,152 production classes changes, with unchanged public API/dependencies/workflows and all existing test bytes preserved.

Docs: TF-Minecraft/Docs#238

@github-actions github-actions Bot added the size:XS 0-9 effective changed lines (tests excluded in mixed PRs). label Oct 14, 2026
@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: bed430fb-5de3-47b3-b9db-5367b6e06562
📥 Commits

Reviewing files that changed from the base of the PR and between e449423 and dd41110.

📒 Files selected for processing: 3
  • src/main/java/net/tfminecraft/simplefactions/estate/EstateBridge.java
  • src/main/java/net/tfminecraft/simplefactions/estate/VehicleEstateParticipant.java
  • src/test/java/net/tfminecraft/simplefactions/estate/VehicleEstateDestroyedRetryTest.java

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Summary

Summary by CodeRabbit

  • Bug Fixes
    • Missing or unreadable vehicles now remain safely blocked during estate processing, rather than having payer or ownership details changed.
    • Estate entries for permanently missing vehicles continue to retry at the expected intervals and are blocked after repeated checks. Processing can still complete for other eligible vehicles, and blocked entries do not trigger payment operations.

Vehicle estate settlement now handles vehicles with neither owner metadata nor a registry record as unreadable before payer-row updates. Tests cover retry behaviour after permanent vehicle loss. The EstateBridge class comment now describes its failure contract.

Changes: Vehicle estate retries

Layer / File(s) Summary
Missing-vehicle retry handling
src/main/java/net/tfminecraft/simplefactions/estate/VehicleEstateParticipant.java, src/main/java/net/tfminecraft/simplefactions/estate/EstateBridge.java, src/test/java/net/tfminecraft/simplefactions/estate/VehicleEstateDestroyedRetryTest.java
advance routes missing owner metadata and registry records to unreadable handling before payer-row updates. Tests cover retry timing and blocked outcomes, and verify that missing vehicles do not trigger writes or payment operations. The EstateBridge class comment now states that vehicle registry writes retain the ordinary financial fail-closed contract.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to dd411

Destroyed vehicles without owner metadata or a registry row now follow bounded retries and can be blocked for staff action. No concrete issue requiring resolution before merge is identified.

- [ ] 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.

@ryanbarlow97
ryanbarlow97 merged commit 59bd617 into main Oct 14, 2026
3 checks passed
@ryanbarlow97
ryanbarlow97 deleted the stage6c/vehicle-estate-retry branch October 14, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 effective changed lines (tests excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant