Back to the Finder

Rookery

Open-source desktop app for Mac, Windows and Linux. Agents run on your computer or on your own server.

Product websitegithub.com Compare with others Missing or wrong data?

Rookery product interface, supplied by its publisher
Desktop app
Mac, Windows and Linux
Browser
No
Phone
No
Command line
Yes
Agents
Claude Code and Codex
Your subscription
Works with your own plan
Agents run
On your computer and on your own server
Laptop closed
Keeps going
Isolation
Worktree
Parallel agents
Yes
Scheduled runs
Yes
Coordinator agent
Yes
Built-in issues
No
Pull requests
No
Review screen
Yes
Team
Shared sessions
Self-hosting
Yes
Licence
Apache-2.0
Price from
Free
How it charges
No paid plan and bring your own key
Paid plans from
Not listed

Receipts

Checked
· oldest answer 2026-11-07
Findings
46 published · 31 cross-checked by a second agent · read them all
Sources
23 public pages on 1 site: github.com
Screenshot
github.com, retrieved · first party repository · shows appearance, not capability
Method
Same rules for all 103 researched ADEs. How we check · Report wrong data

What it does

Where you use it

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

Source and scope for Where you use it

Agents it runs

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

Source and scope for Agents it runs

Accounts and subscriptions

Own provider API keys or native Claude/Codex login enable agents.

Source and scope for Accounts and subscriptions

Where agents run

The operator-owned resident daemon runs on a local machine or deliberately configured headless server, independently of its desktop/CLI/Slack clients. Rookery supplies no managed execution cloud.

Source and scope for Where agents run

How work is kept apart

Rookery workers run native agent processes in separate Git worktrees on the daemon host; they have no product-managed container or VM isolation option.

Source and scope for How work is kept apart

Parallel work

Global fleet runs parallel worktree workers without a concurrency cap.

Source and scope for Parallel work

Scheduled runs

Persistent daemon rules trigger master turns or worker spawns without client.

Source and scope for Scheduled runs

Git and pull requests

Product manages worktrees/branches/diffs; instructed worker uses shell for commit/push/PR.

Source and scope for Git and pull requests

Licence and source

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

Source and scope for Licence and source

Price

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

Source and scope for Price

JSON for agentsMarkdown for agents

Report wrong dataSuggest a missing ADE

Typed filters

Every value links to its receipt below. Read plan and surface restrictions before using a filter to decide.

Typed filter values
FilterValue
Desktop OS: macOSYes
Desktop OS: WindowsYes
Desktop OS: LinuxYes
Web clientNo
Phone access: Native iOSNo
Phone access: Native AndroidNo
Phone access: Phone browserNo
CLIYes cross-checked
Coding agents: Claude CodeYes
Coding agents: CodexYes
Coding agents: Cursor AgentNo
Coding agents: Gemini CLINo
Coding agents: OpenCodeNo
Coding agents: PiNo
Coding agents: GrokNo
Coding agents: AiderNo
Coding agents: AntigravityNo
Use my subscriptionYes cross-checked
Where agents run: On your computerYes
Where agents run: On your own serverYes
Where agents run: In the vendor's cloudNo
Workspace isolation: Git worktreeYes
Workspace isolation: ContainerNo
Workspace isolation: VM or microVMNo
Parallel runsYes cross-checked
CoordinatorYes cross-checked
Native issue trackingNo
Unattended triggersYes cross-checked
Shared promptingYes
Team rolesNo
SSONo
Pull request workflowNo
Review interfaceYes cross-checked
Product license: Apache-2.0Yes. Apache-2.0 cross-checked
Product license: MITNo. Apache-2.0 cross-checked
Product license: GPL-3.0No. Apache-2.0 cross-checked
Product license: GPL-3.0-or-laterNo. Apache-2.0 cross-checked
Product license: AGPL-3.0No. Apache-2.0 cross-checked
Product license: AGPL-3.0-or-laterNo. Apache-2.0 cross-checked
Product license: Elastic License 2.0No. Apache-2.0 cross-checked
Product license: Custom termsNo. Apache-2.0 cross-checked
Product license: ProprietaryNo. Apache-2.0 cross-checked
Self-hostingYes cross-checked
Telemetry opt-outNo
Free accessYes cross-checked
Starting price: FreeYes. Free cross-checked
Starting price: Up to $20/monthNo. Free cross-checked
Starting price: $21–40/monthNo. Free cross-checked
Starting price: $41–100/monthNo. Free cross-checked
Starting price: Over $100/monthNo. Free cross-checked
Starting price: Contact for pricingNo. Free cross-checked
Pricing model: Free, no paid planYes cross-checked
Pricing model: Free planNo
Pricing model: SubscriptionNo
Pricing model: Per seatNo
Pricing model: Usage-basedNo
Pricing model: Per machine or computeNo
Pricing model: Bring your own keyYes cross-checked
Pricing model: One-time purchaseNo
Paid plans from: No paid planUnknown
Paid plans from: $10 or less/monthUnknown
Paid plans from: $11–20/monthUnknown
Paid plans from: $21–40/monthUnknown
Paid plans from: $41–100/monthUnknown
Paid plans from: Over $100/monthUnknown
Paid plans from: Contact salesUnknown
Lifecycle status: ActiveUnknown
Lifecycle status: SunsettingUnknown
Keeps going with laptop closedYes
Open-source licenseYes. Apache-2.0 cross-checked
Any desktop appYes
Paid plan up to $20/monthUnknown
Paid plan up to $40/monthUnknown
Any phone clientNo

Filter receipts

Desktop OS: macOS: Yes

Desktop OS: macOS

Typed value: Yes.

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Desktop os: macOS Apple Silicon DMG, Linux x64 AppImage, Windows x64 EXE.
  • Mobile apps: The complete client inventory is desktop, CLI and Slack, with no native Rookery phone application.
  • Browser: The daemon exposes protocol/control routes rather than a browser frontend; the desktop renderer depends on Electron preload.
  • Mobile browser: There is no released standalone browser client; Slack phone access is third-party.
  • Cli: Product CLI auto-starts daemon; Node 22 required for headless.
  • Task actions: Slack thread runs same persistent session and can relay worker activity.
  • Notifications: Attention bell ranks blocked questions, failure, unreviewed results.
  • Cross device continuity: Slack thread remains same daemon session across restarts; no phone app assumed.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery v0.6.0 release

    Finding: Release v0.6.0 published 2026-10-19 with macOS arm64 DMG, Linux x86_64 AppImage and Windows x64 EXE assets. Release notes describe a Slack Stop button, Claude Agent SDK and Codex CLI updates and cost-accounting fixes. Capability claims stay scoped to pinned main, not a binary test.

Desktop OS: Windows: Yes

Desktop OS: Windows

Typed value: Yes.

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Desktop os: macOS Apple Silicon DMG, Linux x64 AppImage, Windows x64 EXE.
  • Mobile apps: The complete client inventory is desktop, CLI and Slack, with no native Rookery phone application.
  • Browser: The daemon exposes protocol/control routes rather than a browser frontend; the desktop renderer depends on Electron preload.
  • Mobile browser: There is no released standalone browser client; Slack phone access is third-party.
  • Cli: Product CLI auto-starts daemon; Node 22 required for headless.
  • Task actions: Slack thread runs same persistent session and can relay worker activity.
  • Notifications: Attention bell ranks blocked questions, failure, unreviewed results.
  • Cross device continuity: Slack thread remains same daemon session across restarts; no phone app assumed.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery v0.6.0 release

    Finding: Release v0.6.0 published 2026-10-19 with macOS arm64 DMG, Linux x86_64 AppImage and Windows x64 EXE assets. Release notes describe a Slack Stop button, Claude Agent SDK and Codex CLI updates and cost-accounting fixes. Capability claims stay scoped to pinned main, not a binary test.

Desktop OS: Linux: Yes

Desktop OS: Linux

