comparison · c_60c575d6de0d (tommy-mor) vs c_554c5efe648b (tommy-mor)
Side A merely deletes a speculative design doc, removing no functional code and providing no lasting value beyond repo tidiness. Side B consolidates real code by merging room_route.rs into paths.rs and moving url_identity_tests.rs into url_normalize.rs, reducing module fragmentation while preserving all functionality and tests intact, which is a genuine (if modest) structural improvement.
Side B performs a focused module consolidation (inlining room_route helpers + tests into paths.rs and url_identity_tests into url_normalize.rs) that slightly improves cohesion without changing behavior. Side A only deletes an unused design-doc PLAN.md, which adds no lasting code, tests, or runtime value.
Side B performs a real code consolidation by moving the room route helpers (`ROOM_SHORT_ID_LEN`, `room_route_segment`, `room_id_from_route_segment`) into `paths.rs`, updating re-exports, and preserving behavior with migrated tests. Side A only deletes `PLAN.md`, removing design documentation without improving functionality or fixing a bug.
comparison · c_554c5efe648b (tommy-mor) vs c_3e6a3370542e (tommy-mor)
Side B implements a real feature: pseudonym-based actor identity with UUID-keyed vote dedup, replacing blind edge-merge accumulation with idempotent uuid_votes storage, plus schema version bumps, migration seeding, and updated tests across many call sites—substantive lasting design work fixing a Sybil/re-vote correctness gap. Side A is a pure module reshuffle (moving room_route and url_identity_tests into other files) with no behavioral change, offering negligible lasting value beyond cosmetic reorganization.
A only consolidates existing room_route helpers into paths.rs and relocates url_identity_tests with no behavior change. B redesigns vote identity: schema/event fields, uuid_votes + pseudonym map, edge rebuild/rollback for per-actor pair dedup, and projection storage—real lasting domain architecture versus pure file churn.
Side B makes a substantive architectural change to vote handling: it replaces incremental edge merges with per-actor `uuid_votes` deduplication, introduces pseudonym-to-UUID resolution and seeding, updates event/schema versions, and rebuilds rankings from stored deduplicated votes, with corresponding validation and regression tests. Side A is primarily a consolidation/refactoring that moves room-route helpers into `paths.rs`, relocates tests, and deletes a module without materially changing behavior.