Skip to content

fix: acp update and general fixes#256

Merged
pedronauck merged 3 commits into
mainfrom
fixes
Jun 22, 2026
Merged

fix: acp update and general fixes#256
pedronauck merged 3 commits into
mainfrom
fixes

Conversation

@pedronauck

@pedronauck pedronauck commented Jun 22, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features
    • Added skill resource synchronization for marketplace skill operations.
    • Added task run show <run-id> to display expanded task run details.
    • Added notification preset update support (event/target/filter + enabled/disabled).
    • Added bridge provider-config support for create and update.
    • Added on-demand bridge target directory refresh for listing and resolution.
  • Bug Fixes
    • Fixed ACP session model handling to require model config options (no legacy fallback).
    • Fixed sandbox profile not-found mapping to return proper client errors.
    • Fixed marketplace extension “source unavailable” mapping to HTTP 503.
  • Improvements
    • Updated ACP capability naming/display to use supported modes (no models field).
    • Direct network sends now auto-resolve the recipient target; settings lists return empty arrays (non-nil).

@vercel

vercel Bot commented Jun 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agh-site Ready Ready Preview, Comment Jun 22, 2026 4:47pm

Request Review

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: daa52853-e20c-4f29-a789-043a8469fadd

📥 Commits

Reviewing files that changed from the base of the PR and between c5ab1cd and 20eca51.

📒 Files selected for processing (15)
  • internal/acp/client_test.go
  • internal/api/core/conversions_parsers_test.go
  • internal/api/core/error_paths_test.go
  • internal/api/core/extensions_test.go
  • internal/cli/notifications_test.go
  • internal/cli/skill_test.go
  • internal/daemon/agent_skill_resources_test.go
  • internal/daemon/bridges.go
  • internal/daemon/bridges_test.go
  • internal/registry/clawhub/client.go
  • internal/registry/clawhub/client_test.go
  • internal/resources/typed_test.go
  • internal/session/session_test.go
  • internal/settings/config_apply_service_test.go
  • internal/skills/marketplace/service_test.go
🚧 Files skipped from review as they are similar to previous changes (14)
  • internal/settings/config_apply_service_test.go
  • internal/daemon/agent_skill_resources_test.go
  • internal/api/core/conversions_parsers_test.go
  • internal/cli/skill_test.go
  • internal/cli/notifications_test.go
  • internal/skills/marketplace/service_test.go
  • internal/resources/typed_test.go
  • internal/daemon/bridges.go
  • internal/session/session_test.go
  • internal/registry/clawhub/client_test.go
  • internal/api/core/error_paths_test.go
  • internal/api/core/extensions_test.go
  • internal/registry/clawhub/client.go
  • internal/acp/client_test.go

Walkthrough

This PR renames ACP SupportedModels to SupportedModes, removes legacy UnstableSetSessionModel path, wires SkillResourceSyncer through daemon/API to skill mutations, expands CLI for marketplace/task/bridge/notification commands, adds ClawHub archive synthesis, and delivers fixes for config sentinels, TOML replacement, network direct-send, and provider credential errors.

Changes

ACP Capability Schema: SupportedModels → SupportedModes and Legacy Model Path Removal

Layer / File(s) Summary
Caps struct rename and captureCaps refactor
internal/acp/types.go, internal/acp/client.go, internal/api/contract/contract.go, internal/api/core/conversions.go, internal/api/core/conversions_parsers_test.go
Renames Caps.SupportedModels to SupportedModes and its JSON tag; removes models from captureCaps; adds errModelConfigOptionRequired; removes legacyModelStateAllows; updates API contract DTO and conversion nil-check.
Remove legacy SetSessionModel tests and helpers
internal/acp/client_test.go, internal/acp/config_options.go, internal/acp/config_options_test.go
Removes tests for legacy AgentMethodSessionSetModel; adds TestStartRejectsPreferredModelWhenModelConfigOptionIsAbsent; removes helperModelState, capturedSetSessionModelRequest, and decodeCapturedSetSessionModelRequest; adds helperACPAgent.Logout; removes UnstableSetSessionModel from mockAgent.
Add Logout to ACP agent test doubles
internal/daemon/daemon_integration_test.go, internal/daemon/daemon_nightly_combined_integration_test.go, internal/daemon/daemon_sandbox_integration_test.go, internal/session/manager_stop_integration_test.go, internal/testutil/acpmock/..., internal/testutil/e2e/..., internal/extension/reference_integration_test.go, integration test harnesses
Adds Logout method to all ACP agent test doubles; removes SupportedModels from acp.Caps in all integration test harnesses.
Propagate SupportedModes through API contract and CLI
internal/cli/session.go, internal/cli/render_test.go, internal/session/manager_test.go, internal/session/perf_bench_test.go
Removes "Models" entry from appendSessionCapsBlock; updates all remaining test fixtures from SupportedModels to SupportedModes.