Typed value: Yes.

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Desktop os: macOS Apple Silicon DMG, Linux x64 AppImage, Windows x64 EXE.
  • Mobile apps: The complete client inventory is desktop, CLI and Slack, with no native Rookery phone application.
  • Browser: The daemon exposes protocol/control routes rather than a browser frontend; the desktop renderer depends on Electron preload.
  • Mobile browser: There is no released standalone browser client; Slack phone access is third-party.
  • Cli: Product CLI auto-starts daemon; Node 22 required for headless.
  • Task actions: Slack thread runs same persistent session and can relay worker activity.
  • Notifications: Attention bell ranks blocked questions, failure, unreviewed results.
  • Cross device continuity: Slack thread remains same daemon session across restarts; no phone app assumed.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery v0.6.0 release

    Finding: Release v0.6.0 published 2026-10-19 with macOS arm64 DMG, Linux x86_64 AppImage and Windows x64 EXE assets. Release notes describe a Slack Stop button, Claude Agent SDK and Codex CLI updates and cost-accounting fixes. Capability claims stay scoped to pinned main, not a binary test.

Web client: No

Web client

Typed value: No.

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Mobile apps: The complete client inventory is desktop, CLI and Slack, with no native Rookery phone application.
  • Browser: The daemon exposes protocol/control routes rather than a browser frontend; the desktop renderer depends on Electron preload.
  • Mobile browser: There is no released standalone browser client; Slack phone access is third-party.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery: docs/architecture/overview.md

    Finding: The complete thin-client inventory is native Electron desktop, CLI and embedded Slack. The daemon serves health/control/MCP and WebSocket commands; it does not serve a standalone browser frontend. The renderer depends on an Electron preload bridge and the development Vite server is not a released browser product. No native iOS/Android client is supplied; Slack mobile is a third-party client.

Phone access: Native iOS: No

Phone access: Native iOS

Typed value: No.

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Mobile apps: The complete client inventory is desktop, CLI and Slack, with no native Rookery phone application.
  • Browser: The daemon exposes protocol/control routes rather than a browser frontend; the desktop renderer depends on Electron preload.
  • Mobile browser: There is no released standalone browser client; Slack phone access is third-party.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery: docs/architecture/overview.md

    Finding: The complete thin-client inventory is native Electron desktop, CLI and embedded Slack. The daemon serves health/control/MCP and WebSocket commands; it does not serve a standalone browser frontend. The renderer depends on an Electron preload bridge and the development Vite server is not a released browser product. No native iOS/Android client is supplied; Slack mobile is a third-party client.

Phone access: Native Android: No

Phone access: Native Android

Typed value: No.

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Mobile apps: The complete client inventory is desktop, CLI and Slack, with no native Rookery phone application.
  • Browser: The daemon exposes protocol/control routes rather than a browser frontend; the desktop renderer depends on Electron preload.
  • Mobile browser: There is no released standalone browser client; Slack phone access is third-party.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery: docs/architecture/overview.md

    Finding: The complete thin-client inventory is native Electron desktop, CLI and embedded Slack. The daemon serves health/control/MCP and WebSocket commands; it does not serve a standalone browser frontend. The renderer depends on an Electron preload bridge and the development Vite server is not a released browser product. No native iOS/Android client is supplied; Slack mobile is a third-party client.

Phone access: Phone browser: No

Phone access: Phone browser

Typed value: No.

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Mobile apps: The complete client inventory is desktop, CLI and Slack, with no native Rookery phone application.
  • Browser: The daemon exposes protocol/control routes rather than a browser frontend; the desktop renderer depends on Electron preload.
  • Mobile browser: There is no released standalone browser client; Slack phone access is third-party.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery: docs/architecture/overview.md

    Finding: The complete thin-client inventory is native Electron desktop, CLI and embedded Slack. The daemon serves health/control/MCP and WebSocket commands; it does not serve a standalone browser frontend. The renderer depends on an Electron preload bridge and the development Vite server is not a released browser product. No native iOS/Android client is supplied; Slack mobile is a third-party client.

CLI: Yes cross-checked

CLI

Typed value: Yes.

CLI and scoped external MCP drive daemon workers.

  • Cli: Headless/interactive product CLI.
  • Api: Local WS/HTTP daemon protocol used by its clients; no versioned public REST contract established.
  • Mcp server: Optional HTTP MCP read-only or full control scoped token.
  • Operations: List/status/transcript/diff; full control spawn/steer/stop.
  • Authentication: Local daemon token; external MCP off by default and token rotation.
  • Not established by this source pass: sdk, webhooks, stability.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

Coding agents: Claude Code: Yes

Coding agents: Claude Code

Typed value: Yes.

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Harnesses: The complete session/worker backend registries contain Claude and Codex only.
  • Model providers: Anthropic for Claude; OpenAI for Codex.
  • Custom adapters: The registry/configuration surface does not expose a custom coding-agent adapter.
  • Session integration: Same orchestration/tools through either backend.
  • Mixed harness operation: Select per master/worker/automation/Slack; cross-provider conversation fork.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

Coding agents: Codex: Yes

Coding agents: Codex

Typed value: Yes.

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Harnesses: The complete session/worker backend registries contain Claude and Codex only.
  • Model providers: Anthropic for Claude; OpenAI for Codex.
  • Custom adapters: The registry/configuration surface does not expose a custom coding-agent adapter.
  • Session integration: Same orchestration/tools through either backend.
  • Mixed harness operation: Select per master/worker/automation/Slack; cross-provider conversation fork.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

Coding agents: Cursor Agent: No

Coding agents: Cursor Agent

Typed value: No.

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Harnesses: The complete session/worker backend registries contain Claude and Codex only.
  • Custom adapters: The registry/configuration surface does not expose a custom coding-agent adapter.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery: src/daemon/server.ts

    Finding: The product-owned session and worker backend registries contain only Claude and Codex. External MCP can be called by Cursor or other clients to drive Rookery workers, but it does not launch those client harnesses as Rookery agents. The registry has no user custom-agent adapter path.

Coding agents: Gemini CLI: No

Coding agents: Gemini CLI

Typed value: No.

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Harnesses: The complete session/worker backend registries contain Claude and Codex only.
  • Custom adapters: The registry/configuration surface does not expose a custom coding-agent adapter.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery: src/daemon/server.ts

    Finding: The product-owned session and worker backend registries contain only Claude and Codex. External MCP can be called by Cursor or other clients to drive Rookery workers, but it does not launch those client harnesses as Rookery agents. The registry has no user custom-agent adapter path.

Coding agents: OpenCode: No

Coding agents: OpenCode

Typed value: No.

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Harnesses: The complete session/worker backend registries contain Claude and Codex only.
  • Custom adapters: The registry/configuration surface does not expose a custom coding-agent adapter.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery: src/daemon/server.ts

    Finding: The product-owned session and worker backend registries contain only Claude and Codex. External MCP can be called by Cursor or other clients to drive Rookery workers, but it does not launch those client harnesses as Rookery agents. The registry has no user custom-agent adapter path.

Coding agents: Pi: No

Coding agents: Pi

Typed value: No.

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Harnesses: The complete session/worker backend registries contain Claude and Codex only.
  • Custom adapters: The registry/configuration surface does not expose a custom coding-agent adapter.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery: src/daemon/server.ts

    Finding: The product-owned session and worker backend registries contain only Claude and Codex. External MCP can be called by Cursor or other clients to drive Rookery workers, but it does not launch those client harnesses as Rookery agents. The registry has no user custom-agent adapter path.

Coding agents: Grok: No

Coding agents: Grok

Typed value: No.

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Harnesses: The complete session/worker backend registries contain Claude and Codex only.
  • Custom adapters: The registry/configuration surface does not expose a custom coding-agent adapter.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery: src/daemon/server.ts

    Finding: The product-owned session and worker backend registries contain only Claude and Codex. External MCP can be called by Cursor or other clients to drive Rookery workers, but it does not launch those client harnesses as Rookery agents. The registry has no user custom-agent adapter path.

Coding agents: Aider: No

Coding agents: Aider

Typed value: No.

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Harnesses: The complete session/worker backend registries contain Claude and Codex only.
  • Custom adapters: The registry/configuration surface does not expose a custom coding-agent adapter.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery: src/daemon/server.ts

    Finding: The product-owned session and worker backend registries contain only Claude and Codex. External MCP can be called by Cursor or other clients to drive Rookery workers, but it does not launch those client harnesses as Rookery agents. The registry has no user custom-agent adapter path.

Coding agents: Antigravity: No

Coding agents: Antigravity

Typed value: No.

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Harnesses: The complete session/worker backend registries contain Claude and Codex only.
  • Custom adapters: The registry/configuration surface does not expose a custom coding-agent adapter.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery: src/daemon/server.ts

    Finding: The product-owned session and worker backend registries contain only Claude and Codex. External MCP can be called by Cursor or other clients to drive Rookery workers, but it does not launch those client harnesses as Rookery agents. The registry has no user custom-agent adapter path.

