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 directory — fatal: ... 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
- 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.
- Add a compiler guard/validation so a skills path that resolves to a file does not produce a directory sparse-checkout entry.
- Recompile/rebase stale
copilot/* branch locks so dispatched runs use a corrected checkout step.
Success criteria / verification
Skillet workflow_dispatch runs complete the Checkout skills directory step (git exit 0) and reach agent activation (turns>0).
- Zero
Skillet failures with the agentic_commands.yml is not a directory / git exit 128 signature over a subsequent 24h window.
- 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 · ◷
Fix the skills sparse-checkout step in
Skillet— it passes a file path (.github/workflows/agentic_commands.yml) togitas if it were a directory, killing everyworkflow_dispatchrun with exit 128 before the agent starts. This is a distinct defect from thepush-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
Skilletagent job fails at theCheckout skills directorystep with: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
Skillet(.github/workflows/skillet.lock.yml)event=workflow_dispatch,branch=copilot/fix-daily-hippo-learn-outputs,duration=32s,conclusion=failure,error_count=1.push/0s startup-failures §27909487194, §27909178609.Probable root cause
The
Checkout skills directorystep performs a sparse checkout whose pattern list includes.github/workflows/agentic_commands.yml.gitsparse-checkout/checkoutrejects this because the path is a file, not a directory —fatal: ... is not a directory. The most consistent explanation is that the skills-checkout template (or the lock compiled onto thiscopilot/*branch) emits a directory-style sparse pattern for a path that is actually a single file, so the step is non-functional wheneverSkilletis 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)
agenticworkflows audit: single critical key-finding =fatal: '.github/workflows/agentic_commands.yml' is not a directory ... git failed with exit code 128.behavior_fingerprint:agentic_fraction=0,actuation_style=read_only,turns=0— no agent activation, no GitHub writes.comparison.baseline_found=false— no successful Skillet baseline to diff against (Skillet has been failing continuously; see [aw-failures] [aw] Skillet floods Actions with startup-failures on copilot/* branch pushes (recurring — 73 failed runs / 6h as o [Content truncated due to length] #40447).Proposed remediation
/or pass them where a directory is required; or list the containing directory plus a file filter.copilot/*branch locks so dispatched runs use a corrected checkout step.Success criteria / verification
Skilletworkflow_dispatchruns complete theCheckout skills directorystep (git exit 0) and reach agent activation (turns>0).Skilletfailures with theagentic_commands.yml is not a directory/ git exit 128 signature over a subsequent 24h window.--skip-checks.References:
Related to #39883, #40447
Related to #39883