Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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
13 changes: 2 additions & 11 deletions actions/setup/js/create_pull_request.test.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -347,12 +347,7 @@ index 0000000..abc1234
});

pushSignedSpy
.mockRejectedValueOnce(
new Error(
"pushSignedCommits: refusing unsigned push for branch 'feature/test': merge commit detected. " +
"GitHub's createCommitOnBranch GraphQL mutation cannot represent merge commits."
)
)
.mockRejectedValueOnce(new Error("pushSignedCommits: refusing unsigned push for branch 'feature/test': merge commit detected. " + "GitHub's createCommitOnBranch GraphQL mutation cannot represent merge commits."))
.mockResolvedValueOnce("bundle-tip");

const { main } = require("./create_pull_request.cjs");
Expand Down Expand Up @@ -679,11 +674,7 @@ index 0000000..abc1234

expect(result.success).toBe(true);
// The initial bundle fetch uses getExecOutput (not exec.exec) — ensure it never uses the direct branch refspec
expect(global.exec.getExecOutput).not.toHaveBeenCalledWith(
"git",
["fetch", bundlePath, "refs/heads/autoloop/perf-comparison:refs/heads/autoloop/perf-comparison"],
expect.anything()
);
expect(global.exec.getExecOutput).not.toHaveBeenCalledWith("git", ["fetch", bundlePath, "refs/heads/autoloop/perf-comparison:refs/heads/autoloop/perf-comparison"], expect.anything());
const bundleFetchCall = global.exec.getExecOutput.mock.calls.find(([, args]) => Array.isArray(args) && args[0] === "fetch" && args[1] === bundlePath);
if (!bundleFetchCall) {
throw new Error("expected bundle fetch call");
Expand Down
6 changes: 1 addition & 5 deletions actions/setup/js/git_helpers.test.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -359,11 +359,7 @@ describe("git_helpers.cjs", () => {

it("should return multiple SHAs when multiple prerequisite commits are missing", async () => {
const { extractBundlePrerequisiteCommits } = await import("./git_helpers.cjs");
const message = [
"error: Repository lacks these prerequisite commits:",
"error: 172f87a830f57a29470efe7646d141069434a893",
"error: aabbccddee1122334455667788990011aabbccdd",
].join("\n");
const message = ["error: Repository lacks these prerequisite commits:", "error: 172f87a830f57a29470efe7646d141069434a893", "error: aabbccddee1122334455667788990011aabbccdd"].join("\n");
const result = extractBundlePrerequisiteCommits(message);
expect(result).toEqual(["172f87a830f57a29470efe7646d141069434a893", "aabbccddee1122334455667788990011aabbccdd"]);
});
Expand Down
45 changes: 31 additions & 14 deletions docs/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -106,13 +106,13 @@ export default defineConfig({
'/guides/labelops/': '/gh-aw/patterns/label-ops/',
'/guides/dailyops/': '/gh-aw/patterns/daily-ops/',
'/guides/dispatchops/': '/gh-aw/patterns/dispatch-ops/',
'/guides/monitoring/': '/gh-aw/patterns/monitoring/',
'/guides/monitoring/': '/gh-aw/experimental/monitoring-with-projects/',
'/guides/multirepoops/': '/gh-aw/patterns/multi-repo-ops/',
'/guides/orchestration/': '/gh-aw/patterns/orchestration/',
'/guides/siderepoops/': '/gh-aw/patterns/side-repo-ops/',
'/guides/specops/': '/gh-aw/patterns/spec-ops/',
'/guides/researchplanassign/': '/gh-aw/patterns/research-plan-assign-ops/',
'/guides/trialops/': '/gh-aw/patterns/trial-ops/',
'/guides/trialops/': '/gh-aw/experimental/trial-ops/',

// Examples → Patterns renames
'/examples/comment-triggered/chatops/': '/gh-aw/patterns/chat-ops/',
Expand All @@ -136,8 +136,21 @@ export default defineConfig({
'/patterns/researchplanassignops/': '/gh-aw/patterns/research-plan-assign-ops/',
'/patterns/batchops/': '/gh-aw/patterns/batch-ops/',
'/patterns/taskops/': '/gh-aw/patterns/task-ops/',
'/patterns/trialops/': '/gh-aw/patterns/trial-ops/',
'/patterns/trialops/': '/gh-aw/experimental/trial-ops/',
'/patterns/workqueueops/': '/gh-aw/patterns/workqueue-ops/',

// Guides → new locations
'/guides/deterministic-agentic-patterns/': '/gh-aw/patterns/deterministic-agentic-patterns/',
'/guides/custom-otlp-attributes/': '/gh-aw/guides/telemetry/',
'/guides/audit-with-agents/': '/gh-aw/reference/audit/',
'/guides/ephemerals/': '/gh-aw/reference/ephemerals/',

'/reference/awf-reflect/': '/gh-aw/experimental/awf-reflect/',

// Patterns → Experimental
'/patterns/correction-ops/': '/gh-aw/experimental/correction-ops/',
'/patterns/trial-ops/': '/gh-aw/experimental/trial-ops/',
'/patterns/monitoring/': '/gh-aw/experimental/monitoring-with-projects/',
},
integrations: [
sitemap(),
Expand Down Expand Up @@ -268,7 +281,6 @@ export default defineConfig({
label: 'Guides',
items: [
{ label: 'Agentic Authoring', link: '/guides/agentic-authoring/' },
{ label: 'Deterministic Agentic Patterns', link: '/guides/deterministic-agentic-patterns/' },
{ label: 'Editing Workflows', link: '/guides/editing-workflows/' },
{ label: 'Getting Started with MCP', link: '/guides/getting-started-mcp/' },
{ label: 'GitHub Actions Primer', link: '/guides/github-actions-primer/' },
Expand All @@ -280,38 +292,34 @@ export default defineConfig({
{ label: 'Reusing Workflows', link: '/guides/packaging-imports/' },
{ label: 'Serena', link: '/guides/serena/' },
{ label: 'Using Custom MCPs', link: '/guides/mcps/' },
{ label: 'Upgrading', link: '/guides/upgrading/' },
{ label: 'Upgrading Workflows', link: '/guides/upgrading/' },
{ label: 'Self-Hosted Runners', link: '/guides/self-hosted-runners/' },
{ label: 'Ephemerals', link: '/guides/ephemerals/' },
{ label: 'Web Search', link: '/guides/web-search/' },
{ label: 'Audit Reports', link: '/guides/audit-with-agents/' },
{ label: 'Custom OTLP Attributes', link: '/guides/custom-otlp-attributes/' },
{ label: 'Telemetry', link: '/guides/telemetry/' },
],
},
{
label: 'Design Patterns',
Comment thread
dsyme marked this conversation as resolved.
items: [
{ label: 'AgenticOps', link: '/patterns/agentic-ops/' },
{ label: 'BatchOps', link: '/patterns/batch-ops/' },
{ label: 'CentralRepoOps', link: '/patterns/central-repo-ops/' },
{ label: 'CorrectionOps', link: '/patterns/correction-ops/' },
{ label: 'ChatOps', link: '/patterns/chat-ops/' },
{ label: 'DailyOps', link: '/patterns/daily-ops/' },
Comment thread
dsyme marked this conversation as resolved.
{ label: 'DataOps', link: '/patterns/data-ops/' },
{ label: 'Deterministic Agentic Patterns', link: '/patterns/deterministic-agentic-patterns/' },
{ label: 'DispatchOps', link: '/patterns/dispatch-ops/' },
{ label: 'ExpertOps', link: '/patterns/expert-ops/' },
{ label: 'IssueOps', link: '/patterns/issue-ops/' },
{ label: 'LabelOps', link: '/patterns/label-ops/' },
{ label: 'MemoryOps', link: '/guides/memoryops/' },
{ label: 'MultiRepoOps', link: '/patterns/multi-repo-ops/' },
{ label: 'Monitoring', link: '/patterns/monitoring/' },
{ label: 'Agentic Ops', link: '/patterns/agentic-ops/' },
{ label: 'Orchestration', link: '/patterns/orchestration/' },
{ label: 'ProjectOps', link: '/patterns/project-ops/' },
{ label: 'ResearchPlanAssignOps', link: '/patterns/research-plan-assign-ops/' },
{ label: 'SideRepoOps', link: '/patterns/side-repo-ops/' },
{ label: 'SpecOps', link: '/patterns/spec-ops/' },
{ label: 'TaskOps', link: '/patterns/task-ops/' },
{ label: 'TrialOps', link: '/patterns/trial-ops/' },
{ label: 'WorkQueueOps', link: '/patterns/workqueue-ops/' },
],
},
Expand All @@ -321,10 +329,9 @@ export default defineConfig({
{ label: 'AI Engines', link: '/reference/engines/' },
{ label: 'Assign to Copilot', link: '/reference/assign-to-copilot/' },
{ label: 'Artifacts', link: '/reference/artifacts/' },
{ label: 'Audit', link: '/reference/audit/' },
{ label: 'Auditing Workflows', link: '/reference/audit/' },
{ label: 'Authentication', link: '/reference/auth/' },
{ label: 'Authentication (Projects)', link: '/reference/auth-projects/' },
{ label: 'AWF Reflect Route', link: '/reference/awf-reflect/' },
{ label: 'aw.yml Package Manifest', link: '/reference/aw-yml-package-manifest/' },
{ label: 'Cache Memory', link: '/reference/cache-memory/' },
{ label: 'Command Triggers', link: '/reference/command-triggers/' },
Expand All @@ -334,6 +341,7 @@ export default defineConfig({
{ label: 'Cost Management (Rate Limiting)', link: '/reference/rate-limiting-controls/' },
{ label: 'Cost Management (Effective Tokens)', link: '/reference/effective-tokens-specification/' },
{ label: 'Cost Management (Model Tables)', link: '/reference/model-tables/' },
{ label: 'Ephemerals', link: '/reference/ephemerals/' },
{ label: 'Environment Variables', link: '/reference/environment-variables/' },
{ label: 'FAQ', link: '/reference/faq/' },
{ label: 'Footers', link: '/reference/footers/' },
Expand Down Expand Up @@ -384,6 +392,15 @@ export default defineConfig({
label: 'Troubleshooting',
autogenerate: { directory: 'troubleshooting' },
},
{
label: 'Experimental',
items: [
{ label: 'AWF Reflect Route', link: '/experimental/awf-reflect/' },
{ label: 'CorrectionOps', link: '/experimental/correction-ops/' },
{ label: 'Monitoring with Projects', link: '/experimental/monitoring-with-projects/' },
{ label: 'TrialOps', link: '/experimental/trial-ops/' },
],
},
{ label: 'Agent Factory', link: '/agent-factory-status/' },
{ label: 'Editors', link: '/reference/editors/' },
],
Expand Down
2 changes: 2 additions & 0 deletions docs/src/content/docs/agent-factory-status.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn,
| [Brave Web Search Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/brave.md) | copilot | [![Brave Web Search Agent](https://github.com/github/gh-aw/actions/workflows/brave.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/brave.lock.yml) | - | - |
| [Breaking Change Checker](https://github.com/github/gh-aw/blob/main/.github/workflows/breaking-change-checker.md) | copilot | [![Breaking Change Checker](https://github.com/github/gh-aw/actions/workflows/breaking-change-checker.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/breaking-change-checker.lock.yml) | - | - |
| [Changeset Generator](https://github.com/github/gh-aw/blob/main/.github/workflows/changeset.md) | codex | [![Changeset Generator](https://github.com/github/gh-aw/actions/workflows/changeset.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/changeset.lock.yml) | - | - |
| [Chaos PR Bundle Fuzzer](https://github.com/github/gh-aw/blob/main/.github/workflows/chaos-pr-bundle-fuzzer.md) | copilot | [![Chaos PR Bundle Fuzzer](https://github.com/github/gh-aw/actions/workflows/chaos-pr-bundle-fuzzer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/chaos-pr-bundle-fuzzer.lock.yml) | - | - |
| [CI Cleaner](https://github.com/github/gh-aw/blob/main/.github/workflows/hourly-ci-cleaner.md) | claude | [![CI Cleaner](https://github.com/github/gh-aw/actions/workflows/hourly-ci-cleaner.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/hourly-ci-cleaner.lock.yml) | - | - |
| [CI Failure Doctor](https://github.com/github/gh-aw/blob/main/.github/workflows/ci-doctor.md) | claude | [![CI Failure Doctor](https://github.com/github/gh-aw/actions/workflows/ci-doctor.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/ci-doctor.lock.yml) | - | - |
| [CI Optimization Coach](https://github.com/github/gh-aw/blob/main/.github/workflows/ci-coach.md) | copilot | [![CI Optimization Coach](https://github.com/github/gh-aw/actions/workflows/ci-coach.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/ci-coach.lock.yml) | `daily around 13:00 on weekdays` | - |
Expand Down Expand Up @@ -145,6 +146,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn,
| [Issue Triage Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/issue-triage-agent.md) | copilot | [![Issue Triage Agent](https://github.com/github/gh-aw/actions/workflows/issue-triage-agent.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/issue-triage-agent.lock.yml) | - | - |
| [jsweep - JavaScript Unbloater](https://github.com/github/gh-aw/blob/main/.github/workflows/jsweep.md) | copilot | [![jsweep - JavaScript Unbloater](https://github.com/github/gh-aw/actions/workflows/jsweep.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/jsweep.lock.yml) | - | - |
| [Layout Specification Maintainer](https://github.com/github/gh-aw/blob/main/.github/workflows/layout-spec-maintainer.md) | copilot | [![Layout Specification Maintainer](https://github.com/github/gh-aw/actions/workflows/layout-spec-maintainer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/layout-spec-maintainer.lock.yml) | `weekly on monday around 7:00` | - |
| [Linter Miner](https://github.com/github/gh-aw/blob/main/.github/workflows/linter-miner.md) | copilot | [![Linter Miner](https://github.com/github/gh-aw/actions/workflows/linter-miner.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/linter-miner.lock.yml) | - | - |
| [Lockfile Statistics Analysis Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/lockfile-stats.md) | claude | [![Lockfile Statistics Analysis Agent](https://github.com/github/gh-aw/actions/workflows/lockfile-stats.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/lockfile-stats.lock.yml) | - | - |
| [Matt Pocock Skills Reviewer](https://github.com/github/gh-aw/blob/main/.github/workflows/mattpocock-skills-reviewer.md) | copilot | [![Matt Pocock Skills Reviewer](https://github.com/github/gh-aw/actions/workflows/mattpocock-skills-reviewer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/mattpocock-skills-reviewer.lock.yml) | - | - |
| [MCP Inspector Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/mcp-inspector.md) | copilot | [![MCP Inspector Agent](https://github.com/github/gh-aw/actions/workflows/mcp-inspector.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/mcp-inspector.lock.yml) | - | - |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ These workflows do the following:
5. Capture and validate outputs
6. Delete trial repo or keep for reference

**Learn more**: [TrialOps](/gh-aw/patterns/trial-ops/)
**Learn more**: [TrialOps](/gh-aw/experimental/trial-ops/)

---

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/examples/project-tracking.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,5 +198,5 @@ Update the project item with the team field.

- [Safe Outputs Reference](/gh-aw/reference/safe-outputs/) - Complete safe-outputs documentation
- [Project token authentication](/gh-aw/patterns/project-ops/#project-token-authentication) - Token setup guide
- [Projects & Monitoring](/gh-aw/patterns/monitoring/) - Design pattern guide
- [Projects & Monitoring](/gh-aw/experimental/monitoring-with-projects/) - Design pattern guide
Comment thread
dsyme marked this conversation as resolved.
Outdated
- [Orchestration](/gh-aw/patterns/orchestration/) - Design pattern guide
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Projects & Monitoring
title: Monitoring with Projects
description: Use GitHub Projects + safe-outputs to track and monitor workflow work items and progress.
---

Expand Down
126 changes: 0 additions & 126 deletions docs/src/content/docs/guides/audit-with-agents.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/src/content/docs/guides/memoryops.md
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,6 @@ echo '{"user": "alice", "email": "alice@example.com"}' > users.json
## Related Documentation

- [MCP Servers](/gh-aw/guides/mcps/) - Memory MCP server configuration
- [Deterministic Patterns](/gh-aw/guides/deterministic-agentic-patterns/) - Data preprocessing
- [Deterministic Patterns](/gh-aw/patterns/deterministic-agentic-patterns/) - Data preprocessing
- [Safe Outputs](/gh-aw/reference/custom-safe-outputs/) - Storing workflow outputs
- [Frontmatter Reference](/gh-aw/reference/frontmatter/) - Configuration options
Loading
Loading