Use my subscription: Yes cross-checked

Use my subscription

Typed value: Yes.

Own provider API keys or native Claude/Codex login enable agents.

  • Agent subscriptions: Existing claude login OAuth or codex login.
  • Api accounts: In-app Anthropic/Codex key or environment key.
  • Provider restrictions: Codex masters bypassPermissions-only; workers separate.
  • Not established by this source pass: vendor_credits, local_models, vendor_account_requirement.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

Where agents run: On your computer: Yes

Where agents run: On your computer

Typed value: Yes.

The operator-owned resident daemon runs on a local machine or deliberately configured headless server, independently of its desktop/CLI/Slack clients. Rookery supplies no managed execution cloud.

  • Local: Resident daemon executes on local machine.
  • Byo remote: The documented headless daemon supports an explicit non-loopback network bind for operator hosting.
  • Self hosted: User runs full daemon/control plane.
  • Managed cloud: The complete runtime path consists of an installed operator daemon and native provider processes, without a Rookery-operated compute service.
  • Provisioning: Bundled desktop starts/manages daemon or own Node 22 process.
  • Client disconnect: Daemon sessions/workers survive client disconnects; a separate client laptop can close while the operator server runs.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: hybrid, payer, resources, region, expiry, other_device_continuation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

Where agents run: On your own server: Yes

Where agents run: On your own server

Typed value: Yes.

The operator-owned resident daemon runs on a local machine or deliberately configured headless server, independently of its desktop/CLI/Slack clients. Rookery supplies no managed execution cloud.

  • Byo remote: The documented headless daemon supports an explicit non-loopback network bind for operator hosting.
  • Managed cloud: The complete runtime path consists of an installed operator daemon and native provider processes, without a Rookery-operated compute service.
  • Client disconnect: Daemon sessions/workers survive client disconnects; a separate client laptop can close while the operator server runs.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: hybrid, payer, resources, region, expiry, other_device_continuation.
  1. Rookery: docs/reference/settings-and-env.md

    Finding: The documented headless daemon can bind an operator-selected network host through ROOKERY_HOST with an explicit ROOKERY_ALLOW_NONLOOPBACK override. CLI, external MCP and Slack act as clients of its resident process; daemon sessions/workers survive client disconnects. An operator can deploy that headless daemon on their server; no Rookery-managed compute service is implemented.

Where agents run: In the vendor's cloud: No

Where agents run: In the vendor's cloud

Typed value: No.

The operator-owned resident daemon runs on a local machine or deliberately configured headless server, independently of its desktop/CLI/Slack clients. Rookery supplies no managed execution cloud.

  • Byo remote: The documented headless daemon supports an explicit non-loopback network bind for operator hosting.
  • Managed cloud: The complete runtime path consists of an installed operator daemon and native provider processes, without a Rookery-operated compute service.
  • Client disconnect: Daemon sessions/workers survive client disconnects; a separate client laptop can close while the operator server runs.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: hybrid, payer, resources, region, expiry, other_device_continuation.
  1. Rookery: docs/reference/settings-and-env.md

    Finding: The documented headless daemon can bind an operator-selected network host through ROOKERY_HOST with an explicit ROOKERY_ALLOW_NONLOOPBACK override. CLI, external MCP and Slack act as clients of its resident process; daemon sessions/workers survive client disconnects. An operator can deploy that headless daemon on their server; no Rookery-managed compute service is implemented.

Workspace isolation: Git worktree: Yes

Workspace isolation: Git worktree

Typed value: Yes.

Rookery workers run native agent processes in separate Git worktrees on the daemon host; they have no product-managed container or VM isolation option.

  • Checkout: Original checkout untouched by worker worktree edits.
  • Branch: rookery/id or ticket slug with collision suffix.
  • Worktree: One Git worktree per worker.
  • Container: The worker spawn/backends provide host processes and worktrees, without container provisioning.
  • Vm: The worker spawn/backends provide no VM provisioning.
  • Code separation: Each worker gets own Git working files.
  • Security boundary: Worktrees share host process/permission environment; headless default autoapproves bash/files. No VM/container sandbox claimed.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: os_sandbox, filesystem, process, network, secrets.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

Workspace isolation: Container: No

Workspace isolation: Container

Typed value: No.

Rookery workers run native agent processes in separate Git worktrees on the daemon host; they have no product-managed container or VM isolation option.

  • Container: The worker spawn/backends provide host processes and worktrees, without container provisioning.
  • Vm: The worker spawn/backends provide no VM provisioning.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: os_sandbox, filesystem, process, network, secrets.
  1. Rookery: src/core/fleet-orchestrator.ts

    Finding: Workers run native provider processes rooted in product-managed Git worktrees on the daemon host. The bounded spawn/backend paths implement no Docker/container or VM provisioning; a logical container session in session-manager.ts is a database/session grouping, not OS isolation.

Workspace isolation: VM or microVM: No

Workspace isolation: VM or microVM

Typed value: No.

Rookery workers run native agent processes in separate Git worktrees on the daemon host; they have no product-managed container or VM isolation option.

  • Container: The worker spawn/backends provide host processes and worktrees, without container provisioning.
  • Vm: The worker spawn/backends provide no VM provisioning.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: os_sandbox, filesystem, process, network, secrets.
  1. Rookery: src/core/fleet-orchestrator.ts

    Finding: Workers run native provider processes rooted in product-managed Git worktrees on the daemon host. The bounded spawn/backend paths implement no Docker/container or VM provisioning; a logical container session in session-manager.ts is a database/session grouping, not OS isolation.

Parallel runs: Yes cross-checked

Parallel runs

Typed value: Yes.

Global fleet runs parallel worktree workers without a concurrency cap.

  • Concurrent sessions: Multiple master sessions.
  • Concurrent tasks: Multiple independent workers.
  • Quotas: Pinned orchestrator has no concurrent worker cap.
  • Status visibility: Mission control tree/status/transcripts and attention bell.
  • Not established by this source pass: observed_concurrency.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery fleet implementation

    Finding: Pinned code resumes background rows as idle with empty background task set, preserves budgets/mode, supports cross-provider handoff; no worker concurrency cap. Same worker reload keeps identity/worktree.

Coordinator: Yes cross-checked

Coordinator

Typed value: Yes.

Shipped daemon orchestrator delegates inspectable Claude/Codex worktree workers.

  • Roles: Master and coding/reviewer workers.
  • Model harness effort: Choose Claude/Codex, model and effort.
  • Messages: send_worker steers/follows up; transcripts and diff tools.
  • Results return: Armed settlement notification includes last response tail.
  • Cross harness: Master/worker backend independent; cross-provider fork.
  • Orchestration owner: Rookery daemon fleet tools.
  • Activation: Natural-language master task or spawn dialog.
  • Live progress: Live worker tree/transcripts/plan cards.
  • Retained results: Worker events/messages/checkpoints in local database.
  • Followup: Master notified on child idle/error/stop; pending notices persist.
  • Invocation: spawn_worker/send_worker/list/inspect tools.
  • Not established by this source pass: authentication.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

  3. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

Native issue tracking: No

Native issue tracking

Typed value: No.

Rookery persists master/worker agent sessions and external ticket references, without an independent native issue/task record distinct from the agent session lifecycle.

  • Create: No independent native issue/task creation command/model exists in the complete schema and protocol.
  • Task session separation: The persisted work objects are the agent sessions themselves; ticket references point to external trackers.
  • Durable states: Persisted worker/session states are execution states rather than a separate issue/task lifecycle.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: edit, discuss, prioritize, label, assign, search, filter, archive, reopen, project_epic_views, idea_parking, explicit_dispatch, metadata, external_tracker_requirement.
  1. Rookery: src/persistence/db.ts

    Finding: The complete persisted/domain model contains conversations, worker agent sessions, worktrees/checkpoints, memories, repos, automations and capability settings. Worker ticket_key/ticket_url are external ticket references. There is no independent native issue/task record or lifecycle distinct from these agent sessions; provider workflow-task events remain harness session activity.

Unattended triggers: Yes cross-checked

Unattended triggers

Typed value: Yes.

