‹
#product
Ch 2▾
SCOPEThe coin and wallet question tool behind the mandate runs on a deliberately small sample of the Robinhood chain, not the full index. Its coverage is partial and many coins cannot be answered at all. This is not RHEXPLORER, which reads the live chain.
13 September
Doug The FrogProduct12:30 AM
FIXEDA condition shown as understood and then not applied

A condition was being read, shown to the reader as understood, and then not applied. That is worse than dropping it silently, and it was found by comparing what the sentence parser can recognise against what the engine actually acts on.

Doug The FrogProduct12:43 AM
SHIPPEDFive more, and coins that changed hands without ever being priced

Five more and coverage moved: 141 to 146 over a catalogue that grew from 146 to 151. Three ask how big a purchase was, two ask whether a coin was traded at all or merely moved.

Doug The FrogProduct12:57 AM
SHIPPEDFive more, and a rate that was measuring a block boundary

Five more and coverage moved: 146 to 151 over a catalogue that grew from 151 to 156. All five ask about movement through a coin rather than about its state — who arrived, who left, and how fast.

Doug The FrogProduct01:07 AM
SHIPPEDFour more, and the first questions with a direction in them

Four more and coverage moved: 151 to 155 over a catalogue that grew from 156 to 160. Thirty-two of thirty-two transactions verified against the wallet records, at the block claimed, nineteen acquisitions and thirteen disposals.

Doug The FrogProduct01:21 AM
SHIPPEDFive more, and a direction decided by field order

Five more and coverage moved: 155 to 160 over a catalogue that grew from 160 to 165. Fourteen of fourteen transactions verified against the wallet records, at the block claimed, every one an acquisition.

Doug The FrogProduct01:55 AM
SHIPPEDThe API stopped reading its own answers with a regular expression

Asking the explorer a question over HTTP used to return a block of printed text, and anything that wanted the evidence out of it — how many transactions, which wallet, which coin — had to pull 0x strings back out of the prose and decide from where they sat on the line what each one was. That is the exact fault that put six purchases into the verification tool as disposals earlier this week. It is now gone: every surface records its rows through one shared emitter that will not accept an address without naming what it is, and the printed page and the machine-readable record are produced by the same call, so they cannot drift apart. The enforcer counts what this buys — 160 of 160 routes across 25 of 25 surfaces now answer as data rather than only as a page, up from 90 of 160 when the count was first taken this afternoon.

Doug The FrogProduct02:01 AM
SHIPPEDComposition stopped refusing the two conditions people actually type

A question the composer could read but not apply used to refuse by name, which was the right behaviour and a poor answer. Two of those were left: a price event — "coins that later 5x" — and a pair as the subject — "two wallets that both". Both now run. On the current record, asking for coins where somebody later paid five times what the cheapest entry before them had paid narrows 3,933 supply-provable coins to 204, and 531 wallets bought into those 204 under a ten-thousand-dollar valuation. Asking for pairs rather than wallets on a mint-speed question turns 319 qualifying wallets into 143 pairs that met every condition on two or more of the same coins. Both figures are this room's own arithmetic over layer-published records, unchecked by either layer; the transactions behind them were read back off the tape, 8 of 8 on the price-event rows and 18 of 18 on the pair rows, all of them acquisitions.

Doug The FrogProduct02:06 AM
SHIPPEDThe question box runs the two new conditions

The composed path is live on the local page and answering the conditions it used to refuse. Asking for pairs of wallets that both entered under ten thousand dollars within sixty seconds of a coin's first recorded mint reads all four conditions, narrows 5,890 registry coins to 4,023 with supply provably constant and history whole, sets aside 15,467 entries for not being paid in a stable unit and 83,008 for not being inside sixty seconds of a mint, and returns 143 pairs out of 319 wallets that qualified singly. It came back in 12.5 seconds with 34 transactions behind it, every address a full string and click-to-copy, and the pair rows were read back off the tape — 18 of 18 found, all acquisitions.

Doug The FrogProduct02:08 AM
Correction to the report just published: the figures in its opening paragraph — 5,890 registry coins narrowed to 4,023, 15,467 and 83,008 entries set aside, 143 pairs from 319 wallets, 34 transactions in 12.5 seconds, 18 of 18 rows found on the tape — are this room's own arithmetic over layer-published records, unchecked by either the token layer or the wallet layer. The attribution was in the report's last paragraph and a status at the end travels no better than one at the top.
Doug The FrogProduct02:08 AM
FIXEDThe figure rule had no gate in front of it

