[lockfile-stats] Lockfile Statistics Audit — 2026-07-21 #47139
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Lockfile Statistics Analysis Agent. A newer discussion is available at Discussion #47399. |
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.
Overview
Static analysis of all 260 compiled
.github/workflows/*.lock.ymlfiles (0 malformed / skipped). Parser:PyYAML.safe_load(yaml_available: true), with regex/job-name fallback for permissions, safe-output types, and discussion categories.File size distribution
Every lockfile now exceeds 80 KB — compiled artifacts are uniformly large. Largest:
smoke-copilot.lock.yml(207 KB),smoke-copilot-aoai-entra(190 KB),smoke-copilot-aoai-apikey(190 KB),smoke-claude(184 KB). Smallest:example-permissions-warning(82 KB),firewall(83 KB),codex-github-remote-mcp-test(83 KB).Trigger analysis
workflow_dispatchschedulepull_requestissuesissue_comment/push/workflow_callTop combinations:
schedule+workflow_dispatch(174),workflow_dispatchalone (47),pull_request+workflow_dispatch(26). 253 / 260 (97%) expose manual dispatch. 178 are scheduled across ~100 distinct crons — heavily jittered (odd minutes, staggered hours), mostly daily (* * *) with a1-5weekday cohort and several*/6h fan-outs.Safe outputs analysis
Baseline runtime outputs appear in ~255 workflows each (
noop,missing-tool,missing-data,report-incomplete,create-report-incomplete-issue). Author-selected outputs:Discussion categories: audits 77, announcements 5, artifacts 2, dev 2, daily-news 1, research 1. The
auditscategory dominates published output.Structural characteristics
release)smoke-copilot)Run/script steps total 14,780 (~57 per workflow). Structure is highly uniform — the ~80-step floor reflects shared compiled scaffolding (setup, firewall, safe-output collection) common to every workflow.
Permission patterns
Read (top): actions 260, contents 260, pull-requests 226, issues 222, discussions 50, security-events 14.
Write (top): issues 253, contents 174, pull-requests 123, actions 97, discussions 93, copilot-requests 67, checks 13.
All 260 workflows carry read
actions+contents; issue-write is near-universal (253). Least-privilege holds at the tail (id-token 2, attestations/packages/statuses 1 each).Tool & MCP patterns
Engine mix: other 113, copilot 66, claude 63, codex 15, plus antigravity/gemini/opencode (1 each). MCP servers: github 100, serena 24, tavily 5, sentry 5, grafana 3, markitdown 3; long tail of single-use servers (semgrep, agentdb, notion, datadog, arxiv, deepwiki, context7, memory). GitHub MCP is the overwhelmingly dominant integration.
Interesting findings
actions:writesurged 4 → 97 in a single day (+93). Same analyzer, same schema — a real change: a large cohort of lockfiles gainedactions: write(likely cache-write or workflow-dispatch enablement) in the 07-20→07-21 recompile. Worth confirming this permission expansion was intentional.workflow_dispatchon 253/260) while 178 also run on schedule — the fleet is designed for both autonomous and on-demand operation.auditsis the primary publishing channel (77 of 96 category-tagged discussions), confirming this fleet is audit/reporting-heavy rather than code-mutating.Historical trends
actions:writeDay-over-day churn is minimal (+3 steps/scripts, +61 KB) — 07-21 is a near-noop recompile except for the
actions:writejump. The week shows steady growth: +7.6% bytes and +10% steps as the fleet and per-workflow scaffolding both expand. (Engine counts pre-07-05 used a different detection heuristic — e.g.copilot=159on 07-01 — so engine trends are only comparable across recent days.)Recommendations
actions:write+93 jump. Verify the 07-21 permission expansion is intentional and scoped;actions: writegrants workflow/cache mutation and should be justified per workflow.Methodology note
Single-script compact JSON analysis: one cached Python analyzer (
lockfile_stats_v1.py) parsed all lockfiles in one pass into a ≤7 KB summary JSON; all reasoning derives from that summary plus dated history snapshots. No per-file inspection outside the analyzer.Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpgSee Network Configuration for more information.
All reactions