/ first client, end to end

One client, from the first message to a catalogue that answers machines

This is the whole loop run on a client that does not exist, so that the real one is not the first. The company is fabricated, the catalogue is fabricated, the money is illustrated. What is not fabricated: the before numbers are a real site from our field run, and the after state is live at a real address you can scan yourself with the same twelve checks.

/ the client

Northline Industrial Supply

12 live parts, 3 branches (Cleveland OH, Green Bay WI, Charlotte NC), catalogue served from an ERP export, nightly CSV, read-only. Prices set per account, from account price matrix exported from the ERP.

/ before

5.1 of 10

Their site as it stood on 16 October 2026: 2 checks failed, 7 partly answered. A machine could read a sitemap and nothing else.

/ after

10.0 of 10

2 failures fixed and 7 partial answers made whole, on the same twelve checks, with the catalogue still on their side.

/ what it cost

$9,500 first month

Diagnostic $2,500 credited, gateway $1,500 a month, integration $8,000 once. From the published rate card, not from a negotiation.


/ acceptance

The same twelve checks, before and after

The acceptance test is not our opinion of the work. It is the same scanner, run against the client before we started and against the gateway when we finished.

Twelve checks: before and after
Read it as a list of what a buying agent could not get, and what it gets now. Weight is the share of the score the check carries.
checkweightbeforeafterwhat changed
A non-browser client can read the site3.0passpassHTTP 200 and readable content (3346 bytes) with no browser fingerprints
Rules for AI agents are published and permit them2.0warningpassrobots.txt names AI agents and lets them in: Amazonbot, CCBot, ClaudeBot, GPTBot, Google-Extended, OAI-SearchBot
Products are stated in machine terms2.0failpassProduct markup found on NL-ELC-CB-4MM, identifier present (NL-ELC-CB-4MM), price published (214.00)
Price and availability are machine-readable2.0failpassprice and availability are both readable by a machine on the product page
The catalogue can be queried, not only browsed2.0warningpass/.well-known/mcp.json publishes a tool interface a model can call
There is a map of what you sell1.0passpass/sitemap.xml lists 15 URLs, so product pages can be discovered
A machine description of what may be requested1.0warningpass/agents.txt describes the service to a machine (961 bytes)
llms.txt is present0.5warningpassllms.txt is present and contains real text (1146 bytes)
The site describes itself to other agents1.0warningpass/.well-known/agent-card.json declares the service to other agents
A callable API surface exists1.5warningpass/openapi.json returns a machine-readable API description
A way to authorise an agent is declared0.5passpass/.well-known/oauth-authorization-server is present, so an agent has a defined way to be authorised
Per-call payment is declared0.5warningpass/.well-known/x402 declares machine payment support
acceptance run 2026-10-16 22:48:03, same twelve checks, one scanner, two addresses

/ the agent pass

Six questions a buyer asks, and the answers

Asked over the gateway as a program with no browser, on the day of acceptance. The answers below are the answers that came back, verbatim from the run.

Do you have the 6205-2RS bearing, and how many are on hand?
1 match. First: Deep groove ball bearing 6205-2RS, 25mm bore, manufacturer number 6205-2RS, 580 on hand, list price 28.40 USD
GET /api/catalog?q=6205 -> HTTP 200
How many are at the Cleveland branch and what is the lead time?
Total 580 on hand across the branches: Cleveland OH 412, Green Bay WI 168, Charlotte NC 0. Lead time 1 working day. Availability InStock.
GET /api/stock?sku=NL-BRG-6205-2RS -> HTTP 200
What does the M12 hex bolt cost for account 2277?
68.16 USD per box of 100 on Bayline Fabrication (tier-1), against a public list price of 96.00.
GET /api/price?sku=NL-FST-HEX-M12&account=acct-2277 -> HTTP 200
And on the contract account 3305?
61.44 USD per box of 100 on Catawba Process Systems (contract), against a public list price of 96.00.
GET /api/price?sku=NL-FST-HEX-M12&account=acct-3305 -> HTTP 200
Send the batch certificate for GTIN 09506000134352, lot LOT-2026-09-A.
Batch LOT-2026-09-A of NL-BRG-6205-2RS, issued 2026-10-16, signature Ed25519:75240c8018bc274923... Verifiable against the issuer key. Claims: origin declared by the supplier, dimensional and material tests pass.
GET /api/batch/09506000134352/LOT-2026-09-A -> HTTP 200
Can I place the order through this interface?
Refused by rule. No purchase orders through this interface. No redistribution of the price file. Repeated calls to a
GET /agents.txt -> HTTP 200

/ what we need from them

The eight stages, and the list they have to hand over

Every stage says what we do, what we need from the client, and how long it takes. Nothing else is requested, and nothing is requested twice.

stagewhat we dowhat we needtime
ContactNothing. They arrive from the scan, or we open with a score we measured on their own domain.The domain, the product line, and who owns the website.1 day
Intake callThirty minutes. They describe the catalogue and where the price lives.Who the price depends on, which accounts exist, how many parts are live, which systems hold the truth.1 day
DiagnosticWe scan their public domain with the twelve checks and send the transcript.Read-only access to nothing. The scan is public.2 days
AccessThey open a read-only path to the catalogue and a staging copy of the site.A catalogue export (CSV or API), the account price matrix, the stock source, and a staging hostname we may call.3 to 5 days
Gateway buildWe stand the gateway in front of the staging catalogue and answer the six buyer questions.One named engineer on their side who can answer questions about fields; a decision on what an anonymous caller may see.10 working days
AcceptanceThe twelve checks are re-run against staging, and three real buyer questions must be answered correctly.A person on their side who says yes to the result, in writing.2 days
LiveThe gateway is published in front of production under their domain, with the log delivered to them.A DNS change or a proxy rule, and a named owner for the log.2 days
First monthWeekly call, the log reviewed, the twelve checks re-run monthly.The account list quarterly so the price tiers stay true.30 days

/ the money

What this client would pay, from the published card

A catalogue of this size starts on the standard tier. Nothing here was negotiated, and the diagnostic is credited, so the client is never paying for a conversation.

lineusdwhy
Diagnostic2,500credited in full against the first month, so it is not an extra cost
Standard gateway, 50,000 calls a month1,500the tier a catalogue of this size starts on
Integration, one-time8,000their export, their staging, their rule set, their log
First month, all in9,500diagnostic credited: 2500 + 1500 + 8000 minus the 2500 credit
Year one27,500diagnostic and integration once, the gateway for twelve months

What is real here. The client, the catalogue and the prices are made up, and the page says so everywhere. The before column is a real company from the field run, named in the raw data. The after column is a live gateway: scan it with /api/check?url=157-180-49-112.sslip.io:8099 and you get the same ten out of ten, and read the raw acceptance at loop-2026-10-16.json.