Skip to content

Commit 88cd8dc

Browse files
ci(governance): migrate R5a to .github/canonical-references/ — drop local workflow (#174)
## Summary Three coupled changes following [hyperpolymath/standards#330](hyperpolymath/standards#330) (generic config-driven R5 in the reusable): 1. **Add `.github/canonical-references/prover-counts.yml`** — the echidna R5a rule (bare prover counts → `docs/PROVER_COUNT.md`) declared in the upstream config schema. Same patterns, same anchoring, same scope. 2. **Bump `governance.yml` SHA pin** `bf406d6f…` → `3f34549c…` (standards#330 merge SHA). The reusable's new R5 generic step now consumes the config file above; R5b (estate-wide version-string drift) continues to apply in parallel as before. 3. **Delete `.github/workflows/governance-doc-drift.yml`** — the local R5a workflow is now obsolete. The upstream R5 generic step provides the same coverage with a tighter feedback loop (rule changes are config-only PRs; no workflow editing required). ## Behaviour preservation - ✅ Pattern set identical (7 alternations covering the drift class catalogued in #171) - ✅ Scope identical (14 load-bearing top-level docs) - ✅ Anchor preserved — `(^|[[:space:]])` so `Tier-1`, `v1.2.3`, `port 8081` don't false-positive - ✅ Canonical-pointer error routes the same way (`docs/PROVER_COUNT.md`) ## Test plan - [x] Local re-run of the upstream R5 logic against current main + the new config: **0 hits** - [x] `.github/workflows/governance-doc-drift.yml` deletion is clean (no other workflow refers to it) - [ ] CI on this PR — `governance / Security policy checks` (now containing R5 generic + R5b) green Refs hyperpolymath/standards#330, refs #171.
1 parent 75041fd commit 88cd8dc

3 files changed

Lines changed: 51 additions & 122 deletions

File tree

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3+
#
4+
# R5 canonical-reference rule: bare prover counts in load-bearing
5+
# top-level docs must defer to docs/PROVER_COUNT.md (the canonical
6+
# tier table).
7+
#
8+
# Consumed by the `Canonical-reference drift (R5 generic)` step in
9+
# hyperpolymath/standards's governance-reusable.yml — see
10+
# hyperpolymath/standards#330. Replaces the previous local-only
11+
# .github/workflows/governance-doc-drift.yml (deleted in the same
12+
# commit).
13+
#
14+
# Rule format documented in the upstream step comment.
15+
16+
id: prover-counts
17+
description: |
18+
Bare prover counts (variants vs impl files vs advertised vs core)
19+
in narrative-carrying top-level docs must defer to
20+
docs/PROVER_COUNT.md so they cannot drift. Patterns are anchored
21+
with (^|[[:space:]]) so neighbours like Tier-1, v1.2.3, port 8081
22+
don't false-positive.
23+
24+
patterns:
25+
- '(^|[[:space:]])[0-9]+[[:space:]]+prover[[:space:]]+backends?\b'
26+
- '(^|[[:space:]])[0-9]+[[:space:]]*-[[:space:]]*prover[[:space:]]+core\b'
27+
- '(^|[[:space:]])[0-9]+[[:space:]]+core[[:space:]]+(backends?|provers?)\b'
28+
- '(^|[[:space:]])[0-9]+[[:space:]]+(backends?|provers?)[[:space:]]+(operational|advertised|implemented|available|across|total)\b'
29+
- '(^|[[:space:]])[0-9]+[[:space:]]+ProverKind[[:space:]]+variants?\b'
30+
- '(^|[[:space:]])[0-9]+[[:space:]]+backend[[:space:]]+implementation[[:space:]]+files?\b'
31+
- '(^|[[:space:]])[0-9]+/[0-9]+[[:space:]]+(backends?|provers?)\b'
32+
33+
canonical_pointer: docs/PROVER_COUNT.md
34+
35+
scope:
36+
include:
37+
- README.md
38+
- README.adoc
39+
- EXPLAINME.adoc
40+
- CLAUDE.md
41+
- CONTRIBUTING.md
42+
- CONTRIBUTING.adoc
43+
- QUICKSTART-USER.adoc
44+
- QUICKSTART-DEV.adoc
45+
- QUICKSTART-MAINTAINER.adoc
46+
- RSR_COMPLIANCE.adoc
47+
- SECURITY.md
48+
- MAINTAINERS.adoc
49+
- AUTHORS.md
50+
- CODE_OF_CONDUCT.md

.github/workflows/governance-doc-drift.yml

Lines changed: 0 additions & 121 deletions
This file was deleted.

.github/workflows/governance.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ permissions:
3131

3232
jobs:
3333
governance:
34-
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@bf406d6f95c5212c34c30f6629be93d08c076339 # main 2026-06-01 (R5b version-string drift — standards#329)
34+
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@3f34549c03274ec7a74683068f03a492b0fa805f # main 2026-06-01 (R5 generic — standards#330; consumes .github/canonical-references/)

0 commit comments

Comments
 (0)