Persistent daemon rules trigger master turns or worker spawns without client.

  • Schedules: Cron/interval and one-time self-wakeup.
  • Events: Slack message or worker-settled triggers.
  • Recurring tasks: Saved rules with backend/model/budget.
  • Scheduler location: Resident local daemon.
  • Overlaps: Cron skips inflight; Slack allows concurrent runs.
  • Retries: One-time wakeup rearms after crash for at-least-once delivery.
  • Client independence: Closing desktop/CLI leaves daemon scheduler working.
  • Not established by this source pass: completion_conditions.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Automation architecture

    Finding: Persisted cron/once and Slack triggers route to master or worker; cron overlap skipped, Slack concurrent, once rearmed after crash for at-least-once. Older doc omits newer budget/trigger work, checked against pinned source.

  3. Rookery automation implementation

    Finding: Automation passes costBudgetUsd/maxTurns/provider to worker/master; untrusted Slack and worker results fenced with random nonce. Codex master accepts bypassPermissions only; provider fixed at creation.

Shared prompting: Yes

Shared prompting

Typed value: Yes.

Distinct permitted Slack users can send instructions into the same persistent Rookery master thread. Each turn includes the sender identity and the master serializes its turns.

  • Coprompting: Per-user allowlist checks route distinct users in the same team/channel/thread to the same master session.
  • Ordering: The shared master session serializes its turns, as documented in the master/worker flow.
  • Attribution: The prompt prefix retains Slack sender name/ID and thread/channel context.
  • Permissions: Each Slack sender independently passes the user-ID allowlist or explicit allow-all gate.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: visibility, discussion, comments, presence, conflicts, plan_restrictions, owner_online.
  1. Rookery: src/slack/handle-incoming.ts

    Finding: Slack input independently checks each human user ID against the allowlist (or configured allow-all). Session identity is team/channel/thread, not sender ID, so distinct permitted Slack users in the same thread call the same master session. The prompt prefix retains each sender name/ID. This uses separate human Slack identities, not a shared owner token.

Team roles: No

Team roles

Typed value: No.

Rookery has capability-token control, Slack user allowlists and external MCP read-only/full-control scope, without named human workspace roles or enterprise SSO.

  • Organization roles: The source has no named human membership/role permission matrix.
  • Sso: No enterprise SAML/OIDC implementation exists in the inspected identity/runtime surface.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: project_roles, membership, provisioning, plan_scope.
  1. Rookery: src/daemon/auth.ts

    Finding: The daemon uses a local/shared capability token and Slack checks allowed human IDs. External MCP offers read-only versus full-control tool scope, without a named human membership/role permission matrix. The bounded source contains no enterprise SAML/OIDC SSO path; Slack/provider authentication is separate.

SSO: No

SSO

Typed value: No.

Rookery has capability-token control, Slack user allowlists and external MCP read-only/full-control scope, without named human workspace roles or enterprise SSO.

  • Organization roles: The source has no named human membership/role permission matrix.
  • Sso: No enterprise SAML/OIDC implementation exists in the inspected identity/runtime surface.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: project_roles, membership, provisioning, plan_scope.
  1. Rookery: src/daemon/auth.ts

    Finding: The daemon uses a local/shared capability token and Slack checks allowed human IDs. External MCP offers read-only versus full-control tool scope, without a named human membership/role permission matrix. The bounded source contains no enterprise SAML/OIDC SSO path; Slack/provider authentication is separate.

Pull request workflow: No

Pull request workflow

Typed value: No.

Product manages worktrees/branches/diffs; instructed worker uses shell for commit/push/PR.

  • Branches: Unique rookery worker branch.
  • Worktrees: Provision Git worktree per worker.
  • Commits: GitOps has no commit operation; the worker commits through its own bash only when instructed, without product commit state.
  • Pull requests: GitOps has no push/PR operation; the worker runs git/gh in its shell only when instructed, so PRs are not product-managed state.
  • Product state: Mission control shows branch/diff/checkpoints; PR body policy not established.
  • Not established by this source pass: comments, ci_response, rebase, conflicts.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

Review interface: Yes cross-checked

Review interface

Typed value: Yes.

Per-worker diffs, checkpoints, transcripts and attention queue guide review.

  • Pending reviews: Attention bell unreviewed results.
  • Change understanding: Monaco diff/file/git panels.
  • Evidence navigation: Select worker transcript/diff/checkpoints.
  • Request changes: Send worker followup.
  • Retained context: Existing worktree and worker history.
  • Not established by this source pass: comments, shipping_guidance, effort, missed_evidence, keyboard, narrow_screen, context_switching, roles.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

Product license: Apache-2.0: Yes. Apache-2.0 cross-checked

Product license: Apache-2.0

Typed value: Yes. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Product license: MIT: No. Apache-2.0 cross-checked

Product license: MIT

Typed value: No. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Product license: GPL-3.0: No. Apache-2.0 cross-checked

Product license: GPL-3.0

Typed value: No. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Product license: GPL-3.0-or-later: No. Apache-2.0 cross-checked

Product license: GPL-3.0-or-later

Typed value: No. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Product license: AGPL-3.0: No. Apache-2.0 cross-checked

Product license: AGPL-3.0

Typed value: No. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Product license: AGPL-3.0-or-later: No. Apache-2.0 cross-checked

Product license: AGPL-3.0-or-later

Typed value: No. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Product license: Elastic License 2.0: No. Apache-2.0 cross-checked

Product license: Elastic License 2.0

Typed value: No. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Product license: Custom terms: No. Apache-2.0 cross-checked

Product license: Custom terms

Typed value: No. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Product license: Proprietary: No. Apache-2.0 cross-checked

Product license: Proprietary

Typed value: No. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Self-hosting: Yes cross-checked

Self-hosting

Typed value: Yes.

Full local desktop/daemon source is self-hostable; history lives in local SQLite.

  • Self hosting: Run own full Node 22 daemon/desktop.
  • Vendor dependencies: Selected Anthropic/OpenAI provider; Slack/GitHub/Linear optional.
  • Formats: SQLite DB, memory, logs and Git worktrees under ~/.rookery.
  • Account independence: No Rookery hosted account described; model provider authentication required.
  • Not established by this source pass: export, import, cancellation, history_portability.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Data model

    Finding: Local SQLite sessions/messages/worker events/automation runs, worker checkpoints and persistent memory. No org multiuser role matrix established.

Telemetry opt-out: No

Telemetry opt-out

Typed value: No.

Task context goes to the selected provider while Rookery history/settings remain local. The source provides local token/context accounting but no documented ADE telemetry opt-out control.

  • Telemetry disclosure: No ADE analytics reporter exists in the inspected runtime; local usage accounting is not an outbound reporter.
  • Telemetry controls: The complete settings/env/CLI surface supplies no ADE telemetry opt-out switch.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: artifacts, retention, deletion, training, subprocessors, telemetry_defaults.
  1. Rookery: src/core/settings.ts

    Finding: The complete source settings/CLI contain no ADE analytics opt-out switch. result-telemetry.ts computes provider token/context usage for the local interface, and README says history, memory, tokens and logs stay local while task context goes to the chosen model provider. No ADE analytics reporter is present in the inspected runtime; provider telemetry controls are separate.

Free access: Yes cross-checked

Free access

Typed value: Yes.

Apache application is freely installable; model usage and own compute cost separately.

  • Ongoing free: No application license fee under Apache-2.0.
  • Self host cost: Own host and selected provider charges.
  • Free scenarios: Full source local daemon/desktop install; no hosted free credit assumed.
  • Not established by this source pass: trial, credits_trial, paid_only, early_access, card_required, usage_caps, paid_evaluation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

Starting price: Free: Yes. Free cross-checked

Starting price: Free

Typed value: Yes. Free.

Apache application is freely installable; model usage and own compute cost separately.

  • Ongoing free: No application license fee under Apache-2.0.
  • Self host cost: Own host and selected provider charges.
  • Free scenarios: Full source local daemon/desktop install; no hosted free credit assumed.
  • Not established by this source pass: trial, credits_trial, paid_only, early_access, card_required, usage_caps, paid_evaluation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

Starting price: Up to $20/month: No. Free cross-checked

Starting price: Up to $20/month

Typed value: No. Free.

Apache application is freely installable; model usage and own compute cost separately.

  • Ongoing free: No application license fee under Apache-2.0.
  • Self host cost: Own host and selected provider charges.
  • Free scenarios: Full source local daemon/desktop install; no hosted free credit assumed.
  • Not established by this source pass: trial, credits_trial, paid_only, early_access, card_required, usage_caps, paid_evaluation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

Starting price: $21–40/month: No. Free cross-checked

