Skip to content
Merged
Show file tree
Hide file tree
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
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.0.7 - 2026-06-04

### ♻️ Refactoring

- Improvements on create modals (#252)

### 🐛 Bug Fixes

- Repair daemon-served e2e flows

## 0.0.6 - 2026-06-03

### 🎉 Features
Expand Down Expand Up @@ -320,6 +330,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Stabilize release e2e flows
- Improve suite speed

[0.0.7]: https://github.com/compozy/agh/compare/v0.0.6...v0.0.7
[0.0.6]: https://github.com/compozy/agh/compare/v0.0.5...v0.0.6
[0.0.5]: https://github.com/compozy/agh/compare/v0.0.4...v0.0.5
[0.0.4]: https://github.com/compozy/agh/compare/v0.0.3...v0.0.4
Expand Down
48 changes: 4 additions & 44 deletions RELEASE_BODY.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,9 @@
## 0.0.6 - 2026-06-03
## 0.0.7 - 2026-06-04

### 🎉 Features
### ♻️ Refactoring

- Dependency-driven auto-enqueue (opt-in) (#232)
- Improvements on create modals (#252)

### 🐛 Bug Fixes

- Wake coordinator sessions reliably (#240)
- Enable runtime evidence profiles (#242)
- React doctor fixes (#245)
- Verify marketplace skill installs (#244)
- Persist active workspace and redirect on session/workspace mismatch (#238)
- Safe workspace delete and agh session remove command (#239)
- Unblock release CI (bootstrapRun complexity, stale gate tests) (#249)

### 📚 Documentation

- Release notes

### Release Notes

#### Features

##### Dependency-driven auto-enqueue

Tasks can now opt into dependency-driven auto-enqueue. When a task is marked `auto_enqueue_on_ready`, AGH enqueues its next task run automatically as soon as a blocking dependency completes and the task reconciles to `ready` — so a dependency graph advances without a manual `agh task enqueue` at each step. The behavior is conservative: only a successful completion satisfies a `blocks` edge, paused dependents are skipped, and the queued-run reservation keeps at most one open run per dependent under concurrent or retried completions. Enqueue happens only after the completion has durably committed and is best-effort — a failed enqueue is logged, never rolled back onto the completing run. It is off by default; enable it per task with `--auto-enqueue-on-ready` on `agh task create` / `agh task child create`, toggle it with `agh task update`, or set the `auto_enqueue_on_ready` field over HTTP/UDS and the extension SDK.

##### Runtime evidence mode for task execution profiles

Task execution profiles can now drive worker startup and opt into runtime evidence mode. A task with no pool owner but a `worker.mode = "select"` profile now starts the selected agent, provider, and model and propagates the profile's required capabilities into its claim command. Setting `runtime.mode = "evidence"` boots that worker with guidance to run browser, simulator, and local-app validation and to capture runtime evidence. AGH elevates the session to auto-approve permissions only when the profile also pins an explicit sandbox reference (`sandbox.mode = "ref"`); otherwise the configured permission policy stays in force, and evidence mode grants no extra task authority. The profile's new `runtime` block is surfaced through the execution-profile CLI, the HTTP/UDS endpoints, and the native task tools.

#### Fixes

##### Coordinator sessions wake reliably on new work

Coordinator sessions now wake reliably when new work arrives. When a task run is enqueued for a workspace that already has a running coordinator session, AGH delivers a synthetic wake to that session — interrupting the agent's current turn if it is idle and waiting — so queued runs are picked up promptly instead of stalling. The same interrupt-if-waiting delivery now applies to harness re-entry and heartbeat wakes, force-retried and force-recovered runs re-trigger a coordinator wake, and heartbeat wakes skipped for non-transient reasons are recorded as dropped rather than silently lost. Wake delivery is de-duplicated per session and run and drained safely across daemon shutdown.

##### Marketplace skill installs are verified end-to-end

Marketplace skill installs are now verified end-to-end. After downloading and writing a skill, AGH confirms the runtime can actually discover it as an enabled marketplace skill with matching provenance, instead of reporting success for an install that would never resolve. Installs that are disabled, shadowed by a higher-precedence skill of the same name, missing provenance, or resolved to a different slug now fail with a clear, terminal error and remediation guidance across `agh skill install` and the daemon API. Use `agh skill where <name>` to inspect the winning source before retrying.

##### Safe workspace deletion, plus agh session remove and agh open

Workspace deletion is now safe: AGH refuses to delete a workspace while any of its sessions are still active — returning a 409 that names the blocking sessions — and cleans up the workspace's stopped session history transactionally when deletion proceeds. Two agent-manageable CLI commands ship alongside it: `agh session remove <id>` deletes a single session and its persisted history, and `agh open` opens the AGH web UI in your default browser. The CLI reference also gains documentation for `agh open`, `agh session remove`, and the existing `agh onboarding` command group.

##### Web UI remembers your active workspace

The web UI now remembers your active workspace across reloads and browser restarts, so a refresh no longer snaps you back to the first workspace. Direct and shared session links resolve a session's owning workspace from its ID and load reliably regardless of which workspace is selected, and the UI redirects to the agent page when an opened session belongs to a different workspace than the active one.
- Repair daemon-served e2e flows
10 changes: 10 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
## 0.0.7 - 2026-06-04

### ♻️ Refactoring

- Improvements on create modals (#252)

### 🐛 Bug Fixes

- Repair daemon-served e2e flows

## 0.0.6 - 2026-06-03

### 🎉 Features
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ require (
github.com/charmbracelet/bubbles v1.0.0
github.com/charmbracelet/bubbletea v1.3.10
github.com/coder/acp-go-sdk v0.12.2
github.com/compozy/agh-web-assets v0.0.31
github.com/compozy/agh-web-assets v0.0.33
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

❓ Verification inconclusive

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== go.mod (with line numbers around line 13) ==="
nl -ba go.mod | sed -n '1,40p'

echo
echo "=== go.sum entries for compozy/agh-web-assets ==="
rg -n "github\.com/compozy/agh-web-assets" go.sum || true

echo
echo "=== git diff for go.mod and go.sum (if git metadata exists) ==="
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
  git diff -- go.mod go.sum | sed -n '1,200p'
else
  echo "No git repository metadata available."
fi

echo
echo "=== Current module versions for compozy/agh-web-assets from go.mod parsing ==="
node -e "const fs=require('fs');const txt=fs.readFileSync('go.mod','utf8').split(/\\r?\\n/);for(const line of txt){const m=line.match(/^github\\.com\\/compozy\\/agh-web-assets\\s+v\\S+/); if(m) console.log(m[0]);}"

Repository: compozy/agh

Length of output: 166


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== go.mod (with line numbers around line 13) ==="
nl -ba go.mod | sed -n '1,40p'

echo
echo "=== go.sum entries for compozy/agh-web-assets ==="
rg -n "github\.com/compozy/agh-web-assets" go.sum || true

echo
echo "=== git diff for go.mod and go.sum (if git metadata exists) ==="
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
  git diff -- go.mod go.sum | sed -n '1,200p'
else
  echo "No git repository metadata available."
fi

echo
echo "=== Current module versions for compozy/agh-web-assets from go.mod parsing ==="
node -e "const fs=require('fs');const txt=fs.readFileSync('go.mod','utf8').split(/\\r?\\n/);for(const line of txt){const m=line.match(/^github\\.com\\/compozy\\/agh-web-assets\\s+v\\S+/); if(m) console.log(m[0]);}"

Repository: compozy/agh

Length of output: 166


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== go.mod (lines 1-30) ==="
sed -n '1,30p' go.mod || true

echo
echo "=== go.sum entries for compozy/agh-web-assets ==="
if [ -f go.sum ]; then
  rg -n "github\.com/compozy/agh-web-assets" go.sum || true
else
  echo "go.sum not found."
fi

echo
echo "=== git diff for go.mod and go.sum (if git metadata exists) ==="
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
  git diff -- go.mod go.sum | sed -n '1,200p' || true
else
  echo "No git repository metadata available."
fi

echo
echo "=== Current module versions for compozy/agh-web-assets from go.mod parsing ==="
node -e "const fs=require('fs');const txt=fs.readFileSync('go.mod','utf8').split(/\r?\n/);for(const line of txt){const m=line.match(/^github\\.com\\/compozy\\/agh-web-assets\\s+v\\S+/); if(m) console.log(m[0]);}"

Repository: compozy/agh

Length of output: 1569


Confirm go.mod update provenance for github.com/compozy/agh-web-assets v0.0.33
go.mod now requires github.com/compozy/agh-web-assets v0.0.33, and go.sum contains matching v0.0.33 hashes, but the repo state provided doesn’t show whether the change was produced by go get github.com/compozy/agh-web-assets@v0.0.33 (with metadata refresh) versus a manual edit to go.mod.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@go.mod` at line 13, Confirm provenance of the
github.com/compozy/agh-web-assets v0.0.33 change by regenerating the module
properly rather than leaving a manual edit: fetch the module version so go.mod
and go.sum are produced by the toolchain (ensure the dependency line
"github.com/compozy/agh-web-assets v0.0.33" in go.mod and corresponding hashes
in go.sum are the result of a module fetch), then commit the regenerated go.mod
and go.sum; if the change was intentionally manual, document in the PR
description which command or workflow produced the update and include that note
in the commit message so reviewers can verify provenance.

github.com/creativeprojects/go-selfupdate v1.5.2
github.com/daytonaio/daytona/libs/sdk-go v0.166.0
github.com/getkin/kin-openapi v0.135.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUo
github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4=
github.com/coder/acp-go-sdk v0.12.2 h1:fpRJ8Z5HMSr5cZ5IywzFlFZcIxZOsto+laNVu7XelFA=
github.com/coder/acp-go-sdk v0.12.2/go.mod h1:yKzM/3R9uELp4+nBAwwtkS0aN1FOFjo11CNPy37yFko=
github.com/compozy/agh-web-assets v0.0.31 h1:DAwFkh84/mSD7+71ZSgmeiwLI7yqK3gvUiMXIBTNp0c=
github.com/compozy/agh-web-assets v0.0.31/go.mod h1:X4Gwpl8HRswrtrQqM43F4bTd+Mw7iTojtj0JkDOqRGI=
github.com/compozy/agh-web-assets v0.0.33 h1:2JPPFauTBE550hkYwn7RNP4HjbdwZOiijFGTxvx9+2A=
github.com/compozy/agh-web-assets v0.0.33/go.mod h1:X4Gwpl8HRswrtrQqM43F4bTd+Mw7iTojtj0JkDOqRGI=
github.com/coreos/go-oidc/v3 v3.16.0 h1:qRQUCFstKpXwmEjDQTIbyY/5jF00+asXzSkmkoa/mow=
github.com/coreos/go-oidc/v3 v3.16.0/go.mod h1:wqPbKFrVnE90vty060SB40FCJ8fTHTxSwyXJqZH+sI8=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "0.0.6",
"version": "0.0.7",
"private": true,
"workspaces": [
"packages/ui",
Expand Down
26 changes: 26 additions & 0 deletions packages/site/content/blog/changelog/v0.0.7.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
version: "v0.0.7"
date: "2026-06-04T15:26:49.000Z"
status: "alpha"
summary: "Repair daemon-served e2e flows"
added: []
changed:
- "Improvements on create modals (#252)"
fixed:
- "Repair daemon-served e2e flows"
breaking: []
compareUrl: "https://github.com/compozy/agh/compare/v0.0.6...v0.0.7"
---

Generated from release artifacts for v0.0.7.

## Verification posture

This generated release entry names the release gates and artifact guarantees that the AGH release workflow owns:

- Repository gate: `make verify` covers codegen drift, Bun lint/typecheck/test/build, Go fmt/lint/test/build, and import boundaries.
- Release PR dry-run: `pr-release dry-run`, `make test-e2e-nightly`, and `make test-integration` run before the release commit is merged.
- Production release: generated release assets are validated before `goreleaser release --clean` publishes the release.
- Artifact provenance: GoReleaser signs `checksums.txt` with cosign, publishes the Sigstore bundle `checksums.txt.sigstore.json`, and generates Syft SBOMs for archives, packages, and source.

Known limitation: this generated changelog does not claim a manual post-release install smoke or live-provider QA run unless a release note in this entry names that evidence.
Loading