Jump to a problem, path or page
Jump to a problem, path or page
Updates as you edit. Run the review to record it; passing every check completes the problem.
Not yet passed: Caller responsibility
Add Caller and define its responsibility.
Not yet passed: BloomFilter responsibility
Add BloomFilter and define its responsibility.
Not yet passed: Hash strategy responsibility
Add Hash strategy and define its responsibility.
Not yet passed: Bit array responsibility
Add Bit array and define its responsibility.
Not yet passed: Codec responsibility
Add Codec and define its responsibility.
Not yet passed: Caller → BloomFilter
A directed path must connect Caller to BloomFilter. Arrows represent requests, dependencies, or event flow.
Not yet passed: BloomFilter → Hash strategy
A directed path must connect BloomFilter to Hash strategy. Arrows represent requests, dependencies, or event flow.
Not yet passed: BloomFilter → Bit array
A directed path must connect BloomFilter to Bit array. Arrows represent requests, dependencies, or event flow.
Not yet passed: BloomFilter → Codec
A directed path must connect BloomFilter to Codec. Arrows represent requests, dependencies, or event flow.
Not yet passed: What does a positive membership response mean?
Not yet passed: When may filters be merged using bitwise OR?
Not yet passed: Why is clearing bits to delete unsafe?
Not yet passed: Interfaces and invariants
Write at least 80 characters describing concrete operations, inputs, outputs, state and errors. This check measures completeness, not semantic correctness.
Not yet passed: Trade-offs and failure cases
Write at least 80 characters about alternatives, failure handling and edge cases. Review the reasoning yourself using the reference discussion.
Rule-based educational feedback. Notes are checked by length only; topology checks confirm directed reachability. These checks do not validate semantics, latency, reliability or every valid design.
Represent membership as a fixed bit array and deterministic key-to-position mapping. Insert sets all positions and lookup checks them; configuration compatibility and safe bit updates preserve the no-false-negative property. Validate positive bounded bit/hash counts and a supported deterministic byte hashing strategy. Allocate a zeroed bit array and immutable configuration. Compute exactly k bounded positions per key. Under a shared synchronization contract, insert ORs bits and lookup checks whether every required bit is set. Serialize the exact bit count, hash parameters, seed, encoding version and payload length. Reject malformed or incompatible input before allocation. Merge compatible filters using OR under synchronization. Track approximate occupancy for saturation warnings; rebuilding requires the original source keys, which the filter does not retain.
There is no single correct diagram. Explain where yours differs and which requirement justifies it.