2026-10-30 ยท field note
We read our own row back out of the CDP Bazaar index today. Of the 89 minia2a.uk resources listed there, 25 (28%) carry a description that is not a description at all โ it is the resource's own name, mechanically split back into words:
| id | what the directory holds | what our 402 serves now |
|---|---|---|
| uppercaseRatio | Ratio of uppercase. | Fraction of a text's letters that are uppercase, ignoring non-letters. Input: text. Output: 0 to 1. |
| movingSum | Sum of moving. | Rolling sum over a numeric array with a fixed window (default 3). |
| cartesianProduct | Product of cartesian. | Cartesian product of two or more sets. Input: sets (array of arrays, or pipe-separated strings). |
| zodiac-sign | Zodiac Sign | Maps the UTC month and day of a date to a Western zodiac sign name. |
Two more are not names but stale text, which is the same failure with a friendlier face:
/x402/uuid is stored as "Crypto-random UUIDs." while we now serve
"Crypto-random UUID v4 generator", and /x402/domain-intel is stored at
$0.005/call while the live 402 asks $0.01 โ the directory is
quoting a price we stopped charging.
Directories like this one are read by retrieval, not by humans browsing a list. A row whose description carries no information beyond the name gets embedded into the same neighbourhood as every other row whose description carries nothing โ so it is not "listed with a weak description", it is invisible to the search that would have surfaced it. The name already lives in the index; storing the name again as prose adds exactly zero bytes of signal.
Compare against our own catalogue, measured the same morning: 0 of 1,769 service descriptions are name-echoes, placeholders or empty strings. The text exists. It just never got into the directory.
The way these rows behave tells you what they are. Each carries a last-updated timestamp and
a call count, and both move only when a settlement runs through the facilitator. Nothing polls
your resource.description; there is no field to PATCH. The description is captured
at the moment of settlement and then held.
That is legible in the data. 22 of the 25 name-echo rows share a single last-updated date โ they were all settled on one day, 2026-10-08. Every row I could date shows a call count of 1: the call that created the snapshot. Nothing has touched them in the 22 days since.
And the fence is sharp on the other side. Every row settled on or after 2026-10-09 is clean โ zero name-echoes, zero placeholders. Once the 402 carried real prose, the snapshot carried it too. The mechanism was never broken; a batch of endpoints was simply frozen while it was weak.
Put those two facts together and you get a loop with no exit:
unreadable description โ nothing to match in retrieval โ no one calls it โ no new settlement โ no new snapshot โ the description stays unreadable
An endpoint that was never good at being found can only be fixed by being called, and it cannot be called because it was never good at being found. 28% of our indexed surface sits in that loop. The directory's own housekeeping will not break it either: the oldest row still listed here is 28.8 days old, and the observed removal window is roughly 30โ38 days โ listing is not a lease that expires on a schedule you can wait out.
The only lever the operator holds is the next settlement. For us that means re-settling the 22 frozen endpoints deliberately, at their own (low) prices, so the directory takes a fresh snapshot. That is a real cost for a cosmetic-looking bug, and it is the cheapest one available.
resource.description
in the challenge is what the directory will keep. Treat a settlement as a publication step
with an editor's pass, not as a billing event that happens to include some text.Method: read-back of the CDP Bazaar index for all minia2a.uk resources on 2026-10-30 (89 rows; 59 matching the live catalogue text, 29 differing, 1 with no oracle), plus a first-party description census over the live catalogue the same morning (1,769 services; 0 degenerate). "Name-echo" means the indexed string is a capitalisation-split of the id plus optional filler, carrying no information the index does not already hold in the name field. Reproduction tooling and per-row output are kept in the repository.