ursy.cloud · The instrument and the live record
Where a machine may knock
Every way a machine can reach this site without a browser, with the address it answers at, what it serves, how long a reply may be cached, what the API ledger recorded at each door, the limits published for each, and sponsor placement on eligible public estate responses.
1 of the 7,929 API requests in the last seven days came from a named AI caller.
- Every number carries its source, its window, the rule that produced it and whether it is live or frozen.
- Every table reconciles, or says in writing why it cannot.
- Private application namespaces are never named; where the ledger saw one it is folded into a row that says so.
Room 08 of 13
The doors, in plain English
URSY.cloud has doors as well as pages. A door is any address a machine may call without a browser: the machine files (llms.txt, agents.json, ai-entry.json, humans.txt), the two guides Nicola and MCP, the runtime's own status and knocks routes, this instrument and its JSON twin, and whichever public API namespaces the site declares. This room lists every door that is switched on here, what each serves and how long a reply may be cached, then what the API ledger recorded at each in the last seven days, the rate limits published for each, and sponsor placement on eligible public estate responses.
Two rules hold throughout. A door that is off for this site is absent from the tables rather than shown as zero, because an absent surface is not a measured nothing. And private application namespaces are never named — in a table, in a sentence or in the JSON twin; where the ledger recorded requests at one, they are folded into a single row marked "private lanes (not named)" so every total still reconciles.
The entrances
Every door, and what it serves
Every address on this site that a machine may call without a browser, listed only when it is switched on here. A door that is off for this site is absent from the table, not shown as zero, because an absent surface is not a measured nothing.
| Door | Address | Serves | Cache policy |
|---|---|---|---|
| Cloud llms.txt | /llms.txt | Unsponsored Cloud API map. Public discovery is anonymous; private operations require scoped access. | private, no-store, max-age=0 |
| agents.json | /agents.json | The AI agent manifest, also served at .well-known/agents.json. | max-age 600 (ten minutes), stale-while-revalidate 3600 |
| ai-entry.json | /ai-entry.json | The machine entry point: declared pages, services, doors and public namespaces in one document. | max-age 600 (ten minutes), stale-while-revalidate 3600 |
| Sitemap | /sitemap.xml | The WordPress core XML sitemap of published pages and posts. | set by WordPress core, not by the runtime |
| humans.txt | /humans.txt | The human-readable credits file. | max-age 600 (ten minutes), stale-while-revalidate 3600 |
| Under the Hood | /under-the-hood/ | This instrument as HTML. | max-age 120 (two minutes) |
| Nicola | /wp-json/nicola/v1/hello | A signpost: hello, directory and route answers that carry addresses, never page content. | no max-age is set by the module |
| Estate navigation MCP | /wp-json/ursy-mcp/v1/mcp | A JSON-RPC tool server with three tools: search, list_services and get_entrances. | no max-age is set by the module |
| Runtime status | /wp-json/ursy-runtime/v1/status | The parity proof: runtime version, package fingerprint and the loader's module record. | max-age 60 (one minute) |
| Apis ursy estate v1 | /wp-json/ursy-estate/v1 | An address this site declares in its own configuration. | not stated by the runtime |
| Under the Hood, JSON twin | /wp-json/ursy-runtime/v1/uth | The same facts tree as JSON, one shape for every room, with the room register attached. | max-age 120 (two minutes) |
| Knocks | /wp-json/ursy-runtime/v1/knocks | The traffic ledger by UTC day and visitor class, seven days. | max-age 300 (five minutes) |
| Mint status | /wp-json/ursy-mint/v1/status | The mint's public status: gate, issued, ready, pending. | max-age 60 (one minute), stale-while-revalidate 300 |
| Mint contract | /wp-json/ursy-mint/v1/contract | The appreciation-token contract this site is bound by, and its hash. | max-age 60 (one minute), stale-while-revalidate 300 |
| Cloud Api | /v1 | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Openapi | /v1/openapi | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Capabilities | /v1/capabilities | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Developer Manifest | /.well-known/ursy-developer.json | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Mcp | /mcp | Scoped workspace tools generated from the Cloud catalogue. | private, no-store, max-age=0 |
| Cloud Status | /v1/status | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Developers | /developers/ | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Observatory | /under-the-hood/cloud/ | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Estate Totals | /wp-json/ursy-runtime/v1/estate-totals | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Nicola Manifest | /wp-json/nicola/v2/manifest | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Nicola Ask | /wp-json/nicola/v2/ask | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
| Cloud Nicola Openapi | /wp-json/nicola/v2/openapi | Supported Cloud API discovery; see the live service contract. | private, no-store, max-age=0 |
Source: this site's configuration and the loader's module record (the entrances map). Window: this request. Rule: each address is listed only when its surface is switched on for this site; cache policy is the max-age the owning module sets on its own reply. Freshness: Live.
Public API namespaces named on this site: ursy-estate/v1 (1) · config public_namespaces · as at 30 Sep 2026 · the only site namespaces a machine may be told about · Frozen until the site file changes
Corrected 4 September 2026: The 'REST namespaces present' line once listed every ursy-* namespace the server reported, including private application APIs; it now names only the package's own five and config public_namespaces.
Nicola and MCP
The two guides
Two of the doors are guides rather than content. Nicola answers "where is…" with addresses; MCP answers tool calls with structured results. Neither ever returns a page body.
Nicola — the signpost
In plain words
Nicola is a signpost that answers "where is…" with addresses, never with content. It says where a page or a service lives and how confident it is; it does not quote the page.
Precisely
Hello: /wp-json/nicola/v1/hello. Directory: /wp-json/nicola/v1/directory. 16 directory entries, one per declared page and service. Truth policy, as the module states it: "directory-backed; every door is a real page or keyless service on this site; dated; correction-friendly"
module state from the loader; addresses from this site's REST base · this request · a guide is listed with its addresses only when its module is on for this site · Live
MCP — the tool server
In plain words
MCP is a tool server that speaks JSON-RPC. A machine asks for the site's search, its list of services or its entrances and gets a structured answer built from the same directory Nicola uses — never a page body.
Precisely
Endpoint: /wp-json/ursy-mcp/v1/mcp (POST, JSON-RPC 2.0; a GET returns a hint object). Tools: search, list_services, get_entrances. Request bodies are capped at 64 KB. Rate bucket: not readable on this render — no figure is shown for this site's bucket (the estate default, which this site may or may not use, is 60 per five minutes and 15 per minute).
module state from the loader; addresses from this site's REST base · this request · a guide is listed with its addresses only when its module is on for this site · Live
What the doors recorded
The API ledger, by door and by caller
What the forensic REST ledger recorded at the doors in the last seven days: which door, and which class of caller. The ledger stores a salted hash of the caller's address, never the address itself.
| Door (route prefix) | Requests, 7 days |
|---|---|
/ursy-runtime/v1 | 4,022 |
/ursy-mcp/v1 | 1,860 |
/ursy-mint/v1 | 169 |
| private lanes (not named) — 1 prefix | 1,878 |
Source: table wp_ursy_api_log. Window: 24 Sep 2026 to 30 Sep 2026 (7 UTC days including today). Rule: one row per REST request in the ledger's namespaces, grouped by the first two path segments of the route; prefixes outside the public namespaces and the five the package owns are folded into one unnamed row; the caller's IP is stored as a salted 24-character hash, never the address. Freshness: Live.
| Caller class | Requests, 7 days |
|---|---|
| bot-like | 5,914 |
| browser-like | 2,014 |
| ai:googleother | 1 |
Source: table wp_ursy_api_log. Window: 24 Sep 2026 to 30 Sep 2026 (7 UTC days including today). Rule: the caller class the ledger stored for each request — no-ua, bot-like, browser-like, or ai: followed by the named AI reader; a class, never a person; hashed IP, never the address. Freshness: Live.
Hospitality
The limits we publish
The rate limits this site publishes for each public namespace, per client hash. They are stated as configuration: the table says what the limiter is told to do, not how many requests it refused.
Rate limits: not kept on this site by design
The hospitality module is ruled off in this site's configuration. No limit is declared by the runtime and none is shown.
The sponsor line
Who pays, said plainly
Every machine answer from this site carries one sponsor line, appended after the data. Here it is spelled out: who, for which month, and where it does and does not appear.
The sponsor, spelled out
- Sponsorteas.co.uk — https://teas.co.uk/
- MonthSeptember 2026
- Disclosurepaid placement
- Link relsponsored nofollow
- Where it appearsappended after supported public REST data, MCP results and eight declared machine files; this room also links to the sponsor with a paid-placement disclosure
- Where it never appearsthe mint routes, the telemetry beacon, the sponsor-evidence endpoint
config sponsor · month 2026-09 · paid placement, rel=sponsored nofollow; the sponsor configuration and controlled campaign registry supply this disclosure · Frozen until the month changes
Visit teas.co.uk — paid placement.
Sponsor evidence
These figures concern the sponsor block in a machine response. They do not show that an AI used it, recommended the sponsor, or caused a purchase. Human page views create no new sponsor event here.
Sponsor evidence counting is not enabled on this site. An unavailable count is not a measured zero.
The saved snapshot counts successful, non-cacheable origin responses with the registered sponsor block, and excludes verified maintenance probes. Generated machine files remain separate because their cache hits are not observed here. AI names come from user-agent claims. The existing citation and API ledgers keep their own counting rules; these exclusions do not rewrite those older ledgers.
Read the sponsor evidence, source rules and UTC windows as JSON.
Honesty note
How this room was read. Every figure in this room was read at 30 Sep 2026 01:56 UTC and is held for up to 120 seconds; this copy was served at 01:58 UTC from that held tree.
Where a door is switched off for this site its row is absent rather than shown as zero; where a ledger is installed and empty the figure reads 0 (honest zero); where a ledger is not installed the section says "not counting yet"; where the runtime cannot read a fact on this site family it says "not kept on this site"; where a site has ruled a module off it says "not kept on this site by design". Nothing here is modelled, sampled or estimated, and no private application namespace is named.
Revised 4 September 2026: the single-page truth room was replaced by twelve rooms; no stored value changed, and every figure the old page showed appears in a room with the same source. The full list of corrections is in The Workings.
Stated 5 September 2026: the machine-files counter in this room follows the tree. Where the ai-surfaces module is ruled off in the site file it prints 0 (honest zero) — the runtime offers none, and whether the theme serves any machine file is not read here. Where the theme provides ai-surfaces it prints words, not a zero — the runtime does not read the theme's map, and a zero there would be a false zero.
AI agents and integrators: llms.txt · agents.json · ai-entry.json · sitemap · humans.txt · this instrument · Nicola · MCP (POST only) · runtime status · apis ursy-estate v1 · this room as JSON · traffic ledger · mint status · mint contract · cloud api · cloud openapi · cloud capabilities · cloud developer manifest · cloud mcp · cloud status · cloud developers · cloud observatory · cloud estate totals · cloud nicola manifest · cloud nicola ask · cloud nicola openapi