Skip to content

vopr: scenario + workload synthesis layers - #58

Merged
oreofeolurin merged 1 commit into
feat/flo-107-voprfrom
feat/vopr-simulation-testing
Aug 30, 2026
Merged

vopr: scenario + workload synthesis layers#58
oreofeolurin merged 1 commit into
feat/flo-107-voprfrom
feat/vopr-simulation-testing

Conversation

@oreofeolurin

@oreofeolurin oreofeolurin commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

What

First slice of the FloVOPR simulation-testing framework: src/vopr/{scenario,workload,mod}.zig — seed-deterministic swarm scenario synthesis (JSON-emitting, replayable via a serialized scenario rather than a bare seed) and self-verifying workload generation with the op oracle. stdx.PRNG exported; module registered in the unit-test root and as src.vopr.

Why

One seed must reproduce an entire cluster run — scenario, faults, every op payload. Payload/ring sampling is constrained so an AppendEntries batch can never evict its own head; deliberately-small rings live behind Scenario.smallRing.

Watch

  • Reviewed (independent reviewer + comment auditor); folds: hardened the seed-differ test (was vacuous — the seed field differs by construction), the JSON test now parses output and checks field pairing, synthesize asserts its buffer/min contracts, comments scrubbed of references to not-yet-built machinery.
  • The reviewer found the PRNG's own tests were never collected — root cause is repo-wide (no stdx-module test ever ran) and is fixed separately in test: compile stdx as its own test root — its tests had never run #65.
  • Nothing in the server binary references src.vopr.
  • 25 vopr tests; full unit suite 1341/1341 locally.

@oreofeolurin
oreofeolurin changed the base branch from dev to feat/flo-107-vopr August 29, 2026 22:22
@oreofeolurin
oreofeolurin force-pushed the feat/vopr-simulation-testing branch from 76b3fd6 to 6cc6839 Compare August 29, 2026 22:30
First slice of FLO-107: seed-deterministic swarm scenario synthesis and
self-verifying workload generation with the op oracle. Payload/ring
sampling is constrained so an AppendEntries batch can never evict its own
head; deliberately-small rings live behind Scenario.smallRing for the
watchdog-wrapped slice. The simulator that consumes these lands with
FLO-119.
@oreofeolurin
oreofeolurin force-pushed the feat/vopr-simulation-testing branch from 6cc6839 to 770e840 Compare August 30, 2026 14:55
@oreofeolurin oreofeolurin changed the title vopr: scenario + workload synthesis layers (FLO-118) vopr: scenario + workload synthesis layers Aug 30, 2026
@oreofeolurin
oreofeolurin merged commit 3a29aa9 into feat/flo-107-vopr Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant