lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

commit 640b8b77d039da3b4d1d18827a7d404e32b6e110
parent 620358ee08898499b1e73ef5c8d0697a0ee6fa2e
Author: triesap <tyson@radroots.org>
Date:   Tue, 28 Jul 2026 08:25:09 +0000

event_store: cover food projection seal drift

- alter signed-event identity through trusted test corruption
- reject a nonnegative but forged sealed projection count
- exercise both failures through the exhaustive public audit
- preserve production projection and cursor guards unchanged

Diffstat:
Mcrates/event_store/src/store.rs | 14++++++++++++++
1 file changed, 14 insertions(+), 0 deletions(-)

diff --git a/crates/event_store/src/store.rs b/crates/event_store/src/store.rs @@ -7196,6 +7196,13 @@ CREATE TABLE aux.event_transport_observation (event_id TEXT);", async fn food_availability_exhaustive_audit_rejects_projection_and_image_row_drift() { for (label, guard, bypass_checks, mutation, expected_reason) in [ ( + "projection identity", + Some("DROP TRIGGER radroots_event_store_food_availability_projection_update_guard"), + false, + "UPDATE radroots_event_store_food_availability_projection SET created_at = created_at + 1", + "projection identity disagrees", + ), + ( "projection column", Some("DROP TRIGGER radroots_event_store_food_availability_projection_update_guard"), false, @@ -7224,6 +7231,13 @@ CREATE TABLE aux.event_transport_observation (event_id TEXT);", "stored FoodAvailability image differs", ), ( + "sealed projection row count", + Some("DROP TRIGGER radroots_event_store_food_availability_cursor_update_guard"), + false, + "UPDATE radroots_event_store_food_availability_cursor SET projected_row_count = projected_row_count + 1", + "projection row count", + ), + ( "FTS content", None, false,