fabro/lib/apps
Bryan Helmkamp 4216364e92
Split the projector into the pass, its ordering rule, its stream and its wake-up
projector.rs mixed the commit rule with things that are not the pass:
the ordering rule and its tests, the in-process signalling store, the
stream table's rows and reads, and six readers documented "for a test".
projector/mod.rs now holds the pass alone; order.rs, signalling.rs and
stream.rs hold the rest; the test readers (rebuild, stored_projection,
stored_stream, stored_platform_records, event_json) live in test_support
behind the test-support feature, as the test-support boundary rule asks,
and the two test callers reach them there. The fault injection and the
cache's test-only reader are gated the same way, so neither ships.

pass() reads as three steps: at_head, read_new_events (a NewEvents
struct in place of a tuple) and stream::stream_rows, which rebuild
shares instead of repeating the fold loop. PassReport::skipped and
PassReport::contended replace the zero-filled literals.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-20 15:10:03 -04:00
..
fabro-cli Filter the working-directory depth out of the partial include snapshot 2026-09-19 18:39:18 -04:00
fabro-mcp-server Drop the dependency edges with no production use 2026-09-19 09:33:31 -04:00
fabro-server Split the projector into the pass, its ordering rule, its stream and its wake-up 2026-09-20 15:10:03 -04:00
fabro-spa refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00