Skip to content

ci: managed-scope-sync and state-key-sync run but are not in the ci-status required aggregate #2856

Description

@kyle-sexton

Summary

.github/workflows/ci.yml defines 38 jobs. The ci-status aggregate — the single required check, whose own comment calls its needs list "the single source of truth for the lane list" — names 34 of them. Two real gates are missing:

  • managed-scope-sync (runs scripts/sync-managed-scope.sh --check plus its bump gate)
  • state-key-sync (runs scripts/sync-state-key.sh --check plus its bump gate)

Both are listed as dedicated checks in scripts/cross-plugin-source-registry.txt, so the registry advertises an enforcement they do not actually deliver at the merge gate.

Impact

A drifted lib/managed-scope.sh or lib/state-key.sh copy, or a carrying plugin that changed the lib without bumping its version, turns those jobs red while ci-status stays green — and ci-status is what branch protection reads. The failure is visible in the run list and invisible to the gate, which is the same false-green shape the liveness-assertion convention exists to name.

cross-plugin-source-drift is in the aggregate and would catch a drifted copy of either cluster, so this is not a total hole — but it does not cover the --check-bump half (lib changed, carrying plugin version not bumped), which only the dedicated lanes run.

Suggested fix

Add both job names to ci-status.needs. Worth a moment's thought on whether the omission was deliberate for either lane; nothing in the file records a reason.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions