fix(ah): bound custody maintenance and preserve recovery - #485
Conversation
Validate bot materialization markers separately from player seller escrow before terminal value effects. Keep missing and mismatched items held for retry, and cover bot expiry, bid-won expiry and buyout delivery. Use auction-scoped bid custody reads instead of scanning the full reserved ledger, retaining uniqueness and database-error guards. Integrates the conservation checkpoint with the published bounded maintenance series.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 154 |
| Duplication | 2 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 62b5b589cb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 060be97386
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5f984f2b7c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Summary
Harden auction custody maintenance and integrate the conservation recovery checkpoint with current master.
Verification
0c00c487passed a live two-character check: list, bid, normal mangosd restart, buyout, cancellation, item delivery, and bidder refund. The final orphan-cleanup guards were verified by the targeted regressions below, not a repeat in-game smoke.confirmed=0 pending=0 sweep-owned=0 repaired=0 skipped=0 failed=0; no live auctions or reserved custody rows remained.idx_auctionfor the reservation lookup, excluded held sales, and retained the 101-candidate limit (100 rows plus backlog detection). This is local test evidence, not a production latency guarantee.Scope and Compatibility
Review Follow-Up (
060be973)std::_Exit.Latest Review Fixes (
5f984f2b)mangosd -tmodes now require--allow-destructive-tests, checked before database startup. Use only a disposable database configuration; incompatible service/daemon combinations are rejected.Rel22_05_001_Add_Custody_Ledger_Table.sql; absence of that table is not a supported legacy schema.Terminal Deposit Follow-Up (
8b1d55dc)8b1d55dcat 17:43 UTC on 2026-09-08 with no new findings and a clean approval reaction. GCC, Clang and style/static checks passed; Windows, Docker and AppVeyor were still pending or running at this checkpoint. No new migration or submodule change.This change is