Skip to main content

Local control plane for orchestrating Codex agent lanes over the Codex App Server.

Project description

dispatch

Local control plane for orchestrating Codex agent lanes over the Codex App Server. One authored contract per operation, projected to CLI + MCP (+ remote later) with no drift.

Quick Start

Install the CLI from PyPI:

uv tool install outfitter-dispatch
dispatch --help
dispatchd --help
dispatch doctor
dispatch up --json
dispatch down --json

From a source checkout:

uv sync
uv run dispatch --help
uv run dispatch doctor --no-app-server
uv run dispatch models --no-refresh
uv run dispatch up --json
uv run dispatch daemon status

Create an owned managed thread, send it work, and inspect the daemon:

uv run dispatch new \
  --name docs \
  --cwd /path/to/dispatch \
  --goal "Finish the docs review." \
  --text "Please summarize the current stack state."
uv run dispatch list
uv run dispatch get <dispatch-ref>
uv run dispatch tail <dispatch-ref> --limit 20
uv run dispatch daemon log --limit 10
uv run dispatch down --json

Use owned managed threads for turn-writing work. Existing desktop Codex threads can be attached as managed threads, but ADR-0005 still blocks turn-writing and history-mutating commands such as send, stop, goal set, and goal clear on attached lanes. Every managed thread has a dispatch-local ref; full Codex thread UUIDs remain accepted everywhere. Titles and @handles are mutable convenience labels, not stable identity. Metadata lifecycle actions (rename, archive, restore) can target managed refs or raw unmanaged Codex thread ids, and search can span both. Attach is metadata-only by default; use dispatch sync <selector> when you want dispatch to refresh its local indexed view of an attached thread.

new reports whether the first message was accepted by the App Server, not whether assistant work completed. Use get to inspect the latest turn state and persisted App Server errors, or watch for a bounded live event sample. Slash commands in --text are plain text; use --goal when creating a native App Server goal. Use dispatch models before pinning model or service-tier presets; Dispatch resolves aliases such as fast from the live App Server model catalog and keeps omitted model/tier values on Codex defaults.

For the operator guide, CLI/MCP examples, triggers, and plugin setup, start at docs/usage/README.md.

Start troubleshooting with dispatch doctor. It checks PATH visibility, the Codex CLI and auth footprint, daemon socket/pidfile state, registry schema/integrity, packaged skills/plugin assets, and a low-risk Codex App Server initialize smoke. If doctor reports an old registry schema, stop the daemon and run dispatch registry migrate before starting it again.

Agent And Plugin Support

This repo ships first-party skills in skills/:

The workspace-local Codex plugin bundle lives at plugins/dispatch/, with a marketplace entry in .agents/plugins/marketplace.json. Restart Codex if the plugin does not appear immediately.

Project Docs

For contributors, AGENTS.md is the canonical fieldguide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

outfitter_dispatch-0.5.0.tar.gz (171.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

outfitter_dispatch-0.5.0-py3-none-any.whl (112.2 kB view details)

Uploaded Python 3

File details

Details for the file outfitter_dispatch-0.5.0.tar.gz.

File metadata

  • Download URL: outfitter_dispatch-0.5.0.tar.gz
  • Upload date:
  • Size: 171.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for outfitter_dispatch-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f642cffca1962a0e0dea3e22da7ca86e8299ae9f293d3ad86dfc71cd2d5d9343
MD5 4588c16bbf0010ec178d859da25bc336
BLAKE2b-256 6186056e76197d0d820287634b89af32a5094c550da4934db2516f59b1585785

See more details on using hashes here.

Provenance

The following attestation bundles were made for outfitter_dispatch-0.5.0.tar.gz:

Publisher: publish.yml on outfitter-dev/dispatch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file outfitter_dispatch-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for outfitter_dispatch-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5656295ca92cc465424724ce5934d00a58964260dc56afa5700801918e41e37f
MD5 426947dcbb9e8d6e3b601b203870980e
BLAKE2b-256 7c469571fe979ff6374b02484c93cdd70e6a45c3e8b7f951aeb89ce75e994769

See more details on using hashes here.

Provenance

The following attestation bundles were made for outfitter_dispatch-0.5.0-py3-none-any.whl:

Publisher: publish.yml on outfitter-dev/dispatch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page