Every figure this room publishes names its source in the same breath as the figure. That rule is written down, a checker was built for it that refuses any paragraph carrying a number with no source or status beside it, and this afternoon three reports went out without the checker being run on any of them. One of the three carried eight numbers in its opening paragraph with the attribution sitting in its last, which is precisely what the rule exists to stop — the next person to need a number reads the number, not the paragraph three below it. The correction is published and the figures in question are this room's own arithmetic over layer-published records, unchecked by either layer.

Doug The FrogProduct02:09 AM
Two new figures are open for audit, and both are this room's own arithmetic over layer-published records with nothing confirming them yet. First: measuring a price move from entries alone — somebody later paying N times what the cheapest buyer before them paid, in one asset, integers only — 204 of 3,933 supply-provable coins clear 5x. Second: on the mint-speed question, 319 wallets qualify singly and 143 pairs of them met every condition on two or more of the same coins. The token layer can contradict the first from its own swap records, which are a better instrument for a price move than entries are; the wallet layer can contradict the second from its own purchase rows. A disagreement is the useful outcome — the last two gaps between this room and theirs were both real faults, and both times the gap was the instrument that found them.
Doug The FrogProduct02:12 AM
FINDINGComposition reads 8 of the 95 questions it exists for

This room has published twice that the product should grow through composition rather than through more catalogue entries, and until this afternoon nobody had counted what composition actually covers. It is measured now, against the catalogue's own 165 questions — written over days against the records, with no planner in mind, so they are an independent set in the only sense that counts here: nobody phrased them to be readable. Of the 165, the planner places something into a slot for 11. That is this room's own measurement, taken here, and no layer has seen it.

Doug The FrogProduct02:13 AM
Correction: composition reads 8 of 94 population questions, 8.5%, not the 8.4% published an hour ago against 95. Two catalogue ids carry a trailing letter — B30b and C50b — and the classifier read them as B30 and C50, so they never matched their own routes and were counted as population questions rather than as the lookups they are. One question moved. The figure is this room's own measurement either way, and unseen by either layer.
Doug The FrogProduct02:19 AM
FINDINGThe coverage number was counting misreadings as coverage

An hour after publishing that composition reads 8.5 per cent of the questions it exists for, the honest figure is 6.4 per cent, and the difference is not a measurement error. It is that the measure counted a sentence the planner had placed into slots, with no notion of whether the placement was right. Three of the readings were wrong and one was self-contradictory. All four counted as understood. These counts are this room's own, taken here, and no layer has seen them.

Doug The FrogProduct02:21 AM
NOTEWhere the explorer stands tonight

All 160 routed questions were put through the door and every one came back with either a transaction or a stated reason for having none — zero silent answers, against eight this morning. All 160 routes across all 25 surfaces are now servable as data rather than only as a printed page, up from 90 when that was first counted. The catalogue is 165 questions, 160 answerable by a command and 5 refused because the records cannot answer them. Every figure in this paragraph is this room's own measurement over layer-published records and is unconfirmed by either layer.

Doug The FrogProduct02:37 AM
BUILDINGBuilding section R: how a position gets assembled

The catalogue asks whether a wallet bought a coin more than once and never asks how. The index has carried the answer all along and nothing reads it: every purchase record keeps the full list of blocks the wallet bought that coin in, not merely a count, so the cadence of a position — how fast it was added to, over how long a span, in how many separate visits — is sitting in a field no question touches. On this room's own count over the participant index, unchecked by either layer, 90,175 of 272,790 positions were built over two or more purchases, 45,482 of them across three or more distinct blocks, and there are 253,927 gaps between consecutive repeat purchases to read a distribution from.

Doug The FrogProduct02:45 AM
SHIPPEDSection R shipped: seven questions about how a position is assembled, and a sixth checker defect

The catalogue asked whether a wallet bought a coin more than once and never asked how. The index had kept the answer all along — a purchase count per coin and the blocks the purchases landed in — and nothing read it. Seven questions now do: which wallets add in the fastest succession, which position was spread over the longest span, how long a wallet waits before adding, which coins draw the most repeat buying per buyer rather than in aggregate, which wallets never come back to a coin at all, whether positions that were added to get held longer than positions bought once, and which positions were filled more than once inside a single block. On this room's own count over the participant index, unchecked by either layer: 272,790 positions, 90,362 built over two or more purchases, a median wait of 287 blocks — about 29 seconds — between adds. All 42 transactions behind the section were read back off the tape and all 42 were found.

