Unblock stable posts, vault bootstrap, and persist-after-publish - #204
Merged
Conversation
Stop gating mixed-split on unused fee estimates, require on-chain expiry only for unstable makers, and retry offer persist after a live publish.
Immediate SQLite upsert failure no longer increments publish_failures or flips exit_code, so ensure-size still treats the live listing as posted. Flush retries the upserts, always emits audits, and only records persist-after-publish failures when the retry also fails.
finish_build_and_post no longer traces success before flush. CLI and cycle-store both complete through one helper so a persist retry failure is persist_failed, not a premature venue success.
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.
Summary
vault_mixed_split_no_fee.verify_offer_for_postwithbake_expiry_into_conditions_for_quote; public Dexie verify stays strict.exit_code/publish_failuresas venue-success even if the immediate SQLite upsert fails. Flush retries the upserts, always emits audits, and tracesOFFER_POST_COMPLETEDonly after persist is known (persist_failedif the retry also fails).Test plan
cargo test --lib offer::operator::build_and_postcargo test --lib offer::(after the first commit)AssertBeforeSecondsAbsoluteensure_sizetreating the listing as posted, and that a flush retry failure logspersist_failedrather than success