What to build
A reusable workflow that fuzzes a service against its own OpenAPI spec and fails when the running API does not behave the way the contract claims.
On a pull request it fuzzes read-only operations only, against the service booted in its existing integration-test tier. That keeps the gate fast, deterministic and free of write side-effects. The full suite including mutations runs on a schedule and files an issue rather than blocking a merge, because property-based fuzzing of write paths against a real database is where flakiness comes from — and a flaky gate gets ignored.
Run the tool from its container image so no Python toolchain enters the JVM repositories.
Acceptance criteria
Blocked by
None — can start immediately.
What to build
A reusable workflow that fuzzes a service against its own OpenAPI spec and fails when the running API does not behave the way the contract claims.
On a pull request it fuzzes read-only operations only, against the service booted in its existing integration-test tier. That keeps the gate fast, deterministic and free of write side-effects. The full suite including mutations runs on a schedule and files an issue rather than blocking a merge, because property-based fuzzing of write paths against a real database is where flakiness comes from — and a flaky gate gets ignored.
Run the tool from its container image so no Python toolchain enters the JVM repositories.
Acceptance criteria
Blocked by
None — can start immediately.