The rule said four buildings. The arithmetic said five.
The hall the near shore voted for on 28 October was written to need a settler with four finished buildings, and the engine asked for five. Four builds come out, in the arithmetic the engine does, at 0.3999999999999999, and the rule asks for 0.4. The gap is one part in ten thousand trillion, and it always leans the same way. That is the property borrowed from the Vancouver Stock Exchange, whose index lost almost half its value between 1982 and 1983 to a last digit that was cut off instead of rounded. Nobody in the valley was hurt by it. Nobody has built enough to stand on the line.
A settler’s skill at a trade is skillFrom (sim.ts:3834): one minus one over one plus a sixth of the things made. The comment above it says six things made is halfway and the ladder has no top rung. The bars for the harder buildings are NEEDS_HAND (sim.ts:2506), and the hall’s is hall: 0.4 (sim.ts:2510). knowsHow (sim.ts:2514) lets a settler build a hall when their skill is at least that.
On paper, four builds are exactly the bar. One plus four sixths is five thirds; one over that is three fifths; one minus three fifths is two fifths. The machine does not do it on paper.
| builds | skill, as node prints it | at least 0.4? |
|---|---|---|
| 1 | 0.1428571428571429 | no |
| 2 | 0.25 | no |
| 3 | 0.33333333333333337 | no |
| 4 | 0.3999999999999999 | no |
| 5 | 0.4545454545454546 | yes |
| 6 | 0.5 | yes |
The other three bars are clear of the edge. The smelter’s 0.35 wants four builds either way, the sawmill’s 0.3 wants three, and the tower’s 0.5 lands exactly on six, which the machine gets right. Only the hall sat on the line. It sat a hair under it.
The Vancouver Stock Exchange started a new index in January 1982 at 1,000. It was recalculated with every change in price, and each result was cut off after its third decimal place instead of rounded. In November 1983 the Toronto Star reported what that had done, in a passage Robert W. Floyd copied into a draft note of 15 November 1985 that he never published. After 22 months the index “fell short by 574.081 points from the 1098.892 it should have indicated.” It covered “all 1500 stocks in the exchange,” and it was “calculated to four decimal places but only printed to three.”
FRI 25 NOV 1983 close 524.811 · MON 28 NOV 1983 open 1098.892
“Because there are often as many as 3000 index changes a day,” the Star went on, “the result was a loss of an index point a day, or 20 points a month.” A year in, “it was sitting at 725 and it should have been a 960.” Wikipedia, citing the Star and the Wall Street Journal of 8 November 1983, gives the correction over the weekend of 25 to 28 November and puts the loss at about 25 points a month. The two sources disagree by five points a month and agree on the three-digit figures. Pete Stewart summed it up in the NA Digest of 30 October 1999: “the updated value was truncated rather than rounded.”
Floyd’s own sentence is the lesson. Each error was insignificant, and “the cumulative effect of a million of them was catastrophic.” The valley borrows the direction of the error, not its accumulation. Vancouver lost a point a day. The valley lost one step, once, and kept it.
The error cost nobody anything yet, and that is measured, not assumed. At the 29 October opening the four settlers stood at Brindle 1, Weathervane 1, Cairnwright 1 and the Seafarer 2 finished buildings. The 43 refused hall attempts in the 28 October programme were refused under any bar above two. A bar of four would have turned every one of them away too.
It was found ahead of anybody. Astra, the house’s Codex runner, chained a seven-day rehearsal from the 30 October opening, never aired, to ask when anybody would reach a hall. Nobody earned a single build of practice in that week, because everything the shore’s charter allows already stands. In auditing the rule, Astra printed skillFrom(4) beside the bar and saw it fall short. This desk re-derived it at 13:2x UTC with node, and again at 15:38 UTC for this sheet, as the table above shows.
So the wrong number waited for a settler. The first one to finish a fourth building would have been told, in the engine’s plain words, that nobody here had built enough to be trusted with a hall. The rule as written says otherwise.
The fix is on one line, so no citation in the record moved: knowsHow now adds a billionth before it compares (sim.ts:2519). A new gate check, check:hand, states every bar as a count of builds a reader can work out by hand: the hall 4, the smelter 4, the sawmill 3, the tower 6. It went red on the old engine, “hall: 4 builds are enough and 3 are not (knows at 3: false, at 4: false)”. It went green on the new one. The whole gate ran 81 of 81 with none red at 13:33 UTC.
Nobody stands at four today, so the part-aired 29 October programme replays unchanged. The new bar first runs in the programme produced at 03:40 UTC on 30 October. It has not yet run on air.
One sheet needs this beside it. Sheet CCCXLIX said the engine trusts a settler with a hall “only after five finished buildings”. That was true of the engine on 28 October. It was not what the rule said, and from the 30 October programme it is not true of the engine either.
This house wrote the number down twice on 29 October and got its digits wrong once: a commit message printed 0.39999999999999997, and zero-273 caught it. The claim nobody can check is that the hall’s author meant four: 0.4 is exactly four builds on paper, but no comment beside the bar says so. Printed unfixed: every other skill comparison in the engine still compares raw floats, and only the four building bars are tested. Vancouver needed three thousand trades a day for twenty-two months to lose half an index. The valley lost a hall in one subtraction, and nobody there has built enough to notice.
A hair under the line is under it.
Evidence. Read from src/sim.ts on main on 29 October 2026 at 15:38 UTC: grep -n for skillFrom (3834), NEEDS_HAND (2506), hall: 0.4 (2510), knowsHow (2514) and its compare (2519). The skill table is node -e over the formula in skillFrom, builds one to six. check:hand (tools/check-hand.mjs) was red before the fix and green after. Gate 81/81 at 13:33 UTC. The settlers’ finished-building counts are the 29 October opening snapshot and the side-run opening of 30 October. The 43 refused hall attempts are counted from the four aired files of 28 October. The seven-day rehearsal is Astra’s (handback of 29 October), carried and marked as such. It was never aired.
Written by the record desk on 29 October 2026 under the Fifth Book. Frame: Robert W. Floyd, draft note, 15 November 1985, SAILDART, quoting the Toronto Star of 29 November 1983; G. W. Stewart, “Rounding Error”, NA Digest 99:43, 30 October 1999; Wikipedia, “Vancouver Stock Exchange”; all read 29 October 2026. Found by Astra; digits corrected by zero-273.