From 68c7b942a5d709c2f5b9c948255baa1ac0095dd6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 3 Jun 2026 01:04:46 +0000 Subject: [PATCH] release: prepare release v0.0.6 --- ...ns-wake-reliably-on-new-work-1780441414.md | 0 ...pendency-driven-auto-enqueue-1780441412.md | 0 ...-skill-installs-are-verified-1780441417.md | 0 ...-for-task-execution-profiles-1780441413.md | 0 ...on-and-session-open-commands-1780441415.md | 0 ...embers-your-active-workspace-1780441416.md | 0 CHANGELOG.md | 21 +++++++ RELEASE_BODY.md | 49 +++++++++++---- RELEASE_NOTES.md | 50 +++++++++++++++ go.mod | 2 +- go.sum | 4 +- package.json | 6 +- .../site/content/blog/changelog/v0.0.6.mdx | 61 +++++++++++++++++++ 13 files changed, 176 insertions(+), 17 deletions(-) rename .release-notes/{ => archive/v0.0.6}/coordinator-sessions-wake-reliably-on-new-work-1780441414.md (100%) rename .release-notes/{ => archive/v0.0.6}/dependency-driven-auto-enqueue-1780441412.md (100%) rename .release-notes/{ => archive/v0.0.6}/marketplace-skill-installs-are-verified-1780441417.md (100%) rename .release-notes/{ => archive/v0.0.6}/runtime-evidence-mode-for-task-execution-profiles-1780441413.md (100%) rename .release-notes/{ => archive/v0.0.6}/safe-workspace-deletion-and-session-open-commands-1780441415.md (100%) rename .release-notes/{ => archive/v0.0.6}/web-ui-remembers-your-active-workspace-1780441416.md (100%) create mode 100644 packages/site/content/blog/changelog/v0.0.6.mdx diff --git a/.release-notes/coordinator-sessions-wake-reliably-on-new-work-1780441414.md b/.release-notes/archive/v0.0.6/coordinator-sessions-wake-reliably-on-new-work-1780441414.md similarity index 100% rename from .release-notes/coordinator-sessions-wake-reliably-on-new-work-1780441414.md rename to .release-notes/archive/v0.0.6/coordinator-sessions-wake-reliably-on-new-work-1780441414.md diff --git a/.release-notes/dependency-driven-auto-enqueue-1780441412.md b/.release-notes/archive/v0.0.6/dependency-driven-auto-enqueue-1780441412.md similarity index 100% rename from .release-notes/dependency-driven-auto-enqueue-1780441412.md rename to .release-notes/archive/v0.0.6/dependency-driven-auto-enqueue-1780441412.md diff --git a/.release-notes/marketplace-skill-installs-are-verified-1780441417.md b/.release-notes/archive/v0.0.6/marketplace-skill-installs-are-verified-1780441417.md similarity index 100% rename from .release-notes/marketplace-skill-installs-are-verified-1780441417.md rename to .release-notes/archive/v0.0.6/marketplace-skill-installs-are-verified-1780441417.md diff --git a/.release-notes/runtime-evidence-mode-for-task-execution-profiles-1780441413.md b/.release-notes/archive/v0.0.6/runtime-evidence-mode-for-task-execution-profiles-1780441413.md similarity index 100% rename from .release-notes/runtime-evidence-mode-for-task-execution-profiles-1780441413.md rename to .release-notes/archive/v0.0.6/runtime-evidence-mode-for-task-execution-profiles-1780441413.md diff --git a/.release-notes/safe-workspace-deletion-and-session-open-commands-1780441415.md b/.release-notes/archive/v0.0.6/safe-workspace-deletion-and-session-open-commands-1780441415.md similarity index 100% rename from .release-notes/safe-workspace-deletion-and-session-open-commands-1780441415.md rename to .release-notes/archive/v0.0.6/safe-workspace-deletion-and-session-open-commands-1780441415.md diff --git a/.release-notes/web-ui-remembers-your-active-workspace-1780441416.md b/.release-notes/archive/v0.0.6/web-ui-remembers-your-active-workspace-1780441416.md similarity index 100% rename from .release-notes/web-ui-remembers-your-active-workspace-1780441416.md rename to .release-notes/archive/v0.0.6/web-ui-remembers-your-active-workspace-1780441416.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 2469720a..120348dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,26 @@ 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.6 - 2026-06-03 + +### 🎉 Features + +- Dependency-driven auto-enqueue (opt-in) (#232) + +### 🐛 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 + ## 0.0.5 - 2026-05-29 ### ♻️ Refactoring @@ -300,6 +320,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Stabilize release e2e flows - Improve suite speed +[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 [0.0.3]: https://github.com/compozy/agh/compare/v0.0.2...v0.0.3 diff --git a/RELEASE_BODY.md b/RELEASE_BODY.md index 70edc7f6..9824f612 100644 --- a/RELEASE_BODY.md +++ b/RELEASE_BODY.md @@ -1,22 +1,49 @@ -## 0.0.5 - 2026-05-29 - -### ♻️ Refactoring - -- Optimize prompt consumption (#222) -- Orchestration improvements (#230) +## 0.0.6 - 2026-06-03 ### 🎉 Features -- Decouple worker concurrency from coordinator uniqueness (#229) +- Dependency-driven auto-enqueue (opt-in) (#232) ### 🐛 Bug Fixes -- Handle provider overlay subtables (#228) +- 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 -- Add contributors +- 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 ` 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 ` 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. -### 🔧 CI/CD +##### Web UI remembers your active workspace -- Web asset release +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. diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index a6b7edcf..b52c53d9 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,53 @@ +## 0.0.6 - 2026-06-03 + +### 🎉 Features + +- Dependency-driven auto-enqueue (opt-in) (#232) + +### 🐛 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 ` 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 ` 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. + ## 0.0.5 - 2026-05-29 ### ♻️ Refactoring diff --git a/go.mod b/go.mod index f85de35d..9bfd3ae9 100644 --- a/go.mod +++ b/go.mod @@ -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.24 + github.com/compozy/agh-web-assets v0.0.31 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 diff --git a/go.sum b/go.sum index 7aa034f0..b5677b71 100644 --- a/go.sum +++ b/go.sum @@ -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.24 h1:4fAtsDOPal+pfkecC/pKhzbMu/0GLqPE8eHhGQKZENI= -github.com/compozy/agh-web-assets v0.0.24/go.mod h1:X4Gwpl8HRswrtrQqM43F4bTd+Mw7iTojtj0JkDOqRGI= +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/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= diff --git a/package.json b/package.json index 6021e1b0..2ae9be81 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "0.0.5", + "version": "0.0.6", "private": true, "workspaces": [ "packages/ui", @@ -19,6 +19,7 @@ "codegen": "make codegen", "codegen-check": "make codegen-check", "dev": "turbo run dev --filter=./web", + "doctor": "npx react-doctor@latest", "format": "make fmt && oxfmt", "format:check": "bunx oxfmt --check", "go:lint": "go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.11.4 run --allow-parallel-runners ./... && go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@v0.21.1 ./...", @@ -34,8 +35,7 @@ "test:e2e:runtime": "make test-e2e-runtime", "test:e2e:web": "make test-e2e-web", "tests": "bun run test", - "typecheck": "bun run bun:typecheck", - "doctor": "npx react-doctor@latest" + "typecheck": "bun run bun:typecheck" }, "devDependencies": { "@commitlint/cli": "^21.0.1", diff --git a/packages/site/content/blog/changelog/v0.0.6.mdx b/packages/site/content/blog/changelog/v0.0.6.mdx new file mode 100644 index 00000000..77a44e69 --- /dev/null +++ b/packages/site/content/blog/changelog/v0.0.6.mdx @@ -0,0 +1,61 @@ +--- +version: "v0.0.6" +date: "2026-06-03T01:03:32.000Z" +status: "alpha" +summary: "Coordinator sessions wake reliably on new work" +added: + - "Dependency-driven auto-enqueue" + - "Runtime evidence mode for task execution profiles" + - "Dependency-driven auto-enqueue (opt-in) (#232)" +changed: + - "Release notes" +fixed: + - "Coordinator sessions wake reliably on new work" + - "Marketplace skill installs are verified end-to-end" + - "Safe workspace deletion, plus agh session remove and agh open" + - "Web UI remembers your active workspace" + - "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)" +breaking: [] +compareUrl: "https://github.com/compozy/agh/compare/v0.0.5...v0.0.6" +--- + +## 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. + +## 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. + +## 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 ` to inspect the winning source before retrying. + +## 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. + +## 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 ` 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. + +## 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.