Starting price: $21–40/month

Typed value: No. Free.

Apache application is freely installable; model usage and own compute cost separately.

  • Ongoing free: No application license fee under Apache-2.0.
  • Self host cost: Own host and selected provider charges.
  • Free scenarios: Full source local daemon/desktop install; no hosted free credit assumed.
  • Not established by this source pass: trial, credits_trial, paid_only, early_access, card_required, usage_caps, paid_evaluation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

Starting price: $41–100/month: No. Free cross-checked

Starting price: $41–100/month

Typed value: No. Free.

Apache application is freely installable; model usage and own compute cost separately.

  • Ongoing free: No application license fee under Apache-2.0.
  • Self host cost: Own host and selected provider charges.
  • Free scenarios: Full source local daemon/desktop install; no hosted free credit assumed.
  • Not established by this source pass: trial, credits_trial, paid_only, early_access, card_required, usage_caps, paid_evaluation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

Starting price: Over $100/month: No. Free cross-checked

Starting price: Over $100/month

Typed value: No. Free.

Apache application is freely installable; model usage and own compute cost separately.

  • Ongoing free: No application license fee under Apache-2.0.
  • Self host cost: Own host and selected provider charges.
  • Free scenarios: Full source local daemon/desktop install; no hosted free credit assumed.
  • Not established by this source pass: trial, credits_trial, paid_only, early_access, card_required, usage_caps, paid_evaluation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

Starting price: Contact for pricing: No. Free cross-checked

Starting price: Contact for pricing

Typed value: No. Free.

Apache application is freely installable; model usage and own compute cost separately.

  • Ongoing free: No application license fee under Apache-2.0.
  • Self host cost: Own host and selected provider charges.
  • Free scenarios: Full source local daemon/desktop install; no hosted free credit assumed.
  • Not established by this source pass: trial, credits_trial, paid_only, early_access, card_required, usage_caps, paid_evaluation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

Pricing model: Free, no paid plan: Yes cross-checked

Pricing model: Free, no paid plan

Typed value: Yes.

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

  • First-party pricing pages, terms and licences read 2026-11-10; no purchase, billing or authenticated account test.
  1. CChuYong/rookery LICENSE (Apache-2.0)

    Finding: The Apache License 2.0 grants a perpetual, worldwide, no-charge, royalty-free copyright license to use and reproduce the code.

Pricing model: Free plan: No

Pricing model: Free plan

Typed value: No.

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

  • Model cost: You supply your own Anthropic or Codex API key or CLI login, so the provider bills for model usage. Rookery adds USD budget caps.
  • First-party pricing pages, terms and licences read 2026-11-10; no purchase, billing or authenticated account test.
  1. Rookery README

    Finding: Says Rookery's code is Apache-2.0 and you bring your own credentials: an Anthropic or Codex API key pasted in Settings, or existing CLI logins. It offers USD budgets per worker and mentions no paid plan.

  2. CChuYong/rookery LICENSE (Apache-2.0)

    Finding: The Apache License 2.0 grants a perpetual, worldwide, no-charge, royalty-free copyright license to use and reproduce the code.

Pricing model: Subscription: No

Pricing model: Subscription

Typed value: No.

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

  • Model cost: You supply your own Anthropic or Codex API key or CLI login, so the provider bills for model usage. Rookery adds USD budget caps.
  • First-party pricing pages, terms and licences read 2026-11-10; no purchase, billing or authenticated account test.
  1. Rookery README

    Finding: Says Rookery's code is Apache-2.0 and you bring your own credentials: an Anthropic or Codex API key pasted in Settings, or existing CLI logins. It offers USD budgets per worker and mentions no paid plan.

  2. CChuYong/rookery LICENSE (Apache-2.0)

    Finding: The Apache License 2.0 grants a perpetual, worldwide, no-charge, royalty-free copyright license to use and reproduce the code.

Pricing model: Per seat: No

Pricing model: Per seat

Typed value: No.

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

  • Model cost: You supply your own Anthropic or Codex API key or CLI login, so the provider bills for model usage. Rookery adds USD budget caps.
  • First-party pricing pages, terms and licences read 2026-11-10; no purchase, billing or authenticated account test.
  1. Rookery README

    Finding: Says Rookery's code is Apache-2.0 and you bring your own credentials: an Anthropic or Codex API key pasted in Settings, or existing CLI logins. It offers USD budgets per worker and mentions no paid plan.

  2. CChuYong/rookery LICENSE (Apache-2.0)

    Finding: The Apache License 2.0 grants a perpetual, worldwide, no-charge, royalty-free copyright license to use and reproduce the code.

Pricing model: Usage-based: No

Pricing model: Usage-based

Typed value: No.

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

  • Model cost: You supply your own Anthropic or Codex API key or CLI login, so the provider bills for model usage. Rookery adds USD budget caps.
  • First-party pricing pages, terms and licences read 2026-11-10; no purchase, billing or authenticated account test.
  1. Rookery README

    Finding: Says Rookery's code is Apache-2.0 and you bring your own credentials: an Anthropic or Codex API key pasted in Settings, or existing CLI logins. It offers USD budgets per worker and mentions no paid plan.

  2. CChuYong/rookery LICENSE (Apache-2.0)

    Finding: The Apache License 2.0 grants a perpetual, worldwide, no-charge, royalty-free copyright license to use and reproduce the code.

Pricing model: Per machine or compute: No

Pricing model: Per machine or compute

Typed value: No.

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

  • Model cost: You supply your own Anthropic or Codex API key or CLI login, so the provider bills for model usage. Rookery adds USD budget caps.
  • First-party pricing pages, terms and licences read 2026-11-10; no purchase, billing or authenticated account test.
  1. Rookery README

    Finding: Says Rookery's code is Apache-2.0 and you bring your own credentials: an Anthropic or Codex API key pasted in Settings, or existing CLI logins. It offers USD budgets per worker and mentions no paid plan.

  2. CChuYong/rookery LICENSE (Apache-2.0)

    Finding: The Apache License 2.0 grants a perpetual, worldwide, no-charge, royalty-free copyright license to use and reproduce the code.

Pricing model: Bring your own key: Yes cross-checked

Pricing model: Bring your own key

Typed value: Yes.

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

  • Model cost: You supply your own Anthropic or Codex API key or CLI login, so the provider bills for model usage. Rookery adds USD budget caps.
  • First-party pricing pages, terms and licences read 2026-11-10; no purchase, billing or authenticated account test.
  1. Rookery README

    Finding: Says Rookery's code is Apache-2.0 and you bring your own credentials: an Anthropic or Codex API key pasted in Settings, or existing CLI logins. It offers USD budgets per worker and mentions no paid plan.

Pricing model: One-time purchase: No

Pricing model: One-time purchase

Typed value: No.

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

  • Model cost: You supply your own Anthropic or Codex API key or CLI login, so the provider bills for model usage. Rookery adds USD budget caps.
  • First-party pricing pages, terms and licences read 2026-11-10; no purchase, billing or authenticated account test.
  1. Rookery README

    Finding: Says Rookery's code is Apache-2.0 and you bring your own credentials: an Anthropic or Codex API key pasted in Settings, or existing CLI logins. It offers USD budgets per worker and mentions no paid plan.

  2. CChuYong/rookery LICENSE (Apache-2.0)

    Finding: The Apache License 2.0 grants a perpetual, worldwide, no-charge, royalty-free copyright license to use and reproduce the code.

Keeps going with laptop closed: Yes

Keeps going with laptop closed

Typed value: Yes.

The operator-owned resident daemon runs on a local machine or deliberately configured headless server, independently of its desktop/CLI/Slack clients. Rookery supplies no managed execution cloud.

  • Byo remote: The documented headless daemon supports an explicit non-loopback network bind for operator hosting.
  • Managed cloud: The complete runtime path consists of an installed operator daemon and native provider processes, without a Rookery-operated compute service.
  • Client disconnect: Daemon sessions/workers survive client disconnects; a separate client laptop can close while the operator server runs.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: hybrid, payer, resources, region, expiry, other_device_continuation.
  1. Rookery: docs/reference/settings-and-env.md

    Finding: The documented headless daemon can bind an operator-selected network host through ROOKERY_HOST with an explicit ROOKERY_ALLOW_NONLOOPBACK override. CLI, external MCP and Slack act as clients of its resident process; daemon sessions/workers survive client disconnects. An operator can deploy that headless daemon on their server; no Rookery-managed compute service is implemented.

