[lockfile-stats] Lockfile Statistics Report — 2026-08-27 (295 workflows) #56445
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Lockfile Statistics Analysis Agent. A newer discussion is available at Discussion #56724. |
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
Analyzed 295 compiled lockfiles (
.github/workflows/*.lock.yml) as of 2026-08-27. Total size 42.9 MB (44,954,453 bytes), avg 152.4 KB/file (min 90.1 KB, max 239.8 KB). No malformed files skipped. Methodology: single-script compact JSON analysis (cached analyzer reused, no per-filecat/grep).Key metrics
schedule+workflow_dispatch— 206 (70%)workflow_dispatchpresentschedulepresent0 0 */2 * *(every 2 days) — 42 workflowsengine_unknown: 0create_discussionworkflowsaudits— 79/92 (86%)noop/missing_data/missing_tool/report_incompletein 289/295 (98%)contentspermissionreadin 295/295 (0 direct write)safeoutputs295 (100%),github122 (41%),agenticworkflows44 (15%),serena25Trigger analysis
workflow_dispatch287,schedule239,pull_request43,issues5,issue_comment3,workflow_call2, and 6 others at 1 each (deployment_status,workflow_run,discussion,discussion_comment,push,pull_request_review_comment).schedule+workflow_dispatch206,workflow_dispatchalone 38,pull_request+schedule+workflow_dispatch29,pull_request+workflow_dispatch9.Safe outputs analysis
Full safe-output type counts (top 15)
Discussion categories (92
create_discussionworkflows, all resolved):audits79,announcements5,artifacts2,dev2,research2,general1,daily-news1. Detection gap: 0.safe_outputs_config_missing: 0.Structural characteristics
run:) steps/workflow: avg 99.26, max 133.Permission patterns
From
jobs.agent.permissions(not the always-empty top-level block):contents: read 295, write 0 — the agent job never holds direct write access.issues: read 258 / none 37.pull-requests: read 254 / none 41.discussions: none 243 / read 52.actions: read 111 / none 184.id-token: write 2 / none 293.checks/deployments/packages: read 1 each, else none.permissions_unknown: 0 (agent-job permissions parsed for all 295).Union across all jobs per workflow (captures the privileged safe-output-apply job):
issueswrite 295/295 (100%),contentswrite 205 (70%),pull-requestswrite 144,discussionswrite 95,actionswrite 105.union_any_write_count: 295/295 — every workflow grants write somewhere, confirming a consistent least-privilege-agent + privileged-apply-job pattern.Engine distribution
copilot 148, claude 62, codex 47, pi 21, crush 3, aider 3, opencode 3, goose 3, cursor 1, deepseek-harness 1, gemini 1, kiro 1, pydantic-ai 1.
engine_unknown: 0.Top models:
copilot/mai-code-1-flash-picker33,copilot/gpt-5.423,copilot/claude-sonnet-4.512,gpt-5.46,claude-sonnet-4.65.Tool & MCP patterns
safeoutputs(295, 100%),github(122, 41%),agenticworkflows(44, 15%),serena(25),mcpscripts(12),tavily(5),sentry(3), plus single-digit usage ofast-grep,datadog,deepwiki,microsoftdocs,grafana,mempalace,graft,agentdb,ruflo.mcp_fallback_used_count: 0 (manifest-based detection succeeded for every lockfile).Interesting findings
contents:writedirectly (295/295 read-only), yet 100% of workflows grant write somewhere in the job graph — every workflow relies on a separate privileged job to apply safe outputs.auditsdominates discussion output — 79 of 92create_discussionworkflows (86%) post to theauditscategory, this report included.noop/missing_data/missing_tool/report_incompleteappear in 289/295 workflows (98%), indicating a near-fleet-wide standard for graceful-failure signaling.Historical trends (vs 2026-08-26)
workflow_dispatchcountcreate_discussionworkflowsgithubMCP usageagenticworkflowsMCP usagenoop)The single new lockfile added between runs uses
claudeas its engine, theschedule+workflow_dispatchtrigger pair, and the full standard safe-output scaffold (includingupload_artifact, which also moved 13→14) — consistent with one new scheduled Claude-based workflow onboarding the standard template.Recommendations
id-token: writeworkflows are OIDC-only and don't carry other unnecessarily broad grants.auditsnow holds 86% of discussion output, consider a sub-category or tag scheme if this category keeps growing, to keep the discussions board navigable.noop/failure paths are being monitored somewhere (e.g. issue creation or dashboards), not just silently absorbed.Methodology note
Single-script compact JSON analysis: one cached Python analyzer (
lockfile_stats_v4.py) parsed every.lock.ymlin one pass viayaml.safe_load, extracting engine (gh-aw-metadatacomment), safe-output config (GH_AW_SAFE_OUTPUTS_CONFIGenv JSON), per-job permissions, and MCP manifest data. No individual lockfile was opened outside that script. Self-checks (category-resolution gap, safe-outputs-config coverage, engine/permission resolution) all passed with zero unresolved cases.References:
All reactions