SkillResources Syncer Pipeline

Layer / File(s) Summary
SkillResourceSyncer interface and daemon-to-server wiring
internal/api/core/interfaces.go, internal/api/core/handlers.go, internal/daemon/daemon.go, internal/api/httpapi/server.go, internal/api/udsapi/server.go, internal/api/httpapi/handlers.go, internal/daemon/boot.go
Defines SkillResourceSyncer with SyncSkills; adds it to BaseHandlerConfig, BaseHandlers, RuntimeDeps; wires via WithSkillResourceSyncer options through httpapi and udsapi servers; assigns at daemon boot.
agentSkillSourceSyncer skill projector and SyncSkills
internal/daemon/agent_skill_resources.go, internal/daemon/agent_skill_resources_integration_test.go, internal/daemon/agent_skill_resources_test.go, internal/daemon/perf_bench_test.go
Adds skillProjector field; extends agentSkillPublisher with SyncSkills; adds SyncSkills/projectSkills methods; updates Sync to call projector when skills change; wires newSkillProjector at construction; updates all constructor call sites.
syncSkillsAfterMarketplaceMutation and handler tests
internal/api/core/skills.go, internal/api/core/skills_test.go
Adds syncSkillsAfterMarketplaceMutation helper; updates install/update/remove handlers; adds stubSkillResourceSyncer and install-ordering test asserting SyncSkills fires before registry observation.

CLI Command Surface Enhancements

Layer / File(s) Summary
DaemonClient extensions and skill marketplace routing
internal/cli/client.go, internal/cli/client_test.go, internal/cli/helpers_test.go, internal/cli/skill_marketplace.go, internal/cli/skill_commands.go, internal/cli/skill_daemon_test.go, internal/cli/skill_test.go, internal/skills/marketplace/service.go, internal/skills/marketplace/service_test.go
Adds skill marketplace (search/install/update/remove) and GetTaskRun methods to DaemonClient; implements on unixSocketClient; adds *ForCommand wrappers routing to daemon when available; enhances NormalizeSkillSlug with path-separator rejection; extends stubClient.
task run show subcommand and detail rendering
internal/cli/task.go, internal/cli/task_test.go
Adds newTaskRunShowCommand; adds taskRunDetailBundle with operational summary rendering; adds test cases and sampleTaskRunDetailRecord; reformats existing command flag registrations into multi-line blocks.
Bridge --provider-config flag and JSON helpers
internal/cli/bridge.go, internal/cli/bridge_test.go
Adds --provider-config to bridge create/update; adds label-aware parseOptionalBridgeJSON/parseRequiredBridgeJSON helpers; updates tests with captured ProviderConfig assertions.
notifications preset update subcommand
internal/cli/notifications.go, internal/cli/notifications_test.go
Adds update subcommand with --event, --target, --filter, --enabled, --disabled flags; validates conflicting flags; tests request building and validation error cases.
Hooks rendering refactor and priority constant
internal/cli/hooks.go, internal/cli/format.go
Extracts hookInfoBundle rendering into helpers; adds cliPriorityValue constant; uses constant in header labels.

Infrastructure and Runtime Fixes

