Plan: Property-based tests for cache key canonicalization invariants (5.1.4a) - #458
Plan: Property-based tests for cache key canonicalization invariants (5.1.4a)#458leynos wants to merge 4 commits into
Conversation
…ests (5.1.4a) Draft ExecPlan covering proptest invariants for RouteCacheKey canonicalization: theme permutation invariance, coordinate rounding equivalence/divergence, normalization idempotence, key format, and documented exclusions (BTreeMap key-order vacuity, large-integer loss). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fold in the six-lens panel findings: add single-leaf divergence (V-8) and known-answer digest (V-9) obligations; correct the canonicalize_and_hash and from_f64-fallback claims; bound coordinate generation to +/-1e6; replace five manual negative controls with a scoped cargo-mutants gate; add AXM-4 (ryu injectivity); mechanize the no-mutation-committed and pipefail guards; fix baseline counts and property naming. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Reviewer's GuideExecPlan document for roadmap item 5.1.4a, detailing how to add property-based tests (proptest) for route cache key canonicalization invariants in the backend, including test module splitting, specific properties to implement, verification/non-vacuity strategy, mutation testing gates, and related documentation updates. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary
Draft ExecPlan for roadmap item 5.1.4a: property-based tests (proptest) for route cache key canonicalization invariants, discharging the TODO left in
backend/src/domain/ports/cache_key.rsafter 5.1.4 shipped.Plan document: docs/execplans/backend-5-1-4a-cache-key-canonicalization-property-tests.md
The plan covers:
-0.0collapse case and a known-answer SHA-256 digest test (the only test that fails if the hash algorithm or pre-hash serialization is swapped).cargo mutants --filegate (the repo already runs nightly mutation testing) plus two manual seeded faults cargo-mutants cannot generate.serde_jsonwithoutpreserve_orderis BTreeMap-backed), and coordinate generation is bounded to +/-1e6 to stay out of the genuinely non-idempotent extreme-float region.cache_key/tests.rs+tests/properties.rs) following theapalis_route_queueprecedent to respect the 400-line file limit.The draft was reviewed pre-delivery by a six-lens design panel (structure, alternatives, cost, contracts, failure modes, maintainability); all panel conditions are folded in, including two findings that materially changed the design (the unpinned SHA-256 clause and the unbounded idempotence domain).
Per the ExecPlan discipline, implementation starts only after this plan is approved.
References
🤖 Generated with Claude Code
Summary by Sourcery
Documentation: