From 1739c012b988d55a9d478cda91feb333d770b867 Mon Sep 17 00:00:00 2001 From: Amr AbuSair Date: Mon, 17 Aug 2026 14:16:19 -0500 Subject: [PATCH] chore(compliance): retire legacy stub-based CLA system MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Retires the oldest of three CLA/DCO generations in this repo: a stub-distribution system where a central script wrote a `cla-check-trigger.yml` stub into each target repo, and that stub called a shared `workflow_call` workflow back here. Archived to old/ subfolders rather than deleted, so the files stay visible in the tree. For the workflows this also disables them, since GitHub only scans .github/workflows/*.yml directly, not subdirectories: - .github/workflows/reusable-cla-check.yml -> workflows/old/ - .github/workflows/manage-cla-stubs.yml -> workflows/old/ - scripts/cla_manager.py -> scripts/old/ - .github/scripts/check_and_install_stub.py -> .github/scripts/old/ Confirmed dead before retiring: - reusable-cla-check.yml is `on: workflow_call` only, so it cannot run without a stub calling it. Org-wide code search found zero stubs in any repo — the only hits were inside this repo plus an inert test-cla-gpl2/code/placeholder.py (a .py file, never executable as a workflow). - All 16 stub PRs the automation ever opened (head:automation/cla-stub) were confined to test-cla-gpl2 in Oct 2025, mostly closed unmerged; the same search excluding that repo returns 0. Manual PRs in Jan/Feb 2026 renamed-then-deleted the last stub out of it. - Its only ruleset reference ("Require CLA workflow job (no license/cla)") was deleted 2026-08-16. - check_and_install_stub.py had zero callers and its import path (.github/scripts/) no longer matches where requires_cla.py lives (scripts/), so it would fail on import. It was superseded by cla_manager.py in the 2025-10-15 refactor but never removed. - Reverse-dependency check confirms the four files formed a closed loop, referencing only each other. scripts/requires_cla.py is deliberately untouched — the retired scripts imported it, but so does the live policy_selector.py engine. Co-Authored-By: Claude Opus 5 (1M context) --- .github/scripts/{ => old}/check_and_install_stub.py | 0 .github/workflows/{ => old}/manage-cla-stubs.yml | 0 .github/workflows/{ => old}/reusable-cla-check.yml | 0 scripts/{ => old}/cla_manager.py | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename .github/scripts/{ => old}/check_and_install_stub.py (100%) rename .github/workflows/{ => old}/manage-cla-stubs.yml (100%) rename .github/workflows/{ => old}/reusable-cla-check.yml (100%) rename scripts/{ => old}/cla_manager.py (100%) diff --git a/.github/scripts/check_and_install_stub.py b/.github/scripts/old/check_and_install_stub.py similarity index 100% rename from .github/scripts/check_and_install_stub.py rename to .github/scripts/old/check_and_install_stub.py diff --git a/.github/workflows/manage-cla-stubs.yml b/.github/workflows/old/manage-cla-stubs.yml similarity index 100% rename from .github/workflows/manage-cla-stubs.yml rename to .github/workflows/old/manage-cla-stubs.yml diff --git a/.github/workflows/reusable-cla-check.yml b/.github/workflows/old/reusable-cla-check.yml similarity index 100% rename from .github/workflows/reusable-cla-check.yml rename to .github/workflows/old/reusable-cla-check.yml diff --git a/scripts/cla_manager.py b/scripts/old/cla_manager.py similarity index 100% rename from scripts/cla_manager.py rename to scripts/old/cla_manager.py