Repository navigation
Closed
Labels
Description
Objective
Fix 20 actionlint expression errors across 18 workflow files that reference undefined properties, causing runtime failures.
Context
These errors occur when workflows reference steps.check_command_position.outputs.matched_command or other properties that don't exist in the current job context. This will cause workflow runs to fail when expressions are evaluated.
Root Causes
- Missing step references (11 workflows): Job outputs reference
steps.check_command_positionbut the step doesn't exist in that job - Missing job dependencies (beads-worker): References
needs.bead.outputs.idwithout properneeds:declaration - Undefined inputs (beads-worker): References
inputs.reasonandinputs.statewhen these inputs aren't defined
Affected Workflows
Priority 1 - Missing check_command_position (11 workflows)
- archie.lock.yml
- brave.lock.yml
- cloclo.lock.yml
- craft.lock.yml
- grumpy-reviewer.lock.yml
- mergefest.lock.yml
- pdf-summary.lock.yml
- plan.lock.yml
- poem-bot.lock.yml
- pr-nitpick-reviewer.lock.yml
- q.lock.yml
Priority 2 - Job dependency issues (1 workflow)
- beads-worker.lock.yml (3 errors: missing job dependency, undefined inputs)
Priority 3 - Other expression errors (6 workflows)
- daily-assign-issue-to-user.lock.yml
- daily-secrets-analysis.lock.yml
- scout.lock.yml
- speckit-dispatcher.lock.yml
- tidy.lock.yml
- unbloat-docs.lock.yml
Fix Approach
For missing check_command_position step
Option 1 - Add the step to the job:
jobs:
agent:
outputs:
slash_command: ${{ steps.check_command_position.outputs.matched_command }}
steps:
- id: check_command_position
run: |
# Add logic to detect slash command
echo "matched_command=/command" >> $GITHUB_OUTPUTOption 2 - Remove unused output:
jobs:
agent:
outputs:
# Remove if not actually used downstream
# slash_command: ${{ steps.check_command_position.outputs.matched_command }}Option 3 - Cross-job reference:
jobs:
check_position:
outputs:
matched: ${{ steps.check.outputs.matched_command }}
steps:
- id: check
# step logic
agent:
needs: check_position
steps:
- run: echo "${{ needs.check_position.outputs.matched }}"For beads-worker job dependency
Add the missing job to needs: array:
jobs:
process_bead:
needs: [bead] # Add this dependency
steps:
- run: echo "${{ needs.bead.outputs.id }}"For undefined inputs
Add missing input definitions:
on:
workflow_call:
inputs:
reason:
required: false
type: string
state:
required: false
type: stringFiles to Modify
Markdown source files (these will be recompiled):
.github/workflows/archie.md.github/workflows/brave.md.github/workflows/cloclo.md.github/workflows/craft.md.github/workflows/grumpy-reviewer.md.github/workflows/mergefest.md.github/workflows/pdf-summary.md.github/workflows/plan.md.github/workflows/poem-bot.md.github/workflows/pr-nitpick-reviewer.md.github/workflows/q.md.github/workflows/beads-worker.md.github/workflows/daily-assign-issue-to-user.md.github/workflows/daily-secrets-analysis.md.github/workflows/scout.md.github/workflows/speckit-dispatcher.md.github/workflows/tidy.md.github/workflows/unbloat-docs.md
Validation Steps
- Fix the markdown source file
- Recompile with
make recompile - Run actionlint on the compiled file:
actionlint .github/workflows/{workflow}.lock.yml - Verify no expression errors remain
- Test workflow execution if possible
Acceptance Criteria
- All 20 actionlint expression errors resolved
- All 18 affected workflows pass actionlint validation
- Workflows compile successfully without errors
- No new expression errors introduced
- Commit message follows conventional commits format
Testing
Run validation after fixes:
make recompile
make lint
gh aw compile --actionlint .github/workflows/{workflow}.mdRelated to #9122
AI generated by Plan Command for discussion #9119
Reacted by Copilot
Activity