Skip to main content

SightMesh

Experimental. SightMesh is usable for local evaluation, not yet a reliability claim. The current proof gate is several weeks of durable manager wake and acknowledged-delivery operation under real load. Until that evidence exists, active promotion is deliberately on hold.

SightMesh routes work across Claude and Codex accounts you own, launches full agents as visible and interruptible cdesktop sessions, isolates implementation work in Git worktrees, and preserves the native state needed to inspect or recover work.

The proven wedge is deliberately small:

  • ordered, quota-aware selection among accounts the operator owns and logged into normally;
  • visible Claude Code and Codex sessions that a human can inspect or interrupt;
  • isolated worktrees with explicit local ownership;
  • recovery through Git, cdesktop transcripts and durable commands, and workspace-local .context handoffs.

See execution routing, compatibility, operations, the trace-efficiency audit, and the source-derived competitive bake-off for tested versions, limitations, and alternatives.

SightMesh does not extract or replay credentials, bypass provider limits, make arbitrary local commands safe, or promise unattended recovery. See Security and Architecture.

Pool-only quickstart

The credential pool works without installing or running the cdesktop fleet. It requires macOS, Python 3.11+, uv, the provider CLI you intend to use, and accounts you own.

git clone https://github.com/clarkipeng/sightmesh.git
cd sightmesh
uv tool install .

# Add one or more normally authenticated accounts.
sightmesh pool add-codex personal --mode sub
# Or, while currently logged into Claude, follow the setup-token prompt:
sightmesh pool add-claude personal-claude

sightmesh pool verify
sightmesh pool status
sightmesh pool exec codex exec "Summarize this repository"

Expected outcomes:

  • add-codex opens the provider's normal browser login in a dedicated CODEX_HOME; add-claude asks for a token minted by claude setup-token for the currently logged-in account.
  • verify makes a real request and reports whether entries are distinct and usable. Claude setup tokens and API keys do not expose live per-account quota, so their quota is reported as unknown rather than guessed.
  • status names the account currently selected for each configured provider.
  • exec prints the selected account to stderr and replaces itself with the normal provider CLI using only that account's credentials.

Pool state is local under ~/.config/agent-pool by default. Do not add accounts you do not own or use pool ordering to evade a provider limit.

Full visible fleet

The full setup additionally installs the cdesktop release and checksum recorded in the authoritative runtime lock, Repowire (0.17.0), local LaunchAgents, and shared Claude/Codex skills. The live behavior record and feature boundary are documented in Compatibility.

./scripts/bootstrap-local.sh
sightmesh doctor
sightmesh configure
sightmesh service start
sightmesh service open

Expected outcome: doctor accepts the local dependencies, service start starts loopback-only cdesktop and bridge services, and service open opens the visible cdesktop fleet.

Launch an isolated supervised worker:

sightmesh spawn --name docs-review --repo /path/to/repo \
  --base main --executor CODEX --prompt "Review the public documentation" --worktree

The command creates a cdesktop workspace and Git worktree, starts a visible agent session, records local ownership, and bridge-enables the workspace unless --no-bridge is passed. Use --unattended only as an explicit worktree-only opt-in.

Inspect and contact the fleet:

sightmesh peers
sightmesh peek @docs-review
sightmesh message @docs-review --message "Check the installation claims"
sightmesh steer @docs-review --message "Stop implementation and report findings"

message waits for the next safe turn boundary. steer sends a native replace command scoped to the selected session; on this release it does not independently guard against a pending approval or question, so inspect the target before steering.

Managed task SDK

Use semantic task keys and normal prompt strings. SightMesh owns task IDs, epochs, request hashes, leases, and command dedupe keys. cdesktop owns visible workspaces, worktrees, sessions, transcripts, and the exact-once native launch journal.

from sightmesh import Command, SightMesh, WorkerSpec

mesh = SightMesh()
mesh.start(WorkerSpec(
    key="auth-audit",
    prompt="Audit the authentication boundary and report concrete risks.",
    repo="catapult-games",
    base="main",
))

