Skip to content

Broken stub pattern: 4 sibling repos reference non-existent reusable-governance-gates.yml #87

@chitcommit

Description

@chitcommit

Summary

Four repos in the CHITTYOS org have a stub governance-gates.yml workflow with uses: ./.github/workflows/reusable-governance-gates.yml but do not contain that reusable workflow file. Their governance-gates workflow fails to load at CI time with a "workflow file not found" error — but the file-presence check used by the governance scoring system still passes because governance-gates.yml exists. The result is hollow compliance: scores increase, but the workflow never actually runs.

Affected repos

Confirmed by enumeration at /home/ubuntu/projects/github.com/CHITTYOS/*:

Repo governance-gates.yml reusable-governance-gates.yml Status
chittyapi present (stub) missing BROKEN
chittymcp present (stub) missing BROKEN
chittyregistry present (stub) missing BROKEN
chittystorage present (stub) missing BROKEN
chittycan present (stub) present OK
chittycommand present (stub) present OK (self)
chittydispute present (stub) present OK (just fixed in CHITTYOS/chittydispute#13)
chittyrouter present (stub) present OK
chittyconnect uses different inlined pattern n/a OK
chittyops uses different inlined pattern n/a OK

Reproduction

for dir in /path/to/CHITTYOS/chittyapi /path/to/CHITTYOS/chittymcp \
           /path/to/CHITTYOS/chittyregistry /path/to/CHITTYOS/chittystorage; do
  gg="$dir/.github/workflows/governance-gates.yml"
  rg="$dir/.github/workflows/reusable-governance-gates.yml"
  if [ -f "$gg" ] && grep -q "reusable-governance-gates" "$gg" && [ ! -f "$rg" ]; then
    echo "BROKEN: $(basename $dir)"
  fi
done

Proposed fix (pick one)

Option A — Include the reusable workflow in each repo. Copy reusable-governance-gates.yml (fixed version, per #86) into each of the 4 broken repos. Self-contained but duplicates the file 4 more times.

Option B — Reference a centralized workflow. Change the stub to uses: CHITTYOS/chittycommand/.github/workflows/reusable-governance-gates.yml@main. Single source of truth, but requires the caller repos to grant access to CHITTYOS/chittycommand and complicates pinning.

Option C — Inline the checks directly in governance-gates.yml like chittyconnect and chittyops already do. No reusable at all. Most portable, but duplicates logic.

Recommendation: Option B — treat CHITTYOS/chittycommand/.github/workflows/reusable-governance-gates.yml@main as the canonical entry point and have all CHITTYOS service repos reference it. This also enforces that fixes in this repo (like #86) automatically propagate.

Impact

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions