Repository navigation
[copilot-session-insights] Daily Copilot Agent Session Analysis — 2026-10-31 #73453
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Copilot Session Insights. A newer discussion is available at Discussion #73734. |
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.
🤖 Copilot Agent Session Analysis — 2026-10-31
Executive Summary
events.jsonltranscripts, the best coverage recorded so far)copilot/model-routing-*)Important
The 90% figure counts zero coding-agent task sessions (
provenance_inversion). All 45 successes are PR gates, reviewers, and dispatched validation runs that fanned out from five Copilot-authored model-routing PRs (#73384–#73388). All five PRs merged. The real signal today comes from the 15 reviewer transcripts. They show 75% first-try safe-output success, one false-positive REQUEST_CHANGES (later dismissed), and 15.5% of AI credits spent on 5 no-op test reviews.Key Metrics
📈 Session Trends Analysis
Completion Patterns
Completion has risen three snapshots in a row (46% → 70% → 90%) and is now 42 points above the prior mean. The rise reflects the workflow mix more than better agent behaviour. Today's window held only gate and reviewer workflows, which conclude
successdeterministically. There were none of theaction_requiredSquad runs or smoke-matrix bundles that pulled 10-24 (4%) and 10-28 (8%) down.Duration & Efficiency
The median (7.5 min) is above the mean (5.7 min) for the first time since 10-21. Most runs are ~8-minute agentic PR gates, and the 1-second Squad skips pull the mean down. Agent time is a small share of job time: Test Quality Sentinel averaged 0.26 min of agent activity inside an 8.5-min job, so a no-op gate is dominated by setup, detection, and conclusion overhead.
Charts use stacked panels with one y-scale each (no dual axis). Successful is blue and non-successful is orange, because the red/green pair fails the deuteranopia check (ΔE 4.1). Oct 4–13 has no analysis snapshots. On 10-29 the later of two snapshots is plotted.
Success Factors ✅
grumpy-codersubagent) reads the prefetchedpr-diff.patchinstead of reconstructing git history.cat <<'PAYLOAD' | safeoutputs submit_pull_request_review .after inline JSON failedpr-triageon claude-haiku-4.5 classified each PR for 0.7–2.1 AIU, a small share of each Matt Pocock run's cost.Failure Signals⚠️
inline_safeoutputs_quote_breakage, 3rd consecutive day)syntax error near unexpected token '(', exit 2); 4/10 Matt Pocock submission attempts failed overallthis isn't a novel/untested patternended the shell quote. One retry also hit-32602 unknown parameter 'comments'smart_quote_control_char)’(U+2019) belonged, sosafeoutputsrejected the payload withBad control character in string literalthe router\x19s av...in §41160155864 andrepository\x19s existingin §41160070746reviewer_heavy_build_in_review)git stash && make recompile, polledread_bash5 times (30–180 s each), then killed it. The interrupted recompile truncatedagentics-maintenance.ymlin the sandbox (−968 lines), and the agent had to revert it. This duplicated the Stale Lock Files gate, which had already passedfalse_positive_request_changes_job_scope)GH_AW_PI_MODELas the agent job's model and claimed routing was not applied. It saw the same head (3db7fe7c2) as the maintainer's rebuttal, so this was not a stale-head race. The review was dismissed and the PR mergedbash_allowlist_cut_denial)cut×3,python3×1,[ ... ]×1. One Test Quality Sentinel run was also denied atest -f ... || echoprobePrompt Quality Analysis 📝
Per-Prompt Breakdown
The "prompts" today are the five Copilot-authored PR descriptions that every reviewer read. All five rate high quality (5/5).
High-Quality Prompt Characteristics
yamlblock: 4/5. The only PR without one (Route Daily Go Function Namer via model routing instead of pinning claude-sonnet-5 #73385) is the only PR that drew a false REQUEST_CHANGES (n = 1, suggestive only)Example High-Quality Prompt (PR #73384, excerpt):
Low-Quality Prompt Characteristics
gpt-5.6-luna). Putting that evidence in the PR body would likely have prevented both the false REQUEST_CHANGES and the 10.7-min self-verification rebuildOrphaned Branch Escalation Alerts 🚨
Summary
insufficient history. Only 2 recorded days carryorphan_rate(10-29, 10-30, both 0.0%). The 10-30 report's "30-day baseline" was a miscountEscalation Candidate Details
Escalation Candidates
✅ No orphaned branches exceed the escalation threshold today. 4 in-progress runs; the most on any PR branch was 1 (PR #73452). 4/9 open PRs have Copilot assigned. The 5 model-routing branches analyzed above were all merged before this check ran.
CI Waste Estimate
Notable Observations
Loop Detection and Session Diagnostics
Loop Detection
read_bashon one shell) in §41160201422Tool Usage
bash222 (70%),view42,grep16,task10,read_bash9,glob/read_agent/task_complete5 each,create2,stop_bash1. Total 317 calls in 274 turnssuccess=true(hidden_shell_failure_masking): 8 genuine (6 safe-output submits, 2git diff HEAD~1exit 128 in a shallow clone) and 10 benign (grep no-match, absent-marker probes).lock.ymlfor per-job model or routing settingscut,python3,[,testContext Issues
promisor remoteand AWF CA errors in §41160070697)Cost Concentration
Matt Pocock AIU/run fell from 90.4 (10-30) to 58.9. Each run still re-reads ~42k tokens of context per turn (95% cache hits).
Experimental Analysis
Standard analysis only. No experimental strategy this run (roll = 82 ≥ 30).
A workflow-level experiment was visible in the data. Test Quality Sentinel's
model_sizeA/B (issue #43530) served claude-sonnet-5 3× (13.4 AIU, 4 turns each) and claude-haiku-4.5 2× (7.8 AIU, 7–14 turns). Haiku took 2–3.5× more turns, including a self-verification checklist, but cost 42% less per no-op. Both arms reached the same correct decision.Actionable Recommendations
For Users Writing Task Descriptions
yamlblock: reviewers anchor on it instead of grepping 1,000+-line lock files.engine: { id: pi, model-routing: { goal: cost, mode: economy } }GH_AW_PI_MODEL: evalsremains only in the evals job; the agent job usesmodelRouting."For System Improvements
test-files.txtis empty: the prefetch already computes it. 5/5 runs today were no-ops costing 55.7 AIU and ~42 runner-min. Also fix the still-presentgh pr diff "$PR_NUMBER" -- <files>call attest-quality-sentinel.md:104-105(verified:accepts at most 1 arg(s)). It will silently no-op the next PR that changes tests.cat body.md | safeoutputs submit_pull_request_review --body .). Have thesafeoutputsCLI reject or normalize C0 control characters with a pointed hint ("U+0019 found, did you mean ’?"). 6/24 first attempts failed across 5/10 reviewer runs.mattpocock-skills-reviewer.mdthatmakeandgit stashare out of scope and lock-file freshness belongs to the Stale Lock Files gate.cutto the PR Code Quality Reviewer bash allowlist: this removes 3 of its 5 denials.tool.execution_complete.success: 18 masked non-zero exits make reported tool health 2.5 points rosier than reality.For Tool Development
jobs → model / routing / envtable derived from the lock file.git diff HEAD~1in shallow or partial clonesHistorical Trends and Statistical Summary
Trends Over Time
inline_safeoutputs_quote_breakagepersists (2/2 → 3/5).test_sentinel_prefetch_always_failsis still unfixed in sourceStatistical Summary
Next Steps
test-quality-sentinel.md:104-105and add a deterministic "no test files → skip agent" gate--body .field-stdin submission; add a C0-control-char guard tosafeoutputscutto the PR Code Quality Reviewer allowlist; add a "no builds" rule to Matt Pocock Skills Reviewersmart_quote_control_charrecurrence and the first test-touching PR)References:
make recompilepolling loop (19.2 min)Analysis generated automatically on 2026-10-31 · Run ID: §41177460552
All reactions