constitution · epochs · watch · epoch 3

commit

c_8dc1a8119370e7cbdc

tommy-mor · sha1:529cc941dc3aaac852db27092685a1c8b16a3424

download patch · raw event

message

Replace autocomplete parser with paste-and-go navigate.

The keystroke transition graph was unreliable; a textarea plus Go button now parses pasted Reddit URLs and redirects to the subreddit ranking scope.

Co-authored-by: Cursor <cursoragent@cursor.com>

comparisons involving this commit

comparison · c_6864b1ca8ce6 (tommy-mor) vs c_8dc1a8119370 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 8:2 · permalink

Side B removes a fragile, over-engineered 1800-line keystroke-parsing state machine (with race conditions requiring a whole Playwright test harness) and replaces it with a small, correct, testable paste-and-go URL parser plus simplified UI/JS/tests — a real simplification and bugfix with lasting architectural value. Side A is purely CSS polish (padding, borders, focus outlines) across two theme files, which is cosmetic churn with no functional or structural improvement.

~x-ai/grok-latest · winner B · 1:6 · permalink

B replaces an unreliable ~1.8k-line keystroke graph parser, action types, race-prone JS, and a Playwright race test with a small deterministic paste-and-go subreddit extractor plus redirect—clear lasting design simplification. A only polishes CSS (padding, borders, focus rings, theme overrides) for voting/pin UI with no behavioral or structural fix.

openai/gpt-chat-latest · winner B · 8:1 · permalink

Side B replaces a large, unreliable autocomplete transition-graph system with a much simpler URL parser that extracts subreddit names, redirects directly to the ranking page, removes obsolete parser infrastructure, updates the UI flow, and adds focused tests for the new behavior. Side A is primarily visual polish and accessibility improvements in CSS (focus-visible states, spacing, styling, and vote-compare layout), which improve usability but do not change the project's core behavior as substantially.

comparison · c_8dc1a8119370 (tommy-mor) vs c_afa638171cf7 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 70:30 · permalink

Side B adds a real, coherent feature (Reddit OAuth linking with UUID-as-canonical-identity), including conflict handling, trust-weight batching fixes, private linked-provider listing, and updated test harness/mocks—net positive functional and architectural value. Side A mostly deletes a large but working (if arguably over-engineered) parser graph and its tests, replacing it with a much simpler regex-like parser and a paste-and-go UI, which is a reasonable simplification but is largely destructive/refactor-y rather than adding new capability, and it removes test coverage (parser_race.clj) without clear compensating value.

~x-ai/grok-latest · winner B · 3:2 · permalink

B establishes lasting identity architecture: UUID as the sole principal, multi-provider OAuth linking (GitHub + Reddit) with conflict handling, private linked-provider UI, and correct in-batch trust-weight updates—foundational product infrastructure with tests/mocks. A is a strong simplification (replacing an unreliable ~1.8k-line keystroke graph and race plumbing with paste-and-go URL parse + redirect), but it mainly removes a failed navigation experiment rather than adding durable core capability.

openai/gpt-chat-latest · winner B · 5:2 · permalink

Side B adds a substantial, durable identity architecture: it introduces Reddit OAuth alongside GitHub, changes authentication so OAuth providers link to a canonical UUID, adds conflict handling, provider-link persistence, private linked-provider views, new routes, projection/storage updates, and trust-weight fixes. Side A simplifies the UI by replacing a fragile autocomplete parser with a paste-and-go flow and removes a large amount of parser complexity, but it also drops interactive parsing functionality in favor of a narrower URL extractor, making it a more localized UX simplification than the foundational authentication and identity work in Side B.

comparison · c_a896b2dc05d5 (tommy-mor) vs c_8dc1a8119370 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 72:28 · permalink

Side B removes a ~1800-line brittle keystroke-transition parser/autocomplete graph (with its race-condition test harness, client-side debounce logic, and CSS) and replaces it with a small, correct, well-tested URL-parsing function plus a simple paste-and-go form, meaningfully simplifying the codebase while fixing real reliability issues. Side A is a reasonable internal storage refactor (deque->append-only list with query-time capping) but is a much smaller, more localized change with lower overall impact.

~x-ai/grok-latest · winner B · 3:1 · permalink

B replaces an unreliable ~1800-line keystroke graph parser (plus parser_action, race-handling JS, and Playwright test) with a small paste-and-go URL extractor and redirect, permanently removing a complex failure-prone subsystem. A is a sound but narrower design change (Deque→List, write-time trim→read-time cap) in the projection path; valuable, yet secondary to B’s net simplicity and correctness gain on a core user flow.

openai/gpt-chat-latest · winner A · 4:1 · permalink

Side A makes a substantive storage-model redesign by replacing the durable recent-vote deque with an append-only list, removing post-commit trimming, updating the schema version, and enforcing the cap at read time with a regression test. Side B largely simplifies the UI by deleting the complex autocomplete/parser graph in favor of a paste-and-go textarea and redirect flow, which is a product simplification but removes substantial functionality rather than adding durable infrastructure.

comparison · c_af08bd851e49 (tommy-mor) vs c_8dc1a8119370 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

Side B removes ~1800 lines of a fragile, over-engineered keystroke-transition parser graph (with its brittle race-condition test) and replaces it with a small, testable, deterministic paste-and-go URL parser plus a simpler UI, net reducing complexity and fixing a stated reliability problem. Side A adds real functionality (a pairwise vote-compare page, bridge-pair selection logic, id normalization) but is more feature-churn/addition without removing prior debt, and 'refactor' as commit message undersells substantial new surface area added without corresponding cleanup elsewhere.

~x-ai/grok-latest · winner A · 3:1 · permalink

A lands core product surface: a full /vote compare page, bridge-first pair selection in pair.rs, in-place morph of edge history after record_vote, ItemId::from_storage normalization, and integration/browser coverage. B’s paste-and-go rewrite correctly deletes an unreliable ~1.8k-line keystroke graph and race workarounds, but that is a navigation UX simplification, not new ranking/voting capability of comparable lasting depth.

openai/gpt-chat-latest · winner A · 5:1 · permalink

