Blog

Agent of the Day – November 9, 2026

Codebases rarely collapse in one commit. They drift: a file gains a few hundred lines, a function picks up one more branch, a package exports one more symbol. Today’s spotlight goes to the workflow that watches for that drift.

Architecture Guardian analyzes commits from the last 24 hours and looks for code structure violations in Go and JavaScript files: large files, oversized functions, high export counts, and import cycles. It runs on a schedule, around 14:00 UTC on weekdays, and can also be dispatched manually.

Its permissions are read-only (contents: read, actions: read), which suits a reviewer whose job is to observe and report.

Today’s scheduled run, 42632762703, started at 14:14 UTC on main and finished successfully in about 7 minutes. A structured audit of the run reports:

SignalValue
Conclusionsuccess
Turns1
Tool types2
Errors / warnings0 / 0
Token usage~104k
Execution styledirected, read-only

The audit labels the execution path “directed”: one linear turn, a narrow set of tools, no writes. The one flag it raised was medium-severity high token usage, a reminder that scanning a day of commits for structure has a real cost, and a useful number to watch over time.

The same day’s scheduled fleet included Dead Code Removal Agent, PR Sous Chef and Daily Fact. In this run the audit shows no issue or pull request was created, so there is nothing to link beyond the run itself.

Combined workflow activity chart

Structural checks are easy to postpone and hard to retrofit. Running them daily, against only the newest commits, keeps feedback close to the change that caused it.

Browse the workflow source, copy the pattern, and build your own guardian at github/gh-aw.

Weekly Update – November 9, 2026

Two releases landed in github/gh-aw this week, with a focus on durability, observability, and security. Here’s what you can use today.

v1.2.1 (November 6) focuses on workflow durability, safer updates, and broader engine and auth support.

  • Durable workflow continuation (#75097): Artifact-backed continuation lets work carry across agents.
  • Specification-aware PR reviewer (#75207) and an experimental Atomic declarative engine (#75196).
  • Smarter create-issue (#75323, #74941): Issue artifacts and label-scoped title deduplication.
  • GitHub App auth for repo-memory (#74937) and deployment controls on workflow environments (#74938).
  • Safer updates (#74948, #74945): gh aw update preserves source refs, frontmatter comments, and formatting.
  • Security reviews fail closed when unresolved (#75335), and a new warning flags dynamic checkout refs (#74951).

v1.2.0 (November 4) is a security and observability release.

  • Breaking: pull_request_target forks now require explicit opt-in for unrestricted use (#74884). Review fork-facing workflows and add the opt-in where intended.
  • Breaking: the -l shorthand was removed from project new (#74561).
  • OpenTelemetry: opt-in OTLP session logs (#74599) and dependency-free OTLP protobuf support for Azure Monitor (#74594).
  • Hardening: bounded ZIP extraction (#74906) and stricter run-step expression sanitization (#74793).
  • #75995 replaces the Pi durable runtime with native session chaining.
  • #75927 adds OpenAI workload identity federation for Codex.
  • #75988 supports name-based artifact upserts in update-issue.

Agent of the Week: PR Specification Reviewer

Section titled “ Agent of the Week: PR Specification Reviewer”

It reviews PRs for conformance and updates specifications on the PR branch so implementation and specs stay aligned.

It was just promoted in v1.2.1, and the logs show it busy: in its three most recent runs it was triggered on pull requests within about an hour of each other. Two finished successfully (about 7 minutes each), each in a single turn.

The third run failed after 26 seconds, so even the spec police occasionally trip on the way in.

Usage tip: Scope a reviewer like this to paths that matter (pkg/**, specs/**) so it runs only when specs could drift.

→ View the workflow on GitHub

Upgrade to v1.2.1 and check the pull_request_target opt-in from v1.2.0. Feedback and contributions are welcome in github/gh-aw.

Ecosystem Spotlight: witt3rd/review-council

One AI reviewer that comments on everything tends to produce vague, overlapping feedback. witt3rd/review-council takes a different approach: five narrowly scoped reviewers, each a gh-aw agentic workflow compiled into a reusable workflow. A repository calls the reviewers it wants from a short caller file and gets one required commit status per reviewer on the pull request head. It is aimed at teams that want consistent, enforceable AI review across many repositories without copying prompts around.

Sharp scopes, one verdict each. The council has a Steward (written law and PR claims), an Architect (layers and contracts), an Inspector (bugs), a Warden (abuse) and an Editor (prose, for documents repositories). Each workflow states what is not its job. The Warden, for example, requires every finding to name a concrete path: who sends what, and what they get that they should not. “No path, no finding” and no defense-in-depth requests “just in case” keeps the output actionable.

A thin, pinned caller. caller/review-council.yml uses YAML anchors to share permissions, inputs and secrets across one job per reviewer. Each uses: is pinned to a release commit SHA with the tag as a comment, and a pins.yml workflow reports which callers lag behind the newest release.

The consumer’s law is read from the base commit. According to AGENTS.md, the council reads the repository’s principles.md and AGENTS.md from the PR’s base commit, so a PR cannot rewrite the rules it is judged by. The council holds no key and no consumer’s law: each caller supplies its own OPENROUTER_API_KEY.

Defensive by default. Reviewers only run on non-draft, same-repo pull requests, because fork PRs get no secrets. Permissions are read-only for contents and pull requests. Turns and minutes are bounded (max-turns: 100, timeout-minutes: 40), and a newer push cancels the review of the older head.

Evaluated releases. Releases are tagged only when an eval run on golden pull requests passes. The fixtures carry planted defects and even a prompt injection on purpose. The changelog records eval scores and spend; AGENTS.md cites roughly $0.80 for five reviewers on a small PR.

Each reviewer is a .md source under .github/workflows/ with an on: workflow_call trigger, compiled by a pinned gh-aw version into a .lock.yml that callers reference. The shared contract (review format, rounds, memory and the verdict rule) lives once in .github/workflows/shared/, so the five frontmatters are identical apart from the description, name and a reviewer input default.

Two details show real gh-aw experience. Every lock uses inlined-imports: true, because when called from another repository nothing from the council repository is on disk. And because github.workflow is the caller’s name inside a called workflow, status names and concurrency IDs use the reviewer’s fixed name, and the verdict is set on pull_request.head.sha. CI recompiles the locks and requires no diff.

The adoption steps in AGENTS.md are short:

  1. Copy caller/review-council.yml to .github/workflows/review-council.yml and keep the reviewers you want, pinned to a release SHA.
  2. Copy caller/principles.md to .github/review-council/principles.md and write your own principles and checks.
  3. Add the OPENROUTER_API_KEY repository secret.
  4. Require each <Reviewer> verdict status in your branch ruleset.

Review the prompts and locks before adopting them, as you would any third-party workflow, and note that model spend bills to your repository.

Explore the review-council repository, especially its contract and eval setup, if you are designing reusable agentic workflows. To build your own, start with github/gh-aw.

Agent of the Day – November 6, 2026

A good reviewer doesn’t recite the whole style guide. They look at the change in front of them and ask the one or two questions that matter. Today’s spotlight goes to a workflow built around that instinct.

Agent of the Day: Matt Pocock Skills Reviewer

Section titled “Agent of the Day: Matt Pocock Skills Reviewer”

The Matt Pocock Skills Reviewer is a pull request reviewer. Its description is plain: review PRs using Matt Pocock’s engineering skills to give targeted suggestions based on the type of changes. A small fix gets a different lens than a refactor.

It runs on the GitHub Copilot CLI engine with cost-oriented model routing (goal: cost, mode: economy), imports a shared PR-review base, and signs its work with a footer so a reader always knows which agent spoke and can follow the run link.

Within the last hour of this writing, the workflow ran three times on pull_request events, each on a different Copilot-authored branch. All three completed successfully.

RunBranchDurationTokens
42229926994copilot/fix-verify-output-id13.1m58,142
42230049178copilot/fix-details-open-escaping11.4m51,209
42230089145copilot/fix-strict-mode-env-vars18.1m103,570

The token counts are from the log summary. A structured audit of run 42230049178 reports zero errors and zero warnings, and an adaptive execution style with four tool types. Its write path was deliberately narrow: one inline pull request review comment and one submitted review. No sprawl, no pile of drive-by comments.

The audit also flagged two medium-severity notes: high token usage, and a declared sub-agent model (pr-triage) that wasn’t observed in the model requests. That is useful honesty from the tooling, and it is a reasonable starting point for anyone tuning cost on this workflow.

  • Right-sized feedback. Matching the review lens to the change type keeps comments relevant.
  • Small footprint. One review comment plus one review submission keeps noise low.
  • Observable. Every run has a link, and gh aw audit turns it into structured findings you can act on.

Browse the workflow source, then point gh aw logs and gh aw audit at your own reviewers. Explore the project at github/gh-aw.

Ecosystem Spotlight: sabbasi3-factory-lab/factory

Most gh-aw showcases focus on a single workflow. sabbasi3-factory-lab/factory asks a bigger question: what does it take to let agents ship a whole product, with a human approving policies rather than individual changes? Its answer is a rulebook repository, a plain-code controller and a set of gh-aw workflows that together ported a Rust date-parsing library, chrono-node-rs, almost entirely autonomously. It is aimed at teams exploring how far agentic automation can be trusted when the guardrails are explicit and auditable.

Agents work, code governs. The README separates roles cleanly. The controller is deterministic code on GitHub Actions with no AI: it picks tasks, starts agents, watches checks, merges and records everything. The agent implements one task per pull request through a gh-aw implement workflow. A reviewer from a different model family inspects the risky PRs. No single AI both writes and approves a change.

Risk-tiered merging. Every PR is assigned a tier in policies/tiers.yaml: auto for routine work, auto-strict for shared or core code (requiring reviewer approval, a full regression run and automatic revert if main breaks), and human for the rules and referees themselves, such as golden tests, gates, workflows and the controller.

Rules live apart from the code they govern. Agents work in the product repository and cannot edit the policies or the verifier. The controller reads policy at a pinned commit, and the rulebook repo states plainly that agents can’t write to it.

Tamper-evident records. Each controller decision is a hash-chained event on an append-only audit branch that only the controller App can push to. An independent verifier, running without the App key, re-checks the whole chain on a schedule and appends anchors to its own branch.

Operational safety nets. A heartbeat watchdog opens a liveness issue if the controller or verifier goes quiet, or if scheduled workflows fail twice in a row. A FACTORY_ENABLED variable acts as a kill switch, and policies/budgets.yaml caps AI spend per run, per task, per workflow per day and for the whole factory per day.

  1. The controller selects the next planned task and dispatches the gh-aw implement workflow.
  2. The agent opens one PR for that task.
  3. If CI fails, the controller starts the gh-aw repair workflow, at most twice per task. A repeated or persistent failure goes to a person.
  4. Depending on the tier, the PR is merged automatically, merged after strict gates and an independent review, or held for the owner.
  5. The outcomes workflow runs gh aw logs --outcomes after every agent run and publishes the results to a branch that feeds a public dashboard.

As of 2026-11-04, the README reports 47 of 47 planned tasks merged (39 routine, 8 core) between Oct 22 and Nov 3 with zero reverts. 45 merged without needing a repair run, the median time from start to merge was 13 minutes, and agent runs cost $40.12 in total, about $0.76 per accepted PR. These figures come from the project’s own audit log and dashboard, so treat them as self-reported.

The project is a design to learn from rather than an installable package. The most reusable ideas are easy to adapt to your own repositories:

  • Classify PRs by risk and let policy, not the agent, decide how each tier merges.
  • Keep policies and verification code outside the agents’ write scope.
  • Put budget caps and a kill switch in place before scaling up.
  • Use gh aw logs --outcomes to track how agent runs actually performed.

The DESIGN.md is the source of truth, and the build journal in docs/JOURNAL.md records decisions and lessons learned.

Take a look at the factory repository and its live control room, then tell us what you are building. To start your own agentic workflows, visit github/gh-aw.