Skip to content

Compliance: non-stub-feature-ideation.yml #368

Closed

Description

@don-petry

Compliance Finding

Category: ci-workflows
Severity: error
Check: non-stub-feature-ideation.yml

Detail

Centralized workflow feature-ideation.yml references the reusable but is not pinned to @v1 (org standard). Replace with the canonical stub from standards/workflows/feature-ideation.yml which delegates to petry-projects/.github/.github/workflows/feature-ideation-reusable.yml@v1.

Standard Reference

standards/ci-standards.md#centralization-tiers

Remediation

Copy the relevant workflow template from standards/workflows/ verbatim — do not generate from scratch:

gh api repos/petry-projects/.github/contents/standards/workflows/<template>.yml --jq '.content' | base64 -d > .github/workflows/<template>.yml

Available templates: agent-shield.yml, dev-lead.yml, dependabot-automerge.yml, dependabot-rebase.yml, dependency-audit.yml, feature-ideation.yml


This issue was automatically created by the weekly compliance audit.

Activity

  1. don-petry commented on Jul 3, 2026

    @don-petry
    ContributorAuthor

    Dev-Lead Implementation Plan

    Issue: #368 — Compliance: non-stub-feature-ideation.yml

    Scope

    Replace .github/workflows/feature-ideation.yml with the canonical stub from petry-projects/.github standards/workflows/feature-ideation.yml (verbatim), preserving only the repo-specific project_context — the sole documented per-repo customization.

    Analysis

    The current stub is an outdated revision: it pins the reusable to SHA c2beceb…, lacks the redispatch discussion→dispatch bridge job (#963), and is missing the enhance_backlog / target_discussion workflow_dispatch inputs. The canonical stub pins to e20a8fac… # v1 and adds all of the above. The uses: line is a SHA pin with a # v1 marker (not a NOSONAR branch-ref like the other caller stubs), so no NOSONAR marker is added.

    Implementation Checklist

    • Overwrite .github/workflows/feature-ideation.yml with the canonical template verbatim
    • Re-insert Broodly's existing project_context paragraph in place of the template's TODO placeholder
    • Verify the only diff from canonical is the project_context value

    Tests to Write

    • Behavior-preserving CI config change — no unit tests apply (TDD exception per Phase 2). Validation is via YAML parse + diff-against-canonical.

    Test Command

    python3 -c "import yaml,sys; yaml.safe_load(open('.github/workflows/feature-ideation.yml'))" and bash .dev-lead/scripts/dev-lead-lint.sh

  2. don-petry commented on Jul 3, 2026

    @don-petry
    ContributorAuthor

    Dev-Lead: Implementation Complete

    Plan Execution

    • Overwrote .github/workflows/feature-ideation.yml with the canonical template from petry-projects/.github standards/workflows/feature-ideation.yml (verbatim)
    • Re-inserted Broodly's existing project_context paragraph in place of the template's TODO placeholder
    • Verified the only diff from the pristine canonical is the project_context value

    What changed vs. the old stub

    • Reusable pin updated c2beceb… # v1 → e20a8fac… # v1 (canonical @v1 SHA)
    • Added the redispatch discussion→dispatch bridge job (#963) so discussion: created events run under a supported workflow_dispatch context
    • Added enhance_backlog and target_discussion workflow_dispatch inputs; wired enhance_backlog and target_discussion through to the reusable
    • ideate job now guards if: github.event_name != 'discussion' (the bridge handles the discussion path)

    Note: the uses: line is a SHA pin with a # v1 marker (not a mutable branch-ref), so the NOSONAR(S7637) marker used on the branch-ref caller stubs does not apply here — the canonical stub does not carry one.

    Verification

    YAML OK  (python3 yaml.safe_load)
    diff against pristine canonical → only the project_context block differs (expected per-repo edit)
    dev-lead lint:
      [lint] shellcheck on 2 file(s)...
      [lint] validating CODEOWNERS...
      OK: CODEOWNERS
      [lint] all checks passed
    

    No unit tests apply — this is a behavior-preserving CI-config migration (Phase 2 TDD exception). No source/tests reference this workflow.

    Files Changed

    • .github/workflows/feature-ideation.yml: replaced outdated caller stub with the canonical @v1 stub, preserving Broodly's project_context

    Notes

    The canonical redispatch job requires the GH_PAT_WORKFLOWS secret to be available (it guards for its presence and fails loudly if missing). This is an org-level provisioning concern, unchanged by this migration. No follow-up issues.

  3. don-petry commented on Jul 10, 2026

    @don-petry
    ContributorAuthor

    Weekly Compliance Audit (2026-07-10)

    This finding is still open.

    Detail: Centralized workflow feature-ideation.yml references the reusable but is not pinned to @v1 (org standard). Replace with the canonical stub from standards/workflows/feature-ideation.yml which delegates to petry-projects/.github/.github/workflows/feature-ideation-reusable.yml@v1.

    Standard: standards/ci-standards.md#centralization-tiers

  4. added
    dev-leadFor dev-lead agent pickup
    and removed
    dev-leadFor dev-lead agent pickup
    on Jul 15, 2026
  5. don-petry commented on Jul 15, 2026

    @don-petry
    ContributorAuthor

    Dev-Lead Implementation Plan

    Issue: #368 — Compliance: non-stub-feature-ideation.yml

    Scope

    Replace .github/workflows/feature-ideation.yml with the canonical stub from petry-projects/.github standards/workflows/feature-ideation.yml (verbatim), preserving only the per-repo project_context customization for Broodly.

    Implementation Checklist

    • Fetch canonical standards/workflows/feature-ideation.yml and write verbatim to .github/workflows/feature-ideation.yml
    • Re-apply the single allowed per-repo edit: replace the TODO project_context block with the existing Broodly project description
    • Confirm the uses: line delegates to feature-ideation-reusable.yml on the canonical channel ref

    Tests to Write

    • Pure CI-workflow/config change with no observable code behavior — TDD phase exempt per instructions. Verification is via lint + YAML validity.

    Test Command

    bash .dev-lead/scripts/dev-lead-lint.sh (plus YAML parse validation)

  6. don-petry commented on Jul 15, 2026

    @don-petry
    ContributorAuthor

    Dev-Lead: Implementation Complete

    Plan Execution

    • Fetched canonical standards/workflows/feature-ideation.yml from petry-projects/.github and wrote it verbatim to .github/workflows/feature-ideation.yml
    • Re-applied the single allowed per-repo edit: replaced the TODO project_context block with the existing Broodly project description
    • Confirmed the uses: line delegates to the org reusable feature-ideation-reusable.yml

    Verification

    YAML OK
      [lint] shellcheck on 2 file(s)...
      [lint] validating CODEOWNERS...
    OK: CODEOWNERS
      [lint] all checks passed
    

    Diff of the repo file vs. the canonical stub is only the project_context block (the sole per-repo customization the template permits) — every other line matches verbatim, including the uses: delegation line.

    Files Changed

    • .github/workflows/feature-ideation.yml: replaced the drifted stub with the canonical org template (adds the redispatch discussion→dispatch bridge and prep input-resolution jobs, enhance_backlog/target_discussion dispatch inputs, and the canonical reusable uses: ref), preserving Broodly's project_context.

    Notes

    • The audit finding text referenced pinning to @v1, but the current canonical template (source of truth per the Remediation section) delegates to feature-ideation-reusable.yml@feature-ideation/stable (a first-party channel ref annotated # NOSONAR). Copied the template verbatim as instructed rather than hand-pinning to a stale ref.
    • Pure CI-workflow/config change with no observable code behavior — TDD phase exempt per the instructions; verified via YAML parse + dev-lead lint.
  7. added a commit that references this issue on Jul 15, 2026
  8. added 4 commits that reference this issue on Aug 4, 2026
  9. added a commit that references this issue on Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    compliance-auditAutomated compliance audit findingdev-leadFor dev-lead agent pickup

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions