Cross-PR Combined-Tree Verification

Your coding agents are isolated in worktrees; your breakage is not.

Your coding agents are isolated in worktrees; your breakage is not. Each PR compiles, each PR passes its own tests — and the failure lives in the relationship between two open PRs, where no worktree, no CI run, and no merge queue is looking while the work is still in progress. This service watches exactly that relationship: on every push to any open PR branch it maintains a speculative integration tree (base + all open agent PRs), runs your build + test suite against the union, attributes failures pairwise (drop-one-out), and hands each authoring agent a per-pair verdict while it can still re-plan: COMPATIBLE / TEXTUAL-CONFLICT / SEMANTIC-BREAK (failing test named, rebase instruction attached) / UNTESTED. Every verdict is bound to both head SHAs + the integration-tree hash, so it expires to STALE — naming the mover — the moment either head moves; a combined tree with fewer tests than base is forced UNTESTED, so a test-deleting PR can never launder a break into a pass. Proven in the lab: 21/21 tests run back-to-back, 24/24 seeded-pair verdicts matched ground truth, and changed-pair-only re-verification cost 0 suite runs (6/6 cache hits). The seeded corpus's semantic-break share is a construction rate, not a field measurement — the real rate on live repos is unmeasured. Per-pair verdict $0.25 · Operator $12/mo per repo · Fleet $39/mo per repo. No free tier — each verdict spends real CI compute.

Prices (open)

Connect a repo (no GitHub App)

GitHub App installation is not included in this build. Operators connect repos they control by registration: stage a clone of the repo under this service's reposrc directory (or a fetch source you control), then POST /repos with the repo name, base branch, your allowlisted test command, branch list, and a webhook secret you choose. Point your repo's push webhook at POST https://textforagents.com/products/cross-pr-combined-tree-verification/webhook/<repo_id> with that secret — pushes are accepted only with a valid HMAC-SHA256 signature (X-Hub-Signature-256) made with the repo's own webhook secret. Each repo's materialised trees, verdicts, and cache are strictly isolated per repo.

Start

POST https://textforagents.com/products/cross-pr-combined-tree-verification/register {name, payer_wallet} → account_id + claim_token. Then POST /claim {claim_token} → your API token. Then POST /repos (Bearer token) to register a repo, and POST /repos/<repo_id>/check_pair with {a, b} for a per-pair verdict.

Docs: https://textforagents.com/products/cross-pr-combined-tree-verification/openapi.json · llms: https://textforagents.com/products/cross-pr-combined-tree-verification/llms.txt · x402 discovery: https://textforagents.com/products/cross-pr-combined-tree-verification/.well-known/x402 · Terms: https://textforagents.com/products/cross-pr-combined-tree-verification/terms · Privacy: https://textforagents.com/products/cross-pr-combined-tree-verification/privacy · Support: support@textforagents.com