Repository navigation
feat: agent capabilities - #49
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (84)
📒 Files selected for processing (35)
WalkthroughAdds an agent capability catalog model and loader, propagates capability data through agent config and session start, extends network peer join API to carry capability catalogs, projects capability briefs into peer cards and WHOIS responses, updates registry/manager cloning, and adds comprehensive tests and QA placeholders. Changes
Sequence DiagramsequenceDiagram
participant Agent as Agent Config
participant Session as Session Manager
participant Network as Network Manager
participant Registry as Peer Registry
participant Router as Network Router
participant Remote as Remote Peer
Agent->>Agent: Load & normalize capability catalog
Session->>Network: JoinChannel(NetworkPeerJoin{SessionID,PeerID,Channel,Capabilities})
Network->>Network: Project capability brief (IDs + summaries)
Network->>Registry: RegisterLocalWithCapabilityCatalog(PeerCard, CapabilityCatalog)
Registry->>Registry: Clone & store capability catalog
Network->>Router: Publish KindGreet with capability brief ext
Router->>Remote: Broadcast peer card + capability brief
Remote->>Router: Send KindWhois (may request capability catalog/filter)
Router->>Registry: Retrieve peer & capability catalog
Router->>Router: Filter/project catalog per request & check envelope size
Router->>Remote: Reply with whois response including capability-catalog ext
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 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.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
internal/network/manager.go (1)
412-431:⚠️ Potential issue | 🟠 MajorRefresh peer metadata when the same session re-joins with new capabilities.
This idempotency check still only compares
sessionID/peerID/channel. IfJoinChannel()is called again for the same peer with an updated capability catalog, the method returnsalreadyJoinedand never reachesRegisterLocalWithCapabilityCatalog, so WHOIS/greet discovery keeps serving the old capability projection. Capabilities need to participate in the equality check, or the existing peer should be re-registered when they change.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@internal/network/manager.go` around lines 412 - 431, The idempotency check in sessionSnapshot/JoinChannel presently skips capability changes; update the equality logic so that if the incoming request.capabilities differ from the current peer's capabilities the code does not short-circuit; specifically, when sessionSnapshot(request.sessionID) returns current, compare current.capabilities (or its projection) to request.capabilities and if they differ call m.LeaveChannel(ctx, request.sessionID) and proceed to run localPeerCardFromJoinRequest(...) and m.peers.RegisterLocalWithCapabilityCatalog(...), ensuring the peer is re-registered with the new capability catalog.
🧹 Nitpick comments (3)
internal/daemon/daemon_test.go (1)
4464-4471: Deep-clone recorded capabilities in the fake join log.
Line 4471only copies the top-level slice.session.NetworkPeerCapabilitystill carries nested slice aliases, so later mutation can bleed into recorded assertions. This fake will be more stable if it snapshots the nested fields too, like the session test fake does.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@internal/daemon/daemon_test.go` around lines 4464 - 4471, The fakeNetworkRuntime.JoinChannel currently shallow-copies the capabilities slice (in the join handling that appends a fakeNetworkJoinCall from session.NetworkPeerJoin), which allows nested slice/field mutations to bleed into test assertions; change it to deep-clone each session.NetworkPeerCapability before appending by allocating a new []session.NetworkPeerCapability, iterating over join.Capabilities, and for each capability creating a fresh copy of the struct and separately copying any nested slices or maps (e.g. supported protocol lists or other slice fields) so the fakeNetworkJoinCall stores independent snapshots of capabilities.internal/network/manager_integration_test.go (1)
16-16: Addt.Parallel()for independent integration test.Per coding guidelines, add
t.Parallel()to independent tests. This integration test is self-contained and can run concurrently with other tests.Suggested change
func TestManagerJoinPublishesProjectedCapabilityBriefInInitialAndReconnectGreets(t *testing.T) { + t.Parallel() + ctx, cancel := context.WithTimeout(t.Context(), 5*time.Second)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@internal/network/manager_integration_test.go` at line 16, The test TestManagerJoinPublishesProjectedCapabilityBriefInInitialAndReconnectGreets should be made parallel by adding t.Parallel() as the first statement in the test body so it can run concurrently with other independent tests; locate the TestManagerJoinPublishesProjectedCapabilityBriefInInitialAndReconnectGreets function and insert t.Parallel() immediately after the function's opening line.internal/network/router_integration_test.go (1)
196-198: Addt.Parallel()for independent integration tests.The new integration tests are self-contained and can run concurrently. Per coding guidelines, independent tests should use
t.Parallel().Suggested changes
func TestDirectedWhoisRichDiscoveryDeliversPeerCardAndCapabilityCatalog(t *testing.T) { + t.Parallel() + ctx, cancel := context.WithTimeout(testutil.Context(t), 10*time.Second)func TestDirectedWhoisRichDiscoveryFilteringRefreshesRemotePresence(t *testing.T) { + t.Parallel() + ctx, cancel := context.WithTimeout(testutil.Context(t), 10*time.Second)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@internal/network/router_integration_test.go` around lines 196 - 198, Add t.Parallel() to the start of the test function TestDirectedWhoisRichDiscoveryDeliversPeerCardAndCapabilityCatalog so the integration test runs concurrently; open the function and insert a call to t.Parallel() as the first statement (before creating ctx/cancel) in TestDirectedWhoisRichDiscoveryDeliversPeerCardAndCapabilityCatalog and ensure there are no shared mutable globals that would prevent safe parallel execution.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@internal/api/core/network_test.go`:
- Around line 1570-1624: Add t.Parallel() at the start of each subtest ("Should
return not found when a channel has no presence or history" and "Should reject
invalid channel message limits"), and after performing the request decode the
JSON error payload from resp.Body and assert the error message contains the
expected text (e.g., for the first case assert error contains "not found" or "no
presence or history" and for the second assert it contains "invalid limit" or
"bad request"); use the existing performRequest result and the response body to
unmarshal into the error shape used by the handlers and use ErrorContains-style
assertions rather than only checking resp.Code so the tests validate the
specific error path.
In `@internal/config/agent.go`:
- Around line 272-274: The code calls normalizeCapabilityCatalog(a.Capabilities,
"agent.capabilities") but discards its normalized return value; update AgentDef
by assigning the returned canonical catalog back to a.Capabilities (handling the
returned error as before) so Validate() persists the cleaned/trimmed capability
list; specifically, capture the first return value from
normalizeCapabilityCatalog and set a.Capabilities = <normalizedCatalog> before
returning nil or the error.
In `@internal/config/capabilities.go`:
- Around line 167-186: The two helpers existingCapabilityCatalogFile and
existingCapabilityCatalogDir currently treat a path existing with the wrong type
as “not present” and return (false, nil); change them to fail fast by returning
a descriptive error when the path exists but is the wrong kind (e.g.,
existingCapabilityCatalogFile should return an error if os.Stat succeeds but
info.IsDir() is true, and existingCapabilityCatalogDir should return an error if
os.Stat succeeds but info.IsDir() is false), and ensure callers such as
LoadAgentCapabilities propagate that error instead of treating it as absent.
In `@internal/network/capability_catalog.go`:
- Around line 39-49: parseWhoisCapabilityDiscoveryRequest collapses a malformed
agh.capability_ids into nil (indistinguishable from "missing") so requests are
treated as unfiltered; fix by checking whether the extension key
whoisCapabilityIDsExtKey is present in the ExtensionMap before trusting
decodeExtensionStringList: if the key is present and decodeExtensionStringList
returns nil, treat that as a malformed/empty projection by setting
request.capabilityIDs to an empty slice (not nil) or return an error (choose one
policy), and if the key is absent leave capabilityIDs nil; apply the same
presence-check + empty-slice-on-malformed behavior to the analogous code
referenced at lines 143-157 so malformed JSON does not become "no filter."
---
Outside diff comments:
In `@internal/network/manager.go`:
- Around line 412-431: The idempotency check in sessionSnapshot/JoinChannel
presently skips capability changes; update the equality logic so that if the
incoming request.capabilities differ from the current peer's capabilities the
code does not short-circuit; specifically, when
sessionSnapshot(request.sessionID) returns current, compare current.capabilities
(or its projection) to request.capabilities and if they differ call
m.LeaveChannel(ctx, request.sessionID) and proceed to run
localPeerCardFromJoinRequest(...) and
m.peers.RegisterLocalWithCapabilityCatalog(...), ensuring the peer is
re-registered with the new capability catalog.
---
Nitpick comments:
In `@internal/daemon/daemon_test.go`:
- Around line 4464-4471: The fakeNetworkRuntime.JoinChannel currently
shallow-copies the capabilities slice (in the join handling that appends a
fakeNetworkJoinCall from session.NetworkPeerJoin), which allows nested
slice/field mutations to bleed into test assertions; change it to deep-clone
each session.NetworkPeerCapability before appending by allocating a new
[]session.NetworkPeerCapability, iterating over join.Capabilities, and for each
capability creating a fresh copy of the struct and separately copying any nested
slices or maps (e.g. supported protocol lists or other slice fields) so the
fakeNetworkJoinCall stores independent snapshots of capabilities.
In `@internal/network/manager_integration_test.go`:
- Line 16: The test
TestManagerJoinPublishesProjectedCapabilityBriefInInitialAndReconnectGreets
should be made parallel by adding t.Parallel() as the first statement in the
test body so it can run concurrently with other independent tests; locate the
TestManagerJoinPublishesProjectedCapabilityBriefInInitialAndReconnectGreets
function and insert t.Parallel() immediately after the function's opening line.
In `@internal/network/router_integration_test.go`:
- Around line 196-198: Add t.Parallel() to the start of the test function
TestDirectedWhoisRichDiscoveryDeliversPeerCardAndCapabilityCatalog so the
integration test runs concurrently; open the function and insert a call to
t.Parallel() as the first statement (before creating ctx/cancel) in
TestDirectedWhoisRichDiscoveryDeliversPeerCardAndCapabilityCatalog and ensure
there are no shared mutable globals that would prevent safe parallel execution.
🪄 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: b92f17e1-9e08-4ba9-8758-9debd8acb978
⛔ Files ignored due to path filters (46)
.agents/skills/compozy/SKILL.mdis excluded by!**/*.md,!.agents/**.agents/skills/compozy/references/cli-reference.mdis excluded by!**/*.md,!.agents/**.agents/skills/compozy/references/config-reference.mdis excluded by!**/*.md,!.agents/**.agents/skills/compozy/references/skills-reference.mdis excluded by!**/*.md,!.agents/**.agents/skills/compozy/references/workflow-guide.mdis excluded by!**/*.md,!.agents/**.agents/skills/cy-create-tasks/SKILL.mdis excluded by!**/*.md,!.agents/**.agents/skills/cy-fix-reviews/SKILL.mdis excluded by!**/*.md,!.agents/**.agents/skills/cy-review-round/SKILL.mdis excluded by!**/*.md,!.agents/**.compozy/tasks/agent-capabilities/_meta.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/_tasks.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/memory/MEMORY.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/memory/task_01.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/memory/task_02.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/memory/task_03.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/memory/task_04.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/memory/task_05.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/memory/task_06.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/memory/task_07.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/issues/BUG-001.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-FUNC-014.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-001.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-002.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-003.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-004.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-005.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-006.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-007.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-008.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-009.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-010.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-011.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-012.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-cases/TC-INT-013.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-plans/agent-capabilities-regression.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/test-plans/agent-capabilities-test-plan.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/qa/verification-report.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/task_01.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/task_02.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/task_03.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/task_04.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/task_05.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/task_06.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/task_07.mdis excluded by!**/*.mddocs/agents/capabilities.mdis excluded by!**/*.mddocs/rfcs/001_agent-md-with-skills-memory.mdis excluded by!**/*.mddocs/rfcs/003_agh-network-v0.mdis excluded by!**/*.md
📒 Files selected for processing (34)
.compozy/tasks/agent-capabilities/qa/issues/.gitkeep.compozy/tasks/agent-capabilities/qa/screenshots/.gitkeepinternal/api/core/network_test.gointernal/config/agent.gointernal/config/agent_capabilities_test.gointernal/config/agent_resource.gointernal/config/agent_resource_test.gointernal/config/capabilities.gointernal/config/capabilities_test.gointernal/config/mcpjson.gointernal/daemon/agent_skill_resources.gointernal/daemon/daemon_integration_test.gointernal/daemon/daemon_test.gointernal/extension/manager.gointernal/network/capability_brief.gointernal/network/capability_catalog.gointernal/network/manager.gointernal/network/manager_integration_test.gointernal/network/manager_test.gointernal/network/peer.gointernal/network/peer_test.gointernal/network/router.gointernal/network/router_integration_test.gointernal/network/router_test.gointernal/network/validate.gointernal/network/validate_test.gointernal/session/interfaces.gointernal/session/manager_helpers.gointernal/session/manager_hooks_test.gointernal/session/manager_integration_test.gointernal/session/manager_start.gointernal/session/manager_test.gointernal/session/network_peer.gointernal/workspace/clone.go
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (2)
internal/config/agent_capabilities_test.go (1)
131-157: Consider using subtests for each agent assertion.Each agent check (coder, pairer, reviewer) is logically independent. Using
t.Runwould improve failure isolation and make it clearer which precedence case failed.♻️ Suggested refactor
- coder := findAgentByName(t, agents, "coder") - if got, want := coder.Model, "workspace"; got != want { - t.Fatalf("coder.Model = %q, want %q", got, want) - } - if coder.Capabilities != nil { - t.Fatalf( - "coder.Capabilities = %#v, want nil because winning workspace definition has no catalog", - coder.Capabilities, - ) - } + t.Run("Should use workspace coder without capabilities", func(t *testing.T) { + coder := findAgentByName(t, agents, "coder") + if got, want := coder.Model, "workspace"; got != want { + t.Fatalf("coder.Model = %q, want %q", got, want) + } + if coder.Capabilities != nil { + t.Fatalf( + "coder.Capabilities = %#v, want nil because winning workspace definition has no catalog", + coder.Capabilities, + ) + } + })As per coding guidelines: "Use table-driven tests with subtests (
t.Run) as default pattern for Go tests".🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@internal/config/agent_capabilities_test.go` around lines 131 - 157, Split the three independent agent checks into separate subtests using t.Run to improve failure isolation: wrap the assertions for coder (using findAgentByName and checking coder.Model and coder.Capabilities), pairer (checking pairer.Capabilities and pairer.Capabilities.Capabilities[0].ID == "review-copy"), and reviewer (checking reviewer.Capabilities and reviewer.Capabilities.Capabilities[0].ID == "triage-pr") each in their own t.Run with a descriptive name; move shared setup (agents lookup) outside or into a helper if needed and keep each subtest focused only on its assertions so failures report which agent failed.internal/config/capabilities.go (1)
229-231: Symlinks are silently skipped.
info.Mode().IsRegular()returnsfalsefor symlinks, so capability files that are symlinks will be silently ignored. If this is intentional (for security or simplicity), consider documenting this behavior. If symlinks should be followed, useos.Staton the path instead ofentry.Info().🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@internal/config/capabilities.go` around lines 229 - 231, The loop currently uses entry.Info() and skips anything where info.Mode().IsRegular() is false, which silently ignores symlinked capability files; change this to follow symlinks by calling os.Stat(path) on the full entry path (build from the directory + entry.Name()), handle any stat error, then use the returned FileInfo.Mode().IsRegular() to decide whether to continue; update variable names (e.g., info -> fi or statInfo) and ensure errors from os.Stat are handled/logged appropriately.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@internal/network/capability_catalog_test.go`:
- Around line 61-63: Rename the subtest names to the required "Should..."
pattern by updating the test table entries and the t.Run call that iterates over
tests; locate the tests table (variable tests) and the t.Run(tc.name, func(t
*testing.T) { ... }) invocation in capability_catalog_test.go and ensure each
tc.name is a "Should ..." string (or change the t.Run to use fmt.Sprintf("Should
%s", tc.name) so all subtests conform), including entries referenced around the
current tc loop and the ones at lines ~120-123.
In `@internal/network/router_integration_test.go`:
- Around line 215-220: The tests create peer registries with too-short expiry
windows (NewPeerRegistry called for registryA, registryB and the other registry
instances) using 50 * time.Millisecond which makes the integration tests flaky
under CI jitter; change those NewPeerRegistry calls to use a longer timeout
(e.g., time.Second) for each instance (registryA, registryB and the other
NewPeerRegistry invocations referenced) so remotes do not expire before
assertions complete.
---
Nitpick comments:
In `@internal/config/agent_capabilities_test.go`:
- Around line 131-157: Split the three independent agent checks into separate
subtests using t.Run to improve failure isolation: wrap the assertions for coder
(using findAgentByName and checking coder.Model and coder.Capabilities), pairer
(checking pairer.Capabilities and pairer.Capabilities.Capabilities[0].ID ==
"review-copy"), and reviewer (checking reviewer.Capabilities and
reviewer.Capabilities.Capabilities[0].ID == "triage-pr") each in their own t.Run
with a descriptive name; move shared setup (agents lookup) outside or into a
helper if needed and keep each subtest focused only on its assertions so
failures report which agent failed.
In `@internal/config/capabilities.go`:
- Around line 229-231: The loop currently uses entry.Info() and skips anything
where info.Mode().IsRegular() is false, which silently ignores symlinked
capability files; change this to follow symlinks by calling os.Stat(path) on the
full entry path (build from the directory + entry.Name()), handle any stat
error, then use the returned FileInfo.Mode().IsRegular() to decide whether to
continue; update variable names (e.g., info -> fi or statInfo) and ensure errors
from os.Stat are handled/logged appropriately.
🪄 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: 7a796b00-7907-401d-a0f3-bc5d3611822b
⛔ Files ignored due to path filters (17)
.compozy/tasks/agent-capabilities/reviews-001/_meta.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-002/_meta.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-002/issue_001.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-002/issue_002.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-002/issue_003.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-002/issue_004.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-002/issue_005.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-002/issue_006.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-002/issue_007.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-003/_meta.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-003/issue_001.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-003/issue_002.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-003/issue_003.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-003/issue_004.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-003/issue_005.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-003/issue_006.mdis excluded by!**/*.md.compozy/tasks/agent-capabilities/reviews-003/issue_007.mdis excluded by!**/*.md
📒 Files selected for processing (10)
internal/api/core/network_test.gointernal/config/agent.gointernal/config/agent_capabilities_test.gointernal/config/capabilities.gointernal/config/capabilities_test.gointernal/daemon/daemon_test.gointernal/network/capability_catalog.gointernal/network/capability_catalog_test.gointernal/network/manager_integration_test.gointernal/network/router_integration_test.go
✅ Files skipped from review due to trivial changes (2)
- internal/network/capability_catalog.go
- internal/config/capabilities_test.go
🚧 Files skipped from review as they are similar to previous changes (4)
- internal/network/manager_integration_test.go
- internal/daemon/daemon_test.go
- internal/config/agent.go
- internal/api/core/network_test.go
ded2127 to
1601230
Compare
## 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 by CodeRabbit
New Features
Bug Fixes / Reliability
Tests