Repository navigation
[lockfile-stats] Lockfile Statistics Report — 2026-10-19 (344 workflows) #70361
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Lockfile Statistics Analysis Agent. A newer discussion is available at Discussion #70624. |
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 — 2026-10-19
Overview of all compiled agentic workflow lockfiles in
.github/workflows/*.lock.yml, generated via single-script compact JSON analysis.Executive summary
File size distribution
Sizes cluster tightly: avg 167 KB vs. max 303 KB (~1.8x avg) and min 91 KB (~0.55x avg) — most lockfiles share a similar scaffold/boilerplate footprint rather than varying by workflow complexity.
Trigger analysis
Top trigger combinations:
schedule+workflow_dispatch(214),workflow_dispatchonly (71),pull_request+schedule+workflow_dispatch(33).Most common cron:
0 0 */2 * *(every 2 days) — 60 workflows, by far the dominant schedule pattern.Safe outputs analysis
337 workflows carry the baseline safety-net tools (
missing_data,missing_tool,noop,report_incomplete). Beyond that baseline:Discussion categories (92 of 93
create_discussionworkflows resolved; 1 unresolved —pr-sous-chef.lock.yml, config present but no parseable category):Self-check:
create_discussion_workflows=93,discussion_category_detected=92 (99% — within tolerance),safe_outputs_config_missing=1 (not all-344, so detection is healthy, not broken).Permission patterns (agent job)
Read-only is the norm at the agent-job level — the agent job never directly requests
write:copilot-requests: write(167) is the only scope the agent job itself ever grants write for — a billing/usage permission distinct from content-mutating scopes.Union across all jobs (agent + safe-output handler jobs) tells a different story: 342/344 workflows (99.4%) grant some write scope once handler jobs are included —
issues(342),contents(230),copilot-requests(167),pull-requests(153),discussions(97). This confirms the intended design: mutations happen in dedicated safe-output jobs, not the agent job itself.permissions_unknown= 0 — permission extraction succeeded for all 344 lockfiles.Engine distribution
engine_unknown= 0 — every lockfile resolved viagh-aw-metadataagent_id.Tool & MCP patterns
7 lockfiles had no
gh-aw-manifestand fell back to legacy# - mcp__...comment scraping.Interesting findings
contents,issues,pull-requests,discussions) — all mutation happens through safe-output handler jobs. This is strong evidence the safe-outputs isolation model is consistently applied repo-wide.0 0 */2 * *dominates scheduling (60 workflows, every-other-day cadence) — far more common than any other cron pattern, suggesting a shared template default rather than per-workflow tuning.auditsis overwhelmingly dominant (79 of 92 resolved, 86%) — this very report's category included — indicating mostcreate_discussionusage in this repo is for audit-style reporting rather than announcements or Q&A.pr-sous-chef.lock.yml) has appeared in prior runs too — its safe-outputs config has acreate_discussionentry without acategorykey resolvable by the primary parser, worth a manual check.Historical trends (vs. 2026-10-18)
Net change is consistent with one codex-engine workflow being removed (accounts for the -1 lockfile, -1 codex, and the broad -1 shifts across triggers/jobs/steps/MCP usage). The small +1 upticks in union
pull-requests writeanddiscussions writedon't fit that single-removal story and point to a separate permission change in another existing workflow — worth a quick diff check if precision matters.Recommendations
pr-sous-chef.lock.ymlunresolved discussion category to close the long-standing 1-workflow gap in category detection.0 0 */2 * *cron default explicitly if it is in fact a shared template, since 60/251 scheduled workflows (24%) use it verbatim.Methodology
single-script compact JSON analysis — one analyzer script (
lockfile_stats_v4.py, cached and reused from/tmp/gh-aw/cache-memory/scripts/) parsed all lockfiles once into a compact summary JSON; all figures above are derived from that summary only, with a same-day historical comparison against/tmp/gh-aw/cache-memory/history/2026-10-18.json.All reactions