constitution · epochs · watch · epoch 3

commit

c_6209cd238b3f0ccc80

tommy-mor · sha1:6e344666371927e727f857add6f8e092cbecbb89

download patch · raw event

message

Improve sorterc scan speed, errors, and ingest compile.

Make scan a fast DSL parse pass with human-readable output, surface full parse_error details, and add compile --ingest for single-event replay from a log.

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

comparisons involving this commit

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

Side B is a substantive code change improving a real tool: it refactors offline.rs for faster, non-replaying scans, adds detailed parse_error surfacing, introduces a new compile --ingest feature with tests and doc updates. Side A is merely a two-line addition to a notes/todo file, with no functional code change.

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

A only appends two lines of personal TODO notes to notes.tdsl with no code or behavior change. B delivers lasting tooling value: a fast non-replay scan, full parse_error surfaces, human-readable output, compile --ingest single-event replay, API/struct updates, tests, and docs.

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

Side B adds substantial functionality and architectural improvements: it introduces `compile --ingest` to replay prior events and compile a single ingest from a log, refactors compilation to carry ingest metadata, makes `scan` a faster parse-only pass, surfaces detailed `parse_error` information, adds human-readable scan output, updates documentation, and includes a regression test. Side A only appends a TODO note to `notes.tdsl` about thread error propagation without changing project behavior.

comparison · c_6209cd238b3f (tommy-mor) vs c_7752a1605bf0 (tommy-mor)
~anthropic/claude-sonnet-latest · winner A · 9:1 · permalink

Side A is a substantive feature/bugfix commit: it speeds up scan by avoiding full replay, surfaces detailed parse errors, adds a new compile --ingest replay path, updates docs, and adds tests. Side B merely deletes a file with no explanation of removal rationale or migration, offering negligible lasting value in comparison.

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

A delivers lasting tooling value: a fast scan path that avoids expensive full replay, richer parse_error surfaces, compile --ingest for single-event replay, CLI/docs updates, and a regression test. B only deletes a 24-line Clojure test runner with no replacement or design impact.

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

Side A adds substantive functionality and architecture: it introduces fast non-replay scanning, richer parse error reporting, a new `compile --ingest` workflow that reconstructs prior reducer state for a single event, improved CLI behavior, and tests/documentation to support these features. Side B only deletes `test/runner.clj`, removing a test entrypoint without adding new functionality or evident long-term design improvements.

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

B delivers a real, tested improvement: it fixes a slow full-replay scan (avoiding minutes-long DSL simulation), surfaces detailed parse errors, adds a working `compile --ingest` feature with new tests, and updates docs to match. A merely adds scaffolding (Dockerfile, fly.toml, deps.edn) and two loose top-level .rs files (event_log.rs, views.rs) with no visible module wiring or tests, making its lasting value unclear and possibly dead code.

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

B lands a lasting design fix: scan becomes a fast DSL-only pass (no per-ingest centrality replay), surfaces full parse_error text, adds compile --ingest with prior-state replay, plus CLI/docs/tests. A mostly seeds ops/config (Dockerfile, fly.toml, deps.edn) and two small new modules (event_log, views) without the same targeted product improvement.

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

Side B makes the offline tooling substantially more useful and efficient by changing `scan_jsonl` to a fast parse-only pass, surfacing detailed DSL `parse_error` information, adding `compile --ingest` to replay state up to a single event, improving CLI behavior, and adding a regression test. Side A adds important infrastructure (Dockerfile/Fly config) plus new `EventLog` and `ViewStore` modules, but much of it is deployment support or isolated new utilities, whereas Side B directly improves core developer workflows and diagnostics with targeted functional changes.

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

Side B fixes a real performance bug (scan no longer does full replay with rank centrality on every ingest), surfaces actual parse error details instead of a vague reason, and adds a genuinely useful new capability (compile --ingest for targeted replay debugging), backed by a new test. Side A is a UI refactor (grouping multiple cli_panel calls into one bordered panel) that's reasonable but purely cosmetic/organizational with no functional bugfix or capability gain of comparable weight.

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