mesh.start_all([
    WorkerSpec("api-tests", "Add focused API coverage.", "catapult-games"),
    WorkerSpec("docs-check", "Verify the public setup guide.", "catapult-games"),
])
mesh.send_all([
    Command("api-tests", "Also cover duplicate wakeups."),
    Command("docs-check", "Keep examples human-readable."),
])

start is idempotent for a key in the current manager scope. start_all validates and reserves the full batch before launching its members, then returns one result or error per key. send_all validates every destination before queueing any command. A replacement gets a new session in the same task-owned worktree only after the old session is quarantined. Checkpoint content stays in that worktree under .context, addressed by its content hash; SightMesh stores only the reference. Three total launch attempts trip the circuit breaker.

Repository names resolve to the one canonical checkout even when old managed-worktree registrations share that name. For a routed managed task, the bridge recognizes a terminal subscription quota refusal, cools only that opaque account binding, and transfers the task once to the next eligible configured route. Explicit profiles are never changed automatically.

The flat CLI uses the same service:

sightmesh start auth-audit "Audit the authentication boundary" --repo catapult-games
sightmesh show auth-audit
sightmesh send auth-audit "Also inspect refresh-token rotation"
sightmesh checkpoint "Tests pass; documentation remains"
sightmesh complete --summary "Audit complete"

For batches, prefer the Python SDK. The CLI also accepts sightmesh start --batch jobs.json and sightmesh send --batch commands.json for shell workflows. Prompt files are optional, not required.

Model rules of thumb are judgment, not routing code. Terra or Luna are usually efficient worker defaults. Use a stronger model such as Sol or Opus when debugging, auditing, or planning genuinely requires it. Scope and uncertainty matter more than the role label; profiles and the configured routing chain remain the source of truth.

How ownership stays native

Claude Code / Codex
        │
        ▼
cdesktop: visible sessions, transcripts, workspaces, durable commands
        │                    │
        │                    └── Git: branches and worktrees
        └── SightMesh: intent validation, leases, pool order, recovery policy
                             │
                             └── Repowire: cross-workspace contact

SightMesh does not create a second transcript store, global context mirror, or credential broker. That keeps recovery state inspectable in the systems that already own it, but also means the experimental stack inherits their failure modes.

Documentation

Start with the documentation map. In particular:

Project status and support

The frozen subscription-first execution-routing settings and their current integration boundary are documented in execution routing. cdesktop remains the primary workspace and session UI. sightmesh pool serve is a local, recovery/compatibility view of pool health only; it is not the execution-routing UI or a replacement for cdesktop.

SightMesh is Apache-2.0 licensed and accepts focused experimental feedback. It currently supports the tested macOS/Python combinations in Compatibility; there is no SLA or production support commitment. Read SUPPORT.md, CONTRIBUTING.md, and SECURITY.md before opening a report.

Download files

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

Source Distribution

sightmesh-0.13.1.tar.gz (379.2 kB view details)

Uploaded Source

Built Distribution

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

sightmesh-0.13.1-py3-none-any.whl (230.8 kB view details)

Uploaded Python 3

File details

Details for the file sightmesh-0.13.1.tar.gz.

File metadata

  • Download URL: sightmesh-0.13.1.tar.gz
  • Upload date:
  • Size: 379.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for sightmesh-0.13.1.tar.gz
Algorithm Hash digest
SHA256 84640cb2f80e0b878871e5c6a8f2268e50b547b495feb82fe9b11dd33f65e772
MD5 51e48602ea06a165f685775ec9ce92ff
BLAKE2b-256 0d247d015e554e01839dbd37e76cd7d78a4f2f85c31edfc79512b642b1a22603

See more details on using hashes here.

File details

Details for the file sightmesh-0.13.1-py3-none-any.whl.

File metadata

  • Download URL: sightmesh-0.13.1-py3-none-any.whl
  • Upload date:
  • Size: 230.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for sightmesh-0.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1d81e39715d1bf0be3d0632dfda1c94054c8ef28fbb3b2e1db663c18128b1646
MD5 402f0f4e04e7ce459ea1dca480605f11
BLAKE2b-256 4155a03d1d6b4b1c957c85e4fe50b8b20863a757f37135ac5f2fcea850e33429

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.13.1 This release

2 files

0.13.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page