Layer / File(s) Summary
ClawHub envelope parsing and synthesized archive fallback
internal/registry/clawhub/client.go, internal/registry/clawhub/client_test.go
Adds decodeDetail envelope parser; synthesizes tar.gz on 404; implements buildSkillArchiveFromDetail, normalization helpers, envelope data types; improves temp-file removal error handling.
Config sentinel errors and TOML nested-table replacement
internal/config/config.go, internal/config/config_test.go, internal/config/persistence.go, internal/config/persistence_test.go, internal/api/core/session_workspace.go, internal/api/core/error_paths_test.go
Adds ErrSandboxProfileNotFound sentinel and maps to HTTP 400; replaces tableBlock with tableBlockIncludingNested allowing nested subtable replacement; updates test expectations and validation subtests.
Bridge on-demand target snapshot refresh
internal/daemon/bridges.go, internal/daemon/bridges_test.go
Adds ListBridgeTargets/ResolveBridgeTarget with cache-staleness detection and per-instance refresh; introduces targetSnapshotExtensionRuntime test double and three refresh subtests.
Lazy BundleService provider
internal/daemon/native_tools.go, internal/daemon/native_bundle_resource_tools.go, internal/daemon/native_tools_test.go
Changes BundleService from eager value to lazy provider function; updates availability checks and all call sites; adds late-init test for on-demand resolution.
Settings collection and network/extension fixes
internal/api/core/conversions.go, internal/api/core/settings_internal_test.go, internal/api/core/network.go, internal/api/core/extensions.go, internal/api/core/extensions_test.go
Returns empty non-nil slices from settings helpers; adds populateNetworkDirectSendTarget for direct-send enrichment; maps ErrMarketplaceSourceUnavailable to HTTP 503; adds marketplace unavailable test.
Session lifecycle and provider failures
internal/session/manager_lifecycle.go, internal/session/additional_test.go, internal/session/session_test.go, internal/session/provider_runtime.go, internal/session/provider_runtime_test.go
Adds notifyFailedStart to emit creation/stop sequence; wraps missing-required-secret as structured providerCredentialFailure; strengthens capabilities deep-copy test; adds auth-failure diagnostic test.
Error classification and codec validation
internal/providers/classify.go, internal/daemon/memory_runtime.go, internal/daemon/memory_runtime_test.go, internal/resources/codec.go, internal/resources/typed_test.go
Exports MissingCredentialClassification helper; fixes memory runtime error wrapping with %w; wraps codec unmarshal/validator errors with conditional ErrValidation classification; adds validation classification test.
Config apply generation and settings tests
internal/settings/config_apply_service.go, internal/settings/config_apply_service_test.go, internal/settings/service_test.go
Fixes active-config generation to increment when latest applied hash differs from current desired hash; adds boot-blocked-config reload test; adds sandbox Env/Network persistence assertions.
MCP discovery and validation error handling
internal/tools/mcp.go, internal/tools/mcp_test.go
Changes per-source error handling to skip on non-context errors; removes isMCPAuthBlockingReason; reformats validation errors into fielded form; adds discovery-failure skip test.
Dependency and manifest updates
go.mod, .repoclone.rc
Bumps github.com/coder/acp-go-sdk to v0.13.5; updates .repoclone.rc repository list.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

  • compozy/agh#37: Both PRs extend internal/api/core/handlers.go by wiring new dependencies into BaseHandlerConfig/BaseHandlers (main: SkillResources; related: Settings/SettingsRestart).
  • compozy/agh#118: Both PRs modify internal/acp/client.go's session capability negotiation—main PR renames SupportedModels to SupportedModes and removes legacy model path; related PR extends config-option handling for reasoning effort and other capabilities.
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 5.37% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'fix: acp update and general fixes' is vague and overly broad. While the PR does include ACP-related changes, it also encompasses numerous unrelated updates across multiple systems (skills marketplace, bridges, notifications, task management, settings, etc.), making the title misleading about the actual scope of changes. Consider using a more specific title that accurately reflects the primary changes, such as 'refactor: migrate ACP session model handling to config options' or breaking into multiple focused PRs with clearer individual purposes.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fixes

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 12

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
internal/acp/client_test.go (1)

815-818: ⚠️ Potential issue | 🟡 Minor

Wrap these tests in t.Run("Should...") subtests.

Both TestPromptStreamsSessionUpdates and TestStartResumeUsesLoadSession execute as direct top-level tests without nested subtests. Each contains multiple assertions that should be wrapped in separate named test cases following the required pattern. For example, in TestPromptStreamsSessionUpdates, the event type validations, SessionID check, and SupportedModes assertion should each have their own t.Run("Should...") subtest.