Open-source license: Yes. Apache-2.0 cross-checked

Open-source license

Typed value: Yes. Apache-2.0.

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Client license: Apache-2.0.
  • Server license: Daemon/application Apache-2.0.
  • Hosted extensions: Third-party Anthropic SDK proprietary; not relicensed by app license.
  • Source visibility: Public source.
  • Source revision: 47c63c742ee92be40ee76fc72645b82f82a0c649
  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

Any desktop app: Yes

Any desktop app

Typed value: Yes.

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Desktop os: macOS Apple Silicon DMG, Linux x64 AppImage, Windows x64 EXE.
  • Mobile apps: The complete client inventory is desktop, CLI and Slack, with no native Rookery phone application.
  • Browser: The daemon exposes protocol/control routes rather than a browser frontend; the desktop renderer depends on Electron preload.
  • Mobile browser: There is no released standalone browser client; Slack phone access is third-party.
  • Cli: Product CLI auto-starts daemon; Node 22 required for headless.
  • Task actions: Slack thread runs same persistent session and can relay worker activity.
  • Notifications: Attention bell ranks blocked questions, failure, unreviewed results.
  • Cross device continuity: Slack thread remains same daemon session across restarts; no phone app assumed.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery v0.6.0 release

    Finding: Release v0.6.0 published 2026-10-19 with macOS arm64 DMG, Linux x86_64 AppImage and Windows x64 EXE assets. Release notes describe a Slack Stop button, Claude Agent SDK and Codex CLI updates and cost-accounting fixes. Capability claims stay scoped to pinned main, not a binary test.

Any phone client: No

Any phone client

Typed value: No.

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Mobile apps: The complete client inventory is desktop, CLI and Slack, with no native Rookery phone application.
  • Browser: The daemon exposes protocol/control routes rather than a browser frontend; the desktop renderer depends on Electron preload.
  • Mobile browser: There is no released standalone browser client; Slack phone access is third-party.
  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery: docs/architecture/overview.md

    Finding: The complete thin-client inventory is native Electron desktop, CLI and embedded Slack. The daemon serves health/control/MCP and WebSocket commands; it does not serve a standalone browser frontend. The renderer depends on an Electron preload bridge and the development Vite server is not a released browser product. No native iOS/Android client is supplied; Slack mobile is a third-party client.

All public findings

Findings may summarize a source. They are not presented as verbatim statements.

rookery:ACC-01: Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

rookery:ACC-01

Rookery supplies native desktop, CLI and Slack clients for its resident daemon. The released source has no standalone browser or product-owned native phone client.

  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: editor_extensions.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery v0.6.0 release

    Finding: Release v0.6.0 published 2026-10-19 with macOS arm64 DMG, Linux x86_64 AppImage and Windows x64 EXE assets. Release notes describe a Slack Stop button, Claude Agent SDK and Codex CLI updates and cost-accounting fixes. Capability claims stay scoped to pinned main, not a binary test.

  3. Rookery: docs/architecture/overview.md

    Finding: The complete thin-client inventory is native Electron desktop, CLI and embedded Slack. The daemon serves health/control/MCP and WebSocket commands; it does not serve a standalone browser frontend. The renderer depends on an Electron preload bridge and the development Vite server is not a released browser product. No native iOS/Android client is supplied; Slack mobile is a third-party client.

rookery:ACC-02: Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

rookery:ACC-02

Claude and Codex are the only product-owned session/worker backends. Other agents may drive Rookery through external MCP, which is separate from running them as Rookery harnesses.

  • Documentation and pinned source inspection only; no hands-on scenario was run.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery: src/daemon/server.ts

    Finding: The product-owned session and worker backend registries contain only Claude and Codex. External MCP can be called by Cursor or other clients to drive Rookery workers, but it does not launch those client harnesses as Rookery agents. The registry has no user custom-agent adapter path.

rookery:ACC-03: Own provider API keys or native Claude/Codex login enable agents. cross-checked

rookery:ACC-03

Own provider API keys or native Claude/Codex login enable agents.

  • Not established by this source pass: vendor_credits, local_models, vendor_account_requirement.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

rookery:ACC-04: Bundled desktop runtime or Node 22 headless setup are documented. cross-checked

rookery:ACC-04

Bundled desktop runtime or Node 22 headless setup are documented.

  • Not established by this source pass: managed_cloud_setup, byo_vps_onboarding.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery fleet implementation

    Finding: Pinned code resumes background rows as idle with empty background task set, preserves budgets/mode, supports cross-provider handoff; no worker concurrency cap. Same worker reload keeps identity/worktree.

rookery:ACC-05: CLI and scoped external MCP drive daemon workers. cross-checked

rookery:ACC-05

CLI and scoped external MCP drive daemon workers.

  • Not established by this source pass: sdk, webhooks, stability.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

rookery:ACC-06: Trusted capability packs supply instructions/skills/MCP to scoped agents. cross-checked

rookery:ACC-06

Trusted capability packs supply instructions/skills/MCP to scoped agents.

  • Not established by this source pass: custom_tools.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

rookery:ACC-07: Electron/React desktop wraps daemon-backed mission control. cross-checked

rookery:ACC-07

Electron/React desktop wraps daemon-backed mission control.

  • Not established by this source pass: mobile_implementation, hybrids.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery desktop implementation

    Finding: Accessible desktop README features are built by Electron/Vite with React/Monaco and bundled daemon dependencies.

rookery:PLAN-01: Prompt, spawn dialog, GitHub issue or Linear ticket can initiate worker. cross-checked

rookery:PLAN-01

Prompt, spawn dialog, GitHub issue or Linear ticket can initiate worker.

  • Not established by this source pass: chat_git_triggers, authoritative_tracker, sync, supported_edits, external_roundtrips.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:PLAN-02: Plan cards and session memory retain planning conversation; no native spec approval lifecycle established.

rookery:PLAN-02

Plan cards and session memory retain planning conversation; no native spec approval lifecycle established.

  • Not established by this source pass: acceptance_criteria, editors, revisions, amendment.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

rookery:PLAN-03: Home sessions retain child worker relationships; general issue dependency enforcement unknown. cross-checked

rookery:PLAN-03

Home sessions retain child worker relationships; general issue dependency enforcement unknown.

  • Not established by this source pass: epics, blockers, readiness, enforcement, task_to_epic, workflow_constraints.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:PLAN-04: Local master memory and trusted scope-aware capability packs share context. cross-checked

rookery:PLAN-04

Local master memory and trusted scope-aware capability packs share context.

  • Not established by this source pass: project_docs, freshness.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

  3. Rookery Data model

    Finding: Local SQLite sessions/messages/worker events/automation runs, worker checkpoints and persistent memory. No org multiuser role matrix established.

rookery:PLAN-05: Trusted MCPs and repository context inform agent tasks. cross-checked

rookery:PLAN-05

Trusted MCPs and repository context inform agent tasks.

  • Not established by this source pass: code_search, indexing, multimodal_inputs, citations, conflict_detection, review_enforcement.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

rookery:PLAN-06: Rookery persists master/worker agent sessions and external ticket references, without an independent native issue/task record distinct from the agent session lifecycle.

rookery:PLAN-06

Rookery persists master/worker agent sessions and external ticket references, without an independent native issue/task record distinct from the agent session lifecycle.

  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: edit, discuss, prioritize, label, assign, search, filter, archive, reopen, project_epic_views, idea_parking, explicit_dispatch, metadata, external_tracker_requirement.
  1. Rookery: src/persistence/db.ts

    Finding: The complete persisted/domain model contains conversations, worker agent sessions, worktrees/checkpoints, memories, repos, automations and capability settings. Worker ticket_key/ticket_url are external ticket references. There is no independent native issue/task record or lifecycle distinct from these agent sessions; provider workflow-task events remain harness session activity.

rookery:COORD-01: Global fleet runs parallel worktree workers without a concurrency cap. cross-checked

rookery:COORD-01

Global fleet runs parallel worktree workers without a concurrency cap.

  • Not established by this source pass: observed_concurrency.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery fleet implementation

    Finding: Pinned code resumes background rows as idle with empty background task set, preserves budgets/mode, supports cross-provider handoff; no worker concurrency cap. Same worker reload keeps identity/worktree.

rookery:COORD-02: Master or human dispatches workers and routes followups. cross-checked

rookery:COORD-02

