feat: add canonical AGH bundled skill#143
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughConsolidates bundled skills into a single "agh" skill and adds resource-level loading. Introduces a top-level ChangesBundled skills consolidation and resource-based loading
sequenceDiagram
participant CLI as Client/CLI
participant Daemon as Daemon
participant Registry as SkillsRegistry
participant FS as Bundled FS / Embedded FS
CLI->>Daemon: skill view {name:"agh", file:"references/memory.md"}
Daemon->>Registry: LoadResource(ctx, skill:"agh", "references/memory.md")
Registry->>FS: Open "agh/references/memory.md"
FS-->>Registry: file contents
Registry-->>Daemon: trimmed contents
Daemon-->>CLI: HTTP/JSON response with file contents
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
internal/skills/catalog_test.go (1)
183-207:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd subtest parallelization for consistency with test guidelines.
Line 183 introduces a
t.Run(...)subtest, but the subtest body does not callt.Parallel(). Add it unless this case is intentionally environment-sensitive.Suggested patch
t.Run("Should exclude disabled skills", func(t *testing.T) { + t.Parallel() + got := BuildCatalog([]*Skill{ {As per coding guidelines:
In Go tests, use t.Run("Should ...") subtest pattern and t.Parallel by default (with t.Setenv opt-out for environment-sensitive tests).🤖 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 `@internal/skills/catalog_test.go` around lines 183 - 207, The "Should exclude disabled skills" subtest in catalog_test.go is missing t.Parallel(); update the t.Run subtest body to call t.Parallel() as the first line inside the anonymous func used by t.Run to enable parallel execution (unless this test is intentionally environment-sensitive, in which case add a comment and use t.Setenv to opt out). Ensure the change is applied within the t.Run("Should exclude disabled skills", func(t *testing.T) { ... }) block surrounding the BuildCatalog assertions.
🧹 Nitpick comments (3)
internal/skills/resource_spec.go (1)
169-207: ⚡ Quick winConsider extracting env map cleaning logic.
Lines 180-191 and 193-204 contain nearly identical logic for cleaning
EnvandSecretEnvmaps (trimming keys/values, removing empty keys, nil-ing empty maps). Extracting a helper function likecleanEnvMap(m map[string]string) map[string]stringwould reduce duplication and improve maintainability.♻️ Suggested helper function
+func cleanEnvMap(env map[string]string) map[string]string { + if len(env) == 0 { + return nil + } + cleaned := make(map[string]string, len(env)) + for key, value := range env { + trimmedKey := strings.TrimSpace(key) + if trimmedKey == "" { + continue + } + cleaned[trimmedKey] = strings.TrimSpace(value) + } + if len(cleaned) == 0 { + return nil + } + return cleaned +} + func normalizeMCPServerDecl(decl MCPServerDecl) MCPServerDecl { normalized := MCPServerDecl{ Name: strings.TrimSpace(decl.Name), Command: strings.TrimSpace(decl.Command), Args: append([]string(nil), decl.Args...), - Env: cloneStringMap(decl.Env), - SecretEnv: cloneStringMap(decl.SecretEnv), + Env: cleanEnvMap(decl.Env), + SecretEnv: cleanEnvMap(decl.SecretEnv), } for idx := range normalized.Args { normalized.Args[idx] = strings.TrimSpace(normalized.Args[idx]) } - if len(normalized.Env) > 0 { - for key, value := range normalized.Env { - trimmedKey := strings.TrimSpace(key) - delete(normalized.Env, key) - if trimmedKey == "" { - continue - } - normalized.Env[trimmedKey] = strings.TrimSpace(value) - } - if len(normalized.Env) == 0 { - normalized.Env = nil - } - } - if len(normalized.SecretEnv) > 0 { - for key, value := range normalized.SecretEnv { - trimmedKey := strings.TrimSpace(key) - delete(normalized.SecretEnv, key) - if trimmedKey == "" { - continue - } - normalized.SecretEnv[trimmedKey] = strings.TrimSpace(value) - } - if len(normalized.SecretEnv) == 0 { - normalized.SecretEnv = nil - } - } return normalized }🤖 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 `@internal/skills/resource_spec.go` around lines 169 - 207, normalizeMCPServerDecl contains duplicated logic for cleaning Env and SecretEnv maps; extract that into a helper like cleanEnvMap(m map[string]string) map[string]string that: iterates entries, trims keys and values, skips entries with empty trimmed keys, deletes original keys, and returns nil if the resulting map is empty (preserving the current nil vs empty behavior). Replace the two nearly identical blocks in normalizeMCPServerDecl with normalized.Env = cleanEnvMap(normalized.Env) and normalized.SecretEnv = cleanEnvMap(normalized.SecretEnv), ensuring behavior and semantics remain unchanged.internal/daemon/daemon_test.go (1)
3775-3777: ⚡ Quick winMake the skill-name assertion more specific.
Line 3775 currently checks plain
"agh", which can match unrelated prompt text and mask a skills-rendering regression. Prefer an exact, block-scoped fragment for the listed skill entry.As per coding guidelines: "MUST test meaningful business logic" and "Ensure tests verify behavior outcomes, not just function calls."
🤖 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 `@internal/daemon/daemon_test.go` around lines 3775 - 3777, The test currently asserts the plain string "agh" via the fragments slice (variable fragments in daemon_test.go), which can match unrelated text; change the expectation to a specific, block-scoped fragment such as "<available-skills>agh</available-skills>" (or update the appended fragments to append that exact block instead of separate "<available-skills>" and "agh") so the test verifies the skill entry as a distinct element rather than a loose substring.internal/session/manager_test.go (1)
3204-3209: ⚡ Quick winExtract a shared helper for bundled resource loading in tests.
Line 3204 repeats the same
LoadResource + TrimSpacesequence used again at Line 3281, Line 3310, and Line 3646. A small helper keeps assertions consistent and avoids drift in failure messages.♻️ Suggested refactor
+func loadTrimmedBundledResource(t *testing.T, relativePath string) string { + t.Helper() + content, err := skillbundled.LoadResource(testBundledAghSkillName, relativePath) + if err != nil { + t.Fatalf("LoadResource(%q, %q) error = %v", testBundledAghSkillName, relativePath, err) + } + return strings.TrimSpace(content) +}- networkSkill, err := skillbundled.LoadResource(testBundledAghSkillName, testBundledNetworkReference) - if err != nil { - t.Fatalf("LoadResource(%q, %q) error = %v", testBundledAghSkillName, testBundledNetworkReference, err) - } - networkSkill = strings.TrimSpace(networkSkill) + networkSkill := loadTrimmedBundledResource(t, testBundledNetworkReference)🤖 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 `@internal/session/manager_test.go` around lines 3204 - 3209, Tests repeatedly call skillbundled.LoadResource(... ) followed by strings.TrimSpace(...) (e.g., the calls using LoadResource with testBundledAghSkillName and testBundledNetworkReference at lines where networkSkill is loaded), causing duplicated logic and inconsistent assertions; extract a small helper function (e.g., loadBundledResourceOrFatal(t, name, ref) used in manager_test.go tests) that wraps skillbundled.LoadResource, checks err and calls t.Fatalf with a consistent message, trims the result with strings.TrimSpace, and return the string, then replace all repeated LoadResource+TrimSpace sequences (including the occurrences referring to testBundledAghSkillName/testBundledNetworkReference) with calls to that helper to keep failure messages and behavior consistent.
🤖 Prompt for all review comments with 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.
Outside diff comments:
In `@internal/skills/catalog_test.go`:
- Around line 183-207: The "Should exclude disabled skills" subtest in
catalog_test.go is missing t.Parallel(); update the t.Run subtest body to call
t.Parallel() as the first line inside the anonymous func used by t.Run to enable
parallel execution (unless this test is intentionally environment-sensitive, in
which case add a comment and use t.Setenv to opt out). Ensure the change is
applied within the t.Run("Should exclude disabled skills", func(t *testing.T) {
... }) block surrounding the BuildCatalog assertions.
---
Nitpick comments:
In `@internal/daemon/daemon_test.go`:
- Around line 3775-3777: The test currently asserts the plain string "agh" via
the fragments slice (variable fragments in daemon_test.go), which can match
unrelated text; change the expectation to a specific, block-scoped fragment such
as "<available-skills>agh</available-skills>" (or update the appended fragments
to append that exact block instead of separate "<available-skills>" and "agh")
so the test verifies the skill entry as a distinct element rather than a loose
substring.
In `@internal/session/manager_test.go`:
- Around line 3204-3209: Tests repeatedly call skillbundled.LoadResource(... )
followed by strings.TrimSpace(...) (e.g., the calls using LoadResource with
testBundledAghSkillName and testBundledNetworkReference at lines where
networkSkill is loaded), causing duplicated logic and inconsistent assertions;
extract a small helper function (e.g., loadBundledResourceOrFatal(t, name, ref)
used in manager_test.go tests) that wraps skillbundled.LoadResource, checks err
and calls t.Fatalf with a consistent message, trims the result with
strings.TrimSpace, and return the string, then replace all repeated
LoadResource+TrimSpace sequences (including the occurrences referring to
testBundledAghSkillName/testBundledNetworkReference) with calls to that helper
to keep failure messages and behavior consistent.
In `@internal/skills/resource_spec.go`:
- Around line 169-207: normalizeMCPServerDecl contains duplicated logic for
cleaning Env and SecretEnv maps; extract that into a helper like cleanEnvMap(m
map[string]string) map[string]string that: iterates entries, trims keys and
values, skips entries with empty trimmed keys, deletes original keys, and
returns nil if the resulting map is empty (preserving the current nil vs empty
behavior). Replace the two nearly identical blocks in normalizeMCPServerDecl
with normalized.Env = cleanEnvMap(normalized.Env) and normalized.SecretEnv =
cleanEnvMap(normalized.SecretEnv), ensuring behavior and semantics remain
unchanged.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: a81836bd-6b21-4a8b-a622-e79fed57710d
⛔ Files ignored due to path filters (25)
internal/CLAUDE.mdis excluded by!**/*.mdinternal/skills/bundled/skills/agh-agent-setup/SKILL.mdis excluded by!**/*.mdinternal/skills/bundled/skills/agh-memory-guide/SKILL.mdis excluded by!**/*.mdinternal/skills/bundled/skills/agh-network/SKILL.mdis excluded by!**/*.mdinternal/skills/bundled/skills/agh-orchestrator/SKILL.mdis excluded by!**/*.mdinternal/skills/bundled/skills/agh-session-guide/SKILL.mdis excluded by!**/*.mdinternal/skills/bundled/skills/agh-task-reviewer/SKILL.mdis excluded by!**/*.mdinternal/skills/bundled/skills/agh-task-worker/SKILL.mdis excluded by!**/*.mdinternal/skills/bundled/skills/agh-tools-guide/SKILL.mdis excluded by!**/*.mdpackages/site/content/runtime/core/autonomy/review-gate.mdxis excluded by!**/*.mdxpackages/site/content/runtime/core/skills/bundled.mdxis excluded by!**/*.mdxpackages/site/content/runtime/core/skills/index.mdxis excluded by!**/*.mdxpackages/site/content/runtime/core/skills/marketplace.mdxis excluded by!**/*.mdxskills/agh/SKILL.mdis excluded by!**/*.mdskills/agh/references/agent-definitions.mdis excluded by!**/*.mdskills/agh/references/capabilities-and-bundles.mdis excluded by!**/*.mdskills/agh/references/contributing-to-agh.mdis excluded by!**/*.mdskills/agh/references/docs-design-and-copy.mdis excluded by!**/*.mdskills/agh/references/memory.mdis excluded by!**/*.mdskills/agh/references/native-tools.mdis excluded by!**/*.mdskills/agh/references/network.mdis excluded by!**/*.mdskills/agh/references/qa-and-verification.mdis excluded by!**/*.mdskills/agh/references/runtime-operations.mdis excluded by!**/*.mdskills/agh/references/tasks-and-orchestration.mdis excluded by!**/*.mdskills/agh/references/tools-and-skills.mdis excluded by!**/*.md
📒 Files selected for processing (36)
internal/api/core/interfaces.gointernal/api/testutil/skills_stub.gointernal/cli/skill_commands.gointernal/cli/skill_marketplace_integration_test.gointernal/cli/skill_test.gointernal/cli/skill_workspace.gointernal/config/config_test.gointernal/config/persistence_test.gointernal/daemon/boot.gointernal/daemon/composed_assembler_test.gointernal/daemon/daemon_integration_test.gointernal/daemon/daemon_test.gointernal/daemon/harness_context_integration_test.gointernal/daemon/native_review_tools.gointernal/daemon/native_tools.gointernal/daemon/native_tools_test.gointernal/daemon/prompt_sections.gointernal/daemon/review_router.gointernal/daemon/review_router_test.gointernal/session/manager_integration_test.gointernal/session/manager_test.gointernal/skills/bundled/bundled_test.gointernal/skills/bundled/content.gointernal/skills/catalog_test.gointernal/skills/registry.gointernal/skills/resource.gointernal/skills/resource_spec.gointernal/store/globaldb/global_db_task_review_test.gointernal/task/manager_review_test.gointernal/testutil/acpmock/fixture_test.gointernal/tools/builtin/skills.gopackages/site/lib/__tests__/runtime-autonomy-docs.test.tspackages/site/lib/__tests__/runtime-tools-canonical-docs.test.tsskills/bundled_test.goskills/content.goskills/embed.go
💤 Files with no reviewable changes (2)
- internal/skills/bundled/content.go
- internal/skills/bundled/bundled_test.go
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with 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.
Inline comments:
In `@sdk/create-extension/src/__tests__/index.test.ts`:
- Around line 11-12: The outer test timeout goTemplateTestTimeoutMs is too small
relative to the two Go subprocess budgets (goCommandTimeoutMs); update
goTemplateTestTimeoutMs to at least the sum of both goCommandTimeoutMs values
plus a small buffer (e.g., goTemplateTestTimeoutMs = 2 * goCommandTimeoutMs +
5_000) to avoid flakes, and apply the same change to the other occurrences of
goTemplateTestTimeoutMs in this test file (the top-level constants and the later
uses referenced around the two Go command invocations).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 9ac42e92-b000-4281-b749-dd7c8622c8ce
📒 Files selected for processing (1)
sdk/create-extension/src/__tests__/index.test.ts
| const goCommandTimeoutMs = 20_000; | ||
| const goTemplateTestTimeoutMs = 30_000; |
There was a problem hiding this comment.
Align the test timeout with combined subprocess budgets.
goTemplateTestTimeoutMs is 30s, but the test runs two Go commands that can each take up to 20s. The outer timeout can fire first and cause avoidable flakes on slower CI.
Suggested fix
const goCommandTimeoutMs = 20_000;
-const goTemplateTestTimeoutMs = 30_000;
+const goTemplateTestTimeoutMs = goCommandTimeoutMs * 2 + 15_000;Also applies to: 126-127, 131-135
🤖 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 `@sdk/create-extension/src/__tests__/index.test.ts` around lines 11 - 12, The
outer test timeout goTemplateTestTimeoutMs is too small relative to the two Go
subprocess budgets (goCommandTimeoutMs); update goTemplateTestTimeoutMs to at
least the sum of both goCommandTimeoutMs values plus a small buffer (e.g.,
goTemplateTestTimeoutMs = 2 * goCommandTimeoutMs + 5_000) to avoid flakes, and
apply the same change to the other occurrences of goTemplateTestTimeoutMs in
this test file (the top-level constants and the later uses referenced around the
two Go command invocations).
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with 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.
Inline comments:
In `@internal/e2elane/command_wiring_test.go`:
- Around line 286-297: The test currently asserts that the Turbo task
"@agh/site#build" has "^build" in its DependsOn but misses the same assertion
for "@agh/ui#build"; update the test to fetch cfg.Tasks["@agh/ui#build"]
(similar to siteBuild) and assert using containsString(uiBuild.DependsOn,
"^build") (or the existing containsString helper) so both Vercel build tasks are
validated for build propagation alongside the existing check for
siteBuild.DependsOn.
- Around line 271-285: The loop over Vercel build tasks should be converted into
subtests to provide isolation and allow parallel execution: replace the for _,
taskName := range ... loop with t.Run(fmt.Sprintf("Should not depend on codegen
for %s", taskName), func(t *testing.T) { t.Parallel(); task, ok :=
cfg.Tasks[taskName]; if !ok { t.Fatalf(...) } ; if
containsString(task.DependsOn, codegenCheckTask) { t.Fatalf(...) } }) so each
case uses t.Run and t.Parallel and still references cfg.Tasks, containsString,
and codegenCheckTask.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: b5885b55-3ee1-4cf0-87d7-8b1bfdf9530f
⛔ Files ignored due to path filters (1)
turbo.jsonis excluded by!**/*.json
📒 Files selected for processing (1)
internal/e2elane/command_wiring_test.go
| for _, taskName := range []string{"@agh/site#build", "@agh/ui#build"} { | ||
| task, ok := cfg.Tasks[taskName] | ||
| if !ok { | ||
| t.Fatalf("turbo task %q missing from %#v", taskName, cfg.Tasks) | ||
| } | ||
| if containsString(task.DependsOn, codegenCheckTask) { | ||
| t.Fatalf( | ||
| "turbo task %q dependsOn = %#v, want no %q because Vercel site deploys do not install Go", | ||
| taskName, | ||
| task.DependsOn, | ||
| codegenCheckTask, | ||
| ) | ||
| } | ||
| } | ||
|
|
There was a problem hiding this comment.
Use subtests for each Vercel build task case.
Line 271 iterates test cases without t.Run("Should ..."), so case-level parallelism and failure isolation are missing.
Suggested patch
- for _, taskName := range []string{"@agh/site#build", "@agh/ui#build"} {
- task, ok := cfg.Tasks[taskName]
- if !ok {
- t.Fatalf("turbo task %q missing from %#v", taskName, cfg.Tasks)
- }
- if containsString(task.DependsOn, codegenCheckTask) {
- t.Fatalf(
- "turbo task %q dependsOn = %#v, want no %q because Vercel site deploys do not install Go",
- taskName,
- task.DependsOn,
- codegenCheckTask,
- )
- }
- }
+ for _, taskName := range []string{"@agh/site#build", "@agh/ui#build"} {
+ taskName := taskName
+ t.Run("Should keep "+taskName+" deployable without Go toolchain", func(t *testing.T) {
+ t.Parallel()
+ task, ok := cfg.Tasks[taskName]
+ if !ok {
+ t.Fatalf("turbo task %q missing from %#v", taskName, cfg.Tasks)
+ }
+ if containsString(task.DependsOn, codegenCheckTask) {
+ t.Fatalf(
+ "turbo task %q dependsOn = %#v, want no %q because Vercel site deploys do not install Go",
+ taskName,
+ task.DependsOn,
+ codegenCheckTask,
+ )
+ }
+ })
+ }As per coding guidelines, "**/*_test.go: MUST use t.Run(\"Should ...\") pattern for ALL test cases" and use t.Parallel by default.
🤖 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 `@internal/e2elane/command_wiring_test.go` around lines 271 - 285, The loop
over Vercel build tasks should be converted into subtests to provide isolation
and allow parallel execution: replace the for _, taskName := range ... loop with
t.Run(fmt.Sprintf("Should not depend on codegen for %s", taskName), func(t
*testing.T) { t.Parallel(); task, ok := cfg.Tasks[taskName]; if !ok {
t.Fatalf(...) } ; if containsString(task.DependsOn, codegenCheckTask) {
t.Fatalf(...) } }) so each case uses t.Run and t.Parallel and still references
cfg.Tasks, containsString, and codegenCheckTask.
| siteBuild, ok := cfg.Tasks["@agh/site#build"] | ||
| if !ok { | ||
| t.Fatalf("turbo task %q missing from %#v", "@agh/site#build", cfg.Tasks) | ||
| } | ||
| if !containsString(siteBuild.DependsOn, "^build") { | ||
| t.Fatalf( | ||
| "turbo task %q dependsOn = %#v, want dependency build propagation", | ||
| "@agh/site#build", | ||
| siteBuild.DependsOn, | ||
| ) | ||
| } | ||
| } |
There was a problem hiding this comment.
Assert ^build propagation for both Vercel build tasks, not just site.
Line 286 validates ^build only for @agh/site#build; @agh/ui#build can regress silently.
Suggested patch
- siteBuild, ok := cfg.Tasks["@agh/site#build"]
- if !ok {
- t.Fatalf("turbo task %q missing from %#v", "@agh/site#build", cfg.Tasks)
- }
- if !containsString(siteBuild.DependsOn, "^build") {
- t.Fatalf(
- "turbo task %q dependsOn = %#v, want dependency build propagation",
- "@agh/site#build",
- siteBuild.DependsOn,
- )
- }
+ for _, taskName := range []string{"@agh/site#build", "@agh/ui#build"} {
+ taskName := taskName
+ t.Run("Should keep "+taskName+" depending on ^build", func(t *testing.T) {
+ t.Parallel()
+ task, ok := cfg.Tasks[taskName]
+ if !ok {
+ t.Fatalf("turbo task %q missing from %#v", taskName, cfg.Tasks)
+ }
+ if !containsString(task.DependsOn, "^build") {
+ t.Fatalf(
+ "turbo task %q dependsOn = %#v, want dependency build propagation",
+ taskName,
+ task.DependsOn,
+ )
+ }
+ })
+ }📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| siteBuild, ok := cfg.Tasks["@agh/site#build"] | |
| if !ok { | |
| t.Fatalf("turbo task %q missing from %#v", "@agh/site#build", cfg.Tasks) | |
| } | |
| if !containsString(siteBuild.DependsOn, "^build") { | |
| t.Fatalf( | |
| "turbo task %q dependsOn = %#v, want dependency build propagation", | |
| "@agh/site#build", | |
| siteBuild.DependsOn, | |
| ) | |
| } | |
| } | |
| for _, taskName := range []string{"@agh/site#build", "@agh/ui#build"} { | |
| taskName := taskName | |
| t.Run("Should keep "+taskName+" depending on ^build", func(t *testing.T) { | |
| t.Parallel() | |
| task, ok := cfg.Tasks[taskName] | |
| if !ok { | |
| t.Fatalf("turbo task %q missing from %#v", taskName, cfg.Tasks) | |
| } | |
| if !containsString(task.DependsOn, "^build") { | |
| t.Fatalf( | |
| "turbo task %q dependsOn = %#v, want dependency build propagation", | |
| taskName, | |
| task.DependsOn, | |
| ) | |
| } | |
| }) | |
| } | |
| } |
🤖 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 `@internal/e2elane/command_wiring_test.go` around lines 286 - 297, The test
currently asserts that the Turbo task "@agh/site#build" has "^build" in its
DependsOn but misses the same assertion for "@agh/ui#build"; update the test to
fetch cfg.Tasks["@agh/ui#build"] (similar to siteBuild) and assert using
containsString(uiBuild.DependsOn, "^build") (or the existing containsString
helper) so both Vercel build tasks are validated for build propagation alongside
the existing check for siteBuild.DependsOn.
## Release v0.0.1 This PR prepares the release of version v0.0.1. ### Changelog ## 0.0.1 - 2026-05-26 ### Other Changes - Lessons learned ### ♻️ Refactoring - Project structure (#7) - Kb improvements (#12) - Rename spaces to channels (#17) - Add extensions gaps (#21) - Improve tool calls ui (#22) - Remove web app header - Module improvements (#29) - Memory improvements (#35) - Storybook for web and ui (#38) - Enable AGH network by default for new installs (#57) - Hermes adjustments (#69) - Badges design (#84) - Storybook scenario and logos gallery - Migrate typescript tests (#114) - Internal go packages (#120) - Ui patterns (#127) - Improve e2e tests (#130) - Ui redesign - Workspace isolation across runtime surfaces (#145) - Prod ready applies (#162) - Tool card ui (#164) - Alpha on logo - Prod ready features (#167) - Thread sheet (#202) ### 🎉 Features - Implement config foundation packages - Implement sqlite store package - Add ACP client package - Add session lifecycle manager - Implement observe package - Add daemon composition root - Add uds api server - Implement cli package - Add http api server - Add system design - Add foundation types, schemas, and layout shell for web client - Add daemon health polling and agent sidebar systems for web client - Add session system CRUD, streaming core, and session store for web client - Add chat view, messages, and composer tests for web client - Add tool cards and renderers for web client - Add file-backed memory store core - Scaffold memory session seams - Add memory dream consolidation service - Wire memory assembler into daemon - Add memory api and cli - New skills system (#1) - Add workspace entity (#5) - Add new skill capabilities (#8) - Web ui v2 (#9) - Improve hooks system (#10) - Session resilience (#11) - Add extensability (#13) - Add automation (#16) - Add channels (#14) - Add network implementation (#15) - Add network, bridges and automations web pages (#18) - Ext registry (#20) - Add core tasks (#19) - Bridge adapters (#23) - Add site (#26) - Add ext refac and sandbox (#25) - Settings ui (#37) - Tasks ui (#36) - Harness improvements (#44) - Agent capabilities (#49) - Redesign ui (#48) - Unify capability (#53) - Redesign network workspace (#59) - Add task deletion and split session delete from stop (#58) - Session provider selection (#60) - Production grade adjustments (#66) - Autonomous system (#75) - Add agent session route (#80) - Tools registry (#85) - Agents soul (#88) - Add network threads (#105) - Orchestration improvements (#106) - Memory v2 (#108) - Agent categories (#113) - Providers model (#118) - Add canonical AGH bundled skill (#143) - Onboarding and improvements (#198) - Onboarding and improvements (#201) ### 🐛 Bug Fixes - Review round - Review rounds - Resolve memory extensibility review batch - Embed web into daemon - Defaults agents - Acp integration (#4) - Lint errors - Prd folder - Remove orphan web actions and dead surfaces (#55) - Qa testing and fixes (#73) - New review rounds (#82) - Security audit (#90) - Release qa round (#95) - Add missing tools (#141) - New qa round (#147) - Advanced qa round (#149) - Homebrew tap - Final review round (#151) - Daemon healthy - Reasoning models (#158) - Lint errors (#160) - Review round (#168) - Release adjustments (#171) - Stabilize release ci fixtures - Stabilize release integration gate - Stabilize release verify gates - Stabilize release integration flows - Stabilize release verify gates - Stabilize main verify shutdown - Ignore stale acpmock cancel - Marketplace search focus and filtering (#193) - Website video - Workspace command select ### 📚 Documentation - Update agents.md - Update prd - Update skills - Update compozy tasks - Update compozy - Update compozy - Add new skills - Archive prd - Update prds - Update rfc - Update prds - Update prds - Add automation prd - Channels prd - Update prd - Update prd - New prds - Archive prds - Bridges adapters prd - Sandbox prd - Update - Archive prd - Update - Add new prd - New design - Update prd - Archive prds - Update prds - Tasks-ui prd tasks - Update prd - Update design docs - Agent capabilities prd - Improve site docs - Remove old design references - Udpate - Autonomous prd - Update skills - Blog design - Agent sould prd - Final qa plan - Update - Remove codex ledgers from gitignore - Remove not needed files - Udpate ledger - Update cy-codex-loop skill - Orchestration improves prd - Update prds - Orch improvs prd - Memv2 prd - Providers model prd - Update refacs prd - New design proposal - Update rules - Update skills - New blog posts (#173) - Format docs - Remove old design files - Remove old - Skeeper update ### 📦 Build System - Initial structure - Commitlint - Frontend base structure - Update vscode settings - Add subagents - Coderabbit - Prd and tooling - Bun lock - Lint tooling - Copy.md and tooling adjusts - Add repoclone rc - Upgrade skeeper to v0.2.0 - Update go.mod - Adopt task artifacts into skeeper - Sync codex plans with skeeper - Skeeper lock - Skeeper lock - New skills - Skeeper lock - Skeeper lock - Skeeper lock - Update deps and go - Regenerate daytona sidecar assets for go 1.26.3 - Fix cliff - Ignore docs on fmt - Build web assets before goreleaser - Extend release dry-run timeout ### 🔧 CI/CD - Lint errors - Fint release pr - Fix goreleaser ### 🧪 Testing - Add e2e tests (#27) - Qa rounds (#78) - Improve test suite (#138) - Harden daemon-served restart reloads - Harden daemon-served readiness waits - Stabilize dashboard focus assertion - Stabilize release integration gates - Stabilize release e2e markers - Stabilize release e2e flows Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Release v0.0.1 This PR prepares the release of version v0.0.1. ### Changelog ## 0.0.1 - 2026-05-26 ### Other Changes - Lessons learned ### ♻️ Refactoring - Project structure (#7) - Kb improvements (#12) - Rename spaces to channels (#17) - Add extensions gaps (#21) - Improve tool calls ui (#22) - Remove web app header - Module improvements (#29) - Memory improvements (#35) - Storybook for web and ui (#38) - Enable AGH network by default for new installs (#57) - Hermes adjustments (#69) - Badges design (#84) - Storybook scenario and logos gallery - Migrate typescript tests (#114) - Internal go packages (#120) - Ui patterns (#127) - Improve e2e tests (#130) - Ui redesign - Workspace isolation across runtime surfaces (#145) - Prod ready applies (#162) - Tool card ui (#164) - Alpha on logo - Prod ready features (#167) - Thread sheet (#202) ### 🎉 Features - Implement config foundation packages - Implement sqlite store package - Add ACP client package - Add session lifecycle manager - Implement observe package - Add daemon composition root - Add uds api server - Implement cli package - Add http api server - Add system design - Add foundation types, schemas, and layout shell for web client - Add daemon health polling and agent sidebar systems for web client - Add session system CRUD, streaming core, and session store for web client - Add chat view, messages, and composer tests for web client - Add tool cards and renderers for web client - Add file-backed memory store core - Scaffold memory session seams - Add memory dream consolidation service - Wire memory assembler into daemon - Add memory api and cli - New skills system (#1) - Add workspace entity (#5) - Add new skill capabilities (#8) - Web ui v2 (#9) - Improve hooks system (#10) - Session resilience (#11) - Add extensability (#13) - Add automation (#16) - Add channels (#14) - Add network implementation (#15) - Add network, bridges and automations web pages (#18) - Ext registry (#20) - Add core tasks (#19) - Bridge adapters (#23) - Add site (#26) - Add ext refac and sandbox (#25) - Settings ui (#37) - Tasks ui (#36) - Harness improvements (#44) - Agent capabilities (#49) - Redesign ui (#48) - Unify capability (#53) - Redesign network workspace (#59) - Add task deletion and split session delete from stop (#58) - Session provider selection (#60) - Production grade adjustments (#66) - Autonomous system (#75) - Add agent session route (#80) - Tools registry (#85) - Agents soul (#88) - Add network threads (#105) - Orchestration improvements (#106) - Memory v2 (#108) - Agent categories (#113) - Providers model (#118) - Add canonical AGH bundled skill (#143) - Onboarding and improvements (#198) - Onboarding and improvements (#201) ### 🐛 Bug Fixes - Review round - Review rounds - Resolve memory extensibility review batch - Embed web into daemon - Defaults agents - Acp integration (#4) - Lint errors - Prd folder - Remove orphan web actions and dead surfaces (#55) - Qa testing and fixes (#73) - New review rounds (#82) - Security audit (#90) - Release qa round (#95) - Add missing tools (#141) - New qa round (#147) - Advanced qa round (#149) - Homebrew tap - Final review round (#151) - Daemon healthy - Reasoning models (#158) - Lint errors (#160) - Review round (#168) - Release adjustments (#171) - Stabilize release ci fixtures - Stabilize release integration gate - Stabilize release verify gates - Stabilize release integration flows - Stabilize release verify gates - Stabilize main verify shutdown - Ignore stale acpmock cancel - Marketplace search focus and filtering (#193) - Website video - Workspace command select ### 📚 Documentation - Update agents.md - Update prd - Update skills - Update compozy tasks - Update compozy - Update compozy - Add new skills - Archive prd - Update prds - Update rfc - Update prds - Update prds - Add automation prd - Channels prd - Update prd - Update prd - New prds - Archive prds - Bridges adapters prd - Sandbox prd - Update - Archive prd - Update - Add new prd - New design - Update prd - Archive prds - Update prds - Tasks-ui prd tasks - Update prd - Update design docs - Agent capabilities prd - Improve site docs - Remove old design references - Udpate - Autonomous prd - Update skills - Blog design - Agent sould prd - Final qa plan - Update - Remove codex ledgers from gitignore - Remove not needed files - Udpate ledger - Update cy-codex-loop skill - Orchestration improves prd - Update prds - Orch improvs prd - Memv2 prd - Providers model prd - Update refacs prd - New design proposal - Update rules - Update skills - New blog posts (#173) - Format docs - Remove old design files - Remove old - Skeeper update ### 📦 Build System - Initial structure - Commitlint - Frontend base structure - Update vscode settings - Add subagents - Coderabbit - Prd and tooling - Bun lock - Lint tooling - Copy.md and tooling adjusts - Add repoclone rc - Upgrade skeeper to v0.2.0 - Update go.mod - Adopt task artifacts into skeeper - Sync codex plans with skeeper - Skeeper lock - Skeeper lock - New skills - Skeeper lock - Skeeper lock - Skeeper lock - Update deps and go - Regenerate daytona sidecar assets for go 1.26.3 - Fix cliff - Ignore docs on fmt - Build web assets before goreleaser - Extend release dry-run timeout ### 🔧 CI/CD - Lint errors - Fint release pr - Fix goreleaser - Fix release ### 🧪 Testing - Add e2e tests (#27) - Qa rounds (#78) - Improve test suite (#138) - Harden daemon-served restart reloads - Harden daemon-served readiness waits - Stabilize dashboard focus assertion - Stabilize release integration gates - Stabilize release e2e markers - Stabilize release e2e flows Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Release v0.0.2 This PR prepares the release of version v0.0.2. ### Changelog ## 0.0.2 - 2026-05-26 ### Other Changes - Lessons learned ### ♻️ Refactoring - Project structure (#7) - Kb improvements (#12) - Rename spaces to channels (#17) - Add extensions gaps (#21) - Improve tool calls ui (#22) - Remove web app header - Module improvements (#29) - Memory improvements (#35) - Storybook for web and ui (#38) - Enable AGH network by default for new installs (#57) - Hermes adjustments (#69) - Badges design (#84) - Storybook scenario and logos gallery - Migrate typescript tests (#114) - Internal go packages (#120) - Ui patterns (#127) - Improve e2e tests (#130) - Ui redesign - Workspace isolation across runtime surfaces (#145) - Prod ready applies (#162) - Tool card ui (#164) - Alpha on logo - Prod ready features (#167) - Thread sheet (#202) ### 🎉 Features - Implement config foundation packages - Implement sqlite store package - Add ACP client package - Add session lifecycle manager - Implement observe package - Add daemon composition root - Add uds api server - Implement cli package - Add http api server - Add system design - Add foundation types, schemas, and layout shell for web client - Add daemon health polling and agent sidebar systems for web client - Add session system CRUD, streaming core, and session store for web client - Add chat view, messages, and composer tests for web client - Add tool cards and renderers for web client - Add file-backed memory store core - Scaffold memory session seams - Add memory dream consolidation service - Wire memory assembler into daemon - Add memory api and cli - New skills system (#1) - Add workspace entity (#5) - Add new skill capabilities (#8) - Web ui v2 (#9) - Improve hooks system (#10) - Session resilience (#11) - Add extensability (#13) - Add automation (#16) - Add channels (#14) - Add network implementation (#15) - Add network, bridges and automations web pages (#18) - Ext registry (#20) - Add core tasks (#19) - Bridge adapters (#23) - Add site (#26) - Add ext refac and sandbox (#25) - Settings ui (#37) - Tasks ui (#36) - Harness improvements (#44) - Agent capabilities (#49) - Redesign ui (#48) - Unify capability (#53) - Redesign network workspace (#59) - Add task deletion and split session delete from stop (#58) - Session provider selection (#60) - Production grade adjustments (#66) - Autonomous system (#75) - Add agent session route (#80) - Tools registry (#85) - Agents soul (#88) - Add network threads (#105) - Orchestration improvements (#106) - Memory v2 (#108) - Agent categories (#113) - Providers model (#118) - Add canonical AGH bundled skill (#143) - Onboarding and improvements (#198) - Onboarding and improvements (#201) ### 🐛 Bug Fixes - Review round - Review rounds - Resolve memory extensibility review batch - Embed web into daemon - Defaults agents - Acp integration (#4) - Lint errors - Prd folder - Remove orphan web actions and dead surfaces (#55) - Qa testing and fixes (#73) - New review rounds (#82) - Security audit (#90) - Release qa round (#95) - Add missing tools (#141) - New qa round (#147) - Advanced qa round (#149) - Homebrew tap - Final review round (#151) - Daemon healthy - Reasoning models (#158) - Lint errors (#160) - Review round (#168) - Release adjustments (#171) - Stabilize release ci fixtures - Stabilize release integration gate - Stabilize release verify gates - Stabilize release integration flows - Stabilize release verify gates - Stabilize main verify shutdown - Ignore stale acpmock cancel - Marketplace search focus and filtering (#193) - Website video - Workspace command select ### 📚 Documentation - Update agents.md - Update prd - Update skills - Update compozy tasks - Update compozy - Update compozy - Add new skills - Archive prd - Update prds - Update rfc - Update prds - Update prds - Add automation prd - Channels prd - Update prd - Update prd - New prds - Archive prds - Bridges adapters prd - Sandbox prd - Update - Archive prd - Update - Add new prd - New design - Update prd - Archive prds - Update prds - Tasks-ui prd tasks - Update prd - Update design docs - Agent capabilities prd - Improve site docs - Remove old design references - Udpate - Autonomous prd - Update skills - Blog design - Agent sould prd - Final qa plan - Update - Remove codex ledgers from gitignore - Remove not needed files - Udpate ledger - Update cy-codex-loop skill - Orchestration improves prd - Update prds - Orch improvs prd - Memv2 prd - Providers model prd - Update refacs prd - New design proposal - Update rules - Update skills - New blog posts (#173) - Format docs - Remove old design files - Remove old - Skeeper update ### 📦 Build System - Initial structure - Commitlint - Frontend base structure - Update vscode settings - Add subagents - Coderabbit - Prd and tooling - Bun lock - Lint tooling - Copy.md and tooling adjusts - Add repoclone rc - Upgrade skeeper to v0.2.0 - Update go.mod - Adopt task artifacts into skeeper - Sync codex plans with skeeper - Skeeper lock - Skeeper lock - New skills - Skeeper lock - Skeeper lock - Skeeper lock - Update deps and go - Regenerate daytona sidecar assets for go 1.26.3 - Fix cliff - Ignore docs on fmt - Build web assets before goreleaser - Extend release dry-run timeout ### 🔧 CI/CD - Lint errors - Fint release pr - Fix goreleaser - Fix release - Fix release process ### 🧪 Testing - Add e2e tests (#27) - Qa rounds (#78) - Improve test suite (#138) - Harden daemon-served restart reloads - Harden daemon-served readiness waits - Stabilize dashboard focus assertion - Stabilize release integration gates - Stabilize release e2e markers - Stabilize release e2e flows - Improve suite speed Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Release v0.0.2 This PR prepares the release of version v0.0.2. ### Changelog ## 0.0.2 - 2026-05-26 ### Other Changes - Lessons learned ### ♻️ Refactoring - Project structure (#7) - Kb improvements (#12) - Rename spaces to channels (#17) - Add extensions gaps (#21) - Improve tool calls ui (#22) - Remove web app header - Module improvements (#29) - Memory improvements (#35) - Storybook for web and ui (#38) - Enable AGH network by default for new installs (#57) - Hermes adjustments (#69) - Badges design (#84) - Storybook scenario and logos gallery - Migrate typescript tests (#114) - Internal go packages (#120) - Ui patterns (#127) - Improve e2e tests (#130) - Ui redesign - Workspace isolation across runtime surfaces (#145) - Prod ready applies (#162) - Tool card ui (#164) - Alpha on logo - Prod ready features (#167) - Thread sheet (#202) ### 🎉 Features - Implement config foundation packages - Implement sqlite store package - Add ACP client package - Add session lifecycle manager - Implement observe package - Add daemon composition root - Add uds api server - Implement cli package - Add http api server - Add system design - Add foundation types, schemas, and layout shell for web client - Add daemon health polling and agent sidebar systems for web client - Add session system CRUD, streaming core, and session store for web client - Add chat view, messages, and composer tests for web client - Add tool cards and renderers for web client - Add file-backed memory store core - Scaffold memory session seams - Add memory dream consolidation service - Wire memory assembler into daemon - Add memory api and cli - New skills system (#1) - Add workspace entity (#5) - Add new skill capabilities (#8) - Web ui v2 (#9) - Improve hooks system (#10) - Session resilience (#11) - Add extensability (#13) - Add automation (#16) - Add channels (#14) - Add network implementation (#15) - Add network, bridges and automations web pages (#18) - Ext registry (#20) - Add core tasks (#19) - Bridge adapters (#23) - Add site (#26) - Add ext refac and sandbox (#25) - Settings ui (#37) - Tasks ui (#36) - Harness improvements (#44) - Agent capabilities (#49) - Redesign ui (#48) - Unify capability (#53) - Redesign network workspace (#59) - Add task deletion and split session delete from stop (#58) - Session provider selection (#60) - Production grade adjustments (#66) - Autonomous system (#75) - Add agent session route (#80) - Tools registry (#85) - Agents soul (#88) - Add network threads (#105) - Orchestration improvements (#106) - Memory v2 (#108) - Agent categories (#113) - Providers model (#118) - Add canonical AGH bundled skill (#143) - Onboarding and improvements (#198) - Onboarding and improvements (#201) ### 🐛 Bug Fixes - Review round - Review rounds - Resolve memory extensibility review batch - Embed web into daemon - Defaults agents - Acp integration (#4) - Lint errors - Prd folder - Remove orphan web actions and dead surfaces (#55) - Qa testing and fixes (#73) - New review rounds (#82) - Security audit (#90) - Release qa round (#95) - Add missing tools (#141) - New qa round (#147) - Advanced qa round (#149) - Homebrew tap - Final review round (#151) - Daemon healthy - Reasoning models (#158) - Lint errors (#160) - Review round (#168) - Release adjustments (#171) - Stabilize release ci fixtures - Stabilize release integration gate - Stabilize release verify gates - Stabilize release integration flows - Stabilize release verify gates - Stabilize main verify shutdown - Ignore stale acpmock cancel - Marketplace search focus and filtering (#193) - Website video - Workspace command select ### 📚 Documentation - Update agents.md - Update prd - Update skills - Update compozy tasks - Update compozy - Update compozy - Add new skills - Archive prd - Update prds - Update rfc - Update prds - Update prds - Add automation prd - Channels prd - Update prd - Update prd - New prds - Archive prds - Bridges adapters prd - Sandbox prd - Update - Archive prd - Update - Add new prd - New design - Update prd - Archive prds - Update prds - Tasks-ui prd tasks - Update prd - Update design docs - Agent capabilities prd - Improve site docs - Remove old design references - Udpate - Autonomous prd - Update skills - Blog design - Agent sould prd - Final qa plan - Update - Remove codex ledgers from gitignore - Remove not needed files - Udpate ledger - Update cy-codex-loop skill - Orchestration improves prd - Update prds - Orch improvs prd - Memv2 prd - Providers model prd - Update refacs prd - New design proposal - Update rules - Update skills - New blog posts (#173) - Format docs - Remove old design files - Remove old - Skeeper update ### 📦 Build System - Initial structure - Commitlint - Frontend base structure - Update vscode settings - Add subagents - Coderabbit - Prd and tooling - Bun lock - Lint tooling - Copy.md and tooling adjusts - Add repoclone rc - Upgrade skeeper to v0.2.0 - Update go.mod - Adopt task artifacts into skeeper - Sync codex plans with skeeper - Skeeper lock - Skeeper lock - New skills - Skeeper lock - Skeeper lock - Skeeper lock - Update deps and go - Regenerate daytona sidecar assets for go 1.26.3 - Fix cliff - Ignore docs on fmt - Build web assets before goreleaser - Extend release dry-run timeout ### 🔧 CI/CD - Lint errors - Fint release pr - Fix goreleaser - Fix release - Fix release process - Fix release sync - Decouple release dry-run npm auth - Persist web assets git auth ### 🧪 Testing - Add e2e tests (#27) - Qa rounds (#78) - Improve test suite (#138) - Harden daemon-served restart reloads - Harden daemon-served readiness waits - Stabilize dashboard focus assertion - Stabilize release integration gates - Stabilize release e2e markers - Stabilize release e2e flows - Improve suite speed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated web assets dependency to a newer version for improved stability and performance. <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/compozy/agh/pull/211?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Release v0.0.2 This PR prepares the release of version v0.0.2. ### Changelog ## 0.0.2 - 2026-05-27 ### Other Changes - Lessons learned ### ♻️ Refactoring - Project structure (#7) - Kb improvements (#12) - Rename spaces to channels (#17) - Add extensions gaps (#21) - Improve tool calls ui (#22) - Remove web app header - Module improvements (#29) - Memory improvements (#35) - Storybook for web and ui (#38) - Enable AGH network by default for new installs (#57) - Hermes adjustments (#69) - Badges design (#84) - Storybook scenario and logos gallery - Migrate typescript tests (#114) - Internal go packages (#120) - Ui patterns (#127) - Improve e2e tests (#130) - Ui redesign - Workspace isolation across runtime surfaces (#145) - Prod ready applies (#162) - Tool card ui (#164) - Alpha on logo - Prod ready features (#167) - Thread sheet (#202) ### 🎉 Features - Implement config foundation packages - Implement sqlite store package - Add ACP client package - Add session lifecycle manager - Implement observe package - Add daemon composition root - Add uds api server - Implement cli package - Add http api server - Add system design - Add foundation types, schemas, and layout shell for web client - Add daemon health polling and agent sidebar systems for web client - Add session system CRUD, streaming core, and session store for web client - Add chat view, messages, and composer tests for web client - Add tool cards and renderers for web client - Add file-backed memory store core - Scaffold memory session seams - Add memory dream consolidation service - Wire memory assembler into daemon - Add memory api and cli - New skills system (#1) - Add workspace entity (#5) - Add new skill capabilities (#8) - Web ui v2 (#9) - Improve hooks system (#10) - Session resilience (#11) - Add extensability (#13) - Add automation (#16) - Add channels (#14) - Add network implementation (#15) - Add network, bridges and automations web pages (#18) - Ext registry (#20) - Add core tasks (#19) - Bridge adapters (#23) - Add site (#26) - Add ext refac and sandbox (#25) - Settings ui (#37) - Tasks ui (#36) - Harness improvements (#44) - Agent capabilities (#49) - Redesign ui (#48) - Unify capability (#53) - Redesign network workspace (#59) - Add task deletion and split session delete from stop (#58) - Session provider selection (#60) - Production grade adjustments (#66) - Autonomous system (#75) - Add agent session route (#80) - Tools registry (#85) - Agents soul (#88) - Add network threads (#105) - Orchestration improvements (#106) - Memory v2 (#108) - Agent categories (#113) - Providers model (#118) - Add canonical AGH bundled skill (#143) - Onboarding and improvements (#198) - Onboarding and improvements (#201) ### 🐛 Bug Fixes - Review round - Review rounds - Resolve memory extensibility review batch - Embed web into daemon - Defaults agents - Acp integration (#4) - Lint errors - Prd folder - Remove orphan web actions and dead surfaces (#55) - Qa testing and fixes (#73) - New review rounds (#82) - Security audit (#90) - Release qa round (#95) - Add missing tools (#141) - New qa round (#147) - Advanced qa round (#149) - Homebrew tap - Final review round (#151) - Daemon healthy - Reasoning models (#158) - Lint errors (#160) - Review round (#168) - Release adjustments (#171) - Stabilize release ci fixtures - Stabilize release integration gate - Stabilize release verify gates - Stabilize release integration flows - Stabilize release verify gates - Stabilize main verify shutdown - Ignore stale acpmock cancel - Marketplace search focus and filtering (#193) - Website video - Workspace command select ### 📚 Documentation - Update agents.md - Update prd - Update skills - Update compozy tasks - Update compozy - Update compozy - Add new skills - Archive prd - Update prds - Update rfc - Update prds - Update prds - Add automation prd - Channels prd - Update prd - Update prd - New prds - Archive prds - Bridges adapters prd - Sandbox prd - Update - Archive prd - Update - Add new prd - New design - Update prd - Archive prds - Update prds - Tasks-ui prd tasks - Update prd - Update design docs - Agent capabilities prd - Improve site docs - Remove old design references - Udpate - Autonomous prd - Update skills - Blog design - Agent sould prd - Final qa plan - Update - Remove codex ledgers from gitignore - Remove not needed files - Udpate ledger - Update cy-codex-loop skill - Orchestration improves prd - Update prds - Orch improvs prd - Memv2 prd - Providers model prd - Update refacs prd - New design proposal - Update rules - Update skills - New blog posts (#173) - Format docs - Remove old design files - Remove old - Skeeper update ### 📦 Build System - Initial structure - Commitlint - Frontend base structure - Update vscode settings - Add subagents - Coderabbit - Prd and tooling - Bun lock - Lint tooling - Copy.md and tooling adjusts - Add repoclone rc - Upgrade skeeper to v0.2.0 - Update go.mod - Adopt task artifacts into skeeper - Sync codex plans with skeeper - Skeeper lock - Skeeper lock - New skills - Skeeper lock - Skeeper lock - Skeeper lock - Update deps and go - Regenerate daytona sidecar assets for go 1.26.3 - Fix cliff - Ignore docs on fmt - Build web assets before goreleaser - Extend release dry-run timeout - Fix release dry-run token contract ### 🔧 CI/CD - Lint errors - Fint release pr - Fix goreleaser - Fix release - Fix release process - Fix release sync - Decouple release dry-run npm auth - Persist web assets git auth - Require npm auth before release merge ### 🧪 Testing - Add e2e tests (#27) - Qa rounds (#78) - Improve test suite (#138) - Harden daemon-served restart reloads - Harden daemon-served readiness waits - Stabilize dashboard focus assertion - Stabilize release integration gates - Stabilize release e2e markers - Stabilize release e2e flows - Improve suite speed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated dependencies to latest versions. <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/compozy/agh/pull/214?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Summary
aghskill installable fromskills/agh.Changes
skills/agh/SKILL.md, reference documents, and the rootskillsGo package that embeds bundled skill content/resources.internal/skills/bundledand oldagh-*bundled skill names.agh__skill_viewand CLI skill viewing can read bundled reference files such asreferences/native-tools.md.submit_run_reviewavailability tied to runtime task review binding instead of skill metadata.docs/rfcs/001_agent-md-with-skills-memory.mdto documentaghas the sole bundled skill.Release Notes
🎉 Features
aghbundled skill with reference documents for runtime operations, native tools, network work, tasks, memory, QA, docs, and repository contribution.♻️ Refactoring
agh-*bundled skills with one rootskills/aghbundle and reference-based contextual loading.📚 Documentation
skill_view --file, and native tool guidance.Test plan
python3 .agents/skills/agh/agh-test-conventions/scripts/check-test-conventions.py skills/bundled_test.gogo test ./skills ./internal/skills ./internal/daemon ./internal/cli ./internal/session ./internal/api/core ./internal/config ./internal/task ./internal/store/globaldb ./internal/testutil/acpmockbunx turbo run test --filter=./packages/sitemake verifybefore the feature commitmake verifyafter the feature commitmake verifybefore the RFC follow-up commitmake verifyafter the RFC follow-up commitSHIPNotes
skeeper sync --dry-runreported it would push 5547 specs, so it was not applied in this PR to avoid mixing unrelated spec churn with the skill migration.Summary by CodeRabbit