Josunday002/admin repair and hole policy - #351
Merged
miss-yusrah merged 2 commits intoAug 31, 2026
Merged
Conversation
Counters can theoretically drift from records/chunks with no on-chain way to detect or fix it short of redeploying — only the fuzz suite would catch it, not mainnet. Adds repair_index(apply), admin-only, which recomputes count/verified by walking the chunked index and each record, and reports drift via dry run (apply=false) before an explicit apply=true writes the correction. Never runs automatically on any other call. Covered by tests/repair_index.rs against a deliberately drifted fixture; documented in docs/SECURITY.md.
Existing compaction/removal tests are all scenario-based, so there is no general check that the flat index, the chunked index, and stored records actually agree. Adds a property test that reads the flat index and every chunk directly out of storage (bypassing get_all_registered, which would silently hide a mismatch) and asserts membership holds in both directions across register/remove/compact sequences, including a chunk-boundary case. Documents the hole policy in docs/REGISTRY_INVARIANTS.md: membership holes are never allowed, capacity (chunk under-fill) holes are expected and compact_index only repacks density, not membership.
|
@josunday002 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
closes #320
closes #321
closes #322
closes #323