agent-deck-1.16.36
checks.aarch64-darwin.pkgs-agent-deck
· build #9963
· raw
1mac02: building 590yxqwnhfvcyjgiqzmysl287bqwbr0q-agent-deck-1.16.36.drv2Using versionCheckHook
unpackPhase
3unpacking source archive /nix/store/3yq2390qf9xp0g09qg6g6m0r6kx4rbmw-source4source root is sourcebuildPhase
5Building subPackage ./cmd/agent-deckcheckPhase
62026/11/04 05:16:25 WARN codex_hook_status_unreadable instance=partial path=/private/tmp/nix-FCBQm8/TestWriteCodexHookStatus_PartialPriorFailsClosed1760623589/001/.local/share/agent-deck/hooks/partial.json bytes=107Codex notify hook installed successfully.8Config: /private/tmp/nix-FCBQm8/TestCodexHooksInstallUninstall257487947/001/.codex/config.toml9Codex notify hook removed successfully.10Codex notify hook upgraded successfully.11Config: /private/tmp/nix-FCBQm8/TestCodexHooksInstall_UpgradesLegacyTableWithoutMarkers1607099198/001/.codex/config.toml12Codex notify hook upgraded successfully.13Config: /private/tmp/nix-FCBQm8/TestCodexHooksInstall_UpgradesLegacyMarkerBlock2529899420/001/.codex/config.toml14Codex notify hook upgraded successfully.15Config: /private/tmp/nix-FCBQm8/TestCodexHooksInstall_ReplacesBlockInPlaceAndKeepsMode2691573093/001/.codex/config.toml16Codex notify hook removed successfully.17Error reading codex config: open /private/tmp/nix-FCBQm8/TestCodexHooksInstall_UnreadableConfigIsNotOverwritten2867717377/001/.codex/config.toml: permission denied18Error writing codex config: open /private/tmp/nix-FCBQm8/TestCodexHooksInstall_ReadOnlyConfigIsNotReplaced3434303733/001/.codex/config.toml: permission denied19Codex notify hook upgraded successfully.20Config: /private/tmp/nix-FCBQm8/TestCodexHooksUninstall_KeepsLineEndingscrlf652260973/001/.codex/config.toml21Codex notify hook removed successfully.22Codex notify hook upgraded successfully.23Config: /private/tmp/nix-FCBQm8/TestCodexHooksUninstall_KeepsLineEndingsno_final_newline3006279837/001/.codex/config.toml24Codex notify hook removed successfully.25Error: the agent-deck notify block in /private/tmp/nix-FCBQm8/TestCodexHooksInstall_BlockBelowTableIsRefusedprofiles.work4137817357/001/.codex/config.toml sits below a [table], where notify belongs to that table.26Move the block above every table, or remove it and rerun 'agent-deck codex-hooks install'.27Error: the agent-deck notify block in /private/tmp/nix-FCBQm8/TestCodexHooksInstall_BlockBelowTableIsRefusedprofiles.qa,wes2763282473/001/.codex/config.toml sits below a [table], where notify belongs to that table.28Move the block above every table, or remove it and rerun 'agent-deck codex-hooks install'.29Error: the agent-deck notify block in /private/tmp/nix-FCBQm8/TestCodexHooksInstall_BlockBelowTableIsRefused_hooks_._a=b138611713/001/.codex/config.toml sits below a [table], where notify belongs to that table.30Move the block above every table, or remove it and rerun 'agent-deck codex-hooks install'.31agent-deck: CLAUDE_CONFIG_DIR="/private/tmp/nix-FCBQm8/TestEventProfileUsesStorageFallbackForMissingInference2153936858/001/.claude-ghost" would select profile "ghost", which does not exist; falling back to profile "work" instead of creating it. Known profiles: none yet. Pass -p/--profile or set AGENTDECK_PROFILE explicitly to pick a different profile, run `agent-deck profile create ghost` if you intend to create it, or unset CLAUDE_CONFIG_DIR to use the default profile.32Gemini hooks installed successfully.33Config: /private/tmp/nix-FCBQm8/TestGeminiHooksInstallUninstall1713193886/001/.gemini/settings.json34Gemini hooks removed successfully.35✓ Reordered group 'Beta': position 1 → 036✓ Reordered group 'Beta': position 1 → 237✓ Reordered group 'Gamma': position 2 → 038✓ Reordered group 'Alpha': position 0 → 039✓ Reordered group 'Gamma': position 2 → 240✓ Reordered group 'Alpha': position 0 → 241agentpaths: resolved agent-deck path under the real home (/private/tmp/nix-lrvXG3/.config/agent-deck); this touches REAL user data. If this is a test, it is NOT sandboxed; call testutil.IsolateHome() in TestMain and run with a temp HOME+XDG (2026-06-04 data-loss incident, S4).42WARNING: no notify-daemon running; completions are not being recorded, so an empty drain or 0 done does not mean nothing finished. Start one with `agent-deck notify-daemon` (`agent-deck conductor setup` installs it as a service).43WARNING: no notify-daemon running; completions are not being recorded, so an empty drain or 0 done does not mean nothing finished. Start one with `agent-deck notify-daemon` (`agent-deck conductor setup` installs it as a service).44agent-deck: CLAUDE_CONFIG_DIR="/private/tmp/nix-FCBQm8/TestIssue2740_WatcherCommandsUseTheResolvedProfileCLAUDE_CONFIG597770074/001/.claude-ghost" would select profile "ghost", which does not exist; falling back to profile "work" instead of creating it. Known profiles: none yet. Pass -p/--profile or set AGENTDECK_PROFILE explicitly to pick a different profile, run `agent-deck profile create ghost` if you intend to create it, or unset CLAUDE_CONFIG_DIR to use the default profile.45agent-deck: CLAUDE_CONFIG_DIR="/private/tmp/nix-FCBQm8/TestIssue2740_WatcherCommandsUseTheResolvedProfileCLAUDE_CONFIG597770074/001/.claude-ghost" would select profile "ghost", which does not exist; falling back to profile "work" instead of creating it. Known profiles: work. Pass -p/--profile or set AGENTDECK_PROFILE explicitly to pick a different profile, run `agent-deck profile create ghost` if you intend to create it, or unset CLAUDE_CONFIG_DIR to use the default profile.46agent-deck: CLAUDE_CONFIG_DIR="/private/tmp/nix-FCBQm8/TestIssue2740_WatcherCommandsUseTheResolvedProfileCLAUDE_CONFIG597770074/001/.claude-ghost" would select profile "ghost", which does not exist; falling back to profile "work" instead of creating it. Known profiles: work. Pass -p/--profile or set AGENTDECK_PROFILE explicitly to pick a different profile, run `agent-deck profile create ghost` if you intend to create it, or unset CLAUDE_CONFIG_DIR to use the default profile.47notify-daemon: binary upgraded (running 1.16.36, on-disk 1.16.36-next); recycling48notify-daemon: binary upgraded (running 1.16.36, on-disk 1.16.36-next); recycling49--- FAIL: TestRemoteAddProvider_RegistersSandbox (0.23s)50 provider_cmd_test.go:130: remote add --provider exit 151 stdout: Creating sandbox "box1" with provider "fake"...52 53 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair54--- FAIL: TestRemoteAddProvider_OutputMentionsRemote (0.03s)55 provider_cmd_test.go:151: exit 1: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair56--- FAIL: TestRemoteAddProvider_RollsBackWhenInstallFails (0.03s)57 provider_cmd_test.go:167: stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair58--- FAIL: TestLaunchProvider_ProvisionsThenLaunchesOnTheSandbox (0.03s)59 provider_cmd_test.go:194: exit 160 stdout: Creating sandbox "l1" with provider "fake"...61 62 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair63--- FAIL: TestRemoteDestroy_RefusesNonTTYWithoutYes (0.03s)64 provider_cmd_test.go:227: remote add --provider exit 165 stdout: Creating sandbox "d1" with provider "fake"...66 67 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair68--- FAIL: TestRemoteDestroy_YesStopsThenDestroysThenUnregisters (0.03s)69 provider_cmd_test.go:248: remote add --provider exit 170 stdout: Creating sandbox "d2" with provider "fake"...71 72 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair73--- FAIL: TestRemoteDestroy_TTYPrompt (0.03s)74 provider_cmd_test.go:272: remote add --provider exit 175 stdout: Creating sandbox "d3" with provider "fake"...76 77 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair78--- FAIL: TestRemoteDestroy_NoSessionsNeedsNoConfirmation (0.03s)79 provider_cmd_test.go:296: remote add --provider exit 180 stdout: Creating sandbox "d4" with provider "fake"...81 82 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair83--- FAIL: TestRemoteDestroy_UnreachableRefusesUnlessForce (0.04s)84 provider_cmd_test.go:323: remote add --provider exit 185 stdout: Creating sandbox "d5" with provider "fake"...86 87 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair88--- FAIL: TestRemoteList_ShowsSandboxKind (0.04s)89 provider_cmd_test.go:341: remote add --provider exit 190 stdout: Creating sandbox "k1" with provider "fake"...91 92 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair93--- FAIL: TestProviderTestCommand_CreateRoundTrip (0.04s)94 provider_cmd_test.go:358: exit 195 stdout: list: ok (0 sandboxes)96 create: FAILED97 98 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair99--- FAIL: TestRemoteRemove_SandboxRemote (0.09s)100 --- FAIL: TestRemoteRemove_SandboxRemote/non-tty_removes_and_points_to_destroy (0.03s)101 provider_followups_test.go:36: remote add --provider exit 1102 stdout: Creating sandbox "sb1" with provider "fake"...103 104 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair105 --- FAIL: TestRemoteRemove_SandboxRemote/tty_no_keeps_the_remote (0.03s)106 provider_followups_test.go:36: remote add --provider exit 1107 stdout: Creating sandbox "sb1" with provider "fake"...108 109 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair110 --- FAIL: TestRemoteRemove_SandboxRemote/tty_yes_removes (0.02s)111 provider_followups_test.go:36: remote add --provider exit 1112 stdout: Creating sandbox "sb1" with provider "fake"...113 114 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair115Waiting for the sandbox provider to clean up (press Ctrl-C again to quit now)...116Waiting for the sandbox provider to clean up (press Ctrl-C again to quit now)...117Waiting for the sandbox provider to clean up (press Ctrl-C again to quit now)...118--- FAIL: TestProviderCommandsMarkProviderWork (0.03s)119 provider_followups_test.go:159: remote add --provider exit 1120 stdout: Creating sandbox "sb2" with provider "fake"...121 122 stderr: Error: provider "fake" create: decoding provider response: invalid character '\\' after object key:value pair123remote-agent: probe: storage gone124remote-agent: binary upgraded (running v1.16.36); exiting so the controller reconnects125remote-agent: probe produced no listing (Error: database is locked)126remote-agent: probe produced no listing ([])127remote-agent: no input for 300ms, exiting128remote-agent: the host now selects another profile; exiting so the controller reconnects129130═══ Remote: offline (a@offline) ═══131 – Skipped: agent-deck not found on remote or host unreachable132133═══ Remote: offline (a@offline) ═══134 ✗ Failed: stub: no platform135A remote sweep is already running on this controller (pid 22438, started 5:17AM); waiting for it...136137═══ Remote: lab (a@lab) ═══138 – Skipped: sweep already in progress, remote lab is being updated by 22438139140═══ Remote: other (a@other) ═══141 ✓ Up to date (v1.16.0)142143═══ Remote: lab (a@lab) ═══144 ✓ Up to date (v1.16.0)145146═══ Remote: other (a@other) ═══147 ✓ Up to date (v1.16.0)148Warning: the session restarted, but its new tmux name could not be recorded: record restart outcome for tmux session "agentdeck_cli-restart-target_f2c87df2": record restart outcome for "d4b2558c-1793769478": instance row not found149 The session is running; agent-deck may show it as errored until the name is saved.150Handed switch-account of self to a detached agent-deck (pid 999): it targets the session this command runs in, whose restart ends this pane. Output: /tmp/x.log. Check the result with `agent-deck session show 41670b8f-1793769506` once the session is back.151Warning: output freshness timeout (300ms) — response may be stale152Warning: output freshness timeout (300ms) — response may be stale153Warning: output freshness timeout (300ms) — response may be stale154Launch agent re-registration deferred: a remote sweep (pid 12345, started 05:19:06) is still running155Imported 2 channel(s)156 C0AABSF5GKD -> si-bugs/watcher.toml157 C1BBCDF6HLE -> feat-req/watcher.toml158159Note: Set the ntfy topic in each watcher.toml (all Slack channels160share one ntfy topic from the Cloudflare Worker).161Clients written to: /private/tmp/nix-FCBQm8/TestImportChannels_EndToEnd2635972492/002/clients.json162Imported 1 channel(s)163 C0AABSF5GKD -> si-bugs/watcher.toml164165Note: Set the ntfy topic in each watcher.toml (all Slack channels166share one ntfy topic from the Cloudflare Worker).167Clients written to: /private/tmp/nix-FCBQm8/TestImportChannels_Idempotent1657311411/002/clients.json168Imported 1 channel(s)169 C0AABSF5GKD -> si-bugs/watcher.toml170171Note: Set the ntfy topic in each watcher.toml (all Slack channels172share one ntfy topic from the Cloudflare Worker).173Clients written to: /private/tmp/nix-FCBQm8/TestImportChannels_Idempotent1657311411/002/clients.json174Imported 0 channel(s)175Clients written to: /private/tmp/nix-FCBQm8/TestImportChannels_EmptyChannels231816863/002/clients.json176Installed skill: watcher-creator -> /private/tmp/nix-FCBQm8/TestWatcherInstallSkill2213582400/001/xdg-config/agent-deck/skills/pool/watcher-creator177Installed skill: watcher-creator -> /private/tmp/nix-FCBQm8/TestWatcherInstallSkill_DirMode2288687432/001/xdg-config/agent-deck/skills/pool/watcher-creator178Created watcher: create-topic-ntfy (type: ntfy)179Warning: ntfy watcher: this topic is easy to guess and the public server https://ntfy.sh has no access token set, so anyone who guesses the topic can read its events and inject fake ones. Fix one of: use a random topic (agent-deck watcher create ntfy --name <name> --random-topic); set an access token ($NTFY_TOKEN or --token-file <path> with chmod 600, or token = "..." under [source] in watcher.toml); or use your own ntfy server (--server https://ntfy.example.com, or server = "..." under [source]).180Created watcher: create-topic-slack (type: slack)181Warning: slack watcher: this topic is easy to guess and the public server https://ntfy.sh has no access token set, so anyone who guesses the topic can read its events and inject fake ones. Fix one of: use a random topic (agent-deck watcher create slack --name <name> --random-topic); set an access token ($NTFY_TOKEN or --token-file <path> with chmod 600, or token = "..." under [source] in watcher.toml); or use your own ntfy server (--server https://ntfy.example.com, or server = "..." under [source]).182Usage: agent-deck watcher <command> [args]183184Watchers listen for inbound events (webhooks, push notifications,185GitHub events, Slack messages) and route them to conductor sessions186so your running agents can act on them automatically.187188Commands:189 create <type> --name <name> Create a new watcher (types: webhook, ntfy, github, slack)190 start <name> Mark a watcher as running (run by the profile's watcher engine)191 stop <name> Mark a watcher as stopped192 reload [--json] Apply watcher and clients.json changes to the running engine now193 list [--json] List all watchers with status and event rate194 status <name> [--json] Show watcher info, recent events and events not delivered yet195 test <name> Route a synthetic event to verify routing config196 routes [--json] Show all routing rules from clients.json197 import <path> Migrate bash issue-watcher channels.json to Go watcher config198 install-skill <skill-name> Install a skill to ~/config/agent-deck/skills/pool (e.g. watcher-creator)199200Examples (one per adapter type):201202 # Generic HTTP webhook on 127.0.0.1:9000. Requests must be signed with a203 # secret: generated and stored in its watcher.toml unless given by204 # $WEBHOOK_SECRET or --secret-file (chmod 600):205 agent-deck watcher create webhook --name my-webhook --port 9000206207 # GitHub repository webhook with HMAC-SHA256 verification208 # Secret comes from the environment or a chmod-600 file, never a CLI arg:209 GITHUB_WEBHOOK_SECRET=... agent-deck watcher create github --name gh-alerts210 agent-deck watcher create github --name gh-alerts --secret-file ~/.gh-webhook-secret211212 # ntfy push-notification topic. On the public https://ntfy.sh anyone who213 # knows the topic can read and post to it, so use a random topic:214 agent-deck watcher create ntfy --name phone-alerts --random-topic215 # or an access-protected topic on your own ntfy server (token from the216 # environment or a chmod-600 file, never a CLI arg):217 NTFY_TOKEN=... agent-deck watcher create ntfy --name phone-alerts \218 --server https://ntfy.example.com --topic phone-alerts219220 # Slack-bridged via ntfy topic (see skill for Cloudflare Worker setup)221 agent-deck watcher create slack --name team-slack --random-topic222223After creating, activate and inspect:224 agent-deck watcher start <name>225 agent-deck watcher list # see health + events/hour226 agent-deck watcher test <name> # fire a synthetic event227228Routing: edit ~/data/agent-deck/watcher/clients.json to pick which229conductor / group receives events. See `agent-deck watcher routes` for230the currently-loaded rules across all watchers.231232Conversational setup (recommended for first-time use):233 agent-deck watcher install-skill watcher-creator234 # Then inside Claude Code in an agent-deck session, ask:235 # "Use the watcher-creator skill to set up a GitHub watcher"236237Full reference: https://github.com/asheshgoplani/agent-deck#watchers238No routing rules configured.239No watchers configured.240Run 'agent-deck watcher create <type> --name <name>' to create one.241Installed skill: watcher-creator -> /private/tmp/nix-FCBQm8/TestXDGTask6_WatcherInstallSkillUsesConfiguredPoolPath1266649735/001/xdg-config/agent-deck/skills/pool/watcher-creator242FAIL243FAIL github.com/asheshgoplani/agent-deck/cmd/agent-deck 194.473s244FAIL