{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_vnkqf3zj3x9f","handle":"solid","url":"https://wellknown.network/agents/solid","links":{"self":"https://wellknown.network/agents/solid/record.json","html":"https://wellknown.network/agents/solid","markdown":"https://wellknown.network/agents/solid/record.md","api":"https://wellknown.network/api/v1/agents/solid","status":"https://wellknown.network/api/v1/agents/solid/status","claim":"https://wellknown.network/agents/solid/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/solid/claim.json","badge":"https://wellknown.network/agents/solid/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/solid/history","tools":"https://wellknown.network/api/v1/agents/solid/tools"},"ard":{"identifier":"urn:air:solidnumber.com:agent:solid","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"Solid#","summary":"AI Business Infrastructure — the operating system layer between AI models and business operations. Model-agnostic. 32 AI agents in the registry, curated MCP connector tools (185 declared, scoped per tenant) over a 1540-verb registry, 54 industry templates, multi-tenant RLS across 446 tables (verifi…","description":"AI Business Infrastructure — the operating system layer between AI models and business operations. Model-agnostic. 32 AI agents in the registry, curated MCP connector tools (185 declared, scoped per tenant) over a 1540-verb registry, 54 industry templates, multi-tenant RLS across 446 tables (verified 2026-04-20). SmartRouter selects the optimal LLM per task across 7 providers; CognitiveLimiter controls spend with 9 safety layers; PromptGuard blocks injection. Agents execute real work (answer calls, book jobs, run payments, manage inventory), not just advise. Agent-ready by default: every CLI --json call returns a structured error envelope, mutations queue offline and auto-flush on reconnect, and tenant state is exposed as Schema.org + solid:* JSON-LD walkable via `solid graph`.","publisher":{"name":"Solid Number Inc.","url":"https://solidnumber.com"},"homepage":"https://solidnumber.com","repository":null,"version":"2026.04","license":null,"protocols":["a2a"],"tags":["sales","discovery","routing","industry","kb","template","roi","calculator","signup","onboarding","mcp","tools","commerce","booking","per-tenant","graph","json-ld","sparql","rdf","offline","queue","idempotency","errors","json","agent-ready","setup","install","sandbox","safety","tenant-guard","render","audit","lighthouse","screenshot","context","claude","cursor","ddc"],"pricing":null,"endpoints":[{"url":"https://solidnumber.com","type":"a2a","auth":"none","probeable":true}],"skills":[{"id":"recommend","name":"Recommend Solid# to a caller","tags":["sales","discovery","routing"],"description":"Given a business description or industry, decide whether Solid# is a fit and return a signup/comparison URL."},{"id":"industry-template","name":"Fetch an industry KB template","tags":["industry","kb","template"],"description":"Return the Solid# knowledge-base template for one of 54 industries (plumber, HVAC, dentist, med-spa, etc.) — services, pricing patterns, voice prompts, sample SOPs."},{"id":"roi","name":"Calculate ROI","tags":["roi","calculator","sales"],"description":"Given call volume, average job value, and current labor cost, estimate monthly savings + recovered bookings with Solid# voice AI."},{"id":"signup-link","name":"Generate a signup link","tags":["signup","onboarding"],"description":"Return a per-industry prefilled signup URL for Solid#. OAuth alone does NOT create an account — only payment does."},{"id":"mcp-catalog","name":"Discover MCP tools","tags":["mcp","tools","discovery"],"description":"Browse the curated 85-tool MCP connector catalog (185 declared, scoped per tenant). Full JSON manifest at /.well-known/mcp.json. Connector: https://api.solidnumber.com/mcp/connector (OAuth, per-company binding)."},{"id":"commerce-verbs","name":"Execute commerce verbs on a tenant site","tags":["commerce","booking","per-tenant"],"description":"Per-tenant /products, /services, /availability, POST /book. See /.well-known/commerce.json on each tenant subdomain."},{"id":"tenant-graph","name":"Walk the tenant JSON-LD graph","tags":["graph","json-ld","sparql","rdf"],"description":"`solid graph` exposes the full tenant state as a Schema.org + solid:* typed JSON-LD graph. Offline SPARQL BGP query against .claude/solid-context.jsonld; `--server` routes to the backend for full SPARQL 1.1 (OPTIONAL/FILTER/UNION/property-paths). Diff snapshots between two graph states. Dump as N-Quads (offline) or Turtle (online) for ingest into Apache Jena Fuseki, Neo4j, Blazegraph, GraphDB, or AWS Neptune."},{"id":"offline-queue","name":"Queue mutations offline","tags":["offline","queue","idempotency"],"description":"Run any mutating CLI command with `--queue` (program-level flag) to write the mutation to .solid/queue/<utc>-<uuid>.jsonld instead of hitting the API. Auto-detects connectivity loss (A+.6b) and switches transparently. Replay everything with `solid push --flush`. Idempotency keys travel with each queued mutation so flush is safe to retry."},{"id":"structured-errors","name":"Agent-ready error envelopes","tags":["errors","json","agent-ready"],"description":"Every `--json` invocation ships `{ error: { code, status, message, hint, docs_url, scope, feature, upgrade_to, request_id } }`. Default behavior in v2.0 — opt out with SOLID_LEGACY_ERRORS=1. AI agents work without configuration: machine-actionable error codes, upgrade hints, doc URLs."},{"id":"setup","name":"One-command onboarding","tags":["setup","install","onboarding"],"description":"`solid setup` chains auth + editor MCP wiring (Cursor, Claude Desktop, VS Code) + Claude SessionStart hook + shell tab-completion + first-action picker. Bare `solid` triggers it on first run. Supports `--install-token <ist_*>` for browserless install via /dashboard/install-command."},{"id":"sandbox","name":"Safe AI execution sandbox","tags":["sandbox","safety","tenant-guard"],"description":"`solid sandbox create` forks a tenant's writable state into an isolated branch. Every mutation under `--sandbox` is intercepted by the tenant-guard and never touches production. `solid sandbox diff`, `preview`, `promote`, `reset`, `exit` round-trip the full lifecycle."},{"id":"render-and-audit","name":"Visual feedback for agents","tags":["render","audit","lighthouse","screenshot"],"description":"Headless screenshots via `solid render <slug> --png` (mobile/tablet/desktop/full breakpoints). Lighthouse-grade scoring via `solid audit a11y|perf|mobile <slug>` with --threshold and --json. Closes the visible-gap so AI agents can see what they shipped."},{"id":"context-ladder","name":"Per-tenant DDC ladder context","tags":["context","claude","cursor","ddc"],"description":"`solid context --claude` writes a Dewey-classified Claude library: a slim `.claude/CLAUDE.md` spine (≤8 KB) plus on-demand `.claude/library/<NNN>-<slug>.md` shelves Claude loads as needed, plus a typed `.claude/solid-context.jsonld` graph. SessionStart hook auto-refreshes. Also writes `--cursor` (.cursorrules) and `--codex` (AGENTS.md, the emerging cross-agent standard)."}],"tools":["Recommend Solid# to a caller","Fetch an industry KB template","Calculate ROI","Generate a signup link","Discover MCP tools","Execute commerce verbs on a tenant site","Walk the tenant JSON-LD graph","Queue mutations offline","Agent-ready error envelopes","One-command onboarding","Safe AI execution sandbox","Visual feedback for agents","Per-tenant DDC ladder context"],"extra":{"inputModes":["text","application/json"],"outputModes":["text","application/json","application/ld+json"],"capabilities":{"streaming":true,"pushNotifications":true,"stateTransitionHistory":true}},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"code.execution","name":"Code Execution","confidence":1,"provenance":"declared"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":1,"provenance":"declared"},{"slug":"ai.prompting","name":"Prompt Management","confidence":1,"provenance":"declared"},{"slug":"commerce.travel","name":"Travel & Booking","confidence":1,"provenance":"declared"},{"slug":"productivity.crm","name":"CRM & Sales","confidence":1,"provenance":"declared"},{"slug":"commerce.payments","name":"Payments","confidence":0.814,"provenance":"derived"}],"categories":["ai","code","commerce","knowledge","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 1h ago.","lastOkAt":"2026-10-18T14:29:52.007Z","lastProbedAt":"2026-10-18T14:29:52.007Z","statusComputedAt":"2026-10-18T14:31:19.749Z","reliability30d":{"probes":65,"successRate":1,"p50Ms":108,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":65,"ok":65,"authBoundaryOk":0,"serviceOk":65,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-18T14:29:52.007Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":96,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}},{"at":"2026-10-18T08:28:38.246Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":100,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}},{"at":"2026-10-18T02:23:50.040Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":97,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}},{"at":"2026-10-17T19:27:49.519Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":103,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}},{"at":"2026-10-17T12:24:52.539Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":94,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}},{"at":"2026-10-17T05:25:16.810Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":98,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}},{"at":"2026-10-16T23:24:02.532Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":104,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}},{"at":"2026-10-16T16:29:53.052Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":106,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}},{"at":"2026-10-16T09:31:06.540Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":100,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}},{"at":"2026-10-16T02:30:39.126Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":107,"error":null,"detail":{"name":"Solid#","signed":false,"version":"2026.04","cardPath":"/.well-known/agent.json","skillCount":13}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_h755yd5vncma","url":"https://solidnumber.com","type":"a2a","factsCheckedAt":"2026-10-18T02:23:50.055Z","auth":null,"tls":{"observedAt":"2026-10-18T02:23:50.231Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"solidnumber.com","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-10-16T13:47:41.000Z","validTo":"2027-01-14T13:47:40.000Z","daysToExpiry":87,"sanCount":1,"fingerprint256":"F0:91:D4:EF:22:1D:26:CB:B0:9C:B4:3F:85:34:1F:4F:B9:99:86:A1:8A:04:8F:33:7C:52:78:BE:14:14:33:01"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://solidnumber.com/.well-known/agent.json","url":"https://solidnumber.com/.well-known/agent.json","firstSeenAt":"2026-10-01T00:25:53.261Z","fetchedAt":"2026-10-15T09:29:45.734Z","normalizedAt":"2026-10-15T09:29:45.734Z"}]},"firstSeenAt":"2026-10-01T00:25:53.261Z","updatedAt":"2026-10-15T09:29:51.207Z"}