Master or human dispatches workers and routes followups.

  • Not established by this source pass: claims, duplicate_prevention, ownership_enforcement.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:COORD-03: Shipped daemon orchestrator delegates inspectable Claude/Codex worktree workers. cross-checked

rookery:COORD-03

Shipped daemon orchestrator delegates inspectable Claude/Codex worktree workers.

  • Not established by this source pass: authentication.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

  3. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

rookery:COORD-04: Persistent daemon rules trigger master turns or worker spawns without client. cross-checked

rookery:COORD-04

Persistent daemon rules trigger master turns or worker spawns without client.

  • Not established by this source pass: completion_conditions.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Automation architecture

    Finding: Persisted cron/once and Slack triggers route to master or worker; cron overlap skipped, Slack concurrent, once rearmed after crash for at-least-once. Older doc omits newer budget/trigger work, checked against pinned source.

  3. Rookery automation implementation

    Finding: Automation passes costBudgetUsd/maxTurns/provider to worker/master; untrusted Slack and worker results fenced with random nonce. Codex master accepts bypassPermissions only; provider fixed at creation.

rookery:COORD-05: Messages queue at turn boundaries; interrupt/stop and ranked attention support intervention. cross-checked

rookery:COORD-05

Messages queue at turn boundaries; interrupt/stop and ranked attention support intervention.

  • Not established by this source pass: pause, escalation, visible_errors, chat_terminal_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

  3. Rookery fleet implementation

    Finding: Pinned code resumes background rows as idle with empty background task set, preserves budgets/mode, supports cross-provider handoff; no worker concurrency cap. Same worker reload keeps identity/worktree.

rookery:COORD-06: Mission control presents master sessions and global live worker fleet. cross-checked

rookery:COORD-06

Mission control presents master sessions and global live worker fleet.

  • Not established by this source pass: fleet_fixture, dependencies, navigation_errors, fixture_mode.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:COORD-07: Single session, worker fleet or automation supports natural-language custom orchestration. cross-checked

rookery:COORD-07

Single session, worker fleet or automation supports natural-language custom orchestration.

  • Not established by this source pass: growing_epic, discoverability, auth_friction.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

rookery:RUN-01: The operator-owned resident daemon runs on a local machine or deliberately configured headless server, independently of its desktop/CLI/Slack clients. Rookery supplies no managed execution cloud.

rookery:RUN-01

The operator-owned resident daemon runs on a local machine or deliberately configured headless server, independently of its desktop/CLI/Slack clients. Rookery supplies no managed execution cloud.

  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: hybrid, payer, resources, region, expiry, other_device_continuation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

  3. Rookery: docs/reference/settings-and-env.md

    Finding: The documented headless daemon can bind an operator-selected network host through ROOKERY_HOST with an explicit ROOKERY_ALLOW_NONLOOPBACK override. CLI, external MCP and Slack act as clients of its resident process; daemon sessions/workers survive client disconnects. An operator can deploy that headless daemon on their server; no Rookery-managed compute service is implemented.

rookery:RUN-02: Rookery workers run native agent processes in separate Git worktrees on the daemon host; they have no product-managed container or VM isolation option.

rookery:RUN-02

Rookery workers run native agent processes in separate Git worktrees on the daemon host; they have no product-managed container or VM isolation option.

  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: os_sandbox, filesystem, process, network, secrets.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

  3. Rookery: src/core/fleet-orchestrator.ts

    Finding: Workers run native provider processes rooted in product-managed Git worktrees on the daemon host. The bounded spawn/backend paths implement no Docker/container or VM provisioning; a logical container session in session-manager.ts is a database/session grouping, not OS isolation.

rookery:RUN-03: Daemon restart reconstructs resumable workers only if session handle and worktree survive. cross-checked

rookery:RUN-03

Daemon restart reconstructs resumable workers only if session handle and worktree survive.

  • Not established by this source pass: worker_crash, expiry, process_reconnect, duplicate_actions, multi_day_continuity.
  1. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

  2. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

  3. Rookery fleet implementation

    Finding: Pinned code resumes background rows as idle with empty background task set, preserves budgets/mode, supports cross-provider handoff; no worker concurrency cap. Same worker reload keeps identity/worktree.

rookery:RUN-04: Bundled runtime and scoped secret/environment setup support local execution.

rookery:RUN-04

Bundled runtime and scoped secret/environment setup support local execution.

  • Not established by this source pass: caches, snapshots, ports, duplicate_installs, automatic_repair.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

rookery:RUN-05: Worker USD budgets and Claude per-send turn caps stop at observed turn results.

rookery:RUN-05

Worker USD budgets and Claude per-send turn caps stop at observed turn results.

  • Not established by this source pass: time_limits, token_limits, timeouts.
  1. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

  2. Rookery worker budget and recovery

    Finding: Worker checks per-send turn count, lifetime USD budget and repeated aborted/errored turns. Codex reports one subturn so maxTurns>1 does not cap Codex; cost budget is its runaway guard. Stops at observed result boundary, not hard prepaid guarantee.

  3. Rookery automation implementation

    Finding: Automation passes costBudgetUsd/maxTurns/provider to worker/master; untrusted Slack and worker results fenced with random nonce. Codex master accepts bypassPermissions only; provider fixed at creation.

rookery:RUN-06: Worker states, transcripts and budget/loop notices expose progress and failure.

rookery:RUN-06

Worker states, transcripts and budget/loop notices expose progress and failure.

  • Not established by this source pass: traces, usage_export, task_stats, project_stats, approval_status, performance_method, responsiveness.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

  3. Rookery worker budget and recovery

    Finding: Worker checks per-send turn count, lifetime USD budget and repeated aborted/errored turns. Codex reports one subturn so maxTurns>1 does not cap Codex; cost budget is its runaway guard. Stops at observed result boundary, not hard prepaid guarantee.

rookery:RUN-07: Local usage dashboard and worker cost estimates support spend visibility.

rookery:RUN-07

Local usage dashboard and worker cost estimates support spend visibility.

  • Not established by this source pass: task_cost, epic_cost, harness_aggregation, subscription_allowance, provider_reconciliation, compute_cost, export, drilldown.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

  3. Rookery worker budget and recovery

    Finding: Worker checks per-send turn count, lifetime USD budget and repeated aborted/errored turns. Codex reports one subturn so maxTurns>1 does not cap Codex; cost budget is its runaway guard. Stops at observed result boundary, not hard prepaid guarantee.

rookery:RUN-08: No fleet concurrency cap; per-worker budgets provide limited control. cross-checked

rookery:RUN-08

No fleet concurrency cap; per-worker budgets provide limited control.

  • Not established by this source pass: queues, cpu_ram, backpressure, host_awareness, check_reuse, check_deduplication, bounded_tests, fairness.
  1. Rookery worker budget and recovery

    Finding: Worker checks per-send turn count, lifetime USD budget and repeated aborted/errored turns. Codex reports one subturn so maxTurns>1 does not cap Codex; cost budget is its runaway guard. Stops at observed result boundary, not hard prepaid guarantee.

  2. Rookery fleet implementation

    Finding: Pinned code resumes background rows as idle with empty background task set, preserves budgets/mode, supports cross-provider handoff; no worker concurrency cap. Same worker reload keeps identity/worktree.

rookery:TEAM-01: Distinct permitted Slack users can send instructions into the same persistent Rookery master thread. Each turn includes the sender identity and the master serializes its turns.

rookery:TEAM-01

Distinct permitted Slack users can send instructions into the same persistent Rookery master thread. Each turn includes the sender identity and the master serializes its turns.

  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: visibility, discussion, comments, presence, conflicts, plan_restrictions, owner_online.
  1. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

  2. Rookery: src/slack/handle-incoming.ts

    Finding: Slack input independently checks each human user ID against the allowlist (or configured allow-all). Session identity is team/channel/thread, not sender ID, so distinct permitted Slack users in the same thread call the same master session. The prompt prefix retains each sender name/ID. This uses separate human Slack identities, not a shared owner token.

rookery:TEAM-02: Rookery has capability-token control, Slack user allowlists and external MCP read-only/full-control scope, without named human workspace roles or enterprise SSO.

rookery:TEAM-02

Rookery has capability-token control, Slack user allowlists and external MCP read-only/full-control scope, without named human workspace roles or enterprise SSO.

  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: project_roles, membership, provisioning, plan_scope.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

  3. Rookery: src/daemon/auth.ts

    Finding: The daemon uses a local/shared capability token and Slack checks allowed human IDs. External MCP offers read-only versus full-control tool scope, without a named human membership/role permission matrix. The bounded source contains no enterprise SAML/OIDC SSO path; Slack/provider authentication is separate.

