Squire

io.github.reidgoodbar由 GitHub 帳號 reidgoodbar 發布v0.6.5更新於 Oct 27, 2026

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

已驗證STDIO僅桌面檔案與儲存開發者工具

概覽

AI 產生的概覽

Squire 是給編碼代理使用的本機執行與驗證層,可重放已驗證的唯讀儲存庫指令,並持續維護工作區的驗證狀態。

可以做什麼
  • 加速唯讀儲存庫指令:git 中繼資料、status、ls-files、diff 及有界 log 歷史由已驗證的觀測結果重放,而非重新執行。
  • 讀取與搜尋檔案:有界的 cat、sed、head、tail、nl、file、固定字串 grep/rg 以及受限的 ls 形式。
  • 探查環境:版本探測、which、安全的 printenv、whoami、id、hostname 與 uname。
  • 在支援的來源與篩選器上組合唯讀管線,回傳精確的 stdout、stderr 與結束狀態。
  • 在背景執行宣告的測試、lint、型別檢查與建置,並在相關輸入變更時將結果標記為過期。
  • 檢視儲存庫與執行環境狀態,並說明某個指令會如何被處理。
適用情境
適用於編碼代理經常重複執行唯讀儲存庫指令、希望取得更快且可驗證的結果,並需要持續在背景驗證宣告檢查的情境。主要針對執行 Codex 類代理工作流程的 macOS 與 Linux 主機。
執行需求
以本機程序方式執行,支援 macOS 與 Linux 的 amd64 或 arm64,安裝程式會將執行檔放入 ~/.local/bin。可選用 SQUIRE_TOKEN 作為工作階段或無介面權杖,可選用 SQUIRE_API_BASE_URL 覆寫預設 API 位址;未提供權杖時支援匿名存取。僅限桌面端,沒有網頁可執行版本。
安裝前請注意
儲存庫提供的檢查指令在你信任其確切雜湊後會在背景執行,任何設定變更都會撤銷該信任,因此信任前應先審閱檢查檔案。可選的 SQUIRE_TOKEN 屬於憑證,不應寫入共用設定。變更類指令、建置、安裝及不支援的語法會退回原生執行,而不是被阻擋。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Squire,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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.

來源:README.md,提交 8a141c3

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.6.5最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。