constitution · epochs · watch · epoch 3

commit

c_7b940fef005f01a0ce

tommy-mor · sha1:c3f01e0180b56d11aa15f9faa419ed029197f48d

download patch · raw event

message

cleanup

comparisons involving this commit

comparison · c_effff18688f9 (tommy-mor) vs c_7b940fef005f (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 8:2 · permalink

Side A performs a substantive architectural consolidation: it removes the redundant web_post.rs endpoints (/post, /post/check, /post/redact), unifies all browser mutations behind the single POST /ui + __rpc__ dispatch, introduces a session-resolution helper (WebSession/resolve_web_session) to avoid duplicate header/cookie parsing, and updates templates, JS, tests, and fixtures to match—an end-to-end simplification of the routing surface. Side B is a much smaller, localized cleanup that trims unused parameters/logic from vote_compare_post_success_js and removes a dead card-render call, which is useful but minor in comparison.

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

A consolidates browser ingest/check/redact onto a single POST /ui path: adds WebSession/resolve_web_session, deletes web_post.rs and the /post* routes, inlines dispatch through RPC, and updates forms, client check JS, and tests—lasting structural cleanup. B only trims unused args and drops a #vote-compare-preview morph in vote_compare_post_success_js, a small local simplification with little design impact.

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

Side A consolidates the browser posting flow behind a single `POST /ui` RPC endpoint, introduces `resolve_web_session` to resolve username and bearer once, removes the duplicated `web_post.rs` handlers, updates forms, routes, and tests, and preserves functionality while simplifying the architecture. Side B is a narrow cleanup that removes unused parameters and an unnecessary preview update from `vote_compare_post_success_js`, improving maintainability but with much smaller project-wide impact.

comparison · c_7b940fef005f (tommy-mor) vs c_b0194743d156 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 9:1 · permalink

Side B fixes a real bug: it unifies two divergent storage representations of the tilde ontology root, adds normalization helpers, updates callers, and backs the fix with multiple new unit/integration/browser tests. Side A is a minor cleanup that simplifies a JS-builder function signature by dropping unused parameters, with no bugfix, tests, or lasting architectural value.

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

Side B fixes core canonical path/storage key inconsistencies (e.g. `https://slug.social/~` vs `~/` trailing-slash variants) that broke root child listings and sibling rankings, adding normalization helpers, call-site fixes, and multiple layers of unit/integration/browser tests. Side A only trims unused parameters and dead morph logic from a single JS helper—pure cleanup with no functional or lasting design impact.

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

Side B fixes a substantive canonical-path bug by unifying ontology root storage (`https://slug.social/~` vs `.../~/`), normalizing lookups, updating sibling/child ranking logic to use normalized keys, and centralizing tilde-path parsing. It also adds extensive unit, integration, and browser regression tests covering the fixed behavior, whereas Side A mainly removes parameters and stops updating the `#vote-compare-preview` HTML region, making it largely a cleanup/refactoring with limited lasting functional value.

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

B is a concrete, functional simplification: it removes dead/unused parameters and a redundant card-render/morph path from a real, in-use handler, tightening the vote-compare success flow. A merely adds a long planning markdown document plus an unused RouteContext wrapper that isn't wired into any call site, providing speculative scaffolding rather than working improvements.

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

A adds a real architectural seam (RouteContext wrapping ThreadNav with item_href/thread_url APIs) plus a concrete phased ItemId migration blueprint touching types, reducer, and HTML. B only trims dead parameters and a #vote-compare-preview morph from vote_compare_post_success_js—useful cleanup, but far narrower and less structural lasting impact.

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

Side A introduces a new `RouteContext` abstraction with a dedicated routing module, re-exports it, and documents a concrete migration plan toward separating item identity (`ItemId`) from routing and presentation. Although much of the commit is planning documentation, it also adds reusable routing infrastructure that can support future refactoring, whereas Side B mainly removes parameters and stops updating the `#vote-compare-preview` region, simplifying an existing function without introducing comparable architectural value.

comparison · c_59974b9da42a (tommy-mor) vs c_7b940fef005f (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 63:37 · permalink

Side A performs a substantial modularization of forum.rs into cohesive submodules (nav.rs, ingest.rs, room_members.rs, new_thread.rs, access.rs), improving long-term maintainability and separation of concerns, even though it slightly regresses by inlining some duplicated RPC JSON calls. Side B is a much smaller, focused simplification that removes an unnecessary post-card render from the vote-compare success path, which is a real but minor and narrow improvement compared to the broader structural payoff of A.

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

A’s lasting value is the forum modularization—extracting coherent units (nav, ingest, access, new_thread, room_members) from a monolithic forum.rs and tightening RPC helpers—which improves long-term structure of core HTML UI. B is a correct but narrow cleanup: dropping unused vote_compare_post_success_js parameters and the preview morph, valuable hygiene with much smaller project impact (A’s sample-fixture addition is incidental noise).

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

Side A performs a substantial architectural refactor by splitting the large forum module into focused modules (`access.rs`, `ingest.rs`, `nav.rs`, `new_thread.rs`, `room_members.rs`) and adds a reusable `sample-fixture` development tool, while preserving the existing UI behavior by inlining or relocating RPC generation. Side B is a narrow cleanup that simplifies `vote_compare_post_success_js` by removing unused parameters and no longer morphing the `#vote-compare-preview` content, making it primarily a localized code simplification rather than a broad, lasting structural improvement.

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

Side A removes dead/unused parameters and unnecessary computation (post lookup, index resolution, card markup) from vote_compare_post_success_js, simplifying the function signature and its call site—an actual code simplification with reduced surface area. Side B only strips UI labels, toggle button, and error/form-id attributes from a form, which is cosmetic and arguably removes useful UX (error targeting, toggle collapse) without clear functional benefit.

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

A removes real dead work from vote_compare_post_success_js (ingest lookup, post index, card markup, and unused params), shrinking the call site and avoiding needless state reads. B mostly trims UI chrome and copy on the new-thread form (toggle, labels, RPC fields)—useful polish, but thinner lasting design impact.

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

Side A refactors `vote_compare_post_success_js` by removing unused parameters and the logic that rebuilt the post preview, leaving the function focused on updating the vote edge history and simplifying its call site. Side B mostly changes the new-thread form presentation (removing the toggle, labels, and altering placeholders/button text) and drops metadata fields from the JSON payloads, which is primarily UI churn with less clear lasting architectural value.

comparison · c_7b940fef005f (tommy-mor) vs c_7ca21f5e83a8 (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 3:1 · permalink

Side B adds a substantial new browser test covering an end-to-end pool-scoped voting workflow, providing lasting regression protection and documentation of expected behavior. Side A is a small cleanup removing dead/unused parameters and code from a JS-builder function, which is useful but minor in scope and impact compared to a new test asset.

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

B adds a full browser integration test that seeds a pool, exercises the vote→next-pair loop, and asserts edge-history and pool membership—lasting regression protection for a core flow. A only drops unused parameters and dead preview-morph logic from vote_compare_post_success_js, a worthwhile but small cleanup with less ongoing impact.

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

Side B adds a new end-to-end browser test that seeds a pool, exercises the vote→next-pair workflow, and verifies both edge-history updates and that every displayed pair stays within the requested pool, providing lasting regression coverage for an important user flow. Side A mainly removes now-unused parameters and stops updating the vote-compare preview, simplifying the implementation but largely acting as cleanup with comparatively limited functional impact.

comparison · c_7b940fef005f (tommy-mor) vs c_b3cb2762569d (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 85:15 · permalink

Side B introduces a substantial, functioning feature (a composable URL parser graph moved from legacy/ into server/src, wired into a new parser_action/parser_render module, HtmlUiAction::ParseQuery route, JS event handling, and integration/smoke tests), representing real lasting functionality with test coverage. Side A is a small, narrow cleanup that trims parameters from one helper function, reducing some unused ingest-card logic but with much smaller overall impact.

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

Commit B integrates the full Reddit path parser into the live server (new parser/parser_action/parser_render modules, ParseQuery UI action, home-page panel, debounced JS input/Tab/completion wiring, and tests), delivering a lasting product feature; A only drops unused parameters and a dead morph_inner call from vote_compare_post_success_js.

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

Side B adds a substantial new parser subsystem integrated into the server and UI: new parser/action/render modules, a live parser panel with RPC handling, JavaScript for incremental updates and tab completion, routing changes, and integration tests verifying the feature. Side A is a small cleanup that simplifies `vote_compare_post_success_js` by removing unused parameters and no longer morphing the vote preview card, which is a modest refactoring with limited lasting impact.

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

Metadata
commit_idc_7b940fef005f01a0cee482f52e4e8f62151d1d952fdb6fae96e05500d2aed142
patch_sha256030811d9c82e54e794058b0e95614876e2f5ebb5796213de4c93f3669955c79c
patch_identitygit-patch-id-stable-v1:c3bab5b4bb32f11ab2dec4ee374807ae63d45da5
committer_timestamp_ms1777796068000