Plugin: source-control · Category: tool assumption (1) — observation / scope decision
Source: work-readiness sweep (read-only audit vs docs/PLUGIN-PHILOSOPHY.md + docs/MIGRATION-PLAYBOOK.md)
Findings
- Entire
pull-request + babysit-prs surfaces route every read and write through gh (tree-wide grep for gitlab/bitbucket/azure-devops/glab: zero hits). plugin.json:5 + keywords declare "github".
commit, worktree, resolve-conflicts are forge-agnostic (pure git).
Why flagged
A consumer on GitLab/Bitbucket/Azure DevOps cannot use half the plugin's skills. Arguably inherent-and-declared (description/keywords say GitHub) — but the plugin name "source-control" is a generic domain noun that does not signal GitHub-only, while the playbook's naming rules normally surface tool scope as brand-in-name. Filed as a scope decision, not a hidden hardcode.
Fix direction
Either document the GitHub boundary prominently as an inherent declared scope (PLUGIN-PHILOSOPHY's cross-platform contract allows a declared narrower boundary), or record forge-neutrality as a deferred capability with a trigger. No hardcode swap.
Plugin:
source-control· Category: tool assumption (1) — observation / scope decisionSource: work-readiness sweep (read-only audit vs docs/PLUGIN-PHILOSOPHY.md + docs/MIGRATION-PLAYBOOK.md)
Findings
pull-request+babysit-prssurfaces route every read and write throughgh(tree-wide grep for gitlab/bitbucket/azure-devops/glab: zero hits).plugin.json:5+ keywords declare "github".commit,worktree,resolve-conflictsare forge-agnostic (pure git).Why flagged
A consumer on GitLab/Bitbucket/Azure DevOps cannot use half the plugin's skills. Arguably inherent-and-declared (description/keywords say GitHub) — but the plugin name "source-control" is a generic domain noun that does not signal GitHub-only, while the playbook's naming rules normally surface tool scope as brand-in-name. Filed as a scope decision, not a hidden hardcode.
Fix direction
Either document the GitHub boundary prominently as an inherent declared scope (PLUGIN-PHILOSOPHY's cross-platform contract allows a declared narrower boundary), or record forge-neutrality as a deferred capability with a trigger. No hardcode swap.