Comment by epicepicurean

6 hours ago

Much better than Opus 5. prompt:

> hi, can you explain how the scheduler works. keep it brief, but include important correctness details

some excerpts:

>Flow: 1. Data arrives. The appender calls prepare/commit around the krolik write. The prepare step leaves a phantom row, so a write that is still in flight is tracked. The commit publishes STREAM_INPUT. 2. Poll. It first reclaims expired leases. Then it sweeps sdirty (a candidate index) in a rotating order, oldest since first, which prevents starvation. It re-derives the exact period and rewind for each candidate from snode_out/snode_in, then claims it: writes the sassign lease plus a per-edge sassign_edge snapshot. 3. Complete. Each edge's watermark is set to the snapshot taken at dispatch. Anything published after that gen stays dirty automatically. A failed or partial job writes nothing, so its dirt persists.

> - Folds are monotone single statements. gen only goes up, extents only grow, processed periods only union, rw_start only moves earlier. So replays, out-of-order writes, and concurrent writes can at worst hold a watermark back. The worst outcome is a spurious rerun, never lost work. There's no read-modify-write and no truncation of the dirty period, so a write that lands during a job can't be swallowed.

> - Rewrites are declared by the publisher, never inferred from overlap. An unflagged write that overlaps already-processed data means "unchanged", which makes retries and redelivered tasks free. Each publisher has its own reason for being sound (see the table in scheduler/CLAUDE.md). A new publisher needs a row in that table.

> - NULL means dirty, and DELETE is the fence. Every node and edge has a row from the moment it's created. A lost parent or a settings-only edit can't be derived, so both go through one forced-rerun path: capture_rewinds reads the processed span before the DELETE, and apply_rewinds publishes it as a rewrite on a config root.

All the non-standard programming jargon is stuff from the repo. I can actually read it and understand what it's talking about. I used Fable to handle Opus 5 as I just couldn't stand it. With this I'll probably go back to Opus.

That's the standard annoying pattern though: "Rewrites are declared by the publisher, never inferred from overlap." and "NULL means dirty, and DELETE is the fence." - still the same LLMisms. I didn't expect them to disappear, but it's not a radical improvement either.

  • This one is pretty terrible (right after “The worst outcome is a spurious rerun, never lost work.”). We’ve got lands, several "no X", hyphenation, strange noun/verb sentence order and an unnecessary analogy word (swallowed).

    > There's no read-modify-write and no truncation of the dirty period, so a write that lands during a job can't be swallowed.

    • It’s absolutely atrocious and has made the latest models unusable. Seems like I’ll have to stick with Opus/Sonnet 4.6 for a little longer.

Oof thanks for sharing, that seems just as bad if not even worse than Opus 5 to me. Just about every sentence is painful. Particular standouts that a human would never write:

> Rewrites are declared by the publisher, never inferred from overlap

> NULL means dirty, and DELETE is the fence

  • Hah! You independently picked exactly the same sentences I flagged (I know you posted this 11min before me but the comment only appeared after I had submitted mine).

So still effectively nonsense.

> Rewrites are declared by the publisher, never inferred from overlap.

This style of writing is idiotic because it conveys no additional information. It's no different from stating

> Rewrites are declared by the publisher, never when moons collide.

The two sentences are actually logically identical. No idea why these models keep writing like this.

> Folds are monotone single statements. gen only goes up, extents only grow, processed periods only union, rw_start only moves earlier.

This is even more ridiculous.