Skip to content

[Phase 1] Expose the feature-ideation backfill input: sync the stub to forward enhance_backlog #935

Description

@github-actions

Story

As a maintainer operating the .github-private idea pipeline,
I want add the enhance_backlog workflow_dispatch input to .github/workflows/feature-ideation.yml and forward it to the reusable, kept verbatim with the central stub template,
so that a backfill sweep of the existing Ideas backlog can actually be triggered from .github-private (the next/dogfood ring) without drifting from the org standard stub.

Acceptance Criteria

  1. .github/workflows/feature-ideation.yml exposes an enhance_backlog workflow_dispatch input (boolean, default false) and forwards it to the reusable via with: enhance_backlog: ${{ inputs.enhance_backlog || false }}.
  2. The stub still pins uses: to petry-projects/.github/.github/workflows/feature-ideation-reusable.yml@feature-ideation/next and leaves the discussion/schedule triggers, the existing inputs (focus_area/research_depth/dry_run), the repo project_context, the job permissions: block, and the secrets: block unchanged — only the new input + its with: forward are added.
  3. If the central standard stub template (standards/workflows/feature-ideation.yml) already carries enhance_backlog, the change is a verbatim sync to it; if the template does not yet carry it, the input lands as a documented repo-specific deviation (recorded so a later template sync does not reset it) — see the open question on the template/exception choice.
  4. tests/test_feature_ideation.bats is extended to assert the enhance_backlog input exists and is forwarded, and the existing bats + workflow-lint (gh-aw-compile/actionlint) checks still pass.

Tasks / Subtasks

Dev Notes

  • HARD GATE (cross-repo): this story is gated on the untracked prerequisites — the central reusable on @feature-ideation/next MUST already define the enhance_backlog input (E2) and the central stub template MUST carry it. If you forward enhance_backlog to a reusable that does not declare it, the workflow call fails with an unknown-input error. Do NOT merge until the central template+reusable expose it. apply-plan cannot express this as a blocked_by edge (the prereq is in another repo); the inert epic + human initiative:auto gate is the backstop.
  • feature-ideation.yml is a thin caller stub; its header normally allows only project_context + cron edits, and AGENTS.md requires stub workflows to match standards/workflows/ verbatim. The correct action is therefore a TEMPLATE SYNC of the new input, NOT a bespoke hand-rolled shape — keep it byte-identical to the central template except for the documented .github-private deviations (the sanctioned @feature-ideation/next pin and the repo project_context).
  • Precedent for a documented stub deviation: this repo is feature-ideation's next/dogfood ring and already carries a SANCTIONED RING-RELEASE PIN to @feature-ideation/next (see the stub header and AGENTS.md 'Release channel tags & the mutable-ref exception'). The compliance audit non-stub-feature-ideation.yml must continue to accept the channel-tag pin.
  • Testing standard: shell/workflow changes are covered by bats (tests/test_feature_ideation.bats, run via scripts/run-bats.sh, listed in .github/workflows/lint.yml) and the gh-aw-compile/actionlint lint jobs. The existing test asserts the stub exists, calls the reusable, and pins the channel — add input-shape assertions alongside those.

Project Structure Notes

Single-file edit to .github/workflows/feature-ideation.yml plus a test extension to tests/test_feature_ideation.bats. No new files; no script changes (the sweep logic itself lives in the central reusable, not here).

References

Likely target surface

  • .github/workflows/feature-ideation.yml
  • tests/test_feature_ideation.bats

Story prepared by the BMAD Scrum Master (Bob) for epic #934. Status: ready-for-dev.

Metadata

Metadata

Assignees

No one assigned

    Labels

    initiativeEpic / initiative tracking issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions