fix: resolve issues #883 #884 #885 #886 — fuzz, mutation, disabled-tests checklist, JSDoc - #972
Merged
Conversation
AtomicIP#886 — Fuzz testing for validation layer - Extend validation_fuzz_tests.rs with per-schema integration fuzz tests for all 13 public request schemas (CommitIp, TransferIp, VerifyCommitment, InitiateSwap, BatchInitiateSwap, AcceptSwap, RevealKey, CancelSwap, CancelExpiredSwap, RegisterWebhook, BulkCommitIp, BulkInitiateSwap, PaginationParams, CursorPaginationParams) - Add .github/workflows/nightly-fuzz.yml: scheduled at 02:00 UTC daily, runs the fuzz unit tests + cargo-fuzz targets with a 5 min time-box each AtomicIP#885 — Mutation test coverage for IP Registry - Extend contracts/ip_registry/src/mutation_tests.rs with targeted tests for co-ownership (add_co_owner / remove_co_owner), versioning (create_ip_version, sequential IDs, get_ip_versions), notarization guard paths (no key configured, wrong sig length, notary sig absent before notarization), and ownership challenges (issue / respond / verify / expire) AtomicIP#884 — Tracked checklist for disabled test modules - Extend scripts/check-disabled-tests.sh from ip_registry-only scope to cover all contracts/ (atomic_swap now included) - Replace the stale-FIXME grep in ci.yml with a count-gate step that: - allowlists benchmarks.rs and invariant_tests.rs (legitimate debt) - fails if any other file introduces a new FIXME merge-conflict comment - documents the baseline so it decreases as modules are re-enabled AtomicIP#883 — JSDoc annotations across src/ JS modules - Add @PARAM / @returns JSDoc to all exported functions that were missing annotations in: src/batch (batchMatcher, batchRoyaltyDistributor), src/insurance (assessRiskFactor in swapInsurance), src/matching (haversineKm, scoreMatch, findMatchesForBuyer, batchMatch in swapMatchingEngine), src/reputation (recencyWeight, scoreTier, batchCalculateReputation, getPersistedReputationScore in swapReputationScorer), src/royalty (validateRoyaltyConfig, getPendingRoyalties in swapRoyaltyTracker) - Document JSDoc vs full TypeScript migration decision in README.md
|
@OLAK6828 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.
Summary
Resolves #883, #884, #885, #886.
#886 — Fuzz testing for validation layer
api-server/src/validation_fuzz_tests.rs— added 13 per-schema integration fuzz tests covering every public request schema inschemas.rs..github/workflows/nightly-fuzz.yml— new scheduled workflow (daily at 02:00 UTC) that runs the fuzz unit tests and cargo-fuzz libFuzzer targets with a 5-minute time-box each; logs uploaded as artifacts.#885 — Mutation test coverage for IP Registry
Extended
contracts/ip_registry/src/mutation_tests.rswith targeted mutation-killing tests for:add_co_owner(percentage transferred, zero/overflow guard),remove_co_owner(entry removed, unknown co-owner panics)create_ip_version(parent link set, zero-hash/duplicate rejected, sequential ID,get_ip_versionslist updated)get_ip_notary_signaturereturnsNonebefore notarizationissue_ownership_challenge(stored, ID ≥ 1),respond_to_ownership_challenge(response hash stored),verify_ownership_challenge(wrong response → false),expire_challenge(panics before TTL, removes from storage after TTL)#884 — Tracked checklist for disabled test modules
scripts/check-disabled-tests.sh— widened scope fromcontracts/ip_registryto allcontracts/soatomic_swapis now included..github/workflows/ci.yml— replaced the simple grep with a count-gate step that allowlistsbenchmarks.rsandinvariant_tests.rs, enforces a baseline of 0 new FIXME merge-conflict comments elsewhere, and fails the build if the count rises.#883 — JSDoc annotations across
src/JS modulesAdded
@param/@returns/@typedefJSDoc to all previously-unannotated exported functions insrc/batch,src/insurance,src/matching,src/reputation,src/royalty. Added JSDoc vs TypeScript migration decision toREADME.md.Checklist
validation_fuzz_tests.rs#886 all public request schemas have integration fuzz tests; nightly CI schedule added#[cfg(test)] moddeclarations #884 check-disabled-tests.sh covers atomic_swap; CI count-gate enforces baselinesrc/JS modules #883 JSDoc on all exported functions; README documents JSDoc vs TypeScript decisioncloses Add JSDoc/type annotations across
src/JS modules #883closes Establish a single tracked checklist of all disabled
#[cfg(test)] moddeclarations #884closes Add mutation testing to the IP Registry contract #885
closes Add fuzz testing for the API server's validation layer beyond
validation_fuzz_tests.rs#886