Squire

io.github.reidgoodbarPublished by GitHub account reidgoodbarv0.6.5Updated Oct 27, 2026

CLI-first remote runtimes for validation and offload tasks, exposed over MCP stdio.

VerifiedSTDIODesktop onlyFiles & StorageDeveloper Tools

Overview

AI-generated overview

Squire is a local execution and verification layer for coding agents that replays proven read-only repository commands and keeps workspace checks verified.

What you can do
  • Speed up read-only repository commands: git metadata, status, ls-files, diff and bounded log history are replayed from proven observations instead of re-run.
  • Read and search files: bounded cat, sed, head, tail, nl, file, fixed-string grep/rg and tight ls forms.
  • Inspect the environment: version probes, which, safe printenv, whoami, id, hostname and uname.
  • Compose read-only pipelines over supported sources and filters, returning exact stdout, stderr and exit status.
  • Run declared tests, lint, typechecks and builds in the background and mark results stale when relevant inputs change.
  • Inspect repository and runtime state, and explain how a given command would be handled.
When to use it
Useful when a coding agent spends a lot of time on repeated read-only repository commands and you want faster, verifiable results plus continuous background verification of declared checks. It is aimed at macOS and Linux hosts running Codex-style agent workflows.
Requirements
Runs as a local process on macOS or Linux on amd64 or arm64; the installer places binaries in ~/.local/bin. Optional SQUIRE_TOKEN for a session or headless token, and optional SQUIRE_API_BASE_URL to override the default API endpoint; anonymous access is supported without a token. Desktop only, no web executable.
Before you install
Repository-provided check commands run in the background once you trust their exact hash, and any config change revokes that trust, so review the checks file before trusting it. The optional SQUIRE_TOKEN is a credential and should be kept out of shared configuration. Mutating commands, builds, installs and unsupported syntax fall back to native execution rather than being blocked.

Installation

In SourceWeft

  1. Open Squire in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Squire

Squire is a transparent local execution and verification layer for coding agents. It keeps common repository reads hot and continuously maintains whether the current declared workspace state is verified.

The agent keeps using ordinary terminal commands. Before Codex starts a local read-only command, Squire checks current state and either replays a proven mmap observation or executes a small bounded operation over hash-verified current file bytes. A valid hit returns the exact stdout, stderr, and exit status. Every miss follows Codex's original native execution path.

Install

sh
curl -fsSL https://raw.githubusercontent.com/reidgoodbar/squire/main/install.sh | bash

The installer verifies matching Squire and Squire-Codex release archives and installs the driver, Codex runtime helper, and host-native Squire runtime to ~/.local/bin. It does not change Codex authentication or configuration. Supported hosts are macOS and Linux on amd64 or arm64.

Check the installation:

sh
squire doctor

doctor exits nonzero when any required driver, helper, runtime, or ABI component is missing.

Use

Start from any directory:

sh
squire codex

That is the complete user path. There is no setup command, global shell shim, prompt change, MCP tool, preload injection, or VM provisioning step. If Codex moves into a repository later, Squire discovers and prepares that repository from the command's actual cwd.

squire-codex is also installed as a direct convenience command.

Inspect the current repository and runtime:

sh
squire statussquire status --jsonsquire explain -- git status --short

Continuous Verification

Squire Green runs declared tests, lint, typechecks, and builds natively in the background after repository edits settle. Each result is bound to the exact declared input bytes, check configuration, environment, and executable. A later relevant edit makes that result stale; unrelated edits do not.

toml
# .squire/checks.toml[[check]]name = "tests"command = ["go", "test", "./..."]inputs = ["**/*.go", "go.mod", "go.sum"]timeout = "10m"

Repository-provided commands never run silently on first use. Review the file and trust its exact hash once:

sh
squire green trustsquire verify

Any config change revokes trust. squire codex then schedules trusted checks automatically; no second daemon or warm command is required. See docs/GREEN.md for configuration and proof semantics.

What It Accelerates