Side A adds substantial new functionality: a dedicated pairwise voting page, pair-selection logic that prioritizes bridging disconnected ranking components, in-place UI morphing after votes, canonicalized item ID parsing to fix Reddit URL inconsistencies, and extensive unit/integration tests. Side B mainly removes a large autocomplete/parser system in favor of a simpler paste-and-go flow and redirect, simplifying the UI but largely replacing existing behavior rather than adding lasting project capabilities.

comparison · c_c6f5afec1d36 (tommy-mor) vs c_8dc1a8119370 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

Side B removes a ~1700-line over-engineered, unreliable keystroke-transition parser and replaces it with a small, robust paste-and-go URL parser plus matching tests, deleting significant dead complexity (parser_action.rs, race-condition JS/tests) while keeping functionality working and well-tested. Side A adds a legitimate, moderate-scope feature (pool-scoped voting) with clean threading through several files, but it's a smaller, more incremental improvement compared to B's substantial simplification and removal of fragile, hard-to-maintain code.

~x-ai/grok-latest · winner B · 2:3 · permalink

B replaces an unreliable ~1.8k-line keystroke graph (plus parser_action, race mitigation JS, and Playwright race test) with a small, correct paste-and-go URL parser and redirect—lasting design cleanup that removes real failure modes. A is a solid, focused product feature (pool-scoped pair pick/nav and UI affordance), but it extends an existing path rather than retiring a broken subsystem.

openai/gpt-chat-latest · winner A · 5:2 · permalink

Side A adds a substantial new capability: pool-scoped voting, including new `/vote?pool=` behavior, pair selection constrained to child items, UI entry points, propagation of pool context through vote submission, and navigation updates. Side B simplifies the Reddit navigation flow by replacing a complex autocomplete parser with paste-and-go URL parsing and redirects, but it mainly removes existing functionality and UI complexity rather than adding comparable long-term project capability.

comparison · c_8dc1a8119370 (tommy-mor) vs c_597d3f736194 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 65:35 · permalink

Side A eliminates an ~1800-line over-engineered, admittedly unreliable keystroke-parsing graph and its associated test/dependency (parser_action.rs, parser_race.clj, Playwright setup) and replaces it with a small, robust 87-line URL parser plus simple paste-and-go UI — a substantial net simplification and reliability fix to production code. Side B fixes real bugs in test-mock infrastructure (regex vs string split, wrong stream calls, redirect response codes, nil state), which is valuable but scoped narrowly to test harness correctness rather than the application's core design.

~x-ai/grok-latest · winner A · 4:1 · permalink

A replaces an unreliable ~1.8k-line keystroke graph, action types, race harness, and live-complete UI with a small paste-and-go URL parser plus redirect—lasting design simplification and a real product path. B only repairs OAuth/E2E mocks (split regex, request body, nil-safe token/state, CSS selectors), which restores tests but is narrower and non-product.

openai/gpt-chat-latest · winner A · 4:3 · permalink

Side A replaces a large, unreliable autocomplete transition-graph with a much simpler URL parser and paste-and-go flow, removing substantial complexity (`parser_action.rs`, graph logic, client-side race handling) while adding focused parsing tests and direct navigation to subreddit pages. Side B fixes important OAuth test infrastructure bugs (correct request body reading, safer query/state parsing, redirect handling, and mock exception handling), but its impact is confined to restoring E2E test reliability rather than simplifying core application behavior.

comparison · c_8dc1a8119370 (tommy-mor) vs c_978e283f2229 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 6:4 · permalink

Commit A replaces an overengineered, unreliable 1800-line keystroke-transition parser/graph with a small, testable ~90-line URL-parsing function plus simpler UI wiring, deleting substantial complexity (parser_action.rs, race-condition JS, Playwright race test) while preserving core functionality with clearer semantics and tests. Commit B is a reasonable CLI UX reshaping (forum list/show/post subcommands, docs updates) but is comparatively lower-impact churn—mostly renaming/restructuring existing commands and docs without fixing a fundamentally broken design.

~x-ai/grok-latest · winner A · 3:1 · permalink

A removes an unreliable ~1.8k-line keystroke graph parser, parser_action types, race-prone JS, and browser race tests, replacing them with a small paste-and-Go URL extractor and redirect—correct lasting simplification. B mainly restructures working CLI surface (ingest → forum post/list/show, docs/RPC strings/tests) without comparable bugfix or complexity removal.

openai/gpt-chat-latest · winner A · 4:1 · permalink

Side A replaces a large, unreliable keystroke-driven autocomplete graph with a much simpler paste-and-go flow, removes the obsolete parser action system, redirects directly to the target subreddit on successful parsing, and adds focused URL parsing tests. Although it deletes a lot of code, the core lasting change is a substantial simplification of architecture and behavior to address reliability, whereas Side B primarily restructures CLI commands, help text, and documentation around renamed interfaces with comparatively limited underlying functionality changes.

