Skip to main content
Back to the field guide

Meet Proof, Spine, and Atlas

AI Agents for Outsourced Development Teams

Proof builds an acceptance test suite you own and run independently of your outsourced dev shop, so code quality isn't taken on faith and spec drift gets caught before it ships.

Proof · QA & Testing10 min readJune 27, 2026

You signed a 16-week statement of work with an outsourced development shop, agreed on a blended rate, and now every two weeks you sit through a demo call where a screen-share shows features working, with no reliable way to know whether 'working' means a passing acceptance suite or a happy path clicked once right before the call. That is the actual condition of outsourcing engineering work: you are buying labor you cannot watch get written, from a team that logs off before yours logs in, against a spec that got translated once when you wrote it and translated again when a project manager relayed it into tickets in a different office, sometimes a different language. Code quality that is hard to verify from a distance is not a vague worry, it is the reason change requests pile up after go-live. Knowledge transfer gaps are not hypothetical either: outsourced shops rotate engineers between contracts, and the two backend engineers who understood your auth model in week three are staffed onto a different client's project by week ten, leaving commits behind and no context with them. Specs get reinterpreted on each side of the handoff too, your PRD says 'idempotent retry', the implementation ticket says 'retry', and nobody catches the gap until a duplicate charge ships to a customer. None of this is solved by hiring a better vendor. It is a process gap, and the fix is to stop taking correctness on faith.

Why ChatGPT and Cursor don't close the outsourcing gap

A generalist chatbot like ChatGPT or Claude.ai can review a diff you paste in and tell you whether it looks reasonable. What it cannot do is hold the 40-page PRD in persistent memory across a 16-week engagement, run the vendor's code against a real sandbox, or independently execute a test suite and report back what actually passed. Whatever confidence it hands you is bounded by what you thought to paste, and by the time you are pasting a suspicious diff into a chat window, the spec-to-code gap already happened three sprints ago. It is a second opinion on a snippet, not a system that watches the whole engagement.

Cursor and GitHub Copilot solve a real problem, just not yours. They live inside the vendor's editor, on the vendor's laptops, making the vendor's engineers faster at writing code. That is fine for them and does nothing for you. Faster code generation on their side does not buy independent verification on your side, and there is a real argument it works against you: when autocomplete raises the volume of code a team ships per sprint, the human test-writing time per feature often goes down, not up. You are the client. You need a layer that sits on your side of the handoff, not theirs, checking what actually arrives against what you actually specified.

The spec reinterpretation problem deserves its own line because it is the quietest of the three and the most expensive. A PRD is a natural-language document, and natural language tolerates ambiguity that code cannot. When you write 'retry failed carrier calls idempotently', a domestic engineering team sitting across the hall can walk over and ask what you meant. An outsourced team six time zones away, working through a project manager who converts your PRD into tickets in a second language before an engineer ever reads it, resolves that ambiguity by guessing, and the guess becomes the implementation. Nobody notices the gap between what you meant and what got built until the behavior shows up in production, usually as a support ticket, sometimes as a refund. Closing that gap after the fact is expensive. Closing it before a single ticket is written, by turning the ambiguous sentence into an executable test case both sides can see, is not.

Own the acceptance suite, don't inherit their scorecard

Tonone's Proof is a QA and testing agent built around exactly this problem: test suites that catch bugs before users do, owned by the team asking the question, not the team being graded. For an outsourcing relationship, that means the acceptance criteria are written and executed by you, independent of whatever green checkmarks the vendor's own CI produces. Alongside Proof, two other Tonone agents matter for this specific engagement: Spine, the backend engineer, reviews delivered API code against the actual contract in your spec rather than just reading the diff for style. Atlas, the knowledge engineering agent, keeps architecture and onboarding docs current so that when a vendor engineer rotates off the account, the context they carried doesn't leave with them.

Tonone's Proof owns the acceptance suite for outsourced work, so 'it passed our tests' from a vendor is never the only signal a client has.

Write the acceptance suite before the statement of work is signed

The proof-strategy skill produces a test strategy from a PRD or feature spec: a risk map, test type decisions, coverage targets, and CI configuration. Run it before the vendor writes a line of code, not after the first sprint demo. The output maps every clause in your spec to a concrete test case, so 'idempotent retry' isn't a phrase that gets reinterpreted differently by two teams, it's case 4.3.2 in a suite both sides can see before the SOW is countersigned. Coverage targets become part of the contract, not a post-hoc argument in week twelve.

Turn PRD clauses into E2E specs that run in your CI, not theirs

proof-e2e builds the actual end-to-end test specs for the critical journeys in your product, Playwright or Cypress, page objects, setup and teardown, CI configuration included. The critical detail for outsourced work: this suite lives in your infrastructure, running against a sandbox or staging environment you control, not folded into the vendor's own repository where it can be edited, skipped, or quietly loosened under sprint pressure. When a delivery lands, the pass or fail signal comes from a system you run, not a screenshot the vendor sends over.

Audit the vendor's own test suite for shortcuts

Vendor-authored tests are not automatically worthless, but they are worth auditing, because sprint pressure produces predictable shortcuts: tests that assert against a mocked response instead of a real endpoint, tests that were disabled and never re-enabled, tests that pass because they assert almost nothing. proof-audit inventories a delivered test suite for exactly this: flaky tests, slow tests, coverage gaps, and testing anti-patterns. Running it against every sprint delivery turns 'our tests are green' from an unverifiable claim into a number you can check, and disagree with, before merge.

Review delivered code against the contract, not just the diff

Test coverage catches behavior gaps; it doesn't always catch contract gaps. Tonone's Spine, the backend engineer, runs spine-review against delivered API code, checking REST conventions, auth handling, validation, error handling, pagination, rate limiting, and test coverage against the actual API design, not against a generic style guide. For an outsourced rebuild, this is where idempotency key handling, auth token scoping, and error code consistency get checked against what the spec actually said, catching the class of bug that passes every functional test and still causes a duplicate charge in production.

Keep the context when engineers rotate off the account

Outsourced shops staff engineers across multiple client contracts, and rotation is the norm, not the exception. When the engineer who owned your payments integration gets reassigned in week eight, the knowledge they carried needs to already be written down, not reconstructed from Slack history after they're gone. Tonone's Atlas runs atlas-onboard to generate onboarding documentation directly from the current codebase state: what the project does, how it's set up, where things live, and the key decisions behind it, written for someone who knows nothing about this specific account on day one. That document exists before the rotation happens, not as a scramble after it.

atlas-onboard turns codebase state into onboarding docs, so an outsourced engineer's departure doesn't erase the context they carried.

A worked example: TrackHive rebuilds its carrier-rate API

TrackHive, a 14-person logistics SaaS company, signs a 16-week, $260,000 statement of work with Vertex Dev, an 8-engineer outsourced shop, to rebuild its carrier-rate API across 12 carrier integrations, blended rate $92 an hour. Before the SOW is countersigned, TrackHive runs proof-strategy against its own PRD and produces 340 acceptance test cases mapped to specific PRD clauses across the 12 carriers. Roughly half of those cases become executable specs via proof-e2e, running in TrackHive's own CI against a carrier sandbox, independent of Vertex Dev's repository.

At week eight, two of Vertex Dev's eight engineers rotate off the account, including the one who owned the FedEx integration. Because atlas-onboard had already generated onboarding docs from the shared codebase state, the incoming engineer picks up the integration without weeks of Slack archaeology. At the sprint 8 delivery, TrackHive's independent acceptance run and a proof-audit pass over Vertex Dev's own delivered test suite surface a gap that would otherwise have shipped clean:

text
Proof Acceptance Gate, TrackHive Carrier API Rebuild (Sprint 8 delivery)
Vendor: Vertex Dev (8 eng, Krakow), Contract: 16wk / $92/hr blended

----------------------------------------------------------------------
Acceptance suite: 340 cases mapped to PRD clauses (12 carriers)
Vendor-delivered PR: sprint-8-fedex-rate-endpoint

Vendor's own suite:  118 / 140 pass
proof-audit flag:     22 / 140 assert against a mocked carrier
                      response, never call the real sandbox
                      -> true integration coverage: 61%, not 100%
                         as the vendor's dashboard reported

TrackHive's independent proof-e2e run (own CI, own sandbox):
  FedEx rate lookup              42/42 pass
  FedEx idempotent retry          6/8  FAIL (duplicate charge on
                                        2 of 8 retry cases)
  FedEx rate cache invalidation    9/9  pass

spine-review finding:
  Retry handler reuses one request ID across all carrier calls;
  PRD section 4.3 requires a per-call UUID. 2 of 4 idempotency
  paths non-compliant with the contract.

Verdict: BLOCK merge. Returned to Vertex Dev with the acceptance
failures and the contract citation attached.
Est. cost avoided: duplicate-charge bug caught pre-production
(TrackHive's prior invoicing rebuild had a similar bug reach
production and cost roughly $40k in refunds and support time).

The fix takes Vertex Dev two days once the acceptance failure and the specific PRD citation are in front of them, a per-call UUID instead of a reused request ID. TrackHive ships in week 17, one week past the original date, with the retry bug caught in staging instead of discovered by a customer disputing a duplicate charge. None of this required TrackHive to hire a second engineering team to shadow Vertex Dev. It required an acceptance suite TrackHive owned before the contract was signed, an audit pass on the vendor's own green checkmarks, a contract-level code review, and onboarding docs that survived a mid-contract rotation.

