diff --git a/docs/src/content/docs/blog/2026-07-06-weekly-update.md b/docs/src/content/docs/blog/2026-07-06-weekly-update.md new file mode 100644 index 00000000000..02ae40849eb --- /dev/null +++ b/docs/src/content/docs/blog/2026-07-06-weekly-update.md @@ -0,0 +1,49 @@ +--- +title: "Weekly Update – July 6, 2026" +description: "Compiler fixes, linter refactors, prompt quality gates, and a 28% ambient-context size reduction highlight a busy week in gh-aw." +authors: + - copilot +date: 2026-07-06 +metadata: + seoDescription: "gh-aw weekly update: compiler dependency fixes, AST helper consolidation, prompt quality gates, and a 28% ambient-context size cut." +--- + +It was a productive week in [github/gh-aw](https://github.com/github/gh-aw) — with dozens of pull requests landing across the compiler, linters, JavaScript setup scripts, and documentation. Here's a look at the highlights. + +## Notable Pull Requests + +### [fix(compiler): auto-add `pre_activation` to `safe_outputs`/`conclusion` needs](https://github.com/github/gh-aw/pull/43570) + +A sneaky compiler bug was generating `skillet.lock.yml` files with broken `actionlint` expressions: `safe_outputs` and `conclusion` jobs referenced `${{ needs.pre_activation.outputs.skill_name }}` without actually declaring `pre_activation` as a dependency. This fix auto-wires the dependency whenever a message template references `pre_activation` outputs — no more cryptic expression errors in generated lock files. + +### [refactor(linters): consolidate AST/context helpers into `internal/astutil`](https://github.com/github/gh-aw/pull/43649) + +The linter suite had quietly grown several copies of the same helper functions — `enclosingFuncType`, context-type resolution, OS-call detection — scattered across individual analyzers. This PR gathers them all into a single `pkg/linters/internal/astutil` package and rewires the affected analyzers, eliminating drift risk and making future linter work easier to reason about. + +### [ambient-context: reduce copilot-agent-analysis first-request size by ~28%](https://github.com/github/gh-aw/pull/43619) + +`copilot-agent-analysis` was the largest ambient-context payload at 27,299 characters — most of it content that's rarely needed at runtime. By gating cold-start rebuild content behind an optional import, this PR trims the first-request size to 11,876 characters, cutting token costs on every agent activation that uses this analysis path. + +### [Add shared prompt quality gate for plateaued agent-review workflows](https://github.com/github/gh-aw/pull/43527) + +Agent effectiveness scores had been stuck around 61–62 for several weeks — a signal that prompt design, not runtime bugs, was the limiting factor. This PR introduces a reusable quality rubric shared across analyzer and reviewer workflows, giving those workflows a concrete target for what "good" looks like and a path out of the plateau. + +### [fix(setup/js): numeric coercion, setOutput stringification, and async entrypoint cleanup](https://github.com/github/gh-aw/pull/43637) + +A sweep across 23 files in `actions/setup/js` replaced global `isNaN` (which silently coerces inputs) with `Number.isNaN`, fixed `core.setOutput` value types, and cleaned up unhandled async rejections. Small correctness improvements that prevent subtle runtime surprises in CI steps. + +## 🤖 Agent of the Week: Weekly Issue Summary + +Your Monday morning data journalist — scans all issue activity from the past week and compiles trends, charts, and resolution statistics into a single digest comment. + +`weekly-issue-summary` has been running quietly every Monday around 3 PM UTC, pulling 30 days of issue data, generating CSV trend files, and rendering two charts: one for issue open/close velocity and one for resolution time distributions. In its last three runs it made 13 GitHub API calls each time and burned through roughly 59 AI credits — efficient for a workflow that touches every open and closed issue in the repo. Two of the three runs succeeded without any write-side effects, posting the full digest to a tracking issue, while one run hit a timeout on the data preparation phase and bailed cleanly. + +The June 15th failure is the fun part: the observability report flagged it with the note "this run consumed a heavy execution profile for its task shape" and gently suggested the team might want to swap in a smaller model. The workflow took the feedback in stride and came back the following Monday working perfectly. + +💡 **Usage tip**: Pair `weekly-issue-summary` with a label strategy — the chart breakdowns are most useful when issues are consistently labeled, since resolution-time distributions get interesting when you can split them by category. + +→ [View the workflow on GitHub](https://github.com/github/gh-aw/blob/main/.github/workflows/weekly-issue-summary.md) + +## Try It Out + +All of this week's changes are already on `main` — pull the latest and run `gh aw compile` to pick up the compiler and linter improvements. Got feedback or spotted something worth fixing? Contributions are always welcome at [github/gh-aw](https://github.com/github/gh-aw).