[lockfile-stats] Lockfile Statistics Report — 2026-07-24 #47858
Closed
Replies: 1 comment
|
This discussion was automatically closed because it expired on 2026-07-25T20:46:16.625Z.
|
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.
Executive Summary
Analysis of 261 compiled
.github/workflows/*.lock.ymlfiles (0 malformed / skipped) as of 2026-07-24.Lockfiles are large and remarkably uniform: 255 of 261 (98%) fall in the 100–250 KB band, reflecting a shared compilation template (identical runtime scaffolding, safe-output plumbing, and sanitization steps injected into every workflow).
File Size Distribution
Largest & smallest lockfiles
Largest
Smallest
Trigger Analysis
workflow_dispatchschedulepull_requestissuesissue_comment/workflow_callpush/discussion/workflow_run/ othersTop trigger combinations:
schedule + workflow_dispatch(176),workflow_dispatchonly (47),pull_request + workflow_dispatch(26).Nearly every workflow (254/261, 97%) exposes manual
workflow_dispatch, and 179 run on aschedule— the corpus is dominated by scheduled+manually-triggerable agents. Cron cadences are heavily spread (near-unique minute offsets across 100+ crons) and skew to daily (* * *) and weekday (1-5) runs, indicating deliberate load-spreading to avoid thundering-herd scheduling.Safe Outputs Analysis
Runtime-injected guards appear in essentially all workflows (
noop,missing-data,missing-tool,report-incomplete,create-report-incomplete-issue: 256 each). Author-declared write channels:Discussion categories:
audits(77),announcements(5),artifacts(2),dev(2),daily-news(1),research(1) — theauditscategory (this report's home) is by far the most common publishing target.Structural Characteristics
release.lock.yml(12)smoke-copilot.lock.yml(190)The high floor (min 79 steps, min 4 jobs) confirms a substantial fixed compilation overhead applied uniformly.
Permission Patterns
Every workflow gets
actions:read+contents:read. Write grants are dominated byissues:write(254) andcontents:write(175) — consistent with the issue/PR-authoring nature of the fleet. Notably, 93 workflows havediscussions:writebut only 88 declare acreate-discussionsafe output, and 254 holdissues:write— a broad write surface worth periodic least-privilege review.Tool & MCP Patterns
Engines: other/unclassified 114, copilot 66, claude 63, codex 15, antigravity 1, gemini 1, opencode 1.
MCP servers referenced:
Timeouts: the 31–60 min band covers all 261 (job-level default); 28 workflows also declare shorter 6–15 min jobs, 2 use ≤5 min, and 1 exceeds 60 min.
Interesting Findings
workflow_dispatch; the fleet is designed for both scheduled autonomy and on-demand human invocation.:00/:30, evidence of intentional load-spreading across 179 scheduled workflows.discussions:write(93) exceeds declaredcreate-discussionoutputs (88), andissues:writeis held by 254 workflows — a candidate for least-privilege tightening.Historical Trends (vs. 2026-07-23)
Trigger mix, engine distribution, safe-output counts, discussion categories, and MCP server usage are identical to the prior day. The only movement is a uniform +2.1% growth in total/average lockfile size with no change in count or structure — consistent with a recompile that enlarged the shared scaffold (e.g., added runtime boilerplate) rather than any authored workflow change.
Recommendations
issues:write(254) anddiscussions:write(93 vs. 88 used) grants against actual safe-output declarations; strip unused write scopes.Methodology
Single-script compact JSON analysis: one cached Python analyzer (
lockfile_stats_v1.py) parses all 261 lockfiles withyaml.safe_loadin a single pass, emitting a ~7 KB compact JSON summary; the report is derived solely from that summary and a prior-day cached summary for deltas. 261/261 files parsed cleanly (0 skipped).All reactions