Production lanes are bounded but cover the common read-only command surface:

  • Git metadata: supported git rev-parse forms and branch discovery.
  • Repository reads: supported git status, git ls-files, and git diff forms, including path-scoped diffs and git diff --check, plus bounded git log -N --oneline -- <literal paths> history.
  • File and search reads: bounded cat, ordered single- or multi-range sed -n, head, tail, nl -ba, file, fixed-string grep/rg, demand-prepared bounded repository rg searches, and tight ls forms.
  • Environment discovery: supported version probes, which/command -v, safe printenv, whoami, id, hostname, and uname forms.
  • Compositions: complete read-only plans over supported sources and filters, including pipes, sequences, redirection to /dev/null, head, tail, bounded sed -n, grep -F, wc -l, and sort.

No operation is removed. Builds, tests, edits, installs, mutating Git commands, expansions, unknown shell syntax, sensitive probes, and unsupported variants immediately follow Codex's unchanged native path. A safe cold miss does the same while requesting exact preparation in the background. rg --files remains outside the bounded preparation policy and follows the native path.

Supported commands compile into typed bounded plans rather than exact command templates. Source proof and execution are separate: one proven file snapshot can serve different line selections, filters, and compositions without a cache entry for each command string. The same plan representation is implemented by the Go engine and native runtime, keeping future read operators additive while differential tests enforce parity at the ABI boundary.

Why Hits Are Current

Squire caches observations, not authority. A foreground replay either recomputes the inputs that can affect that command or reuses a cryptographic fingerprint while a complete kqueue/inotify guard reports no dependency change. The prepared epoch must still match. Proof inputs include the normalized command and cwd, Git refs/index/config and external behavior files, relevant workspace state, canonical paths, content hashes, command-specific environment proof, and executable identity. Guard failure always invalidates the resident proof.

For bounded file reads, an epoch mismatch may instead use the current-file lane: Squire retains the exact bytes read while computing the foreground SHA-256 proof and applies only its fixed byte grammar to those bytes. This requires no rewarm and does not persist the file or result. The cache may still contain stale records, but they are never replayed after a proof mismatch. Missing state, corruption, unsupported syntax, an ABI mismatch, or an unprofitable proof all become native fallback.

The invalidation suite changes file bytes without changing size or mtime, mutates the Git index and untracked set, changes same-size diffs, edits Git config, commits, renames branches, changes loose and packed object namespaces, changes environment inputs, and probes outside-workspace symlinks. Returning old bytes or an unsafe hit fails the release.

See SQUIRE_CONTRACT.md for the complete invariants.

Current Runtime Check

On July 16, 2026, a 500-command randomized production-ABI run recorded 421 exact hits, 79 safe fallbacks, 468 native comparisons, zero mismatches, and zero unsafe hits. Hit p50/p95/p99 was 0.315/0.630/0.933ms; the same commands ran natively at 8.084/27.692/51.820ms. A separate 500-query repository-search differential had 500 exact or order-equivalent hits and zero semantic mismatches. Bounded path history was 28/28 exact at 0.333ms p50 and 0.492ms p99 versus 20.060ms native p50. All 2,048 steady calls were exact with 0.433ms wall p99. Under eight-way load, CPU p99 was 0.334ms; scheduler- contended wall p99 was 3.242ms.

Fresh live gpt-5.6-luna treatments independently replayed 2/3 Express calls (66.7%), 5/5 Flask calls (100%), and 4/5 fmt calls (80%). Every treatment passed the 50% all-terminal-call gate with valid accounting and zero diagnostic mismatches. These small live samples validate coverage, not causal whole-task wall time; model trajectories diverged before seeing tool results.

A deterministic 40-pair Codex attribution test held model responses, commands, workspace, and terminal payloads fixed. Six serial calls fell from 374.876ms to 103.600ms, saving 271.277ms (72.4%, paired 95% interval 265.630-276.540ms). Two parallel batches saved 52.6%. AB and BA orders both remained positive, while interleaved A/A and B/B intervals included zero.

Full methodology and historical tables: docs/BENCHMARKS.md.

Architecture and backend notes: docs/ADVANCED.md.

Source: README.md at commit 8a141c3

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.6.5LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.