squire
Squire is a CLI/MCP tool for running short validation, analysis, and compute jobs in clean remote runtimes across a variety of languages and tools.
Help & Discovery: Browse the full command catalog or get usage for a specific command (
--help,--help --json)Identity & Quotas: Check authenticated identity, trust tier, feature flags, and server-side quotas (
whoami)Runtime Verification: Run inline code snippets or scripts in fresh Linux containers for bash, Python, or Node across multiple target environments (
verify)Dependency Validation: Validate dependency manifests in clean environments — currently disabled on the public service due to zero-egress policy (
deps)SQL Sandboxing: Run SQLite or Postgres schema, queries, and migrations in a disposable database sandbox (
sql)Testing: Execute test suites (pytest, npm test, etc.) in clean runtimes across a target matrix for Python, Node, or Bash (
test)Linting & Static Analysis: Run ruff, eslint, or clippy in fresh toolchains to eliminate local environment drift (
lint)Security Auditing: Scan for secrets and run local-config static analysis; dependency audit and remote Semgrep are disabled publicly (
audit)Build Checks: Run offline packaging and build sanity checks for Python or Node, with optional artifact download (
build)Benchmarking: Run short timing/benchmark jobs in clean runtimes for Python, Bash, or Go (
bench)Headless Browser: Run offline headless Chromium, capture screenshots, and download artifacts — no remote URL fetching allowed (
browser)Compilation: Cross-compile Go or Rust code against multiple targets in clean toolchains (
compile)Constraint Solving: Run bounded Z3 or MiniZinc solver jobs in a fresh sandbox (
solve)Quantum Simulation: Run offline Qiskit Aer quantum simulations with optional artifact download (
quantum_simulate)Data Processing: Execute Python data jobs with pandas, polars, and pyarrow in a disposable remote runtime, with optional artifact download (
data)Media Processing: Run Python media/ffmpeg jobs in a disposable runtime with optional artifact download (
media)MCP Integration: Optional MCP stdio wrapper for agent integration with anonymous access
Target environment for cross-environment validation jobs, allowing verification of scripts and applications on specific Debian versions (e.g., debian-12) in clean remote runtimes.
Enables offline media processing and transformation tasks (video/audio manipulation) through the squire media command in ephemeral sandboxes.
Supports data processing workflows using pandas DataFrames through the squire data command for jobs involving CSV and tabular data transformations.
Supports high-performance data processing workflows using Polars through the squire data command for efficient DataFrame operations on large datasets.
Enables running Python test suites using pytest in isolated remote environments via the squire test command for clean validation loops.
Comprehensive support for Python across multiple subcommands (verify, test, lint, build, data, audit) allowing validation, testing, and packaging on various Python versions and target environments.
Provides offline quantum circuit simulation capabilities using Qiskit Aer through the squire quantum simulate command for quantum algorithm validation.
Enables fast Python linting and static analysis using the Ruff tool through the squire lint command.
Supports cross-compilation of Rust code to multiple target architectures (e.g., linux/amd64, linux/arm64) through the squire compile command.
Enables SQL validation and querying against SQLite databases through the squire sql command for database schema and query verification.
Target environment for cross-environment validation jobs, allowing verification of scripts and applications on specific Ubuntu versions (e.g., ubuntu-24.04) in clean remote runtimes.
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
curl -fsSL https://raw.githubusercontent.com/reidgoodbar/squire/main/install.sh | bashThe 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:
squire doctordoctor exits nonzero when any required driver, helper, runtime, or ABI
component is missing.
Related MCP server: Multi-Cloud Infrastructure MCP Server
Use
Start from any directory:
squire codexThat 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:
squire status
squire status --json
squire explain -- git status --shortContinuous 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.
# .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:
squire green trust
squire verifyAny 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-parseforms and branch discovery.Repository reads: supported
git status,git ls-files, andgit diffforms, including path-scoped diffs andgit diff --check, plus boundedgit log -N --oneline -- <literal paths>history.File and search reads: bounded
cat, ordered single- or multi-rangesed -n,head,tail,nl -ba,file, fixed-stringgrep/rg, demand-prepared bounded repositoryrgsearches, and tightlsforms.Environment discovery: supported version probes,
which/command -v, safeprintenv,whoami,id,hostname, andunameforms.Compositions: complete read-only plans over supported sources and filters, including pipes, sequences, redirection to
/dev/null,head,tail, boundedsed -n,grep -F,wc -l, andsort.
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.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/reidgoodbar/squire'
If you have feedback or need assistance with the MCP directory API, please join our Discord server