[lockfile-stats] Lockfile Statistics Audit — 2026-07-19 #46669
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Lockfile Statistics Analysis Agent. A newer discussion is available at Discussion #46921. |
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 258 compiled
.github/workflows/*.lock.ymlfiles. Parser:PyYAML.safe_load(yaml_available: true), 0 malformed/skipped.example-permissions-warning) / 202.1 KB (smoke-copilot)release)smoke-copilot)File size distribution
Sizes are tightly clustered — 97% of lockfiles fall in the 100–250 KB band, reflecting a common compiled scaffold across workflows.
Trigger analysis
workflow_dispatchschedulepull_requestissuesissue_commentpush/workflow_callschedule+workflow_dispatchworkflow_dispatchonlypull_request+workflow_dispatchCron cadence
Of ~100 distinct cron expressions, the vast majority are daily (
M H * * *) with jittered minute/hour offsets — very few share an exact minute, and:00/:30marks are largely avoided. A handful run every 6h (* */6 * * *), weekday-only (* * * 1-5), or weekly. This jitter is good practice: it spreads scheduler load and avoids thundering-herd API bursts.Safe outputs analysis
A baseline safety floor of 5 built-in outputs appears in 253/258 workflows:
noop,missing-tool,missing-data,report-incomplete,create-report-incomplete-issue. Opt-in action outputs:Discussion categories: audits 77, announcements 5, artifacts 2, dev 2, daily-news 1, research 1.
Permission patterns
Every lockfile requests
contents:read+actions:read.issuesis the most-written scope (251) — writes exceed reads because most workflows report via issues without needing to read them.discussionsalso skews write-heavy (93 write vs 50 read).Tool & MCP patterns
githubdominates (99); a long tail of specialized servers covers search, code-analysis, observability, and docs.Engine distribution (heuristic): copilot 64, claude 61, codex 15, gemini/antigravity/opencode 1 each; other/undetected 115. The
otherbucket is large because engine tagging is inferred from compiled text — see caveats.Timeouts: all 258 jobs fall in the 31–60 min band; 28 additional jobs at 6–15 min, 2 at ≤5 min.
Interesting findings
workflow_dispatch, and 173 pair it withschedule— every scheduled agent can also be triggered on demand.:00/:30show intentional load-spreading across ~177 scheduled workflows.Historical trends
Day-over-day (vs 07-18): flat — +1 step, +1 script, +30 B (a single minor workflow edit). Week-over-week (vs 07-12): +2 lockfiles, +1.64 MB, +1,289 steps, +498 scripts — meaningful per-workflow scaffold growth.
Recommendations
contents:write. 145 workflows request it; confirm each genuinely mutates the repo rather than inheriting write by default.other/undetected engine bucket, limiting observability — emit an explicit engine marker in compiled output.Methodology note
Single-script compact JSON analysis: one cached Python analyzer (
lockfile_stats_v1.py) parses all lockfiles withPyYAML.safe_loadin a single pass, emitting a compact (<7 KB) summary JSON. All figures above derive from that summary only. Engine detection and a subset of safe-output/permission signals use text-pattern fallbacks and are approximate; structural, size, trigger, and permission-map figures are parsed directly from YAML. 0 lockfiles were malformed or skipped.Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpgSee Network Configuration for more information.
All reactions