Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions docs/src/content/docs/blog/2026-06-22-weekly-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: "Weekly Update – June 22, 2026"
description: "This week brings a +320% compiler speed fix, a new defer-in-loop linter, gh-aw-detection rolling out to 50% of workflows, and JSON-RPC reliability improvements."
authors:
- copilot
date: 2026-06-22
metadata:
seoDescription: "gh-aw weekly update: 320% compiler speedup, deferinloop linter, gh-aw-detection at 50%, FNV-1a heredocs, and JSON-RPC error fixes."
---

Another packed week at [github/gh-aw](https://github.com/github/gh-aw)! Over 20 pull requests merged between June 15 and June 22, covering a significant performance regression fix, a new Go linter, a major feature flag rollout, and a handful of targeted reliability improvements. Here's what shipped.

## ⚡ Performance: +320% Compiler Regression Fixed

[PR #40662](https://github.com/github/gh-aw/pull/40662) fixes a nasty regression in `BenchmarkCompileComplexWorkflow` that had quietly pushed compile times from ~3 ms/op to ~12.7 ms/op — a 320% slowdown. The culprit was `validateTemplateInjection` triggering a full `yaml.Unmarshal` on every pass through `hasAnyExpressionInRunContent`, even when `skipValidation=true` (the default in `NewCompiler()`). Eliminating that redundant unmarshal brings benchmark performance back to baseline. If your workflows felt slower to compile lately, this is the fix.

## 🔍 New Linter: `deferinloop`

[PR #40679](https://github.com/github/gh-aw/pull/40679) adds a new Go analysis linter — `deferinloop` — that flags `defer` statements placed inside `for`-loop bodies. A `defer` inside a loop doesn't fire at the end of each iteration; it fires when the enclosing function returns, causing resource leaks (file handles, connections) and confusing LIFO cleanup ordering. `gocritic` covers this pattern but is currently disabled due to golangci-lint v2 bugs, so this custom analyzer fills the gap and is now enforced in CI.

## 🚀 `gh-aw-detection` Rolls Out to 50% of Workflows

[PR #40698](https://github.com/github/gh-aw/pull/40698) expands the `gh-aw-detection` feature flag from 20% (43 workflows) to **50% of agentic workflows** (107 out of 214). The rollout targets workflows alphabetically and adds `features: gh-aw-detection: true` to the 64 newly included workflows. If you're watching detection coverage metrics, expect a notable jump.

## 🐛 Reliability Fixes

### JSON-RPC Error Handling

[PR #40715](https://github.com/github/gh-aw/pull/40715) fixes a bug where `handleMessage` in the MCP server was surfacing `[object Object]` in error responses. The root cause: the catch block used `String(e)` for non-`Error` thrown values, but `safe_outputs_handlers.cjs` throws plain objects for validation errors — giving callers a useless stringification. The fix detects plain objects and serializes them correctly, and also enforces valid JSON-RPC error codes for all thrown values.

### Skillet Sparse Checkout Path Typing

[PR #40684](https://github.com/github/gh-aw/pull/40684) fixes a sparse checkout path typing issue in Skillet's pre-activation skills checkout. A type mismatch was causing silent failures when resolving sparse checkout paths — the kind of bug that's nearly invisible until it bites you.

### Daily Observability Report Artifact Fetching

[PR #40705](https://github.com/github/gh-aw/pull/40705) ensures the `daily-observability-report` workflow explicitly requests `agent` and `detection` artifact sets during log fetches. Without this, report generation could silently proceed without the required telemetry inputs, producing incomplete or noop outcomes.

## 🔧 Internals: FNV-1a Heredoc Delimiters

[PR #40696](https://github.com/github/gh-aw/pull/40696) replaces SHA-256 with FNV-1a for heredoc delimiter generation. FNV-1a is dramatically faster for this use case — heredoc delimiters don't need cryptographic-strength hashing, and the switch reduces overhead in the compiler's string-processing path.

## 💡 Token Optimization

[PR #40695](https://github.com/github/gh-aw/pull/40695) reduces ambient prompt surface in high-traffic workflows. Trimming unnecessary context from the initial system prompt means fewer tokens on every invocation — the savings add up quickly when a workflow runs hundreds of times a day.

---

## ✨ Agent of the Week: delight

Your repository's resident UX guardian — scans documentation, CLI help text, workflow messages, and validation code for clarity, professionalism, and usability gaps, filing targeted single-file improvement tasks when it finds something worth fixing.

`delight` ran three times in the past 30 days (June 18, 19, and earlier in June), and all three runs completed successfully and stayed **entirely read-only** — meaning it reviewed the codebase and came away with nothing to file. For a workflow whose whole job is finding UX rough edges, that's a quiet kind of compliment to the team. Each run, it randomly samples 1–2 documentation files, 1–2 CLI commands, 1–2 workflow message configurations, and 1 validation file, then evaluates them against five enterprise UX design principles: clarity, professional communication, efficiency, trust, and documentation quality.

On the rare occasions when it does find something worth flagging, it files a GitHub issue labeled both `delight` *and* `cookie` — because apparently good UX comes with cookies. It's capped at 2 issues per run so it never floods your backlog, and it keeps a rolling memory of past findings to avoid flagging the same thing twice.

💡 **Usage tip**: Run `delight` in any repo where user-facing quality matters — its single-file task constraint means every improvement it suggests is scoped, reviewable, and completable in an afternoon.

→ [View the workflow on GitHub](https://github.com/github/gh-aw/blob/main/.github/workflows/delight.md)

---

## Try It Out

Pull the latest CLI build to get the compiler performance fix, the new `deferinloop` linter, and all this week's reliability improvements. As always, feedback and contributions are welcome at [github/gh-aw](https://github.com/github/gh-aw).
Loading