B fixes a real performance bottleneck (scan no longer full-replays every ingest through rank centrality), adds compile --ingest for targeted log replay, surfaces full DSL parse errors, and ships tests plus docs—lasting tooling value. A is solid UI polish (grouped click-to-copy CLI rows and JS-safety asserts) but is mostly presentation and call-site churn without comparable core capability.

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

Side B adds substantial offline tooling improvements: it refactors log replay, makes `scan` a fast parse-only pass, surfaces detailed `parse_error` information, and introduces `compile --ingest` to replay prior state and compile a single event from a log, with corresponding CLI, API, and test updates. Side A mainly improves the HTML CLI panel UX by grouping commands, enabling click-to-copy, and adding assertions that command strings are safe for embedding in single-quoted JavaScript, which is useful but has a narrower, presentation-focused impact.

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

B delivers concrete, verifiable improvements: it fixes scan to avoid a full reducer replay (real perf win), surfaces actual DSL parse error text instead of a vague reason, adds a genuinely new capable feature (compile --ingest for single-event replay), and ships a matching test plus README docs. A's diff mostly deletes the old engine.rs and rewires registry.rs to a 'graph' module that isn't shown in this patch (graph.rs/parse.rs), so its net effect and correctness can't be fully assessed from what's presented, and it drops the existing test suite without showing replacements inline.

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

A replaces ad-hoc URL normalize helpers (engine.rs) with a semantic graph/DFA-based canonicalization path and thins registry to that model—core ItemId identity design that the rest of the system depends on. B is strong, complete tooling (fast parse-only scan, richer parse_error surfaces, compile --ingest) but remains peripheral offline/CLI DX versus lasting domain structure.

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

Side B adds substantive functionality and usability: it redesigns log scanning into a fast parse-only pass, exposes detailed DSL parse errors, introduces `compile --ingest` to replay state up to a specific event, extends CLI options, and adds tests and documentation for these behaviors. Side A is primarily a refactor that removes the old URL engine and redirects the registry to new `graph`/`parse` modules, but the actual implementation of those new modules is absent from the patch, so the visible lasting value is limited compared with B's concrete feature and tooling improvements.

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

Side B fixes a real performance problem (scan no longer does a full state replay with rank centrality on every ingest), adds a genuinely new debugging capability (`compile --ingest` to replay-and-compile a single event), and includes new test coverage validating parse-error surfacing. Side A is a solid but more cosmetic feature (fullscreen layout, sorted edge-history list, preview morph) accompanied by large repetitive CSS duplication across three theme files, offering less durable engineering value per line changed.

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

B redesigns `scan_jsonl` to a fast parse-only pass (dropping full reducer replay/rank work that made real logs slow), surfaces full DSL `parse_error` detail, and adds `compile --ingest` plus human-readable scan output—lasting tooling. A is solid product work (chromeless fullscreen layout, left-oriented edge history sort/ratios, post morph preview) but is narrower UX polish on one flow versus B’s reusable offline diagnostics.

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

Side B adds substantial tooling improvements with lasting developer value: it introduces `compile --ingest` to replay and compile a single ingest from an event log, refactors replay logic, makes `scan` dramatically faster by using a parse-only pass instead of full replay, and surfaces detailed `parse_error` information with updated CLI output and tests. Side A improves the vote-compare UI with a fullscreen layout, preview morphing, reordered vote history, and related CSS/tests, but these are primarily presentation and workflow enhancements rather than foundational tooling and diagnostics.

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_06fce70179bc (tommy-mor) vs c_6209cd238b3f (tommy-mor)
~anthropic/claude-sonnet-latest · winner B · 6:4 · permalink

