Description
Rust quality checks for apps/synapse-pingora (clippy, rustfmt, cargo test) only run on synapse-waf-v* tag pushes via publish-synapse.yml. PRs to main that touch the WAF do not get gated, so Rust regressions ship unflagged until release time. Add a new synapse-waf-quality.yml workflow that mirrors signal-horizon-quality.yml but for Rust: triggers on PR + push to main with appropriate path filters, runs just check-synapse (clippy + rustfmt --check) and just test-synapse (cargo test). The justfile recipes already exist. Use dtolnay/rust-toolchain@nightly and Swatinem/rust-cache@v2 to match the existing publish workflow. Concurrency-cancel old runs to keep CI minutes in check.
Acceptance Criteria
Migrated from backlog TASK-101 (synapse).
Description
Rust quality checks for
apps/synapse-pingora(clippy, rustfmt, cargo test) only run onsynapse-waf-v*tag pushes viapublish-synapse.yml. PRs to main that touch the WAF do not get gated, so Rust regressions ship unflagged until release time. Add a newsynapse-waf-quality.ymlworkflow that mirrors signal-horizon-quality.yml but for Rust: triggers on PR + push to main with appropriate path filters, runsjust check-synapse(clippy + rustfmt --check) andjust test-synapse(cargo test). The justfile recipes already exist. Usedtolnay/rust-toolchain@nightlyandSwatinem/rust-cache@v2to match the existing publish workflow. Concurrency-cancel old runs to keep CI minutes in check.Acceptance Criteria
Migrated from backlog TASK-101 (synapse).