Skip to content

Parity audit

Parity audit #84

Workflow file for this run

# Refresh the cross-platform parity audit matrix.
#
# What it does
# 1. Runs `bash scripts/run-parity-audit.sh` to regenerate
# scripts/parity-audit-matrix.json + the "Last audited" timestamp in
# docs/operations/cross-platform-parity-audit.md.
# 2. If the matrix's feature wiring changed, opens a PR titled
# "chore(audit): refresh parity matrix".
#
# Triggers
# - schedule: nightly at 06:00 UTC
# - workflow_dispatch: manual run from the Actions tab
# - push: when cmp-worker-* sources or the harness itself change on
# development (so a feature merge that closes/opens a gap doesn't sit
# stale until the nightly refresh)
#
# Self-referential triggers: this workflow's own outputs (the matrix JSON, the
# audit report doc, and any auto-PR merge commits) are EXCLUDED from the push
# trigger via paths-ignore. Otherwise the workflow would re-trigger itself on
# every auto-PR merge, creating an infinite-PR loop (root cause of PRs #37-#40
# on 2026-06-01).
name: Parity audit
on:
schedule:
- cron: "0 6 * * *"
workflow_dispatch:
push:
branches: [development]
paths:
# Narrow allowlist — must NOT include the workflow's own outputs
# (parity-audit-matrix.json + cross-platform-parity-audit.md) or
# auto-merging the refresh PR will re-trigger this workflow → infinite loop.
- "cmp-worker-*/**"
- "scripts/run-parity-audit.sh"
- ".github/workflows/parity-audit.yml"
permissions:
contents: write
pull-requests: write
jobs:
audit:
name: Refresh parity matrix
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up jq (used by --verify)
run: sudo apt-get install -y jq
- name: Refresh matrix + report
run: bash scripts/run-parity-audit.sh
- name: Verify idempotence + cross-doc consistency
run: bash scripts/run-parity-audit.sh --verify
- name: Open PR if matrix changed
uses: peter-evans/create-pull-request@v6
with:
title: "chore(audit): refresh parity matrix"
body: |
Automated parity audit refresh.
See [the published audit report](../blob/development/docs/operations/cross-platform-parity-audit.md)
for the per-platform × per-feature matrix this refresh updated.
branch: chore/parity-audit-refresh
commit-message: "chore(audit): refresh parity matrix"
delete-branch: true