comparison · c_8dc1a8119370 (tommy-mor) vs c_e57094c6229a (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 60:40 · permalink

Side A simplifies a genuinely broken, overcomplicated autocomplete parser into a plain paste-and-go form, which is a sound simplification but mostly deletes speculative complexity. Side B adds substantive new functionality (explicit user-initiated Reddit fetch, persisting full API payloads via an event-sourced EntityImported event, replay support, env-based config with dotenv, and a fixture-backed integration test), representing more durable architectural and feature value despite the vague commit message.

~x-ai/grok-latest · winner B · 2:3 · permalink

B adds lasting product capability: explicit FetchEntity UI, EntityImported event-log replay with full JSON payloads, configurable Reddit API bases/OAuth, and an end-to-end mock import test—core persistence and import design. A correctly deletes an unreliable ~2k-line keystroke graph for a simple paste-and-go parser, which is valuable cleanup, but mainly reduces complexity rather than extending durable domain behavior.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B adds durable infrastructure: explicit user-triggered entity fetching, event-sourced persistence of full imported API payloads (`EntityImported`), replay support, configurable Reddit API/OAuth endpoints, and UI/server plumbing for fetch actions with tests. Side A mainly removes a complex autocomplete system in favor of a simpler paste-and-go flow and URL parser, which simplifies the codebase but also drops significant functionality rather than adding comparable long-term capability.

comparison · c_48edc893c5b0 (tommy-mor) vs c_8dc1a8119370 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 60:40 · permalink

Side A adds a coherent, well-documented new subsystem (form_template holes, ui_action parsing, /ui endpoint) with tests and refactors web_post handlers into reusable functions without breaking existing behavior—net positive, additive architecture. Side B rips out a large complex (if messy) autocomplete parser and replaces it with a simpler paste-and-go flow, which is a reasonable simplification but deletes substantial existing functionality/tests (including a Playwright race test) and is more of a scope reduction than a durable feature addition; net value is more mixed/negative in terms of preserved capability.

~x-ai/grok-latest · winner A · 3:2 · permalink

Side A adds lasting architectural value: a reusable form_template hole-filler, typed HtmlUiAction + POST /ui dispatcher, and progressive disclosure of new-thread forms, with shared run_* helpers so existing web posts stay correct. Side B correctly kills an unreliable ~2k-line keystroke graph for a simple paste-and-go parse/redirect, but that is largely subtracting failed experiment rather than installing comparable new design surface.

openai/gpt-chat-latest · winner A · 4:1 · permalink

Side A introduces a substantial new UI action architecture: a unified POST /ui endpoint with typed HtmlUiAction parsing, JSON form-template substitution, reusable web-post handlers, and integration for expanding thread forms while preserving permission checks. Side B mainly removes a complex autocomplete system in favor of a simpler paste-and-go URL parser and redirect, which simplifies behavior but also deletes large amounts of functionality rather than adding broadly reusable infrastructure.

comparison · c_8dc1a8119370 (tommy-mor) vs c_48aeaf9b52c3 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 80:20 · permalink

Side B fixes a real algorithmic correctness bug (bipartite Markov chain oscillation in rank centrality) with a principled derivation tied to the cited paper, plus targeted regression tests in both Rust and Clojure across multiple topologies. Side A mostly deletes a large, over-engineered autocomplete parser and its test suite in favor of a simpler paste-and-go textarea, which is a reasonable simplification but is primarily churn/removal rather than a substantive lasting improvement, and it also strips out a Playwright race-condition test without an equivalent replacement guarantee.

~x-ai/grok-latest · winner B · 2:3 · permalink

B fixes a core ranking-math bug (wrong d_max made star topologies bipartite and yield uniform scores) to match Negahban–Oh–Shah, with tight Rust and fixture-driven Clojure regressions—directly correcting the product’s central output. A is a worthwhile simplification (deleting the brittle keystroke graph/parser_action/race harness for paste-and-go), but it mainly retires secondary UI machinery rather than fixing lasting algorithmic correctness.

openai/gpt-chat-latest · winner B · 5:1 · permalink

Side B fixes a correctness bug in the core Rank Centrality implementation by replacing the normalization divisor with the canonical degree-based d_max, preventing oscillation in star-topology graphs and producing the correct stationary distribution. It also adds focused Rust and end-to-end fixture regressions for star, inverse star, chain, and cycle cases, whereas Side A primarily removes a complex autocomplete/parser system in favor of a simpler paste-and-go UI and deletes substantial functionality rather than improving the underlying ranking logic.

comparison · c_8dc1a8119370 (tommy-mor) vs c_2722a3195825 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

Side B refines a core algorithm (pair selection for ranking) with clear rationale, careful priority tie-breaking logic, and new targeted tests, improving the actual ranking quality feature of the app. Side A rips out a large, working (if complex) keystroke-autocomplete parser graph and replaces it with a much simpler paste-and-go textarea, which is a legitimate simplification but net removes substantial functionality (live autocomplete, guides, scrolling suggestions) and deletes a dedicated race-condition browser test without replacing that coverage, making it more of a regression/simplification than a strict improvement.

~x-ai/grok-latest · winner A · 2:1 · permalink

A replaces an unreliable ~1.8k-line keystroke graph (plus parser_action, race-guard JS, and the Playwright parser_race test) with a small, correct paste-and-go URL parser and redirect—removing lasting complexity and fixing real navigation. B is a solid, focused improvement to pair ranking priorities with good tests, but it refines existing selection logic rather than removing a broken subsystem.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B makes a targeted algorithmic improvement to pair selection by introducing component-aware bridge priorities and rank-based refinement order, then backs it with focused tests covering attachment, spanning-tree completion, and adjacent-rank selection. Side A removes a large autocomplete/parser graph in favor of a much simpler paste-and-go flow, which simplifies the codebase but also drops substantial functionality (autocomplete, incremental parsing, race handling) while replacing it with basic URL extraction and redirect behavior.

comparison · c_8dc1a8119370 (tommy-mor) vs c_45dfa34511fe (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 6:4 · permalink

Side A removes ~1800 lines of speculative, unreliable keystroke-transition-graph parser code and replaces it with a small, robust paste-and-go implementation, deleting a flaky JS race-condition workaround and a Playwright test that existed only to work around that bug — a clear net simplification and real bugfix. Side B is a mixed bag: it adds a genuinely useful YouTube/query-param URL-identity normalizer with good test coverage, but it also introduces a fragile room-route encoding (concatenating short-id+slug into one path segment, relying on a fixed-width assumption) that degrades URL readability and adds indirection without a clearly compelling justification, making its overall lasting value less clean-cut than A's decisive complexity reduction.

~x-ai/grok-latest · winner A · 3:1 · permalink

Commit A deletes an unreliable ~1800-line keystroke graph parser plus race-prone JS/tests and replaces it with a simple paste-and-go URL extractor that redirects to ranking—removing walk-on complexity and fixing the actual UX failure. Commit B is a solid URL/routing harden (room path encoding + YouTube/query identity normalization) but is more incremental infrastructure compared to A’s decisive simplification.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B introduces reusable URL infrastructure by centralizing room route encoding/decoding (`room_route_segment`/`room_id_from_route_segment`), updating routing and link generation across the application, and adding URL normalization utilities (including canonicalization for YouTube and query ordering) with focused tests. Side A mainly replaces a complex autocomplete/navigation system with a much simpler paste-and-go flow by deleting the parser graph and related UI, which simplifies maintenance but also removes functionality rather than adding broadly reusable project capabilities.

comparison · c_8dc1a8119370 (tommy-mor) vs c_4a5c84c0a37b (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

Side B fixes a real display/URL-encoding bug (hrefs now use display_path instead of raw storage path) and strengthens a browser test to exhaustively vote all 45 pairs and assert correct ranking output, adding real verification value. Side A mostly deletes a large, elaborate but unused keystroke-autocomplete parser and replaces it with a much simpler paste-and-go flow, which is a reasonable simplification but is largely destructive/refactor churn rather than a new correctness fix, and also removes a nontrivial regression test (parser_race.clj) without a clear replacement guard for the same race condition.

~x-ai/grok-latest · winner A · 3:1 · permalink

A replaces an unreliable ~1.8k-line keystroke graph, parser_action surface, race-prone JS, and Playwright race test with a small deterministic paste-and-go parser plus redirect—lasting design simplification and a real reliability fix. B’s display_path href correction and full 45-pair ranking assertion are precise and valuable, but narrower in scope than removing and rebuilding the broken navigation subsystem.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B fixes user-facing URL generation by using ItemId::display_path() instead of internal storage URLs for vote links, keeping hrefs consistent with the displayed DSL, and substantially strengthens the browser test to exercise all 45 pairwise comparisons and verify the final ranking and connectivity via RPC. Side A simplifies the navigation flow by replacing an unreliable autocomplete graph with a paste-and-go parser, but it also removes a large amount of parsing functionality and related tests in favor of a much narrower implementation.

comparison · c_8dc1a8119370 (tommy-mor) vs c_c25451965a7f (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

Side B is a small, targeted bugfix that centralizes hostname/base-URL resolution (new util.get-base-url, window.location.origin fallback) across multiple OAuth callback modules and fixes CI deploy triggers—correcting real deployment/redirect bugs for custom hosts. Side A is a large rewrite/simplification of a parser feature (replacing a complex but working autocomplete graph with a simpler paste-and-go form) which is reasonable but removes substantial tested functionality and a Playwright race test without clear evidence the removed behavior was net negative; it's more of a design pivot than a fix, with less certain lasting value than B's cross-cutting correctness fix.

~x-ai/grok-latest · winner A · 4:1 · permalink

Commit A replaces an unreliable ~1800-line keystroke graph parser (plus parser_action, race-prone JS, Playwright race test, and render paths) with a small correct paste-and-go URL parser and redirect, permanently cutting complexity while preserving the real job (open a subreddit rank scope). Commit B is a solid but narrower fix: centralize base URL via HOSTNAME/window.location.origin and point Fly deploys at staging—useful ops/correctness, not a comparable design win.

openai/gpt-chat-latest · winner A · 4:1 · permalink

Side A replaces a large, fragile autocomplete transition-graph parser with a small URL extractor that returns a subreddit, rewires the UI to redirect directly on success, removes the obsolete parser action/rendering machinery, and adds focused parsing tests. Side B is a useful configuration cleanup—centralizing base-URL generation via `util/get-base-url`, using `window.location.origin`, and updating deployment to the staging branch—but it is primarily infrastructure and environment handling rather than a core behavioral simplification.

comparison · c_8dc1a8119370 (tommy-mor) vs c_552f408ae0da (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

Side B adds a small, well-contained feature (RoomList RPC + CLI subcommand) with correct server-side per-principal filtering and thorough integration tests proving isolation, providing real lasting value. Side A deletes a large, over-engineered but functional graph-based parser and replaces it with a much simpler paste-and-go implementation—this is a reasonable simplification, but it's largely destructive churn (removing thousands of test lines and features like live suggestions) rather than adding new lasting capability, and the net value is more about reducing complexity than building durable functionality.

~x-ai/grok-latest · winner A · 3:2 · permalink

A replaces an unreliable ~1.8k-line keystroke graph (plus parser_action, race-prone JS, and Playwright harness) with a small correct URL/path parser and paste-and-Go redirect, a lasting design simplification. B adds useful RoomList RPC/CLI with solid isolation tests, but is a smaller additive surface on existing grants rather than fixing a core broken approach.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B adds a new, coherent capability: a `RoomList` RPC, matching CLI subcommand, shared request/response types, and integration tests that verify authenticated per-user room visibility and isolation. Side A largely replaces a sophisticated autocomplete/parser system with a much simpler paste-and-go textarea and redirect, deleting substantial functionality and tests while simplifying URL parsing, making it a tradeoff rather than a clear lasting improvement.

comparison · c_8dc1a8119370 (tommy-mor) vs c_0c466eea1ed4 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 6:4 · permalink

Side A rips out a genuinely broken, overengineered keystroke-transition parser (1800+ lines of fragile graph/backtracking logic plus a Playwright race test) and replaces it with a small, correct, testable subreddit-URL parser and simple paste-and-go UI, net-simplifying the codebase while fixing real reliability issues. Side B adds a reasonable but purely auxiliary dev CLI (sorterc) that duplicates server logic for offline linting/compiling—useful tooling but lower-stakes and more speculative than fixing a broken core UX flow shipped to users.

~x-ai/grok-latest · winner A · 3:1 · permalink

A replaces an unreliable ~1800-line keystroke graph parser plus race-prone autocomplete UI/tests with a small correct paste-and-go URL extractor and redirect, deleting whole modules (parser_action, parser_race) and lasting tech debt. B adds useful but peripheral offline dev tooling (sorterc + offline.rs compile/scan) that does not change core product behavior.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B adds a substantial new offline capability: a reusable `offline` module plus a new `sorterc` workspace binary that compiles `.sorter` documents, replays JSONL event logs, reports malformed ingests, and includes tests and CLI integration. Side A mainly replaces a complex autocomplete/parser UI with a simpler paste-and-go flow by deleting the transition graph and related UI logic, which simplifies maintenance but also removes interactive functionality rather than adding broadly reusable project infrastructure.

comparison · c_cd965c070df3 (tommy-mor) vs c_8dc1a8119370 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

Side B removes ~1700 lines of a fragile, over-engineered keystroke-transition parser (with a race-condition test, JS debounce logic, and unused CSS) and replaces it with a small, robust paste-and-parse function plus simple UI, meaningfully reducing complexity and fragility while preserving functionality. Side A is a solid, correct bugfix (fixing child import wiring and unranked labels) but is smaller in scope and lower lasting impact than eliminating a large brittle subsystem.

~x-ai/grok-latest · winner B · 2:1 · permalink

B replaces an unreliable ~1.8k-line keystroke graph, parser_action types, race-prone JS, and Playwright race test with a small paste-and-go URL parser and redirect—lasting maintainability by deleting brittle subsystem code. A is a real, precise bugfix (apply_entity_under_parent vs ensure_path/link_child, title-based unranked labels, stronger import tests) but narrower in scope than removing the failed autocomplete architecture.

openai/gpt-chat-latest · winner A · 4:1 · permalink

Side A fixes a concrete data-model bug by introducing `apply_entity_under_parent` so Reddit listing imports attach posts directly under the subreddit without path expansion, and updates the ranking panel to display imported child titles by looking them up in the global tree. It also adds integration coverage for the import and SSE behavior, whereas Side B mainly replaces a sophisticated autocomplete workflow with a simpler paste-and-go URL parser and removes substantial functionality rather than improving core project behavior.

comparison · c_8dc1a8119370 (tommy-mor) vs c_c42f908efc44 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 6:4 · permalink

Side A removes an unreliable, ~1800-line keystroke-parsing state machine (plus its debounce/race-mitigation JS and a whole Playwright race test) and replaces it with a much simpler, correct paste-and-go flow, eliminating a real class of bugs and maintenance burden. Side B is a solid type-safety refactor (Deref impls, CanonicalItemUrl propagation) that reduces stringly-typed bugs, but it's incremental internal cleanup rather than fixing a demonstrably broken user-facing feature.

~x-ai/grok-latest · winner A · 4:1 · permalink

A removes an ~1800-line unreliable keystroke graph parser, parser_action, race-handling JS, and Playwright race test, replacing them with a small correct paste-and-go URL parser and redirect that still covers real Reddit paths. B only threads CanonicalItemUrl and adds Deref on href newtypes—useful type hygiene without changing product behavior—so the design simplification and bug-class removal in A carry more lasting value.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B strengthens core data modeling by changing `resolve_item` to return `CanonicalItemUrl`, propagating that typed identifier through validation, ranking, pair selection, and scope-change computation, eliminating repeated parse/wrap conversions and reducing stringly-typed APIs. Side A replaces a rich autocomplete/graph parser with a much simpler paste-and-go flow and deletes substantial parser logic and tests, which simplifies maintenance but also removes existing capabilities rather than improving the underlying architecture.

comparison · c_8dc1a8119370 (tommy-mor) vs c_410d9361a866 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 60:40 · permalink

Side A replaces a broken, overengineered keystroke-parser graph with a much simpler paste-and-go URL parser, which is a solid simplification but also deletes tests/docs and reduces functionality (no live suggestions) without adding new capability. Side B adds real user-facing feature work (Reddit post thumbnails/images/link rendering, new render module, fixture-backed test, CSS) that meaningfully improves the product surface with test coverage, making it more substantively valuable despite the terse commit message.

~x-ai/grok-latest · winner A · 3:1 · permalink

A replaces an unreliable ~1.8k-line keystroke graph, ParserAction surface, race-prone JS, and Playwright race test with a small paste-and-go URL parser and redirect—lasting design simplification that cuts real failure modes. B adds valuable Reddit thumb/image/link rendering and entity fields, but it is narrower additive UI polish rather than fixing a broken core path.

openai/gpt-chat-latest · winner B · 5:2 · permalink

Side B adds lasting functionality by extending the data model with `image_url` and `link_url`, extracting those fields from Reddit payloads, introducing reusable Reddit-specific rendering, and integrating thumbnails/full-image views into ranking lists and entity pages with supporting tests. Side A mainly removes a large autocomplete/transition-graph system in favor of a much simpler paste-and-go URL parser and redirect flow, which simplifies the codebase but also eliminates substantial interactive behavior rather than expanding core capabilities.

comparison · c_8dc1a8119370 (tommy-mor) vs c_8c6a5e2e4a54 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 6:4 · permalink

Side A replaces a fragile, over-engineered 1800-line keystroke autocomplete graph with a small, correct, well-tested paste-and-go parser (~90 lines), removing dead code, a stale test suite, and unused browser-test infra while adding focused unit tests and an integration test — a clear net simplification with real, verifiable behavior. Side B adds substantial new room/auth/cookie functionality but is messier (includes an unrelated AI-generated 'plan2.md' essay committed to the repo, large sprawling diffs across auth/forum/routing with no tests), making its lasting value harder to assess and its hygiene weaker despite more features.

~x-ai/grok-latest · winner A · 3:1 · permalink

Commit A replaces an unreliable ~1800-line keystroke graph parser (plus parser_action, race-prone JS, and Playwright test) with a correct ~87-line paste-and-go URL extractor and redirect, delivering lasting simplicity and a real reliability fix. Commit B re-wires room/forum UI, cookie sessions, and compose forms—valuable product surface—but is largely restoration/plumbing plus a long speculative plan2.md, so less durable design improvement per line.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B restores major application functionality by wiring browser login/logout with session cookies, adding authenticated web posting, room-aware thread views, routing, and access control across the forum UI. Side A does simplify an overcomplicated parser into a focused Reddit URL extractor and replaces fragile autocomplete with paste-and-go navigation, but it also removes a large amount of parser/UI capability rather than extending the project's core functionality.

comparison · c_8dc1a8119370 (tommy-mor) vs c_1c1c8e7a2de8 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 6:4 · permalink

Side A removes a large, fragile, over-engineered keystroke-parsing graph (1800+ lines) and replaces it with a small, correct paste-and-go implementation plus matching tests/UI simplification, net reducing complexity while preserving functionality. Side B is a reasonable simplification (removing unused room visibility) and adds a room-create CLI path, but it's smaller in scope and mostly plumbing/cleanup rather than a substantive architectural fix.

~x-ai/grok-latest · winner A · 3:1 · permalink

A replaces an unreliable ~1.8k-line keystroke graph (parser_action, race mitigation, Playwright test) with a small paste-and-go Result-based URL parser and redirect, lasting design simplification. B mainly wires an existing RoomCreate RPC to the CLI and drops visibility/HashMap rooms to a HashSet—useful product plumbing, but narrower and more incremental than A’s rewrite.

openai/gpt-chat-latest · winner B · 3:2 · permalink

Side B adds a durable new capability by exposing `room create` as a first-class CLI command, wiring it through the RPC path, updating documentation, and simplifying the room model by removing the unused visibility field and replacing the room registry with a `HashSet` of room IDs. Side A substantially simplifies the Reddit navigation flow by replacing a complex autocomplete graph with a paste-and-go URL parser and redirect, but it also removes a large amount of interactive parsing functionality in favor of a narrower workflow.

comparison · c_c124c217f89c (tommy-mor) vs c_8dc1a8119370 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 6:4 · permalink

Commit A adds substantial new functionality: a real background Reddit fetch worker with OAuth, rate-limit handling, backoff, JSON parsing for subreddits/posts, and integration into the tree/state, plus tests for URL mapping and parsing. Commit B simplifies the UI by ripping out a large complex (but working, tested) autocomplete graph and replacing it with a simpler paste-and-go parser, which is reasonable cleanup but net removes more functionality/tests than it adds, and its 'value' is largely subtractive/simplifying rather than building new capability.

~x-ai/grok-latest · winner A · 3:1 · permalink

Commit A replaces a no-op Reddit placeholder with a complete background broker (OAuth, rate-limit/backoff, dedup, JSON parsers for subreddits/posts, tree integration and fetch-on-browse), delivering durable core import capability. Commit B mainly deletes an over-engineered ~1800-line keystroke graph plus race-prone JS/Playwright harness in favor of a short paste-and-go URL parser; that cleanup is valuable but less foundational than A’s working data-import path.

openai/gpt-chat-latest · winner A · 5:1 · permalink

Side A implements substantial new functionality: a background Reddit fetch broker with request deduplication, rate-limit/backoff handling, optional OAuth, JSON parsing into project entities, integration into application state, and automatic fetch triggering when Reddit items are browsed or created. Side B mainly removes a large autocomplete/transition-graph system in favor of a much simpler paste-and-go URL parser and redirect UI, reducing complexity but largely replacing existing behavior rather than adding enduring infrastructure.

comparison · c_8dc1a8119370 (tommy-mor) vs c_57453fc5c6c0 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 65:35 · permalink

Side B adds a real, additive feature (garden ranking markdown copy) with focused new module, serde round-trip tests, integration test, and browser test coverage, without deleting any existing functionality. Side A rips out a large, working (if complex) autocomplete parser graph and replaces it with a much simpler paste-and-go textbox, which is defensible simplification but is largely deletion/downgrade of interactive UX with fewer net capabilities and no equivalent test depth for the new behavior.

~x-ai/grok-latest · winner A · 3:1 · permalink

A replaces an unreliable ~1800-line keystroke transition graph plus parser_action/render/race machinery with a small correct paste-and-go URL parser and redirect, deleting whole modules and the Playwright race test—lasting design simplification. B only adds an incremental CopyGardenRank clipboard feature (markdown list + button) following an existing CopyThread pattern, useful but narrower additive surface.

openai/gpt-chat-latest · winner B · 8:1 · permalink

Side B adds a durable end-user feature: a new `CopyGardenRank` UI action, server handler, markdown generation for ranked/unranked garden items, copy buttons in garden views, permission checks, and integration/browser tests verifying clipboard behavior. Side A largely removes a complex autocomplete system and replaces it with a much simpler paste-and-go flow, which simplifies maintenance but also drops substantial functionality in favor of basic URL parsing and redirect behavior.

comparison · c_8dc1a8119370 (tommy-mor) vs c_477013996fa5 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

Side B fixes a real bug (vote-compare-preview never actually morphed with the new post card) and adds working sorting/legend/fullscreen layout improvements with corresponding tests and CSS across themes. Side A is a large deletion of a complex but functioning keystroke-parser graph replaced by a much simpler paste-and-go textarea; while it simplifies the code, it removes substantial working functionality (autocomplete, DB suggestions, guides) without preserving equivalent value, making it more of a regression/simplification than a net addition of lasting value.

~x-ai/grok-latest · winner A · 4:1 · permalink

A removes an unreliable ~1.8k-line keystroke graph parser, parser_action, race-prone JS, and the Playwright race test, replacing them with a small paste-and-go URL→subreddit parse and redirect—lasting design simplification. B improves vote-compare UX (chromeless fullscreen layout, left/right ratio alignment, strength sort, post preview morph) but is localized polish on one flow, not a comparable architectural win.

openai/gpt-chat-latest · winner A · 4:1 · permalink

Side A replaces a large, unreliable keystroke-driven autocomplete graph with a much simpler paste-and-go flow: it removes the complex parser/action system, introduces a focused URL parser returning subreddit names, redirects directly to the ranking page on success, and adds targeted parsing tests. Side B improves the vote-compare page with fullscreen layout, better edge-history ordering/display, and live preview updates after posting, but these are narrower UI enhancements compared with A's substantial simplification and reliability improvement.

comparison · c_8dc1a8119370 (tommy-mor) vs c_509fc5155034 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

B builds substantial lasting architecture (a fractal ItemId/GlobalTree model, breadcrumb navigation, parent-child ranking, journal worker replacing settlement) that generalizes the app beyond flat subreddit scopes, while A merely replaces an over-engineered but self-contained autocomplete graph with a simpler paste-and-go parser. However, B's diff also carries real risk/incompleteness (renamed settlement->journal with duplicated logic, legacy scope shims, less test coverage of new tree semantics), so it's not a clean sweep, but its net design contribution outweighs A's more isolated simplification and deletion of test infrastructure.

~x-ai/grok-latest · winner B · 2:5 · permalink

A’s lasting value is a correct simplification: ripping out the unreliable ~1.8k-line keystroke graph, parser_action, race harness, and live-autocomplete JS in favor of paste-and-go plus a small URL parser. B goes further with durable product architecture—hierarchical ItemId canonicalization, GlobalTree/NodeState with parent-scoped rankings, journaled NodeEnsured events, breadcrumbs/entity panel, and item-based navigation—so the app’s core model, not only one UI entrypoint, becomes hierarchical and extensible.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B introduces a durable architectural shift from flat subreddit scopes to canonical `ItemId`-based hierarchical nodes, adding `GlobalTree`, breadcrumb navigation, parent-child rankings, canonical URL parsing, and a journal-backed persistence path. By contrast, Side A mainly simplifies the UI by replacing the fragile autocomplete parser with a paste-and-go flow and a much smaller parser, which is a valuable cleanup but narrower in long-term project impact.

comparison · c_8dc1a8119370 (tommy-mor) vs c_55666fe32c48 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 3:2 · permalink

Side A eliminates ~1800 lines of an overengineered, unreliable keystroke-transition graph parser and replaces it with a much simpler, testable URL-extraction function plus a paste-and-go UI, removing significant tech debt and a whole class of race-condition bugs (also dropping the now-obsolete Playwright race test). Side B is a solid, well-tested correctness fix (enforcing vote ratio bounds across DSL/UI/reducer) but is narrower in scope and impact than A's architectural simplification.

~x-ai/grok-latest · winner A · 2:1 · permalink

A removes an unreliable ~1.8k-line keystroke transition graph, ParserAction surface, race-prone JS debounce path, and Playwright race test, replacing them with a small deterministic URL→subreddit parser and paste-and-Go redirect that actually ships navigation. B is a real, well-tested domain fix (reject 0:* / *:0 and >100 ratios in DSL, UI handler, and reducer) but is a narrow constraint layer versus A’s lasting simplification of a broken subsystem.

openai/gpt-chat-latest · winner B · 5:1 · permalink

Side B adds a durable correctness constraint across the whole stack: it rejects invalid vote ratios (either side <1 or >100) in the DSL parser, UI handler, and reducer, preventing meaningless graph edges while adding regression tests for parser, reducer, integration, and browser behavior. Side A mainly replaces a complex autocomplete/transition-graph UI with a simpler paste-and-go flow, removing substantial functionality and tests while simplifying URL parsing, which is a product-direction change rather than a clear long-term correctness improvement.

comparison · c_8dc1a8119370 (tommy-mor) vs c_5e9a63e9d276 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 65:35 · permalink

B is a genuine refactor that centralizes canonicalization/href logic into a shared slug-types crate with correct-by-construction newtypes, updates dozens of call sites consistently, and adds preserved/expanded tests—net positive architectural cleanup. A deletes a large, over-engineered but working keystroke-autocomplete graph in favor of a much simpler paste-and-go textarea, which is a reasonable simplification but net removes functionality (live suggestions, tab-complete) and its own test suite/Playwright race test without replacing that coverage, making it more of a regression/simplification than a durable improvement.

~x-ai/grok-latest · winner A · 3:1 · permalink

A replaces an unreliable ~1.8k-line keystroke graph parser (plus parser_action, racey frontend, and Playwright race test) with a small, tested paste-and-go URL parser and redirect that permanently fixes the UX by design. B is a solid centralization of path canonicalization into slug-types with GardenItemUrl/ForumThreadUrl newtypes, but it mostly relocates existing helpers and tightens types rather than changing product behavior.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B consolidates canonical path normalization and URL construction into shared `slug_types::paths` newtypes (`GardenItemUrl`, `ForumThreadUrl`, `TildeOntologyPath`) and updates API/RPC types to use them, eliminating duplicated string-building logic across the server. Side A replaces a complex autocomplete parser with a much simpler paste-and-go flow and removes substantial UI, JS, and parser infrastructure; while it likely improves reliability, it is primarily a feature simplification rather than a foundational architectural improvement.

comparison · c_8dc1a8119370 (tommy-mor) vs c_effff18688f9 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 6:4 · permalink

Commit A deletes ~1800 lines of an unreliable, over-engineered keystroke-transition-graph parser and replaces it with a small, testable, correct URL-parsing function plus a simpler paste-and-go UI, genuinely simplifying the codebase and fixing a real reliability problem (also removing an entire flaky browser-race test). Commit B is a legitimate consolidation of POST /post, /post/check, /post/redact into a single /ui RPC endpoint with shared session resolution, which is solid but more mechanical refactor/plumbing with less net risk reduction and more residual duplication (e.g., duplicated helper functions) than A's decisive cleanup.

~x-ai/grok-latest · winner A · 3:1 · permalink

A deletes an unreliable ~1.8k-line keystroke graph parser plus race-handling JS/Playwright and replaces it with a small, correct paste-and-go subreddit extract/redirect that matches real product need. B is a solid consolidation (fold web_post into POST /ui, WebSession once, form __rpc__), but it mostly relocates existing ingest/check/redact behavior rather than fixing a broken design.

openai/gpt-chat-latest · winner B · 3:2 · permalink

Side B performs a substantive architectural consolidation by moving posting, checking, and redaction workflows behind the existing `POST /ui` RPC mechanism, introducing `resolve_web_session` to avoid repeated authentication parsing, deleting the separate `web_post` module, and updating forms and integration tests accordingly. Side A simplifies an unreliable autocomplete graph into a paste-and-go URL parser with redirect behavior and removes a large amount of parser complexity, but it also drops richer navigation/autocomplete functionality in favor of a narrower workflow, making its long-term design impact somewhat less broadly beneficial.

comparison · c_8dc1a8119370 (tommy-mor) vs c_6209cd238b3f (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 63:37 · permalink

Side B fixes a real correctness/perf bug (scan was replaying full rank-centrality per ingest, now a fast single-pass parse check), surfaces actual parse_error detail instead of a vague reason, and adds a genuinely useful --ingest single-event replay feature with tests. Side A is largely a deletion of a complex-but-working keystroke parser graph and its dedicated race-condition test in favor of a much simpler paste-and-go textarea, which is defensible simplification but net removes substantial tested functionality without adding comparably durable new capability.

~x-ai/grok-latest · winner A · 2:1 · permalink

A replaces an unreliable ~1.8k-line keystroke graph, ParserAction surface, racey JS, and Playwright race test with a small paste-and-go URL parser and redirect—removing failed complexity and leaving a durable navigation path. B meaningfully speeds scan (parse-only, no full replay), surfaces full parse_error detail, and adds compile --ingest, but those are incremental offline-tooling fixes versus A’s structural product/design simplification.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B adds durable tooling improvements: it refactors log scanning into a fast parse-only pass, surfaces detailed DSL parse errors via new `parse_error` fields, and introduces `compile --ingest` to replay prior state and compile a single ingest from an event log, with corresponding CLI validation and reporting. Side A mainly removes a complex autocomplete/parser system in favor of a simpler paste-and-go textarea and redirect, which simplifies the UI but also drops substantial functionality rather than extending core project capabilities.

comparison · c_8dc1a8119370 (tommy-mor) vs c_9608dc0d38ab (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 55:45 · permalink

B fixes a real, subtle production bug (a tokio RwLock read-guard held across the match arm causing potential deadlock in RoomGrant/RoomCreate), adds a regression test, and hardens test infra (timeouts, log-file redirection to avoid pipe deadlocks) — genuine correctness and reliability value. A is a large but reasonable simplification (dropping an over-engineered graph parser for a simpler URL parser), which is good cleanup but mostly deletes unused complexity rather than fixing a live bug, and removes test tooling (Playwright browser test) without clear justification beyond simplification.

~x-ai/grok-latest · winner A · 3:2 · permalink

A removes an ~1.8k-line unreliable keystroke graph (parser, parser_action, race JS/CSS/Playwright) and replaces it with a small correct paste-and-go URL parser plus redirect, permanently cutting flaky surface area. B is a precise, high-value RwLock-scope deadlock fix in RoomCreate/RoomGrant with a regression test and test-harness hardening, but its lasting impact is narrower than A’s subsystem replacement.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B fixes a real concurrency bug by ensuring `tokio::sync::RwLock` read guards are dropped before nested lock acquisitions, preventing deadlocks in `RoomCreate` and `RoomGrant`, and adds an integration test covering room creation. Side A replaces the autocomplete/parser graph with a much simpler paste-and-go flow and removes substantial functionality, which may simplify maintenance but also discards capabilities rather than delivering a targeted correctness improvement.

comparison · c_8dc1a8119370 (tommy-mor) vs c_14dd365ffe22 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 6:4 · permalink

Side A replaces an admittedly unreliable, 1800-line keystroke-transition parser graph (plus its dead ParserAction module and a Playwright race test needed only for that debounced input) with a small, testable ~90-line URL parser and a simple paste-and-go form, directly fixing a stated reliability problem with a much simpler design. Side B is a more ad-hoc refactor (bare '-theme' message) that both drops the retro theme feature and simultaneously reworks routing to a '/~/' path scheme, mixing unrelated concerns with less clear justification, though it is still a reasonable and tested change.

~x-ai/grok-latest · winner A · 3:1 · permalink

A replaces an unreliable ~1800-line keystroke transition graph, ParserAction surface, live morph/race JS, and Playwright race test with a small paste-and-go URL parser that redirects to ranking—fixing core navigation and deleting lasting complexity. B mainly drops dual-theme CSS/cookies and adds `/~/` browse_href routing (useful URL design, but narrower and partly cleanup).

openai/gpt-chat-latest · winner A · 4:1 · permalink

Side A replaces a large, unreliable keystroke-driven autocomplete graph with a much simpler paste-and-go flow: it removes the complex parser/action system, introduces a focused URL parser with validation and tests, updates the UI to redirect directly on successful parsing, and eliminates the associated race-prone client logic. Side B mainly refactors routing and theming by introducing canonical `/~/...` browse URLs (`browse_href`, new browse route) and removing theme infrastructure, which is useful cleanup but has less direct impact on core functionality and reliability.

comparison · c_8dc1a8119370 (tommy-mor) vs c_fbeec5c4ad18 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

Side B fixes a real structural bug in the ranking system (short-circuiting on single contributor instead of per-commit comparison), with corresponding test updates and UI surfacing, giving lasting improvement to the project's core fairness logic. Side A is a large but reasonable simplification/replacement of a fragile autocomplete parser with a simpler paste-and-go UX, which is valuable but more narrowly scoped and mostly deletion of complex, over-engineered code plus a UI feature swap.

~x-ai/grok-latest · winner B · 2:3 · permalink

B fixes core ownership mechanics: rank_commits no longer short-circuits on a single contributor, pairwise-ranks every eligible commit, rolls scores into contributor_ranking, and exposes per-commit rankings on epoch pages—with tests for the multi-commit same-author case. A’s paste-and-go rewrite correctly deletes an unreliable ~1.8k-line keystroke graph and race-prone client path, but that is a UI simplification of one feature, not a change to how lasting value is measured or paid out.

openai/gpt-chat-latest · winner B · 4:1 · permalink

Side B changes the core ranking algorithm from contributor-level to commit-level by pairwise-ranking every eligible commit, rolling scores back up to contributors, updating evidence records, UI pages, and tests to reflect commit rankings. Side A mostly replaces an interactive autocomplete/parser graph with a much simpler paste-and-go URL parser and redirect, deleting substantial functionality in favor of a narrower workflow, even though it simplifies the implementation.

The full patch is loaded only by the download route: download patch

Metadata
commit_idc_8dc1a8119370e7cbdc24043d65c46669b18dc53f44d1f850446d404cbe2df07f
patch_sha256e893dff6b351a3d079f7f88b2414d12a8d66b0e4c742f5ae4a1e5a79e3c1f5e2
patch_identitygit-patch-id-stable-v1:149a1c7e39f113ee1ce494785a2e41a154a7e31b
committer_timestamp_ms1780122066000