B fixes a concrete performance bug (scan was doing a full reducer replay including rank centrality, which is slow) with a single-pass parse check, adds a genuinely useful debugging tool (compile --ingest) with tests, and improves error surfacing without removing existing coverage. A delivers a real SSE-streaming improvement for fetch UX, but it also strips out three existing unit tests without replacement and pads the reddit worker with a large volume of tracing::debug! calls that add noise more than lasting design value.

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

A lands a lasting product design change: fetch becomes a oneshot-backed SSE stream with FetchJobResult, a dedicated fetch module, and real client progressive morph/error handling instead of fire-and-forget queueing. B is strong, focused tooling (fast parse-only scan, full parse_error surfaces, compile --ingest), but it improves offline DX rather than core runtime behavior and is narrower in impact.

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

Side B adds substantial offline tooling improvements: it introduces `compile --ingest` to replay prior events and compile a single ingest from a log, makes `scan` a fast parse-only pass instead of replaying the full reducer, and surfaces detailed `parse_error` information in both data structures and CLI output. Side A implements an SSE-based fetch flow with UI refactoring and async coordination, but much of the patch is infrastructure and code movement around an existing fetch feature, whereas Side B delivers durable developer-facing functionality and performance improvements.

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

Side A performs a genuine architectural improvement, moving path/URL canonicalization and room-aware href construction into a shared slug-types crate with correct-by-construction newtypes (GardenItemUrl, ForumThreadUrl, TildeOntologyPath), eliminating duplicated string-based helpers and reducing future room-prefixing bugs across the whole API surface. Side B is a solid, more localized fix (faster scan avoiding full replay, better error detail, new compile --ingest debug feature) but its impact is confined to the sorterc devtool rather than the core server's type safety and correctness guarantees.

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

A centralizes canonicalization and room-aware href rules into shared slug-types newtypes (GardenItemUrl, ForumThreadUrl, TildeOntologyPath) and threads those through API/DTOs and RPC, replacing ad-hoc string helpers with lasting, correct-by-construction path identity. B’s sorterc work is real and useful (fast parse-only scan, richer parse_error output, compile --ingest), but it is localized tooling rather than core domain structure.

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

Side A makes a lasting architectural improvement by moving canonical path normalization and URL construction into a shared `types::paths` module, replacing ad hoc string helpers with typed wrappers (`GardenItemUrl`, `ForumThreadUrl`, `TildeOntologyPath`) across the API and shared data structures. This centralizes path identity, reduces duplication, and makes many RPC/JSON interfaces correct-by-construction, whereas Side B mainly improves offline tooling with faster log scanning, richer parse errors, and a useful `compile --ingest` workflow but does not affect the project's core data model as broadly.

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

Side A is a focused, well-tested improvement to a CLI tool: it fixes scan's misleading skip semantics, adds a real feature (compile --ingest single-event replay), surfaces detailed parse errors, and includes new unit tests plus docs. Side B is a large, unfocused commit that bundles legitimate web auth/session/room routing changes with a nonsensical committed AI-chat transcript (plan2.md) as if it were project documentation, indicating sloppy scope and lower lasting engineering value despite more lines changed.

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

B restores core product surface area: browser session cookies, login/logout, web ingest posting, and full public/private room thread navigation with ACL checks and compose forms, turning unwired server routes into a usable room UI. A is a solid but narrower tooling fix—fast parse-only scan, richer parse_error reporting, and compile --ingest—valuable for offline logs yet secondary to shipping the multi-room web experience.

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

Side A delivers focused, durable improvements to the offline tooling: it replaces an expensive replay-based scan with a fast parse-only pass, exposes detailed DSL parse errors, adds targeted `compile --ingest` support for replaying a single event with prior state, and includes tests and CLI/documentation updates. Side B adds substantial UI and authentication functionality (browser session cookies, room pages, posting routes), but it also includes a large non-code planning document and broad architectural churn, making the lasting value of the individual commit less concentrated than A's clear performance and debugging improvements.

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