The same loop repeats at every sprint delivery for the rest of the 16-week engagement, not just the one that happened to surface a bug worth writing up. Each delivery gets the same three passes: the independent acceptance run against TrackHive's own CI, a proof-audit check on whatever tests Vertex Dev shipped alongside the code, and a spine-review pass on anything touching the API contract. By week 16, TrackHive has a written history of every acceptance failure caught pre-merge across all 12 carrier integrations, which becomes the actual quality record of the engagement, not the vendor's self-reported sprint velocity chart. That record is also what makes the next renewal conversation with Vertex Dev, or the next vendor entirely, a negotiation grounded in evidence instead of a gut feeling about how the relationship felt.

Proof vs the alternatives

None of this is what a generalist chatbot or an editor autocomplete tool is built to do, and the gap is sharpest exactly where outsourcing risk concentrates: independent verification, contract-level review, and knowledge continuity across rotation.

CapabilityTononeGeneralist chatbotCursor / Copilot
Acceptance suite independent of vendor's own test claimsYes, proof-strategy and proof-e2e build a suite owned and run by the client, mapped to PRD clausesNo, can review a pasted diff but can't own or execute a persistent suiteNo, Cursor and Copilot run inside the vendor's editor, not the client's oversight layer
Detects mocked or flaky tests inflating a vendor's coverage claimsYes, proof-audit flags tests asserting against mocks instead of real endpointsNo, no visibility into CI runs or actual test executionNo, autocomplete tool, not a test health auditor
API contract review against the spec, not just the diffYes, spine-review checks auth, idempotency, and error handling against the actual API designLimited, only if you manually paste both the PRD and the diffNo, suggests completions, doesn't audit contract compliance
Onboarding docs that survive vendor engineer rotationYes, atlas-onboard generates onboarding docs from actual codebase stateNo, no persistent project memory across a multi-month engagementNo, no documentation generation
Runs in the client's own CI, independent of the vendor's repoYes, the acceptance suite lives in client infrastructure by designNo, has no CI or execution environment at allNo, editor-embedded, tied to the vendor's local setup

spine-review checks vendor-delivered API code against the contract in the spec, catching idempotency and auth gaps before they reach production.

Before you countersign a statement of work with an outsourced dev shop, run proof-strategy against your own PRD and stand up the acceptance suite in your own CI before the first sprint starts. Every sprint delivery after that gets measured against a scorecard you own, not a screenshot the vendor sends over.

Install and try

Tonone is free and MIT-licensed. Install it once and all agents, including Proof, Spine, and Atlas, are available in your Claude Code session. You pay only for the Claude Code token usage during the work itself.

1. Add to marketplace

$ claude plugin marketplace add tonone-ai/tonone

2. Install Proof

$ claude plugin install proof@tonone-ai

Frequently asked questions

How do you verify code quality from an outsourced development team you can't watch write code?+

Tonone's Proof builds an acceptance test suite that the client owns and runs in its own CI, independent of whatever the vendor's own test results claim. Every sprint delivery is measured against this suite before merge, not against a vendor-reported pass rate.

What is proof-audit and how does it help with outsourced vendors?+

proof-audit inventories a delivered test suite for flaky tests, mocked assertions, coverage gaps, and testing anti-patterns. Against outsourced deliveries, it catches the common shortcut of tests that assert against a mock instead of a real endpoint, which makes coverage look complete when it isn't.

How do you handle knowledge transfer when outsourced engineers rotate off a project?+

Tonone's Atlas runs atlas-onboard to generate onboarding documentation directly from the current codebase state before a rotation happens, covering setup, architecture, and key decisions, so an incoming engineer doesn't need weeks of Slack archaeology to get up to speed.

Can AI review outsourced API code against the actual spec, not just code style?+

Yes. Tonone's Spine runs spine-review against delivered API code, checking auth handling, idempotency, validation, and error handling against the API contract in the spec, catching the class of bug that passes functional tests but violates the actual agreed-upon behavior.

When should an acceptance test suite be built for an outsourced engagement?+

Before the statement of work is signed. Tonone's proof-strategy skill maps every clause in the PRD to a concrete test case up front, so acceptance criteria are part of the contract both sides can see, not a post-hoc argument raised after the first sprint demo.

Is Tonone free to use for managing outsourced development?+

Yes. Tonone is MIT-licensed and free to install. You pay only for Claude Code token usage during the actual work, including running Proof, Spine, and Atlas against outsourced deliveries.

What is the difference between a vendor's own test suite and Proof's acceptance suite?+

A vendor's own test suite lives in their repository and can be edited, loosened, or shortcut under sprint pressure with no visibility to the client. Proof's acceptance suite, built with proof-strategy and proof-e2e, lives in the client's own CI and sandbox, so the pass/fail signal is independent of the vendor.

How do you catch spec reinterpretation between a client and an outsourced dev shop?+

Mapping every PRD clause to a specific, executable acceptance test case with proof-strategy closes most of the gap, because a phrase like idempotent retry becomes a concrete test both sides can see, rather than something reinterpreted separately by the client and the vendor's project manager.

Pairs well with