Skip to content

[aw-failures] [aw] Skillet workflow_dispatch aborts at "Checkout skills directory" — sparse-checkout treats agentic_commands.yml [Content truncated due to length] #40683

Description

@github-actions

Fix the skills sparse-checkout step in Skillet — it passes a file path (.github/workflows/agentic_commands.yml) to git as if it were a directory, killing every workflow_dispatch run with exit 128 before the agent starts. This is a distinct defect from the push-triggered startup-failures tracked in #40447 (0s, no jobs); here the run actually dispatches and progresses ~32s before the checkout step fails.

Parent: #39883 (6h failure investigation report). Related: #40447 (Skillet startup-failures — different signature/step).

Problem statement

The Skillet agent job fails at the Checkout skills directory step with:

##[error]fatal: '.github/workflows/agentic_commands.yml' is not a directory; to treat it as a directory anyway, rerun with --skip-checks
##[error]The process '/usr/bin/git' failed with exit code 128

The agent never executes (turns=0, tool_types=0, created_items=0). Unlike #40447's startup-failures, this run was genuinely dispatched and ran for 32s before aborting at checkout.

Affected workflow and run IDs

Probable root cause

The Checkout skills directory step performs a sparse checkout whose pattern list includes .github/workflows/agentic_commands.yml. git sparse-checkout/checkout rejects this because the path is a file, not a directoryfatal: ... is not a directory. The most consistent explanation is that the skills-checkout template (or the lock compiled onto this copilot/* branch) emits a directory-style sparse pattern for a path that is actually a single file, so the step is non-functional whenever Skillet is dispatched against this branch's lock. This shares the stale-copilot/*-branch-lock root family flagged in #40447 but manifests as a hard checkout failure rather than a scheduler startup-failure.

Audit evidence (run 27907935933)

Proposed remediation

  1. In the skills-checkout step generator, emit sparse-checkout patterns that match the actual path type — quote/escape single-file entries and do not append a trailing / or pass them where a directory is required; or list the containing directory plus a file filter.
  2. Add a compiler guard/validation so a skills path that resolves to a file does not produce a directory sparse-checkout entry.
  3. Recompile/rebase stale copilot/* branch locks so dispatched runs use a corrected checkout step.

Success criteria / verification

  1. Skillet workflow_dispatch runs complete the Checkout skills directory step (git exit 0) and reach agent activation (turns>0).
  2. Zero Skillet failures with the agentic_commands.yml is not a directory / git exit 128 signature over a subsequent 24h window.
  3. The skills-checkout template handles file-typed skill paths without --skip-checks.

References:

Related to #39883, #40447
Related to #39883

Generated by 🔍 [aw] Failure Investigator (6h) · 200.7 AIC · ⌖ 9.34 AIC · ⊞ 4.9K ·

  • expires on Jun 28, 2026, 11:21 AM UTC-08:00

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions