Skip to content

feature-ideation v1-next: pip step fails — tooling_ref default 'v1' skews from reusable (blocks .github-private, will break fleet on promotion) #839

Description

@don-petry

Summary

The feature-ideation/v1-next reusable fails every run at the Install Python jsonschema step in the Gather Project Signals job, blocking both ideation modes (new-ideas scan and the human-idea enhancement sweep). Currently only petry-projects/.github-private is pinned to v1-next, so it has had no successful ideation run since 2026-07-12. This regression will break the whole fleet if v1-next is promoted to ring1 → stable.

Failing step

Run pip install --quiet --require-hashes --only-binary :all: -r .feature-ideation-tooling/scripts/feature-ideation-requirements.txt
ERROR: Could not open requirements file: [Errno 2] No such file or directory:
       '.feature-ideation-tooling/scripts/feature-ideation-requirements.txt'
Process completed with exit code 1

(e.g. run https://github.com/petry-projects/.github-private/actions/runs/29797710230)

Root cause — canary tooling skew

feature-ideation-reusable.yml checks out petry-projects/.github into .feature-ideation-tooling at inputs.tooling_ref, which defaults to 'v1':

tooling_ref:
  default: 'v1'

The v1-next reusable (commit 12b0075) added the new pip install … scripts/feature-ideation-requirements.txt step and the requirements file. But the file only exists on main and the feature-ideation/v1-next tag — it is absent from the v1 tag (commit d3d768d), which predates it:

ref scripts/feature-ideation-requirements.txt
main ✅ present
feature-ideation/v1-next ✅ present
v1 (tooling_ref default) 404
feature-ideation/v1-ring1 / stable ❌ absent (older reusable, no pip step — so those repos still pass)

So the reusable YAML advanced to a version that depends on a new tooling file, but the tooling checkout still resolves to the old v1 tag → file missing → hard fail. The healthy repos (broodly/TalkTerm/bmad/.github on stable/ring0/ring1) pass only because their older reusable has no pip step yet.

Recommended fix

Make tooling track the reusable version so they can never skew (same fix pattern as the auto-rebase tooling_ref regression, #528job_workflow_sha):

  • Preferred: default tooling_ref to the reusable's own resolved sha (github.job_workflow_sha) instead of the floating v1 tag, so the tooling checkout always matches the reusable that requested it.
  • Alternative (minimal): move the v1 tag forward to a commit that includes scripts/feature-ideation-requirements.txt (or back-port the file onto v1).

Do not promote feature-ideation/v1-next past its current ring until this is fixed — promotion would propagate the failure to every consumer.

Acceptance

  • A scheduled/dispatch run of the v1-next reusable completes the Gather Project Signals job (pip install resolves).
  • .github-private produces Ideas Discussions again (new-ideas + backlog-enhancement modes both succeed).
  • Regression test: tooling_ref/reusable skew cannot recur (e.g. tooling sourced from job_workflow_sha).

🤖 Generated with Claude Code

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