Skip to content

chore(compliance): retire legacy stub-based CLA system - #61

Merged
aabusair merged 1 commit into
mainfrom
chore/retire-legacy-cla-stub-system
Aug 17, 2026
Merged

chore(compliance): retire legacy stub-based CLA system#61
aabusair merged 1 commit into
mainfrom
chore/retire-legacy-cla-stub-system

Conversation

@aabusair

Copy link
Copy Markdown
Contributor

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 workflows/old/ (which disables them, since GitHub only scans .github/workflows/*.yml directly, not subdirectories):

  • reusable-cla-check.yml ("Reusable — CLA Check")
  • manage-cla-stubs.yml ("Org — Manage CLA Stubs (requires_cla)")

Deleted outright (nothing can invoke them once the above are archived; git history preserves them):

  • scripts/cla_manager.py
  • .github/scripts/check_and_install_stub.py

Confirmed dead before removing:

  • 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 deleted.
  • Reverse-dependency check confirms the four files formed a closed loop, referencing only each other.

scripts/requires_cla.py is deliberately untouched — the removed scripts imported it, but so does the live policy_selector.py engine.

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) <noreply@anthropic.com>
@aabusair
aabusair force-pushed the chore/retire-legacy-cla-stub-system branch from 576a660 to 1739c01 Compare August 17, 2026 19:24
@aabusair
aabusair merged commit f4c00ac into main Aug 17, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant