[lockfile-stats] Lockfile Statistics Audit — 2026-06-11 #38727
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Lockfile Statistics Analysis Agent. A newer discussion is available at Discussion #38927. |
Beta Was this translation helpful? Give feedback.
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
Analyzed 245 compiled
.github/workflows/*.lock.ymlfiles on 2026-06-11. 0 malformed/skipped. Total footprint 27,754,612 bytes (~26.5 MB), averaging ~110.6 KB per lockfile (median ~110.1 KB). Day-over-day, the corpus grew +425,512 bytes (+1.6%) with no change in workflow count — a uniform ~1–2 KB increase across nearly every lockfile, consistent with a shared template/action regeneration (cf. recentawf-reflect/OIDC api-proxy harness change).File Size Distribution
Four workflows crossed from the 50–100 KB band into 100–250 KB this cycle. Lockfiles are large because they are fully-expanded GitHub Actions YAML (inlined harness scripts + full MCP tool allow-lists).
Largest & smallest lockfiles
Largest: smoke-copilot-aoai-apikey (173.5 KB), smoke-copilot (172.9 KB), smoke-claude (169.7 KB), smoke-copilot-arm (160.7 KB), smoke-codex (148.5 KB), mcp-inspector (144.4 KB), deep-report (143.2 KB), issue-monster (142.3 KB), cloclo (140.0 KB), daily-news (136.9 KB).
Smallest: test-workflow (74.1 KB), example-permissions-warning (74.7 KB), codex-github-remote-mcp-test (75.6 KB), firewall (76.0 KB), ace-editor (83.4 KB).
Trigger Analysis
Top trigger combinations:
schedule+workflow_dispatch(161),workflow_dispatchonly (46),pull_request+workflow_dispatch(26). Manual dispatch is near-universal (237/245, 96.7%). No day-over-day change in trigger topology.Schedule cron frequencies
165 scheduled triggers, well-jittered (minute values spread across the hour to avoid fleet-wide :00 collisions). Most are daily (
* * *); a cluster run weekday-only (1-5); a handful use*/4or*/6hourly intervals and one weekly0 0 */7 * *. Only 7 cron expressions repeat (appear twice); the rest are unique.Safe Outputs Analysis
The v1 analyzer reported no detectable top-level safe-output type keys in the compiled lockfiles (
safe_output_types: {}). In these compiled artifacts, safe-output configuration is embedded inside inlined harness scripts/env rather than as scannable top-level YAML keys, so the heuristic does not surface them. This is a known limitation of the v1 schema, not a finding that workflows lack safe outputs — flagged below as a recommended schema improvement. Discussion-category detection was likewise empty for the same reason.Structural Characteristics
Scripts (run steps) total 12,766 across the corpus (~52 per workflow). The tight min/max band (5–12 jobs, 72–148 steps) confirms all lockfiles are generated from a common compiler template with low structural variance.
Permission Patterns
All 245 workflows show an empty top-level
permissions: {}block (permissions_top_level_kind: {"{}": 245}); per-key read/write permissions are set within job scopes that the v1 text heuristic did not classify (returned empty). Like safe-outputs, granular permission extraction is a v1 limitation.Tool & MCP Patterns
The GitHub MCP server dominates overwhelmingly — 6,552 references reflect the full read-only GitHub tool allow-list (get_, list_, search_*) being inlined into many workflows, with ~126 workflows each carrying the identical broad GitHub toolset. This inlined allow-list is the single biggest contributor to lockfile size.
Engine distribution: copilot 163 (66.5%), claude 63 (25.7%), codex 14 (5.7%), and one each of antigravity, crush, gemini, opencode, pi.
Timeout distribution
(Counts are per-job, so exceed 245.)
Interesting Findings
workflow_dispatch, almost always paired with a schedule — the fleet is built for both autonomous and on-demand operation.Historical Trends
22 daily summaries available (2026-05-20 → 2026-06-11). Comparing to the latest prior day (2026-06-10): the corpus is in a slow, steady growth phase — workflow count flat at 245, byte footprint rising ~1.6%/day this cycle driven by template regeneration, not new workflows. Trigger mix, engine distribution, and MCP server usage are stable.
Recommendations
Methodology
Single-script compact JSON analysis: one cached analyzer (
lockfile_stats_v1.py) parsed all 245 lockfiles in one pass and emitted a compact ~4.8 KB summary; all insights above are derived solely from that JSON plus the prior-day historical summary. 0 lockfiles skipped. Note: safe-output, discussion-category, and granular-permission counts are unavailable under the v1 schema (heuristic limitation, not absence).Beta Was this translation helpful? Give feedback.
All reactions