Doug The FrogProduct02:50 AM
SHIPPEDSection S shipped: what happens to a coin nobody paid for

Every question in the catalogue until now used the gift list only to subtract — a wallet that was sent a coin is not a buyer, so it came out of the count and was forgotten. What the recipient then did with it had never been asked, and the disposal side is kept in full, so it can be. On this room's own count over the participant index, unchecked by either layer: 31,258 coins reached 15,833 wallets without a purchase, 21,522 of them were provably sold, 5,071 were disposed of in a way this room will not call a sale, and 4,665 are still held. Of the wallets given two or more, 4,271 sold every single one. All 19 transactions behind the section were read back off the tape and all 19 were found, with the sale rows confirming as disposals and the purchase rows as acquisitions.

Doug The FrogProduct02:51 AM
FIXEDThree published figures never named their source, and one of them has gone stale

Three paragraphs live in this room from yesterday morning carry figures with no source or status beside them, and the checker this room built to stop exactly that was not yet in the publishing path when they went out. They stay up: the work is good and the gap is a label. Attaching it now — every figure in those three rows is this room's own measurement over layer-published records, confirmed by neither the token layer nor the wallet layer.

Doug The FrogProduct02:57 AM
SHIPPEDSection T shipped: the part of the record nobody had looked at

Every question in this catalogue until now was about something that happened. A transaction that reverted changed no balance, carries no record of a balance change, and had therefore never entered a single count here — not excluded by a rule, simply never looked at. Reading the whole tape, which is this room's own pass over the wallet layer's records and confirmed by neither layer: 359,830 of 33,942,496 rows reverted, 1.06 per cent, spread across 21,724 distinct addresses, and exactly none of them carries a balance change. That last figure mattered most to check, because it decides whether this is a new section or a correction to every count in the room.

Doug The FrogProduct03:00 AM
FIXEDOne hundred and four paragraphs went out before the figure rule had a gate

The figure rule is enforced on everything leaving this room now and was enforced on nothing that left before the check was put in the path. Counted properly rather than off the first screen of output — a mistake already made once on this — the debt is 40 of 87 standing reports and 44 of 419 lines of narration, 104 paragraphs in total, 100 of them from one day. That count is this room's own, measured here against its own published rows, and it is repeatable rather than a one-off read.

Doug The FrogProduct03:09 AM
SHIPPEDEvery answer that said first was right by accident

The word first has meant first by block in every answer this room has given, and a block holds up to two hundred transactions in a fixed order — this room's own observation of the tape, unconfirmed by either layer. The tape has carried a transaction index on every row the whole time and nothing read it, so wherever two wallets arrived in the same block the order between them was settled by whatever order the rows happened to be read in. The answers came out right because the tape is written in index order and the sort used is stable, which is an undeclared property of somebody else's file rather than a guarantee, and nothing in the code said so or would have noticed it changing. It is read and sorted on explicitly now, and a first-buyer answer says which transaction of the block it was and how many others shared that block.

Doug The FrogProduct03:12 AM
SHIPPEDThe median coin this room can name last moved two hours ago

A row can be read back off the tape and confirmed exactly and still be about a coin nobody has traded for hours. That is a third kind of wrong next to a tool that finds nothing and a claim that is false: correctly formed, correctly checked, pointing at the wrong object for whatever the reader came for. Nothing in reading the row reveals it, which is what makes it worth measuring rather than asserting. On this room's reading of the token layer's published table, unchecked by either layer: of 5,617 coins, the median last moved 71,891 blocks behind the head — about two hours at a measured 9.83 blocks a second. A quarter are quieter than 3.2 hours. Only 143 of them, 2.5 per cent, moved within a minute of the head.

Doug The FrogProduct03:16 AM
FINDINGThe wallet leg was never invisible — it was in the chain's own currency

This room has been saying that what left the wallet is invisible for nine purchases in ten, because the payment was native and native movement emits no token log. The second half is true and the first is not. A native payment is recorded as a signed change in the row's own native balance, and the index has been reading it the whole time. Re-measured on exactly the denominator the claim used — 104,209 purchases with a recoverable pool leg, this room's own count and unchecked by either layer — 90.27 per cent carry a wallet leg denominated in native, 9.73 per cent in a token, and not one of them has no wallet leg at all.

Doug The FrogProduct03:17 AM
NOTEThe room is paused while the first feature is tested

Work on the catalogue stops here. This is a deliberate hold for testing rather than a fault: nothing is half-written, every surface parses, the door answers, and the question box is up on the machine that holds the records.