rookery:TEAM-03: Headless defaults autoapprove tools; trusted capability digest and MCP scope are separate gates. cross-checked

rookery:TEAM-03

Headless defaults autoapprove tools; trusted capability digest and MCP scope are separate gates.

  • Not established by this source pass: command, network, secret, delivery, approver_identity, lifetime, tunnels.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery automation implementation

    Finding: Automation passes costBudgetUsd/maxTurns/provider to worker/master; untrusted Slack and worker results fenced with random nonce. Codex master accepts bypassPermissions only; provider fixed at creation.

rookery:TEAM-04: Local session/worker events and checkpoint records persist decisions and activity. cross-checked

rookery:TEAM-04

Local session/worker events and checkpoint records persist decisions and activity.

  • Not established by this source pass: approvals, edits, decisions, cross_user_persistence, export, integrity.
  1. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

  2. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

  3. Rookery Data model

    Finding: Local SQLite sessions/messages/worker events/automation runs, worker checkpoints and persistent memory. No org multiuser role matrix established.

rookery:TEAM-05: Per-worker diffs, checkpoints, transcripts and attention queue guide review. cross-checked

rookery:TEAM-05

Per-worker diffs, checkpoints, transcripts and attention queue guide review.

  • Not established by this source pass: comments, shipping_guidance, effort, missed_evidence, keyboard, narrow_screen, context_switching, roles.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:TEAM-06: Forks preserve conversation into same or different provider; colleague access itself unknown. cross-checked

rookery:TEAM-06

Forks preserve conversation into same or different provider; colleague access itself unknown.

  • Not established by this source pass: ongoing_takeover, same_task, decisions, permissions, runtime_context, owner_disconnect, ownership, attribution.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery fleet implementation

    Finding: Pinned code resumes background rows as idle with empty background task set, preserves budgets/mode, supports cross-provider handoff; no worker concurrency cap. Same worker reload keeps identity/worktree.

rookery:SHIP-01: Workspace files, diffs, transcripts and Git checkpoints remain locally. cross-checked

rookery:SHIP-01

Workspace files, diffs, transcripts and Git checkpoints remain locally.

  • Not established by this source pass: screenshots, recordings, previews, gallery, task_links, prompt_leakage.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:SHIP-02: Reviewer spawning is configurable worker-settled automation, not an enforced exact-revision ship gate. cross-checked

rookery:SHIP-02

Reviewer spawning is configurable worker-settled automation, not an enforced exact-revision ship gate.

  • Not established by this source pass: tests, lint, types, ci, spec_checks, required_checks, failure_blocking, requirement_conflicts.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:SHIP-03: Product manages worktrees/branches/diffs; instructed worker uses shell for commit/push/PR.

rookery:SHIP-03

Product manages worktrees/branches/diffs; instructed worker uses shell for commit/push/PR.

  • Not established by this source pass: comments, ci_response, rebase, conflicts.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:SHIP-04: Worker shell can run delivery commands when instructed; no separate native merge/deploy authority established. cross-checked

rookery:SHIP-04

Worker shell can run delivery commands when instructed; no separate native merge/deploy authority established.

  • Not established by this source pass: approve, merge, release, deploy, exact_revision.
  1. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:SHIP-05: Per-turn checkpoints snapshot tracked and untracked work for local restore. cross-checked

rookery:SHIP-05

Per-turn checkpoints snapshot tracked and untracked work for local restore.

  • Not established by this source pass: pr_links, build_links, deployment_links, delivery_status, revert, stale_approval_invalidation.
  1. Rookery Fleet lifecycle

    Finding: Persistent worker IDs/worktrees/branches; lazy SDK resume after daemon restart if session/worktree exist, otherwise orphaned. Stop keeps branch; discard destroys. Checkpoint restores only non-running work. GitOps does not commit/push/openPR; worker bash does when instructed.

rookery:SHIP-06: Attention queue ranks many worker results for review. cross-checked

rookery:SHIP-06

Attention queue ranks many worker results for review.

  • Not established by this source pass: grouping, risk_size_filters, artifacts, request_changes, exact_revision_approval, dependency_queues, stale_approval_invalidation, check_deduplication.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

rookery:OWN-01: Main application is Apache-2.0; proprietary provider SDK stays separately licensed. cross-checked

rookery:OWN-01

Main application is Apache-2.0; proprietary provider SDK stays separately licensed.

  • Not established by this source pass: hosted_parity.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.

  3. Rookery Third-party notice

    Finding: Third-party Anthropic SDK is separately proprietary; main app Apache-2.0 does not relicense dependency.

rookery:OWN-02: Full local desktop/daemon source is self-hostable; history lives in local SQLite. cross-checked

rookery:OWN-02

Full local desktop/daemon source is self-hostable; history lives in local SQLite.

  • Not established by this source pass: export, import, cancellation, history_portability.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Data model

    Finding: Local SQLite sessions/messages/worker events/automation runs, worker checkpoints and persistent memory. No org multiuser role matrix established.

rookery:OWN-03: Task context goes to the selected provider while Rookery history/settings remain local. The source provides local token/context accounting but no documented ADE telemetry opt-out control.

rookery:OWN-03

Task context goes to the selected provider while Rookery history/settings remain local. The source provides local token/context accounting but no documented ADE telemetry opt-out control.

  • Documentation and pinned source inspection only; no hands-on scenario was run.
  • Other atomic questions remain unestablished: artifacts, retention, deletion, training, subprocessors, telemetry_defaults.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Master and worker turns

    Finding: Master turns serialized, workers have FIFO pending followups. Worker completion notifies parent, persisted pending notification retry. Per-turn trusted capability overlays and separate generated Codex homes; live reload explicitly required for worker.

  3. Rookery Settings

    Finding: Settings stored locally, secret getters write-only; binds127.0.0.1 default, warns for plaintext token on remote bind. Slack allowlist fail-closed; API-key fallback to native CLI OAuth.

  4. Rookery: src/core/settings.ts

    Finding: The complete source settings/CLI contain no ADE analytics opt-out switch. result-telemetry.ts computes provider token/context usage for the local interface, and README says history, memory, tokens and logs stay local while task context goes to the chosen model provider. No ADE analytics reporter is present in the inspected runtime; provider telemetry controls are separate.

rookery:OWN-04: Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage. cross-checked

rookery:OWN-04

Rookery is Apache-2.0 open source with no paid plan published; you bring your own Anthropic/Codex API keys or CLI logins, and those providers bill for usage.

  • First-party pricing pages, terms and licences read 2026-11-10; no purchase, billing or authenticated account test.
  1. Rookery README

    Finding: Says Rookery's code is Apache-2.0 and you bring your own credentials: an Anthropic or Codex API key pasted in Settings, or existing CLI logins. It offers USD budgets per worker and mentions no paid plan.

  2. CChuYong/rookery LICENSE (Apache-2.0)

    Finding: The Apache License 2.0 grants a perpetual, worldwide, no-charge, royalty-free copyright license to use and reproduce the code.

rookery:OWN-06: Public desktop installers and source are available; v0.6.0 released October 19.

rookery:OWN-06

Public desktop installers and source are available; v0.6.0 released October 19.

  • Not established by this source pass: response_commitments, status_history, deprecation, export_options.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery v0.6.0 release

    Finding: Release v0.6.0 published 2026-10-19 with macOS arm64 DMG, Linux x86_64 AppImage and Windows x64 EXE assets. Release notes describe a Slack Stop button, Claude Agent SDK and Codex CLI updates and cost-accounting fixes. Capability claims stay scoped to pinned main, not a binary test.

rookery:OWN-08: Apache application is freely installable; model usage and own compute cost separately. cross-checked

rookery:OWN-08

Apache application is freely installable; model usage and own compute cost separately.

  • Not established by this source pass: trial, credits_trial, paid_only, early_access, card_required, usage_caps, paid_evaluation.
  1. Rookery README

    Finding: Local resident daemon with master/worker orchestration, isolated Git worktrees, native desktop/CLI/Slack, Claude/Codex selectable per surface. Capability packs with digest trust; automation, attention bell and local usage. Own native CLI login/API keys. App source Apache2; provider SDK separate.

  2. Rookery Application license

    Finding: Application source licensed Apache-2.0.