Agentic Workflow Lock File Statistics — 2026-03-02 #19253
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it expired on 2026-03-03T16:50:45.133Z.
|
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.
-
Statistical analysis of all 165
.lock.ymlworkflow files in.github/workflows/, comparing with yesterday's baseline of 162 files.Executive Summary
File Size Distribution
Size Extremes:
codex-github-remote-mcp-test.lock.yml(23.2 KB)smoke-claude.lock.yml(143.5 KB)The 50–100 KB band dominates at 92%, reflecting strong structural consistency across all workflows. The four outliers over 100 KB are smoke tests and feature-rich workflows with many steps.
Trigger Analysis
Most Popular Triggers
workflow_dispatchschedulepull_requestissue_commentissuespull_request_review_commentdiscussion_commentdiscussionworkflow_runworkflow_callpushCommon Trigger Combinations
schedule + workflow_dispatchworkflow_dispatchonlypull_request + schedule + workflow_dispatchpull_request + workflow_dispatchSchedule Cron Patterns
0 14 * * 1-50 13 * * 1-50 11 * * 1-50 9 * * 1-50 */6 * * *0 15 * * 1-50 10 * * 1-50 16 * * 1-512 9 * * *Most schedules target business hours on weekdays, suggesting these are operational workflows rather than pure CI.
Engine Distribution
Copilot maintains a strong majority. Claude remains the second-largest engine at roughly 1-in-4 workflows. Codex dropped by 1 workflow.
Safe Outputs Analysis
All 165 workflows configure
missing_dataandmissing_toolhandlers — 100% compliance with the safe-output obligation pattern.Safe Output Types (primary, excluding
missing_data/missing_tool)create_discussioncreate_issueadd_commentcreate_pull_requestadd_labelspush_to_pull_request_branchcreate_pull_request_review_commentupdate_issueclose_discussionsubmit_pull_request_reviewremove_labelscreate_project_status_updatedispatch_workflowclose_pull_requestlink_sub_issueupdate_projecthide_commentcreate_agent_sessioncreate_code_scanning_alertupdate_pull_requestclose_issueassign_to_userset_issue_typeadd_reviewerupdate_releaseresolve_pull_request_review_threadunassign_from_userTotal unique safe output types in use: 29 (including
missing_data,missing_tool)Discussion Output Settings
fallback_to_issue: trueclose_older_discussions: trueexpires: 24hexpires: 72hexpires: 168h (7d)expires: 2hDiscussion Categories
auditsannouncementsreportsartifactsdevresearchagent-researchdaily-newssecurity73% of discussion-posting workflows target the
auditscategory.Top Safe Output Combinations
create_discussiononlycreate_issueonlycreate_pull_requestonlyadd_commentonlyadd_comment + create_pull_requestclose_discussion + create_discussionadd_comment + add_labels + create_issuecreate_discussion + create_issuecreate_issue + create_pull_requestThe most notable outlier is
poem-bot.lock.yml— the most capable workflow with 11 distinct safe output types: add_comment, add_labels, close_pull_request, create_agent_session, create_discussion, create_issue, create_pull_request, create_pull_request_review_comment, link_sub_issue, push_to_pull_request_branch, and update_issue.Structural Characteristics
Workflow Complexity
daily-copilot-token-report.lock.yml)daily-copilot-token-report.lock.yml)Step Distribution
67% of workflows fall into the 60–80 total-steps band, again reflecting a highly consistent structural template.
Job Distribution
5 jobs per workflow is the mode (40%), followed by 4 (25%) and 6 (22%).
Standard Job Names
Every workflow includes both an
activationandagentjob (165/165). Standard jobs observed:activationagentconclusionsafe_outputsupdate_cache_memorypre_activationupload_assetspush_repo_memoryTop 10 Largest & Most Complex Workflows
By File Size:
smoke-claude.lock.ymlsmoke-copilot.lock.ymlsmoke-copilot-arm.lock.ymlpoem-bot.lock.ymlsmoke-project.lock.ymldaily-performance-summary.lock.ymlcloclo.lock.ymlsmoke-codex.lock.ymlbot-detection.lock.ymlmcp-inspector.lock.ymlBy Total Steps:
daily-copilot-token-report.lock.ymldaily-news.lock.ymlaudit-workflows.lock.ymlcopilot-pr-nlp-analysis.lock.ymldeep-report.lock.ymlPermission Patterns
Permission Distribution
contents:readissues:writediscussions:writepull-requests:writecontents:writeissues:readpull-requests:readactions:readcopilot-requests:writediscussions:readsecurity-events:readactions:writesecurity-events:writecontents:readis the most commonly granted permission (661 grants across all jobs). Write permissions are widely used —issues:writeappears in 348 job-permission blocks.Write Permission Scope
issuesdiscussionspull-requestscontentscopilot-requestsactionssecurity-eventsTimeout & Concurrency
Timeout Distribution
An overwhelming 95.8% of workflows use a 15-minute timeout. This is clearly the standard configuration enforced by the workflow template.
Concurrency
cancel-in-progress: truecancel-in-progress: false(explicit opt-out)gh-aw-(workflow-id)(78% of workflows)gh-aw-(workflow-id)-(run-id)(19%)Interesting Findings
100% Concurrency Coverage — Every single workflow defines a concurrency group, ensuring no duplicate runs. This is a strong infrastructure discipline signal.
29 Distinct Safe Output Types — The safe-outputs system has grown to support 29 different action types.
poem-bot.lock.ymlholds the record with 11 types configured simultaneously, suggesting it functions as a comprehensive workflow orchestrator.72 Workflows Use Cache Memory — Nearly half (43.6%) of all workflows include an
update_cache_memoryjob, enabling persistent state across runs. An additional 22 usepush_repo_memoryfor repository-level persistence.Exotic Output Types Emerging — Novel safe output types like
create_agent_session(2),dispatch_workflow(3),create_code_scanning_alert(2), andset_issue_type(1) suggest active expansion of the agentic action surface.Strong Template Discipline — The 60–80 step band for 67% of workflows, 15-minute timeout for 96%, and the universal
activation/agent/conclusion/safe_outputsjob structure indicate a well-enforced shared template generates most lockfiles.Scheduling Clusters Around Business Hours — The majority of scheduled workflows fire between 09:00–16:00 UTC on weekdays, aligning with typical work hours for human oversight and review of agent outputs.
Claude Smoke Test Size Anomaly —
smoke-claude.lock.ymlat 143.5 KB is 27% larger than the next largest file, suggesting Claude-engine workflows require significantly more configuration or produce richer lock data.Historical Trends
Comparison with 2026-03-01 baseline:
Growth is steady at ~3 new workflows/day. All 3 new workflows are Copilot-engine (
+4 copilot, accounting for -1 codex net to +3 total files). The average workflow complexity is slightly increasing (+0.6 steps).Recommendations
Standardize the
expiresfield — Only 59 of 60 discussion workflows set an expiry. The single missing expiry could lead to stale discussions accumulating. A template-level default of 24h would close this gap.Investigate the 2 workflows with no primary safe output — Two workflows configure only
missing_data/missing_toolwith no primary action type. These may be utility/orchestration workflows, but should be audited to ensure they have appropriate output paths.Review the 5 min-timeout workflows — The 2 workflows with 5-minute timeouts (`vs. the 15-min standard) may be at risk of premature cancellation as workloads grow.
Monitor smoke test file sizes — The
smoke-claude.lock.ymlfile at 143.5 KB is a significant outlier. If it continues growing, it may indicate scope creep in the smoke test definition.Consider cache memory adoption — 57 workflows use
pre_activationbut only 72 useupdate_cache_memory. Workflows withpre_activationthat don't persist cache state may be doing redundant setup work on each run.Methodology
.lock.ymlin.github/workflows/)GH_AW_INFO_ENGINE_IDenvironment variableGH_AW_SAFE_OUTPUTS_HANDLER_CONFIGJSON extraction/tmp/gh-aw/cache-memory/history//tmp/gh-aw/cache-memory/scripts/analyze_lockfiles.shReferences:
Beta Was this translation helpful? Give feedback.
All reactions