Shipping vs Experimenting vs None
What's the difference between shipping and experimenting with AI?
Shipping means AI is live in production; experimenting means AI is present but inward-facing. Bassethound draws the line at the machine-facing endpoint: if an MCP server, a technical llms.txt, or a .well-known AI file is exposed, or three or more distinct signal groups fire, the verdict is shipping. One or two signals with no exposed endpoint reads as experimenting, and zero signals reads as none.
Best move: count the AI signal groups that fire, then check whether any of them point outward to machines.
Why it works: experimenting leaves inward-facing traces (an SDK, a framework). Shipping either stacks several of those or exposes an endpoint built for machines to consume, and that exposure is a deliberate act you can read from outside.
Key takeaways
- Shipping requires either an exposed machine-facing endpoint (an MCP server, a technical llms.txt, or a .well-known AI file) or three or more distinct AI signal groups firing together.
- Experimenting means at least one signal group fires, no endpoint is exposed, and fewer than three groups hit, so the AI is inward-facing.
- None means the crawl surfaced zero AI signals across every group.
- The ai_readiness score is the count of distinct signal groups hit divided by six and capped at 1.0, so the verdict and the score move together but are not the same number.
- A machine-facing endpoint outranks raw signal count because publishing MCP, a technical llms.txt, or .well-known AI files is a decision to serve machines, not an internal experiment.
What counts as a machine-facing endpoint?
Three things: an MCP endpoint, a technical llms.txt, and a .well-known AI file. Each is a surface a company builds so machines, not people, can consume it.
MCP endpoints expose tools and resources over the Model Context Protocol. If a domain answers at an MCP route, someone wired their product to be called by agents. That is production intent.
llms.txt splits two ways, and Bassethound classifies it as standard or technical. A standard llms.txt is a curated map that points language models at your docs. A technical one goes further, describing live endpoints or machine actions. The technical variant counts as machine-facing. The standard one is a softer signal.
.well-known AI files are the discovery layer. A file under /.well-known that advertises AI capability tells crawlers and agents where to look. Publishing one is a choice to be found by machines.
None of these appear by accident. You do not ship an MCP server or a technical llms.txt while kicking the tires. The presence of any single one flips the verdict to shipping on its own, no matter how many other groups fire, because the act of exposing it is the tell.
Why do three signal groups equal shipping?
The verdict has an OR. Endpoint present, or three-plus distinct signal groups firing. The second branch catches companies that ship real AI without publishing a machine-facing surface.
One signal is cheap. Loading an OpenAI SDK proves nothing past a prototype. Two signals suggest work in progress. Three distinct groups (say a model provider, a vector store, and an observability tool) describe a stack, not a toy. To fire three groups you need a model call, a retrieval layer, and monitoring, and you do not assemble those to run a demo.
Distinct is the operative word. Two model providers count as one group, not two. The score counts groups, not signals, so redundancy inside a category does not inflate the verdict. This is deliberate. A company running both Anthropic and OpenAI is hedging providers, not proving depth.
Three groups also correlate with the ai_readiness score crossing 0.5 (three of six). The verdict and the score are built from the same count, so a shipping-by-signals company reads at least half-ready by construction. The endpoint branch can push the verdict to shipping while the score stays lower, which is why you read both numbers.
What does experimenting look like in the wild?
Experimenting is the middle. At least one signal group fires, no machine-facing endpoint is exposed, and the count stays under three.
The common shape is a single SDK. A site loads the OpenAI or Anthropic client to power a support widget or a search box, and nothing else in the stack surfaces. The AI is real but inward-facing, aimed at the site’s own visitors rather than at other machines.
Another shape is an orchestration framework with no visible retrieval or monitoring. LangChain or LlamaIndex in the bundle says someone is building, but one framework alone does not clear the three-group bar.
Experimenting is not a criticism. It is a timestamp. It tells you a company has crossed from talking about AI to loading it, which is the moment their needs change. They will hit retrieval, then observability, then the question of whether to expose anything to agents. Catching a domain at experimenting is catching it before the stack hardens.
The honest caveat: experimenting can be an undercount. A company that ships most of its AI server-side may fire only one visible group. The verdict reflects what the crawl reached, not the ground truth of their deployment.
Can a company be shipping AI and still read as experimenting?
Yes, and this is the limit worth naming. Bassethound detects from the outside. The signals it reads are client libraries, package names, API hostnames, exposed endpoints, and well-known files. Anything that lives purely server-side or behind a full proxy does not emit those.
A company can run a serious AI system where every model call happens in a backend the crawl never touches. The front end shows a plain text box. No SDK ships to the browser, no vector-store client loads, no endpoint is exposed. The crawl fires one group or none, and the verdict reads experimenting or none while the company is, in fact, shipping.
Bassethound reports this rather than hiding it. The dossier carries gaps, the places the crawl could not reach and the signals it could not confirm. A low verdict with wide gaps is a different claim than a low verdict with full coverage. The first says “we could not see.” The second says “there was nothing to see.”
Read the gaps before you act on the verdict. Detection is a static crawl plus optional JS rendering, and it stays honest about the ceiling that architecture imposes.
How does the shipping verdict relate to the icp_signal?
Two different scores. The verdict (shipping, experimenting, none) describes AI maturity. The icp_signal (hot, warm, cold) describes fit for whoever is asking. They correlate, but they do not collapse into one number.
A shipping company tends to read hot, because a hardened AI stack usually means budget, a team, and live production needs. Experimenting tends toward warm. The company is in motion but has not committed, which is often the better moment to reach them. None reads cold on AI grounds, though a domain can be cold on AI and still matter for other reasons.
Keep them separate because fit depends on the seller. A vector-store vendor wants companies that fire a model provider and orchestration but no vector store yet, a gap in the stack. That domain might read experimenting on the verdict and hot on icp, because the missing layer is the pitch. An observability vendor reads the same stack differently.
So the verdict answers “how far along is their AI,” and the icp_signal answers “is this a lead for me.” Bassethound returns both in the AI-readiness layer of the dossier, in one keyless call, so you sort on maturity and fit at once.
Bassethound perspective
Most AI-readiness tools score by counting. Logos on a case-studies page, vendor mentions, a chatbot in the corner. That inflates every company running a wrapped API to the same tier as one running production retrieval, and it treats a press release as evidence. We draw the line somewhere a marketer cannot cross. Shipping means either three distinct groups in the live stack or a machine-facing endpoint you built on purpose. The endpoint branch is the one we will defend hardest. A company that exposes an MCP server or a technical llms.txt has decided other machines should call it, and no volume of homepage copy substitutes for that decision. It is expensive to stand up and pointless to fake. Counting signals rewards breadth. We weight the one signal that proves intent. A competitor scoring on mentions will rank a company with five AI logos above one with a single live MCP endpoint. We rank them the other way, and we will take that trade every time. The stack is the truth. The story is not.
Sources
- Model Context Protocol: https://modelcontextprotocol.io
- llms.txt proposal: https://llmstxt.org
- OpenAI platform documentation: https://platform.openai.com
- Anthropic documentation: https://docs.anthropic.com
- Pinecone documentation: https://docs.pinecone.io
Frequently asked questions
Can a company be shipping AI without an MCP server?
Yes. The verdict flips to shipping on either branch. An exposed machine-facing endpoint is one path, and three or more distinct signal groups firing together is the other. A company with a model provider, a vector store, and observability reads as shipping even with no endpoint exposed.
What makes the difference measurable from outside?
The evidence survives minification. SDK imports, vector-store client code, API hostnames, and observability hosts load into the front end, and exposed endpoints and well-known files are public by design. Bassethound reads those signatures, not the marketing copy.
Can server-side AI hide from the verdict?
Yes. A purely server-side or fully proxied system emits no client signals, so it can read as experimenting or none while shipping in reality. Bassethound reports these gaps in the dossier so a low verdict with wide gaps is not mistaken for a confirmed absence.
Why does a machine-facing endpoint outweigh signal count?
Exposing an MCP server, a technical llms.txt, or a .well-known AI file is a deliberate decision to be consumed by machines. You do not stand one up to prototype. That intent is worth more than any number of inward-facing vendor libraries.
How does the verdict map to the icp_signal?
They correlate but stay separate. Shipping tends hot, experimenting tends warm, none tends cold, but the icp_signal is scored against fit for the asker. A missing stack layer can read warm on the verdict and hot on icp.