Skip to content

Daily Brief

Copilot retires six models, and vLLM stops recomputing long chats

GitHub retires six Copilot models and gives admins an API to govern the rest, Pi Durable shows what crash recovery does to agent writes, and vLLM gets a way to stop recomputing long chats.

4 min read5 stories

Some days the news is a model, and some days it’s the plumbing around one. Today is plumbing: what gets retired, what survives a crash, and what you stop recomputing.

GitHub retires six Copilot models and hands admins a policy API

On 19 October GitHub deprecated Gemini 3.7 Flash, GPT-5.5, GPT-5.4, GPT-5.4 mini, GPT-5 mini and Grok 4.5 across Copilot, including chat, agent mode and completions. It suggests Gemini 3.8 Flash, GPT-6.1 Sol, GPT-6 Luna and Grok 4.7 as replacements, and says enterprise admins may need to enable them in their model policies. The same day it made GET and PATCH endpoints for Copilot model policies generally available, at enterprise, enterprise-team, app and organisation level. The two changes belong together. If a model you depend on can vanish on a changelog date, the policy belongs in code you can diff and review, not in a settings page someone clicks through. The part to check first is any workflow that pinned one of the retired names. GitHub’s pages don’t say how long the old models kept working, so don’t assume a grace period.

Pi Durable makes agent runs resumable, and shows where that stops being enough

Pi Durable is an experimental TypeScript harness from the Pi team, shipped with Pi 1.0 on 1 October and still drawing attention this week. It commits conversations, model turns and tool calls to storage (memory, SQLite, JSONL or a Cloudflare Durable Object) before showing them, so a restarted process picks up from the last checkpoint. A tool call is replayed after a crash only if you declare it replay: "safe"; otherwise the model is told the call was interrupted. The README says the API changes without notice between releases. The useful part is a test by the One CLI team: they killed an agent right after a Gmail draft was confirmed. With the default tool, Sonnet 5.5 refused to retry and left one draft, while Haiku 4.5 retried and left two, then reported one. A keyed tool that looks for its own key before creating anything fixed Haiku, though a Gmail 401 stopped one Sonnet run. It’s two runs per setup, so read it as a failure mode, not a measurement.

AuditKIT tries to give model and agent evals one result format

A preprint from Lexsi Labs describes a Python evaluation library that puts benchmark accuracy, judge scores, runtime, tool use and retrieval quality into one result shape, with a config fingerprint so runs can be compared. For agents it matches tool calls turn by turn, separates parallel from sequential execution, and keeps verified task outcomes apart from trajectory diagnostics. Evidence that can’t be observed is recorded as unscored, not as a failure. The authors report seven case studies in which answer extraction, runtime behaviour and metric choice changed the outcome, with no headline numbers in the abstract. It’s on GitHub as pip install auditkit, but the licence is source-available and noncommercial, and the repo is young at 12 stars. Treat it as a design to borrow for your own harness: the unscored state alone fixes a common way of quietly punishing agents for things you couldn’t see.

Simon Willison on what agents take from the people who liked the puzzle

Simon quotes Jeremy Scheff’s argument that programmers were paid for solving puzzles others couldn’t, and that coding agents remove the part many career programmers valued most. Simon’s own note is that LLMs suit people who mostly want working systems, and that the loss is real for those who loved the problem-solving itself. There’s no tooling here and no recommendation. For a team lead, the practical read is staffing, not tooling: if implementation moves to agents, problem framing and review become the scarce work, and some engineers will want to keep hard design problems. It’s an opinion piece, and the best use is as a prompt for your next planning conversation.

vLLM learns to reuse the decode node’s cache in multi-turn agent chats

In prefill-decode disaggregated serving, KV cache normally flows one way, so when an agent resends a growing history the prefill node recomputes it. An AWS post from 19 October describes bi-directional transfer, now in vLLM: prefill nodes read KV blocks back from decode nodes over NIXL, a small router maps a conversation id to block locations, and decode nodes hold blocks for a fixed 480 seconds. On EC2 P5en with one prefill and one decode node, time to first token fell from 2,334 ms to 702 ms for GLM-5-FP8 at about 20k tokens, and from 778 ms to 460 ms for Qwen3-32B at about 24k. Those are AWS’s own numbers, with prefix caching off on the prefill node. That setting flatters the result, and short prompts gain little because the transfer costs 30 to 130 ms. The architectural cost is a stateful router and a TTL you must tune to how long your users pause between turns.


Closing the tab now is allowed. Most of this will still be true next week.


Middle East, India & events · 1
  • Birla AI Labs releases Yug, a 272M-parameter forecasting model — a zero-shot time-series model, installable with pip install yug, that outputs nine quantiles and reports GIFT-Eval scores (MASE 0.744, CRPS 0.529) without comparing them to other models. Status: public, version 0.1.0; weights are CC-BY-NC 4.0, so non-commercial only, which rules out production use for now. Source

Researched and drafted with AI, checked against the linked sources. How we use AI →