🤖 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/acp/client_test.go` around lines 815 - 818, The tests
TestPromptStreamsSessionUpdates and TestStartResumeUsesLoadSession contain
multiple assertions that are not organized into separate subtests. Refactor both
test functions by wrapping each distinct assertion (such as the event type
validations, SessionID checks, and the SupportedModes assertion shown in the
diff) into separate t.Run() subtests with descriptive names following the
"Should..." naming pattern. This will make each test case independent and more
readable.

Source: Coding guidelines

🧹 Nitpick comments (1)
internal/settings/config_apply_service_test.go (1)

347-363: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Assert blocked reload generation stays at 0 in this scenario too.

This path verifies blocked/restart-required semantics, but it doesn’t lock the generation contract. Add Record.Generation == 0 to prevent regressions in blocked reload bookkeeping.

Suggested assertion
 		if got, want := result.Record.Status, lifecycle.StatusBlocked; got != want {
 			t.Fatalf("Status = %q, want %q", got, want)
 		}
+		if got, want := result.Record.Generation, int64(0); got != want {
+			t.Fatalf("Generation = %d, want %d", got, want)
+		}
 	})
 }
🤖 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/settings/config_apply_service_test.go` around lines 347 - 363, Add
an assertion to verify that result.Record.Generation equals 0 in the test after
the Reload call. This assertion should be added alongside the existing
result.Record property checks (Lifecycle and Status) to ensure the generation
contract is maintained in the blocked reload scenario and prevent regressions in
blocked reload bookkeeping.
🤖 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/api/core/conversions_parsers_test.go`:
- Around line 145-146: The test in conversions_parsers_test.go is validating
that payload.ACPCaps.SupportsLoadSession is preserved but is missing an explicit
assertion for the SupportedModes field. Add a check immediately after or within
the existing payload.ACPCaps validation to assert that
payload.ACPCaps.SupportedModes is also properly preserved and populated,
ensuring the migration guard validates all critical fields that are seeded as
test input.

In `@internal/api/core/error_paths_test.go`:
- Around line 103-127: The test cases in the error_paths_test.go file currently
only validate HTTP status codes but lack response body assertions and proper
test case naming. For each of the five newly added test case entries (the
scenarios with paths like "/workspaces/ws-workspace/sessions/missing", the
"/sessions/missing/attach", the DELETE to missing session, the events endpoint
with bad query parameter, and the "/logs" endpoint), add a response body
expectation field to the struct definition, wrap each test case in a t.Run call
using a Should-style name pattern (e.g., "Should return NotFound when getting
missing session"), and update the test assertion logic to validate both the HTTP
status code and the response body content in addition to the status-only checks
currently in place.

In `@internal/api/core/extensions_test.go`:
- Around line 131-176: The test function
TestSearchExtensionMarketplaceMapsUnavailableSourceToServiceUnavailable is
currently implemented as a top-level test case but needs to follow the
repository's test convention. Refactor this test by wrapping all of its test
logic inside a t.Run call with a descriptive "Should..." message (such as
"Should map marketplace unavailable source to service unavailable"). Keep the
outer function signature intact but move all the test setup and assertions
inside the t.Run callback to match the required subtest pattern used throughout
the repository.

In `@internal/cli/notifications_test.go`:
- Around line 166-180: The test cases for the "notifications preset update"
command are only asserting that an error occurs (err == nil) but not validating
the specific error content. Replace the generic error checks with specific error
assertions using ErrorContains or ErrorAs to verify that the actual error
messages match the expected validation failures. For the first
executeRootCommand call without flags, assert the error contains the expected
message for missing required flags. For the second executeRootCommand call with
conflicting --enabled and --disabled flags, assert the error contains the
expected message for conflicting arguments.

In `@internal/cli/skill_test.go`:
- Around line 807-813: The slug validation assertions in the executeRootCommand
call around line 807 are currently in the top-level test body instead of being
wrapped in a t.Run("Should...") subtest. Move these assertions (the
executeRootCommand call with "skill", "install", "bad/slug" and the subsequent
error checks for nil and the "skill slug must not include path separators"
message) into a separate t.Run("Should validate skill slug") subtest with a
descriptive name. Ensure this follows the repository's table-driven test
structure with t.Parallel() as needed.

In `@internal/daemon/agent_skill_resources_test.go`:
- Around line 484-541: The test function
TestAgentSkillSourceSyncerSyncSkillsProjectsRegistrySynchronously needs to be
refactored to use the required t.Run("Should...") subtest pattern. Wrap the
entire test scenario (starting from the rawStore declaration through the end of
the function) inside a t.Run call with a descriptive "Should..." message, and
move the t.Parallel() call inside the subtest function. This aligns with the
repository's testing standards that require all test cases to use the t.Run
subtest pattern with t.Parallel as the default.

In `@internal/daemon/bridges.go`:
- Around line 298-306: In the function refreshStaleBridgeTargetDirectory, the
error returned from refreshBridgeTargetDirectoryForInstance is being suppressed
by returning nil instead of propagating it. Modify the error handling block
where refreshBridgeTargetDirectoryForInstance is called (the if statement
checking if err != nil) to return the actual error value err instead of
returning nil, so that stale-refresh errors are properly propagated to the
caller instead of masking failures.

In `@internal/registry/clawhub/client_test.go`:
- Around line 254-309: The test function
TestClientDownloadSynthesizesSkillArchiveFromInfo is implemented as a direct
top-level test body but should follow the test policy by wrapping its content in
a t.Run subtest call. Move all the test logic currently in the function body
(starting from t.Parallel() through the end) into a t.Run call with a
descriptive name following the "Should..." pattern, keeping t.Parallel() at the
top level and ensuring the subtest function receives the *testing.T parameter
properly.

In `@internal/registry/clawhub/client.go`:
- Around line 231-236: In the block where downloadSkillArchiveFromInfo is called
and fallbackErr is checked, the code currently returns the original err when
fallbackErr is not nil, which masks the actual failure reason. Instead of only
handling the success case (when fallbackErr == nil), add logic to return
fallbackErr when it is not nil, so that real synthesis errors like validation or
size failures are properly propagated to the caller instead of being masked as
ErrPackageNotFound.

In `@internal/resources/typed_test.go`:
- Around line 157-209: The TestJSONCodecValidationClassification function
contains two subtests with duplicated setup and assertion patterns that follow
the same validation-classification test structure. Convert these into a single
table-driven test by defining a slice of structs containing the test case data
(validator error to return, expected error type, and expected error message
content), then loop through each case with a single t.Run call that executes the
DecodeAndValidate logic and assertions for each entry. This eliminates code
duplication and aligns with the repository's Go testing guidelines for
table-driven test layouts.

In `@internal/session/session_test.go`:
- Around line 86-110: This test section verifies that the Info() method returns
an immutable copy by checking that mutations to the returned ACPCaps fields do
not affect subsequent calls. Wrap this entire test scenario (the mutation
attempts and subsequent assertions checking that SupportedModes and
ConfigOptions were not modified) in a t.Run subtest with a descriptive name
starting with "Should", such as "Should not mutate through Info() copy", to
comply with the repository's test policy that requires all test cases to use the
t.Run pattern. Ensure proper indentation of the existing assertion code inside
the subtest closure.

In `@internal/skills/marketplace/service_test.go`:
- Around line 200-203: The test only verifies the error type using
errors.Is(err, tc.wantErr) without checking the actual error message details,
allowing error message regressions to pass undetected. In the NormalizeSkillSlug
test case where tc.wantErr is not nil, after the existing errors.Is() check, add
additional assertions using ErrorContains or ErrorAs to validate that the error
message contains the expected details specific to each test case, ensuring
validation messages cannot regress without causing the test to fail.

---

Outside diff comments:
In `@internal/acp/client_test.go`:
- Around line 815-818: The tests TestPromptStreamsSessionUpdates and
TestStartResumeUsesLoadSession contain multiple assertions that are not
organized into separate subtests. Refactor both test functions by wrapping each
distinct assertion (such as the event type validations, SessionID checks, and
the SupportedModes assertion shown in the diff) into separate t.Run() subtests
with descriptive names following the "Should..." naming pattern. This will make
each test case independent and more readable.

---

Nitpick comments:
In `@internal/settings/config_apply_service_test.go`:
- Around line 347-363: Add an assertion to verify that result.Record.Generation
equals 0 in the test after the Reload call. This assertion should be added
alongside the existing result.Record property checks (Lifecycle and Status) to
ensure the generation contract is maintained in the blocked reload scenario and
prevent regressions in blocked reload bookkeeping.
🪄 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: a79a9d29-7f94-4e89-b3d9-b062f1b1c062

📥 Commits

Reviewing files that changed from the base of the PR and between 1099164 and c5ab1cd.

⛔ Files ignored due to path filters (35)
  • .agents/skills/cmux-orchestration/SKILL.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cmux-orchestration/agents/openai.yaml is excluded by !**/*.yaml, !.agents/**
  • .agents/skills/cmux-orchestration/assets/fable-orchestrator-dark.png is excluded by !**/*.png, !.agents/**
  • .agents/skills/cmux-orchestration/assets/fable-orchestrator.excalidraw is excluded by !.agents/**
  • .agents/skills/cmux-orchestration/assets/fable-orchestrator.png is excluded by !**/*.png, !.agents/**
  • .agents/skills/compozy/SKILL.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/compozy/references/cli-reference.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/compozy/references/config-reference.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/compozy/references/skills-reference.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/compozy/references/workflow-guide.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-create-tasks/SKILL.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-create-tasks/references/task-context-schema.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-create-tasks/references/task-template.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-create-techspec/SKILL.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-execute-task/SKILL.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-execute-task/references/tracking-checklist.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-fix-reviews/SKILL.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-idea-factory/SKILL.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-idea-factory/references/adr-template.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-idea-factory/references/business-analyst.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-idea-factory/references/council.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-idea-factory/references/idea-template.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-idea-factory/references/product-strategist.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/cy-idea-factory/references/question-protocol.md is excluded by !**/*.md, !.agents/**
  • .impeccable/live/config.json is excluded by !**/*.json
  • CLAUDE.md is excluded by !**/*.md
  • PRODUCT.md is excluded by !**/*.md
  • go.sum is excluded by !**/*.sum, !**/*.sum
  • openapi/agh.json is excluded by !**/*.json
  • packages/site/content/runtime/core/agents/providers.mdx is excluded by !**/*.mdx
  • packages/ui/tsconfig.json is excluded by !**/*.json
  • skills-lock.json is excluded by !**/*.json
  • skills/agh/references/agent-definitions.md is excluded by !**/*.md
  • skills/agh/references/native-tools.md is excluded by !**/*.md
  • web/src/generated/agh-openapi.d.ts is excluded by !**/generated/**
📒 Files selected for processing (91)
  • .repoclone.rc
  • go.mod
  • internal/acp/client.go
  • internal/acp/client_test.go
  • internal/acp/config_options.go
  • internal/acp/config_options_test.go
  • internal/acp/types.go
  • internal/api/contract/contract.go
  • internal/api/contract/contract_test.go
  • internal/api/core/conversions.go
  • internal/api/core/conversions_parsers_test.go
  • internal/api/core/error_paths_test.go
  • internal/api/core/extensions.go
  • internal/api/core/extensions_test.go
  • internal/api/core/handlers.go
  • internal/api/core/interfaces.go
  • internal/api/core/network.go
  • internal/api/core/network_test.go
  • internal/api/core/session_workspace.go
  • internal/api/core/settings_internal_test.go
  • internal/api/core/skills.go
  • internal/api/core/skills_test.go
  • internal/api/httpapi/handlers.go
  • internal/api/httpapi/httpapi_integration_test.go
  • internal/api/httpapi/server.go
  • internal/api/udsapi/server.go
  • internal/api/udsapi/udsapi_integration_test.go
  • internal/cli/bridge.go
  • internal/cli/bridge_test.go
  • internal/cli/cli_integration_test.go
  • internal/cli/client.go
  • internal/cli/client_test.go
  • internal/cli/format.go
  • internal/cli/helpers_test.go
  • internal/cli/hooks.go
  • internal/cli/notifications.go
  • internal/cli/notifications_test.go
  • internal/cli/render_test.go
  • internal/cli/session.go
  • internal/cli/skill_commands.go
  • internal/cli/skill_daemon_test.go
  • internal/cli/skill_marketplace.go
  • internal/cli/skill_test.go
  • internal/cli/task.go
  • internal/cli/task_test.go
  • internal/config/config.go
  • internal/config/config_test.go
  • internal/config/persistence.go
  • internal/config/persistence_test.go
  • internal/daemon/agent_skill_resources.go
  • internal/daemon/agent_skill_resources_integration_test.go
  • internal/daemon/agent_skill_resources_test.go
  • internal/daemon/boot.go
  • internal/daemon/bridges.go
  • internal/daemon/bridges_test.go
  • internal/daemon/daemon.go
  • internal/daemon/daemon_integration_test.go
  • internal/daemon/daemon_nightly_combined_integration_test.go
  • internal/daemon/daemon_sandbox_integration_test.go
  • internal/daemon/harness_context_integration_test.go
  • internal/daemon/memory_runtime.go
  • internal/daemon/memory_runtime_test.go
  • internal/daemon/native_bundle_resource_tools.go
  • internal/daemon/native_tools.go
  • internal/daemon/native_tools_test.go
  • internal/daemon/perf_bench_test.go
  • internal/extension/reference_integration_test.go
  • internal/providers/classify.go
  • internal/registry/clawhub/client.go
  • internal/registry/clawhub/client_test.go
  • internal/resources/codec.go
  • internal/resources/typed_test.go
  • internal/session/additional_test.go
  • internal/session/manager_lifecycle.go
  • internal/session/manager_stop_integration_test.go
  • internal/session/manager_test.go
  • internal/session/perf_bench_test.go
  • internal/session/provider_runtime.go
  • internal/session/provider_runtime_test.go
  • internal/session/session_test.go
  • internal/settings/config_apply_service.go
  • internal/settings/config_apply_service_test.go
  • internal/settings/service_test.go
  • internal/skills/marketplace/service.go
  • internal/skills/marketplace/service_test.go
  • internal/testutil/acpmock/cmd/acpmock-driver/main.go
  • internal/testutil/e2e/runtime_harness_integration_test.go
  • internal/tools/mcp.go
  • internal/tools/mcp_test.go
  • web/src/systems/network/mocks/fixtures.ts
  • web/src/systems/session/mocks/fixtures.ts
💤 Files with no reviewable changes (15)
  • internal/acp/types.go
  • web/src/systems/session/mocks/fixtures.ts
  • internal/session/perf_bench_test.go
  • internal/acp/config_options.go
  • internal/acp/config_options_test.go
  • internal/daemon/harness_context_integration_test.go
  • internal/api/contract/contract_test.go
  • internal/api/contract/contract.go
  • internal/cli/cli_integration_test.go
  • internal/api/udsapi/udsapi_integration_test.go
  • web/src/systems/network/mocks/fixtures.ts
  • internal/session/manager_test.go
  • internal/api/httpapi/httpapi_integration_test.go
  • internal/cli/render_test.go
  • internal/cli/session.go

Comment thread internal/api/core/conversions_parsers_test.go
Comment thread internal/api/core/error_paths_test.go
Comment thread internal/api/core/extensions_test.go
Comment thread internal/cli/notifications_test.go
Comment thread internal/cli/skill_test.go Outdated
Comment thread internal/registry/clawhub/client_test.go
Comment thread internal/registry/clawhub/client.go
Comment thread internal/resources/typed_test.go
Comment thread internal/session/session_test.go Outdated
Comment thread internal/skills/marketplace/service_test.go
@pedronauck pedronauck merged commit 4e7a6d2 into main Jun 22, 2026
11 of 12 checks passed
@pedronauck pedronauck deleted the fixes branch June 22, 2026 17:08
pedronauck added a commit that referenced this pull request Jun 22, 2026
## Release v0.0.8

This PR prepares the release of version v0.0.8.

### Changelog

## 0.0.8 - 2026-06-22



### 🐛 Bug Fixes

- Acp update and general fixes (#256)
- Make docs markdown copy retryable



### 📦 Build System

- Update deps
- Fix msw setup



### 🧪 Testing

- Remove not needed test


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated dependencies to the latest versions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant