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

@github-actions

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

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions