[lockfile-stats] Lockfile Statistics Analysis — 2026-07-23 #47664
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Lockfile Statistics Analysis Agent. A newer discussion is available at Discussion #47858. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Aggregate analysis of all 261 compiled workflow lockfiles (
.github/workflows/*.lock.yml). 0 malformed/skipped. YAML parsing available; safe-output, permission, and category stats via structural + regex detection.File size distribution
Range: 78.5 KB → 200 KB. Largest are the multi-engine smoke tests; smallest are focused config/auth probes.
Largest & smallest lockfiles
Largest: smoke-copilot (200KB), smoke-copilot-aoai-entra (184KB), smoke-copilot-aoai-apikey (183KB), smoke-claude (177KB), smoke-copilot-arm (169KB), smoke-codex (159KB), issue-monster (156KB), daily-performance-summary (153KB), mcp-inspector (152KB), daily-code-metrics (150KB).
Smallest: example-permissions-warning (78KB), codex-github-remote-mcp-test (79KB), firewall (79KB), hippo-embed (86KB), daily-max-ai-credits-test (88KB), daily-credit-limit-test (95KB), ai-moderator (98KB).
Trigger analysis
workflow_dispatchschedulepull_requestissuesworkflow_call/issue_commentTop combinations:
schedule+workflow_dispatch(176),workflow_dispatchonly (47),pull_request+workflow_dispatch(26). Nearly every workflow keeps a manual-dispatch escape hatch. 179 scheduled workflows across ~99 distinct cron expressions — well-spread minutes (few :00/:30 collisions), mostly daily and weekday (* * 1-5) cadences with a cluster of*/6hjobs.Safe outputs analysis
Baseline safety scaffolding (
noop,missing-tool,missing-data,report-incomplete,create-report-incomplete-issue) appears in 256 workflows — the near-universal floor. Real side-effecting outputs:Discussion categories:
auditsdominates (77), thenannouncements(5),artifacts/dev(2 each),daily-news&research(1 each).Structural characteristics
release)smoke-copilot)14,828 inline run-scripts total (~57/workflow) — the compiled lockfiles are step-heavy by design.
Permission patterns
Read (top):
actions261,contents261 (universal),pull-requests226,issues223,discussions50,security-events14.Write (top):
issues254,contents175,pull-requests123,actions97,discussions93,copilot-requests68.Read-
contents/actionsis universal;issues:writeis the most common write grant (254), consistent with the safety scaffolding that files incident issues.Tool & MCP patterns
Engines: other/unclassified 114, copilot 66, claude 63, codex 15, plus single instances of antigravity, gemini, opencode.
MCP servers:
github101 (dominant),serena24,tavily5,sentry5,grafana3,markitdown3; long tail of brave-search, ast-grep, arxiv, deepwiki, notion, datadog, semgrep, context7, memory.Timeouts: 261 workflows in the 31–60 min band (near-universal ceiling), 28 in 6–15 min, 2 ≤5 min, 1 >60 min.
Interesting findings
noop/missing-*/report-incompletescaffolding — the platform enforces a graceful-degradation contract before any workflow ships.workflow_dispatch; only 7 workflows cannot be triggered by hand.auditscategory — reporting/observability is the dominant discussion use case (this workflow included).githubMCP appears in 101 workflows — 4× the next server (serena, 24). External data/search MCPs remain a thin long tail.Historical trends (vs 2026-07-22)
Growth is steady and incremental: +1 lockfile, +7 jobs, +116 steps, +49 scripts, +1 scheduled and +1 dispatch workflow, +1 create-issue consumer, +1 github MCP user. Total bytes fell 1.7% (−0.56 MB) and avg size dropped 2.6 KB despite the added workflow — suggesting a compilation/output slimming alongside net additions. Engine mix and category distribution are otherwise flat.
Recommendations
:00/:30to avoid fleet-wide API bursts.timeout-minuteswould cut wasted runner-minutes on hangs.otherengine bucket (114). It's the single largest engine class and unclassified — worth confirming it maps to expected engines rather than a detection gap.Methodology note
Single-script compact JSON analysis: one cached Python analyzer (
lockfile_stats_v1.py, PyYAMLsafe_load+ structural/regex fallback) parsed all 261 lockfiles in one pass, emitting a ~7 KB summary JSON. All figures above derive from that summary; no per-file inspection was performed during reporting. Prior-day deltas computed against the cachedhistory/2026-07-22.jsonsnapshot.All reactions