B adds a genuine new capability (RoomList RPC + CLI subcommand) with real access-control semantics (per-user grant filtering) plus a thorough integration test proving isolation, giving durable end-user and security value. A is a solid internal tooling improvement (faster scan, better error surfacing, ingest replay) but is more niche dev-tooling churn without new user-facing functionality or security-relevant guarantees.

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

B adds a core product RPC (RoomList) plus CLI and integration tests that lock in per-principal grant isolation—lasting API surface the app needs. A is strong offline DX (fast parse-only scan, richer parse_error, compile --ingest) but remains tooling around logs rather than new user-facing capability; B’s value is thinner code-wise but more central and durable for the system.

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

Side A delivers deeper tooling improvements by redesigning JSONL scanning into a fast parse-only pass, surfacing detailed DSL parse errors, and adding `compile --ingest` that reconstructs prior reducer state for single-event replay, with corresponding API changes and tests. Side B adds a useful `RoomList` RPC, CLI subcommand, response types, and integration tests for access isolation, but it is a relatively self-contained feature compared with Side A's broader performance, diagnostics, and developer workflow improvements.

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

Commit B is a precise, correct bugfix: it moves the zero-ratio guard before ensure_item/voted_pairs.insert so ghost items and phantom voted-pairs no longer pollute reducer state, and it updates the test to assert the corrected invariant. Commit A is a larger feature/refactor (faster scan, ingest replay CLI) that adds useful tooling but is more diffuse, higher risk of new bugs, and less critical than fixing genuine state-corruption in the core reducer.

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

B fixes a real reducer correctness bug: zero-ratio votes were rejected only after ensure_item and voted_pairs.insert, leaving ghost items and false voted pairs; moving the guard before side effects (with an updated test) protects ranking state integrity. A is solid tooling work—fast parse-only scan, richer parse_error surfaces, and compile --ingest—but it improves offline ergonomics rather than core simulation correctness, so it trails slightly on lasting project value.

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

Side B fixes a correctness bug by moving the zero-ratio early return before any side effects, preventing ghost items from being indexed and voted pairs from being recorded incorrectly. The accompanying test is updated to verify that no items, edges, or voted pairs are registered, whereas Side A is primarily a tooling enhancement (faster scan mode, richer parse errors, and new CLI functionality) rather than a core state-correctness fix.

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

Side B fixes a real performance/correctness problem in the sorterc scan (avoiding full log replay with centrality computation), adds richer error reporting (full parse_error text), a genuinely useful --ingest replay-and-compile feature, updates docs to match, and includes new tests validating the fix. Side A adds a sizable new speculative subsystem (form templating with $form holes, a unified /ui endpoint) that duplicates existing routes' functionality and even flags its own security caveat, with the commit message itself just 'progress', making it feel more exploratory than a finished, load-bearing improvement.

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

A adds lasting product architecture: a reusable form_template hole-fill layer, typed HtmlUiAction parsing, and a unified POST /ui handler that also refactors web_post into shared run_* paths and lazy-expands new-thread UI. B is valuable but narrower—fast parse-only scan, richer parse_error surfaces, and compile --ingest—solid sorterc DX/perf fixes without changing the core server product surface as deeply.

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

Side A introduces a new `/ui` endpoint with `HtmlUiAction` parsing, a reusable JSON form-template mechanism (`form_template.rs`), and refactors existing web-post handlers into shared functions so multiple UI actions can reuse the same logic. Side B meaningfully improves offline tooling by making log scans faster, exposing detailed parse errors, and adding `compile --ingest`, but those changes primarily enhance developer workflows rather than extending the application's core architecture and browser interaction model.

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

Metadata
commit_idc_6209cd238b3f0ccc80c4ddd2cceb46bfb6a5b1076ddf84872df465cd54c61def
patch_sha256030c62d1a124b69fadb07bd7fd61636e3b5999685ddcfa180a42ed20989357c7
patch_identitygit-patch-id-stable-v1:665e9162c8ef21d291fa645f55c7294e498c3243
committer_timestamp_ms1779567189000