Repository navigation
[lockfile-stats] Lockfile Statistics Audit — 2026-10-29 (349 workflows) #73035
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Lockfile Statistics Analysis Agent. A newer discussion is available at Discussion #73293. |
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.
Lockfile Statistics Audit — 2026-10-29
Compiled-workflow fleet snapshot: 349 lockfiles, 0 skipped/malformed, run §40947637508.
Status:
create_discussiondetection: 93/94 categories resolved (98.9%) — within tolerance, 1 workflow unresolved (see Quality notes). All other parsers fully resolved (0 unknown engines, 0 unknown agent-job permissions, 0 missing safe-output configs, 0 MCP-manifest fallbacks).Key metrics
workflow_dispatchpresentschedulepresentFile size distribution
Sizes cluster tightly: avg 180 KB, range 98.2 KB–339.7 KB. No outlier bloat detected.
Trigger analysis
Top combinations:
Cron: the dominant schedule is
0 0 */2 * *(every 2 days, midnight) at 61 occurrences (24.1% of scheduled workflows); the remaining ~190 scheduled workflows use distinct, largely de-synchronized cron expressions (likely to avoid runner thundering-herd).All trigger type counts
workflow_dispatch 339 · schedule 253 · pull_request 47 · workflow_call 5 · issues 5 · issue_comment 3 · push 2 · deployment_status 1 · workflow_run 1 · discussion 1 · discussion_comment 1 · repository_dispatch 1 · pull_request_review_comment 1
Safe outputs analysis
Scaffolding types (
noop,report_incomplete,report_missing_data,report_missing_tool,create_report_incomplete_issue) appear in ~98% of workflows — effectively universal boilerplate. Content-producing types:Beyond these, a long tail of 40+ single/low-use integrations exists (Jira, Linear, Slack, code-scanning alerts, project updates, etc.) — see methodology note.
Discussion categories (93 resolved of 94
create_discussionconfigs):audits80 (86.0%),announcements5,artifacts2,dev2,research2,general1,daily-news1.Structural characteristics
Permission patterns (agent job — not the always-empty top-level
permissions: {})The agent job itself is read/none-only almost everywhere — writes are delegated elsewhere (safe-outputs pattern):
Union across all jobs per workflow (any job granting write):
id-token349/349 (100%),issues346 (99.1%),copilot-requests172 (49.3%),contents234 (67.0%),pull-requests162 (46.4%),discussions98 (28.1%),actions143 (41.0%).Engine distribution
49+ distinct
agent_modelstrings observed (top:copilot/auto15,copilot/gpt-512), including unresolved dynamic expressions like${{ needs.activation.outputs.model_size }}andcopilot/${{ inputs.model }}— these are parameterized at dispatch time and can't be statically resolved from the lockfile.Tool & MCP patterns
safeoutputs349 (100%, scaffold),github208 (59.6%),agenticworkflows44 (12.6%),work-queue37 (10.6%),mcpscripts33 (9.5%),serena24 (6.9%), plus low-frequency servers (tavily, sentry, grafana, ast-grep, datadog, deepwiki, microsoftdocs, kreuzberg, graft, agentdb — ≤5 each). All manifests parsed viagh-aw-manifest; 0 fallback-scraped.Timeout distribution (across all jobs)
5 min: 702 · 10 min: 387 · 60 min: 338 · 15 min: 264 · 45 min: 83 · remainder (2–300 min): 17. Two canonical shapes: short safe-output/processing jobs (~5–15 min) and long agent jobs (~60 min).
Interesting findings
workflow_dispatchand 72.5% are scheduled, withschedule+workflow_dispatchalone covering 61.9% of the fleet — the dominant design is "automated + manually triggerable."contents, never write except 1.1% onid-token), while a union of jobs grantsid-tokenwrite in 100% andissueswrite in 99.1% of workflows — strong, consistent adherence to the safe-outputs write-isolation pattern.* * *→* * 2). No structural or permission drift.Historical trends (vs. 2026-10-28)
No changes in trigger mix, safe-output types, discussion categories, permission distributions, engine distribution, or MCP server usage between the two snapshots.
Quality notes
yaml_available: true.safe_outputs_config_missing: 0— config found in all 349 lockfiles (no regex fallback needed for safe outputs).engine_unknown: 0,agent_job_permissions_unknown: 0,mcp_fallback_count: 0.partial_or_failedsince it is not 100%. Onecreate_discussion-configured workflow has a category that neither the structuredGH_AW_SAFE_OUTPUTS_CONFIGparse nor the regex fallback could resolve; worth a manual spot-check but not indicative of a broken extraction pipeline (94 ≠ 0 created, 93 ≠ 0 detected).Recommendations
create_discussioncategory (93/94 resolved) so future runs hit 100% detection.workflow_dispatch(workflow_call/push-only triggers) for consistency with the dominant dispatch-plus-schedule pattern.agent_modelexpressions (e.g.${{ inputs.model }}) against actual dispatch inputs to confirm pinned models are still supported.Methodology: single-script compact JSON analysis (
lockfile_stats_v4.py, cached incache-memory/scripts/), parsinggh-aw-metadata/gh-aw-manifestheader comments andGH_AW_SAFE_OUTPUTS_CONFIGenv JSON viayaml.safe_load+json.loads; no raw lockfilecat/grepperformed outside the analyzer.References:
All reactions