Lintel

What this got wrong, where it moved, and what the closed papers still say

The record.

Three records, on one page. What was published here and later found wrong. What was held, tested and changed without anyone having published an error — a larger set, and a more useful one. And what the closed papers still say, because a published document is never edited after the fact.

They were four pages, and they linked to each other more than anything else linked to them. Nothing has been dropped in the merge: every entry, every ID, and every URL that pointed at any of them still resolves.

Corrections — 53 entries The August 2026 revision The research log — 20 positions Errata — 77 passages across 5 closed documents Findings

OneWhere this was wrong

Corrections

Everything published here that was later found wrong, weaker than stated, or in need of repair — with the corrected form alongside it. An entry is never deleted once it is fixed, because the record of the error is the point.

Every correction published, in order — one mark is one entry

Error 34 Weakness 12 Maintenance 7 53 published · 53 resolved · 0 open · 0 removed — an entry is never deleted once it is fixed, because the record of the error is the point.

C-001 Error Resolved The thesis, Sheet 11 — Red Team 04 · found 2026-08

The response to "this is just permitting software" does not hold as written

What is wrong
The published response distinguishes this work from existing vendors by claiming they "sell workflow to jurisdictions — routing, queues, portals — and leave the ruleset in prose," and that a compiled ruleset would therefore reach a different customer, the builder. Both halves are wrong. Compiled-rule products already exist and several are already builder-facing: Symbium covers California accessory-dwelling rules statewide with address-in, envelope-out determinations; Buildability claims parcel screening across 3,100+ counties; Canibuild sells site-fit and automated compliance checking directly to builders.
The corrected form
The objection survives in a sharper and stronger form: compiling the rules is necessary and insufficient. The screening market has already run the information-first experiment at commercial scale and published the answer — compiled information without political standing is advisory, and it moved roughly two of the thirty-two months. The distinction that matters is not who the customer is; it is whether the determination carries legal weight.
Where it stands
Resolved in Rev 3.2 of the thesis. The response was rewritten at source rather than patched on the web page, and the document carries its own revision note recording what the earlier text said and why it was wrong. Rev 3.1 is in the archive, unedited. The blocker — no print path for the document — was removed by adding a renderer that uses the typefaces already vendored for the site.

RegisterE-040 E-041 E-042 check these rows →

C-002 Maintenance Resolved The thesis, Sheets 02 and 08 · found 2026-08

Two sheets overlap materially and roughly four pages could be cut

What is wrong
Sheet 02 names eight capabilities housing production lacks. Sheet 08 walks the same ground as a six-stage before-and-after. The two were written separately and were never reconciled, so a reader of the full document encounters the same argument twice in different clothes.
The corrected form
Either cut the overlap, or separate the two deliberately so the repetition reads as a return rather than a redundancy — the diagnosis early, the same material late as the built state. The narrative rendering takes the second approach: the pathologies sit in the exposition and the loop sits in the falling action, far enough apart to work as an echo.
Where it stands
Resolved in Rev 3.3 by signposting rather than cutting. The overlap was kept: the two sheets answer different questions about the same eight failures, and the walkthrough only lands once the fault list has been named. Both sheets now say so explicitly, so a reader meets the second as a deliberate return rather than as padding. The option to cut the four pages remains open and would not damage the argument — it is a length decision, not a correctness one.
C-003 Weakness Resolved The thesis, Sheet 04 — Tokyo; and the register, E-033 · found 2026-08

The Tokyo depreciation claim is argued, not established

What is wrong
The document argues that Japan's permissive zoning is downstream of an asset structure America does not have — homes depreciating to near zero on a roughly thirty-year rebuild cycle, so homeowners hold no supply-restriction interest. The causal direction is asserted from plausibility, not demonstrated. It is load-bearing for the claim that Tokyo cannot simply be copied.
The corrected form
Graded Supported rather than Confirmed in the register, which is the honest treatment for now. Establishing the direction properly is worth a dedicated piece and would strengthen or kill one of the more quotable arguments in the document.
Where it stands
Resolved in Rev 3.3. The grade was already right; the prose was not. Sheet 04 asserted the causal direction as "a financial fact," which claimed more than a Supported grade allows — the document was more confident than its own register. It now states the claim at the strength the evidence carries, separates what is documented (the depreciation and rebuild cycle) from what is argued (the direction of causation), and points at the grade. The underlying research gap is unchanged and still worth a dedicated piece; what is fixed is the document overstating it.

RegisterE-033 check these rows →

C-004 Error Resolved The thesis PDF, Rev 3.1 · found 2026-08

The published PDF was rendered entirely in substitute typefaces

What is wrong
The Rev 3.1 PDF embedded DejaVu Sans, DejaVu Sans Mono and Liberation Serif, and contained no Archivo, Spectral or IBM Plex Mono at all. It was produced somewhere those typefaces were unavailable — the document's own head requests them from a web font service — so every character in the citable copy fell back to a generic substitute. The document as downloaded did not look like the document as designed, and the defect was invisible from inside the repository because the web pages render correctly from vendored font files.
The corrected form
Render the PDF from the same woff2 files the site already ships, with no network access at print time, so the citable copy and the web page cannot diverge. `tools/render_pdf.py` does this for any document in the knowledge base and refuses to run if a vendored font is missing.
Where it stands
Resolved in Rev 3.2, which embeds Archivo, Spectral and IBM Plex Mono and no substitutes. Rev 3.1 stays in the archive as it shipped. Note that the Rev 3.1 PDF was substantially larger than the corrected one — that was the weight of the unnecessary substitute fonts, not lost content.
C-005 Error Resolved Everywhere the encoding-cost claim appears — the thesis Sheet 05, the narrative, the deck, the landing page · found 2026-08

The load-bearing claim was never explained in prose, and had no register row

What is wrong
Every surface of this project asserts that "the cost of compiling a jurisdiction's rules collapsed about three years ago." It is the hinge of the entire argument — the reason a fifty-year record of failure is presented as a live opportunity rather than a fifth repetition. Two things were wrong with how it was carried. First, the mechanism was never stated in prose anywhere: the word appears exactly four times across the whole site, every one of them inside a chart's axis label, so a reader was expected to infer from an SVG that machine translation of legal text is what changed. Second, the claim had no row in the evidence register at all, which breaks the project's own rule that nothing enters a document that is not in the register — and it broke it for the single most load-bearing forward-looking statement in the work.
The corrected form
Say it plainly, at every place the claim lands: until recently the only way to turn a jurisdiction's prose rules into executable logic was for a person to read the ordinance and write out each binding provision by hand, which is what Singapore did and why twenty-eight years bought one city; language models can now perform a large part of that reading and drafting, which is the first time the unit cost of the translation has moved. And give the claim a register row, so a reader can check its grade instead of taking it on trust.
Where it stands
Resolved in Rev 3.4 of the thesis and in the narrative, which flows to the story page, the deck and the landing page. Register row `E-051` now carries the claim, graded Untested, with the mechanism recorded and Gate 0 named as what would fill it. The register goes from fifty rows to fifty-one and from three recorded gaps to four. Nothing about the confidence changed — the claim was always Untested and still is. What changed is that a reader can now see what is being claimed, why it might be true, and that nobody has measured it.

RegisterE-051 E-023 check these rows →

C-006 Error Resolved The thesis Sheet 11 and its contents entry; the landing page; the narrative · found 2026-08

There were never nine objections, and never three conceded

What is wrong
Four public surfaces said the adversarial review contained "nine objections" of which "three" were conceded. Both numbers were wrong. There are eight — the Red Team numbering runs 01 to 06 then skips to 08 and 09 — and five of the eight end in a concession rather than an answer, under five different labels: still open, test first, unresolved, conceded, and remaining risk. Only three are answered outright. A reader who counted would have found the error in under a minute, on the page whose entire purpose is to demonstrate that this project counts carefully.
The corrected form
Say eight, say five, and show how each one ends. The narrative's objections beat is now a table naming every objection, how it resolves, and what would settle it — with the firm-size objection marked as conceded and flagged as having the best causal evidence on the page while cutting against the argument.
Where it stands
Resolved in Rev 3.5 of the thesis and across the narrative, the deck and the landing page. The count understated the project's own honesty: five concessions is a stronger claim to seriousness than three.
C-007 Error Resolved The evidence register, rows E-052 and E-054 to E-056 · found 2026-08

Four rows overstated or misattributed their sources

What is wrong
Snapshotting the sources — the first time this project has ever done so — immediately surfaced four defects in rows added the same week. E-052's dollar conversions rested on a nominal GDP level that does not appear in the BEA release cited, because BEA news releases publish growth rates rather than levels; the share itself had also already been superseded by a later quarter. E-054's note described the published paper's figures without recording that the paper is internally inconsistent between its abstract and its body text. E-055 carried a homeownership statistic that its cited source does not contain. E-056 placed Organization Designation Authorization in 14 CFR Part 21, when it sits in Part 183 Subpart D.
The corrected form
Correct each row, and on the site round every derived dollar figure so it reads as arithmetic rather than measurement. The shares are the sourced claim; the dollars are computed from them against a denominator that still needs verifying against a national accounts level table.
Where it stands
Resolved. The wider lesson is recorded rather than buried: rows E-001 to E-050 remain un-snapshotted, which is a standing violation of the register's own rule 4, and the first batch of snapshots found four errors in seven rows. That rate should be assumed to hold for the rest until they are checked.

RegisterE-052 E-054 E-055 E-056 check these rows →

C-008 Error Resolved The thesis, the landing page, the narrative, and the register's own cross-references · found 2026-08

A line-by-line audit found sixteen defects, most of them counts

What is wrong
Preparing this to be read by a stranger, two independent audits were run against the register and against the rendered pages. They found the site contradicting itself repeatedly, almost always on numbers it had changed once and not everywhere. The narrative called itself thirty-two beats when it had forty-five. The month strip's caption said twenty months of non-physical work above segments that sum to eighteen. The count of unmeasured register rows appeared as two, three and four on different pages — sometimes twice on one screen. The thesis said Tokyo permits residential in all but two zones where the register says all but one; gave entitlement as six to twenty-four months where the register says six to eighteen; said nine objections and three conceded where there are eight and five; described its own references as running to sixteen when there are twenty-two; and asserted that aviation delegation improved safety outcomes, which its own register row expressly forbids claiming. Markdown emphasis was printing as literal asterisks on the corrections page itself.
The corrected form
Correct each one at source, and fix the two renderers that were emitting raw markdown. Where a claim outran its grade — the encoding-cost collapse stated as settled on the landing page, Auckland described as having "proved" rather than measured, the $48 trillion described as a household's entire net worth — bring the wording back to what the register supports.
Where it stands
Resolved in Rev 3.6 of the thesis and across every public page. The lesson worth keeping is procedural rather than editorial: every one of these was introduced by editing a number in one place and not the others, and none was caught by the existing checks, which verify links, leaks and layout but never cross-read the prose against the register. A consistency check belongs in `tools/`.

RegisterE-004 E-028 E-031 E-032 E-056 check these rows →

C-009 Error Resolved The landing page, the evidence register, the Eight of Thirty-Two poster · found 2026-08

A Confirmed claim traced to a working paper stamped "do not cite" — and the published version gives a different number

What is wrong
Register row E-006 claimed that requiring a full environmental impact report added 504 days to approval time in Los Angeles, graded Confirmed, sourced to "UCLA Anderson". The row carried its own unresolved instruction: verify primary paper before publication. Nobody had. On checking, the 504 figure comes from Gabriel and Kung's December 2023 working paper, whose title page reads "PRELIMINARY - DO NOTE CITE" (the typo is theirs). That paper was subsequently published in the Journal of Urban Economics, and the published version states that an EIR adds 484 days to approval time, using column (2) of Table 3 as the preferred specification. The string "504" does not appear in the published version at all. So the site was carrying a preliminary figure, from a source that asked not to be cited, superseded in peer review, and grading it Confirmed — on a site whose entire credential is that it does not do this.
The corrected form
E-006 corrected to 484 days and re-sourced to the published Journal of Urban Economics version. The figure is corrected on the landing page and in the poster source. Two rows are added from the same published paper, which turned out to carry more than the correction: E-067, the Florence Towne Apartments — a named 51-unit affordable development in South Los Angeles that took 1,725 days from entitlement filing to certificate of occupancy, 465 of them before a permit was issued — and E-068, the population it sits in, an average total development time of 1,413 days across all Los Angeles multifamily projects permitted 2010–2022. HAP-02 r3.7 is not edited. It is closed and published, it still contains 504, and a citation has to keep resolving to what it cited; that is what this log is for.
Where it stands
Resolved. Two things are worth keeping from it. First, the row had already flagged itself — "verify primary paper before publication" sat in the notes column and was never actioned, which means an unresolved instruction inside the register is invisible unless something checks for it. A grade is not a substitute for having opened the source. Second, the correction was profitable: going to the primary source to fix one number produced the only named, dated, end-to-end project timeline on this site. The review that prompted this asked for a human being in a document about housing. The answer was in the footnote of a paper the register had already cited and nobody had read.

RegisterE-006 E-067 E-068 check these rows →

C-010 Error Resolved The landing page, the scale figures, register row E-054 · found 2026-08

A headline figure was superseded by a peer-reviewed Comment the register never cited

What is wrong
The landing page carried "~14% of output growth forgone, 1964–2009" as one of three figures sizing the problem, with a caption saying the dispute was live and the lower figure defensible. Register row E-054 sourced it to "Hsieh & Moretti, AEJ:Macro 2019; arithmetic correction by Caplan" — the newest citation being a 2021 blog post. Two things were wrong with that. The 36 / 14 percent pair is not the paper's own result: it comes from compounding the paper's annual rates, which yields level effects rather than growth forgone, so the site was quoting a derived number as though it were the published one. And the row missed the decisive development entirely — Greaney, "Housing Constraints and Spatial Misallocation: Comment", AEJ: Macroeconomics 18(2):409–28, April 2026, peer-reviewed, which replicated the paper, documented errors in its code, found that the counterfactual as coded lowers output, showed the result depends on an arbitrary choice of population unit, and reported a corrected effect roughly two orders of magnitude smaller. There is no published reply and no corrigendum; the authors answered on a blog.
The corrected form
E-054 now states that no figure from it is quotable as settled, cites Greaney with its DOI alongside the original and the Caplan correction, and instructs that the dispute be cited rather than the number. The figure is removed from the landing page rather than re-stated with a longer caveat: an honest version needs three sentences and the first screen cannot afford them. Its slot is filled by a figure that survives scrutiny — 1,413 days average development time for Los Angeles multifamily, register row E-068, from the peer-reviewed study added in C-009. The caption now explains the removal instead of hedging a number.
Where it stands
Resolved, and the pattern is now twice in two days. C-009 was a Confirmed claim traced to a working paper marked do-not-cite; this is a Contested claim whose most recent source was a blog post while a peer-reviewed Comment sat unread. Both were found by opening the primary source rather than by any check. The register records a grade and a review date but has no field for "has anyone read the current literature on this row", and both failures lived in that gap. Grades decay. The review dates in this register are the only thing standing between it and a third instance.

RegisterE-054 check these rows →

C-011 Error Resolved Register rows E-030 and E-031, the story, the landing page, the deck · found 2026-08

The Auckland rent effect carried a base inversion, an unsourceable replication, and a version history dressed as a robustness band

What is wrong
Row E-031 quoted "28% at 6yr" from EPC WP016 v3 — but that paper says rents would be approximately 28% higher under the counterfactual, which implies actual rents about 21.9% below it, not 28%. The site compounded this by presenting "23–28% below counterfactual" as a range, when the two ends are different vintages of the same research programme measuring at different horizons — an estimate that has read 22–35%, then 26–33%, then 28%, then 23% across four versions. "Lower Hutt replicating at 21%" could not be traced to any primary paper: the Lower Hutt study (Maltman & Greenaway-McGrevy, Journal of Housing Economics 2025) reports construction effects and no rent effect. The row also credited the published article to Greenaway-McGrevy solo; it is Greenaway-McGrevy and So, Economic Inquiry, DOI 10.1111/ecin.70075, July 2026. And row E-030's "+43,500 at 6yr" was preprint-only and superseded — the published version (Economic Modelling 160, 2026) reports 52,200 over seven years.
The corrected form
Every surface now quotes the single published figure alone — 23% below counterfactual at eight years — with correct joint attribution. The six-year figure and the Lower Hutt rent claim are removed. E-030 cites both published papers. E-031 is re-graded Supported: the finding is peer-reviewed, but it is one research group, one method, and an estimate that has moved with every version.
Where it stands
Resolved. Every figure was chased to its primary source; the base inversion survived four revisions of this site because each revision checked the number against the register rather than the register against the paper.

RegisterE-030 E-031 check these rows →

C-012 Weakness Resolved Register rows E-001 and E-021, the story, the solution page · found 2026-08

Two rows were graded Confirmed on evidence that does not meet the register's own bar

What is wrong
The register defines Confirmed as "independent published evidence supports the claim." E-001 (regulation share of a new home's price) rested on two self-report surveys of NAHB's own members — 54 of 2,125 land developers responding, plus 337 builders — with the trade association arguing for deregulation as sole source; the row's own note said "triangulate before relying," which is not a note a Confirmed row can carry. The word "survey" appeared on no page. E-021 (CORENET X) had the agency count wrong — eight agencies, not seven — and called the twenty-working-day consolidated response "measured" when CORENET's own wording is "up to a maximum of 20 working days": a service-level ceiling, with no achieved-turnaround figures published anywhere, extendable to 30 for Design Advisory Panel reviews. The register also recorded only the middle rung of a three-step rollout (Oct 2025 for projects ≥30,000 m², Oct 2026 all new projects, Oct 2027 ongoing).
The corrected form
Both rows re-graded Supported. E-001's sample sizes are now disclosed in the row and in the narrative. E-021 now says eight agencies, states the twenty days as a service ceiling rather than a measurement, and records the full rollout ramp; every page that said "measured" now says what is actually published.
Where it stands
Resolved. Same failure class as C-009 and C-010: the grade asserted more than the source, and no check could catch it because grading is a judgement no script audits.

RegisterE-001 E-021 check these rows →

C-013 Error Resolved The story and the deck — the climax, the outcome and the takeaway; the register rows behind them · found 2026-08

The central claim of this site — that encoding cost was what closed the market — is refuted, and the headline outcome was not a like-for-like comparison

What is wrong
Four separate defects, found by research undertaken after the falsification statement was filed.

One: the arithmetic beat was wrong. The site's climax claimed nobody replicated Singapore because the cost of hand-encoding a jurisdiction, multiplied by twenty thousand jurisdictions, exceeded any plausible return. The Singapore checking engine was in fact transplanted — a Norwegian pilot on the e-PlanCheck base, a completed New York City pilot using ICC codes, testing with Japanese and Australian models (E-080). Those projects inherited the engine and did not pay the encoding cost from zero, and none of them has been identified reaching production (E-081). If encoding cost were the binding constraint, at least one should have cleared. The best available adoption study finds twelve variables governing whether automated compliance checking is adopted, and eight of them are non-technical (E-082). A diagnosis in which the constraint is a unit cost does not survive that.

Two: "twenty-eight years bought one city" misstated the record. CORENET was introduced in 1995 and upgraded in 2002 as e-PlanCheck; the peer-reviewed study reports it commissioned by Singapore's building authority and commercially used, and the scope is architectural and building services — building control, barrier-free access, fire code — not a whole building code (E-078, E-079). The site was describing a system that reached industry use within a few years, and a partial code, as twenty-eight years of effort buying one jurisdiction.

Three: thirty-two to seven was not a like-for-like comparison. Four of the seven months in the compiled path are factory build and set. The comparison therefore set site-built-today against factory-built-tomorrow and credited compiled approval with a saving that partly belongs to a change of construction method (E-070). Everything derived from it — the twenty-five months eliminated, the annualized-return arithmetic — inherits the defect (E-071).

Four: two rows asserted more than their sources. E-001, the regulation-share figure, is published on NAHB's own advocacy blueprint by the party it benefits, while NAHB's separate member survey does not list approval duration among builders' serious problems at all (E-099) — two instruments from the same organization disagreeing about what constrains building. E-009 carried the manufactured-housing approval gap as "<30% vs >70%" and omitted the finding that carries the weight: the gap persists after controlling for credit score.

The corrected form
The claims are removed from the site, not softened. The beat asserting the encoding-cost multiplication is deleted. The beat that followed it is narrowed to what survives: the unit cost of translating a jurisdiction's rules did fall, and it was never the binding constraint. The CORENET beat is rewritten to the actual record. The thirty-two-to-seven beat is deleted, and so are the two that derive from it, and every other instance of the comparison is removed from the deck, the landing page and the takeaway. E-051 keeps its ID and its Untested grade: the cost is still unmeasured and still worth measuring, and it is no longer claimed to be what closed the market. E-070 and E-071 keep their IDs and are withdrawn from every page. E-001 is regraded Contested — evidence pointing more than one way is what Contested means — with the provenance note moved onto the row. E-009 is corrected to the report's own figures and the credit-score control is recorded.

Thirty rows are added covering what the research found (E-078 to E-107), and a new page, `/literature`, states what Pew, Mercatus, the Lincoln Institute and the National Zoning Atlas published first. `/revisions` states all of this in plain language and is linked from the story and the about page.

Where it stands
Resolved, and it is the largest correction this project has made. The falsification statement filed in August 2026 named encoding cost per jurisdiction as one of three things that would kill the thesis if it did not move. That clause has now been tested against the record and the answer came back against the thesis — not because the cost failed to fall, but because the cost was never the constraint the statement assumed it was. The register's job was to make that discoverable rather than deniable, and the thing it protected was the ability to publish this entry instead of quietly editing the pages.

RegisterE-001 E-009 E-051 E-070 E-071 E-078 E-079 E-080 E-081 E-082 E-099 check these rows →

C-014 Error Resolved Register row E-009; the story and the deck — the lender row of the audience table and the "if you just need a home" table · found 2026-08

A figure was corrected to the right numbers and kept the wrong noun

What is wrong
Row E-009 has read "Loan application approval rate manufactured vs site-built" since it was written, and every surface quoting it has said "loan approval" — under 30% against over 70%, later corrected to 27% against 74%. The source does not report that as an approval rate. The CFPB's May 2021 HMDA analysis says, at section 4.1, that "only 27 percent of manufactured home loan applications resulted in the loan being financed, compared to 74 percent of applications for site-built homes". That is an origination rate. It counts applications that were approved but not accepted, and applications withdrawn or closed for incompleteness, on the wrong side of the ledger.

The same report defines an approval rate explicitly, at footnote 32 — originations plus approved-and-not-accepted, divided by that sum plus denials — and publishes it in Figure 3 by credit band. So the site was using the report's own vocabulary for a different one of the report's own measures.

Two consequences followed. The row carried three measures in one value field: 27/74 origination, and 63/80/95 approval in the super-prime band, with nothing to tell a reader the denominators differ. Anyone comparing 27% to 63% would read a rise where there is a change of instrument. And the strongest figure in the source was never used at all: 42 percent of manufactured-housing purchase applications were denied — 50 percent of chattel and 33 percent of MH mortgage — against 7 percent of site-built. One measure, one denominator, a six-fold gap.

Worth being exact about what was and was not wrong, because the two look alike. C-013 corrected "<30% vs >70%" to 27%/74% and that was right: the rounded pair was a fair rounding of these same origination figures, so it was a de-rounding, not a substitution of one measure for another. The defect C-013 did not see is that the noun above both was wrong before the correction and stayed wrong after it. A correction that checks the digits against the source and not the label will do this every time.

The corrected form
E-009 is renamed to what it measures — applications that result in an origination — and its value says in terms that it is an origination rate and not an approval rate, with a pointer to the footnote that defines the difference. The mixed measures are split out rather than annotated: E-112 carries the denial comparison, 42% against 7%, and E-113 carries the credit-banded approval rates with the report's own definition attached. Three measures, three rows, and each one now checks against a single figure in the source.

E-112 is the figure to prefer wherever the point is that the loan was refused. The site's lender row said "closes a gap of <30% vs >70% loan approval"; the gap it should name is the one the report states as a denial.

Where it stands
Resolved. The lesson is not about this row. `tools/check_retired.py` was built to catch withdrawn claims surviving in tables and chips, and it does — but this defect is the opposite shape: a live claim, correctly graded, correctly sourced, quoting the right numbers, under a noun that names a different measurement. Nothing in this repository checks that a claim names the measure its source defines, and this was found by accident while verifying something else. A bounded sweep of every row citing a specific measure is recorded in `audit/`; whether it becomes a standing check is an open question, because unlike a count there is no source of truth to derive it from — only the paper.

RegisterE-009 E-112 E-113 check these rows →

C-015 Weakness Resolved Register row E-088; the conformance-authority layer wherever it is described as deferred or novel · found 2026-08

A load-bearing row flagged its own unread half, and the regulation turned out to say more than the row claimed

What is wrong
E-088 recorded that manufactured-home designs have been approved by delegated agencies since 1976, graded Supported, and carried its own warning in the notes: not yet verified from the regulation text, that private firms are among the agencies HUD accepts — the half that decides whether delegated conformance review is American precedent or a foreign import. The acceptance criteria sit in 24 CFR §3282.351–.352 and had not been read. The row was cited on the site as the reason the conformance-authority layer is marked deferred rather than novel, which is a conclusion resting on the unread half.

This is the failure C-009 named and did not fix: an unresolved instruction inside the register is invisible unless something goes looking for it. E-088 had been carrying that instruction for a week while the claim it qualified was used in argument.

The corrected form
The section is read and the row is regraded Confirmed from the regulation text. §3282.351(a) opens by setting out "the requirements which must be met by States or private organizations which wish to qualify as primary inspection agencies" — private eligibility is the first sentence of the subpart, not an exception buried in it. Two further provisions the row had not claimed: §3282.351(e), that primary inspection agencies "may contract with manufactured home manufacturers" for those services, so the regulated party pays the reviewer under federal rules; and §3282.351(d), that "HUD accepted agencies can perform DAPIA functions for any manufacturer in any State". §3282.352 reserves exclusivity to a State for production inspection only, and there is no equivalent for design approval.

So a private organization's design determination has been portable across every state, by federal regulation, since 1976 — which is stronger than what the site claimed and is the opposite of the "never demonstrated" label the roadmap still carries on the link about a jurisdiction accepting an outside determination.

The scope limit is recorded on the row and is the whole of it: a DAPIA approves against one federal standard that preempts local construction rules (E-091), not against twenty thousand local rulesets. The precedent shows portability works where a single standard exists, which is an argument for preemption rather than for a compiled multi-jurisdiction determination. Stated the other way round it would be the same overreach this log exists to record.

Where it stands
Resolved, and it moved a classification. The absence claims found by the retired-claims sweep were being graded refuted, narrowed or still standing before any of them was edited, on the reading that link 02 rested on Florida alone because the 1976 half was unverified. It no longer does.

RegisterE-088 check these rows →

C-016 Error Resolved Register rows E-002 and E-003; the eight-of-thirty-two figure wherever it appears — the story, the deck, the landing page, the poster, HAP-02 · found 2026-08

The most repeated number on this site rested on a row that added two different populations and cited a year the source does not publish

What is wrong
E-002 read "9.1 months (1.4 to start + 7.6 building), 2024", graded Confirmed, sourced to the Census Survey of Construction. It is the row underneath "eight of thirty-two" — the building segment of the month strip, beat 03, one of the three takeaways at beat 42, and the poster that carries the phrase as its title. It is cited from five places in the narrative. It is wrong three ways, and a measure-name sweep found it by noticing that the arithmetic does not close.

One: the sum mixes two populations. Census publishes two tables. In the authorization-to-start table, the 2022 figure for all 1-unit buildings is 1.4 months. In the start-to-completion table, 8.3 is the figure for all 1-unit buildings and 7.6 is the built-for-sale column — contractor-built is 10.1 and owner-built is 12.1. The row took the Total from one table and a subset from the other and added them. Like for like, the answer is 9.7 months (Total plus Total) or 9.0 (built-for-sale plus built-for-sale).

Two: 9.1 is neither. 1.4 + 7.6 = 9.0. The stated total does not equal its own stated parts, and it does not equal the like-for-like sum.

Three: there is no 2024 figure. Both average tables were last updated on 19 March 2024 and carry data through 2022. Census publishes percent distributions for 2024 — those were updated in July 2026 — but no average. The year on the row could not have come from the source cited.

And the same defect sits in the row beside it. E-003 read "16.5 months (2025)" for buildings with 2 or more units. 16.5 appears in no year of that series, there is no 2025 average, and the neighbouring published years are 15.4 for 2019–2021 and 17.0 for 2022 — so it is not a stale reading of an earlier year either. Two Confirmed rows in the spine, both citing figures the named source does not contain.

One thing that survives, and it is the headline. The eight months of building rounds from the 8.3 figure, which is the correct like-for-like number for 2022. "Eight of thirty-two" is not withdrawn by this. It was resting on the wrong half of the wrong column and happens to land in the same place — which is luck, not method, and is why the row is corrected rather than left alone.

The corrected form
E-002 is restated to the two published averages for 2022 with the year named, and regraded Supported rather than Confirmed. Each component is Confirmed; the sum is not. The two tables are published on different cohorts — authorization-to-start covers units started in the year, start-to-completion covers units completed in the year — so the 9.7 total describes no single population of houses. That is now on the row rather than hidden inside an addition, and any surface quoting the total has to quote it as arithmetic across two cohorts.

E-003 is restated to 17.0 months for 2022.

E-114 is added for what 2024 actually publishes: the completion-time distribution — 13% of single-family units completed in three months or less, 46% in four to six, 20% in seven to nine, 9% in ten to twelve, 13% in thirteen or more. A midpoint approximation of that distribution lands near 7.0 to 7.4 months, which is derived and not published; it is recorded on the row with that stamp and must not be quoted as a measurement. It is worth recording because it points down from 8.3, and anyone tempted to lean harder on the eight should know the direction of travel before doing so.

Where it stands
Resolved as to the rows. Two things are owed and are not closed by this entry.

The first is that Census stopped publishing these averages after 2022 and this project did not notice for two years while quoting a 2024 figure from them. A review date would not have caught it; the row was inside its review window. What catches this is opening the source, which is the same finding as C-009 and C-010 and now C-014.

The second is the pattern. This is the third correction in a week produced by asking whether a row names the measure its source defines rather than whether the number matches the register. C-014 found a live claim under the wrong noun; this one found a live claim under the wrong population and the wrong year. Both rows were graded Confirmed, both read as internally perfect, and no check in this repository could have flagged either — the sweep that found this one flagged E-002 only because 1.4 + 7.6 did not equal 9.1, which was the least serious of its three defects.

RegisterE-002 E-003 E-114 check these rows →

C-017 Error Resolved The evidence register — forty-four rows; and every page that counts grades or describes what is unmeasured · found 2026-08

Forty-four graded rows cited a publisher rather than a publication, so their grades asserted nothing

What is wrong
The register's proposition is that every claim is graded against a source. A triage of the ninety-six rows graded Confirmed or Supported asked one question of each — does the source field name a document a reader could open? — and forty-four of them did not.

They name a publisher, a category, or a description: "CFPB". "Urban Institute". "Pew Charitable Trusts". "BCA Singapore". "Arizona statute". "Legislative record". "Public reporting". "Practitioner sources (multiple)". "Multiple secondary sources". "Academic literature on Japanese prefabricated housing manufacturers".

Thirty-two of the forty-four were graded Confirmed, which this register defines as "independent published evidence supports the claim". Nobody reading those rows could tell which published evidence, find it, or check the row against it. Whatever is true of the underlying claims — and several are probably fine — the grade was never supported by anything, because there was nothing there to support it.

This is the same defect as C-009, C-014 and C-016 seen from further back. Each of those was one Confirmed row whose source, when opened, did not say what the row said. These forty-four could not be opened at all.

The corrected form
All forty-four are regraded Untested, and the notes on each now open with `CITATION UNRESOLVED (C-017)`, the grade they carried, and the instruction that restoring it requires naming the document and re-reading it. The regrade is a statement about the grade and not about the claim: nothing here asserts any of these claims is false.

The register goes from 70 Confirmed to 40, from 24 Supported to 12, and from 16 Untested to 60 — more than half the register is now ungraded, which is the honest position and was the position all along.

A gate is added. `tools/check_citations.py` refuses to let a row carry Confirmed or Supported unless its source field contains a resolvable identifier — a URL, a DOI, a statute or regulation section, a case citation, a docket number, a working-paper number, a named series or table, or a titled publication. It runs in the blocking set, so this cannot recur silently.

The gate is a floor and not a warrant, and the tool says so in its own docstring. It cannot tell whether the cited document says what the row claims, or whether it exists; a fabricated DOI passes. It moves a row from "nobody can even look" to "someone now has to look", and the looking is the work that has produced every correction in this log.

Where it stands
Resolved as to the grades, and it changes what the site can say about itself.

Two things follow that are not closed here. First, the count of Untested rows now means two different things — rows nobody has measured, which is the research agenda this project publishes deliberately, and rows whose citation could not be identified, which is a filing failure. They are separable by the notes marker and both are derived at build time, and the site now states both rather than one total that would flatter the second by mixing it with the first.

Second, forty-four is a floor on the problem rather than a measure of it. The rows that passed the gate did so on the strength of naming a document, which is not the same as that document supporting the claim — three of the corrections in this log were rows that would have passed. The source-by-source pass through the survivors is what settles it, and it is sized in `audit/measure-names-2026-08.md`.

RegisterE-004 E-005 E-007 E-008 E-010 E-011 E-012 E-013 E-014 E-019 E-020 E-021 E-022 E-023 E-024 E-025 E-026 E-027 E-028 E-029 E-033 E-034 E-036 E-040 E-041 E-042 E-043 E-044 E-045 E-046 E-047 E-048 E-049 E-050 E-052 E-058 E-059 E-061 E-066 E-072 E-102 E-104 E-105 E-109 check these rows →

C-018 Error Resolved The story and the deck — beat 35's gains table, its caption and its closing note · found 2026-08

Two rows resting on the same withdrawn evidence were treated in opposite ways on the same screen

What is wrong
C-013 withdrew rows E-070 and E-071 — the modeled seven-month cycle and the annualized-return arithmetic built on it — because the comparison underneath them set site-built today against factory-built tomorrow. Beat 35's gains table applied that withdrawal to one row and not the other.

The builder row was struck: WITHDRAWN Aug 2026 — rows E-070/E-071 compared site-built today with factory-built tomorrow, not like for like. Directly beneath it, the buyer row still read "10% margin at 7 months still doubles today's return — so speed can go to price", sourced in its own last cell to "Assumption — rows E-070/E-071, graded Untested".

Same two rows. Same defect. Opposite treatment, one line apart, with the citation to the withdrawn rows printed in the row that kept its claim. A reader comparing the two would reasonably conclude the buyer figure rested on something else.

Two further surfaces carried the same arithmetic without the strike. The caption below the bars described them as "arithmetic on assumed margins and a modeled seven-month cycle — register rows E-070 and E-071, both graded Untested", which states the provenance and keeps the claim. The closing note said "two are arithmetic on registered assumptions", counting the withdrawn figures as a present feature of the table.

And the beat's own opening paragraph still promised that the builder gets "capital that turns four times as often" — the withdrawn claim in prose, four paragraphs above its own retraction, on the same screen.

The corrected form
The buyer row is withdrawn on the same basis and in the same wording as the builder row, so the two now read identically. The caption states that no builder or buyer figure is claimed. The closing note says two rows are withdrawn rather than two rows are arithmetic, and ends by saying plainly that nothing on the page is claimed for the builder or the buyer, which is the honest state of it.

While in the table, the lender row was corrected under C-014 from the retired "<30% vs >70% loan approval" to the denial comparison E-112 carries — the loan is refused 42% of the time against 7% for site-built.

The prose contradiction is now gated rather than left to review. `tools/check_retired.py` fails the build on a paragraph asserting a claim that its own `<section>` has already struck, which is the rule that catches this class without anyone having to notice it.

Where it stands
Resolved. Worth recording why prose review missed it twice: the strike and the claim were both correct in isolation and only wrong in combination, and the combination is visible on one screen but not in one sentence. Every check this repository had read either a sentence or a number. Nothing read a screen.

RegisterE-070 E-071 E-112 check these rows →

C-019 Error Resolved The story and the deck — the four-attempts beat and the advisory-versus-authoritative beat; register row E-060 · found 2026-08

An unmeasured estimate was published as the answer the screening market had already produced

What is wrong
The load-bearing claim that compiled information without legal standing is worth little appears twice in the narrative, quantified both times. One reads the screening market "compiled rules across thousands of counties, and moved two of thirty-two months, because compiled information without political standing is advisory". The other says "the screening market has shown what it is worth on its own: about two of the thirty-two months", under a sentence claiming it "has already run the information-first experiment at commercial scale and published the answer".

Nobody published anything. Register row E-060 reads Untested, and its value was "Estimated to move roughly 2 of the 32 months" — this project's own estimate, never measured, never published, by anyone. The site turned its own guess into a finding by an outside market, and then rested the entire argument for legal weight over better information on it.

This is the argument's hinge. If compiled information alone captures little, the wedge must carry legal weight; if it captures a lot, the case for an authoritative determination is much weaker. That question is currently answered by an estimate wearing the clothes of a measurement.

The corrected form
E-060 is restated to `[UNMEASURED]` with the estimate identified as an estimate, and both beats are rewritten to say what is actually known: the screening market compiled the rules and did not displace the approval, and how much time it took out has never been measured by anyone.

Research into current municipal deployments was undertaken to re-evidence the claim, and produced two rows rather than a figure. E-117 records what a permitting authority itself publishes — Honolulu requiring the CivCheck pre-application process for eligible residential applications from 1 September 2026, read from the city's own page. E-118 records the effect figures, graded Untested, because the only sources located for them are the company selling the software and a trade publication. The Honolulu DPP page announcing the mandate publishes no before-and-after figures; the city auditor's permit-processing report predates the deployment.

That grading is the point rather than caution for its own sake. C-009 was a Confirmed claim traced to a working paper marked do-not-cite; C-010 was a headline figure whose newest source was a blog post. A vendor case study reporting that the vendor's product halved a city's decision times is the same instrument as NAHB publishing the regulatory share of a home's price, and E-001 is graded Contested for exactly that reason.

Where it stands
Resolved as to the overstatement, and it opens an objection rather than closing one.

E-117 is the competing path, and it is now stated in the objections table at full strength: a jurisdiction can buy automation directly. It needs no outside determination, no professional of record, no carrier, no portability and no conformance authority — Honolulu is mandating one, and the department still makes the decision at the end of it. If that path captures most of the available time, the architecture this project proposes is answering a question the market is already closing by a simpler route.

What survives, and it is narrower than the beats claimed: a pre-application screen is not a determination, and Honolulu's own framing keeps the decision with the department. The distinction between advisory and authoritative is intact. What is gone is any number attached to what the distinction is worth — in either direction.

RegisterE-060 E-117 E-118 check these rows →

C-020 Weakness Resolved Register row E-110 · found 2026-08

A quoted sentence attributed to a Federal Register notice could not be retrieved

What is wrong
E-110 carried a direct quotation — "NHTSA does not pre-approve vehicles, through testing or other means, before they can be sold or otherwise introduced into interstate commerce" — attributed to 85 FR 83145, the agency's December 2020 notice on the applicability of FMVSS test procedures to certifying manufacturers.

Found during the source-verification pass. The notice could not be retrieved from the Federal Register or from GovInfo, and the sentence could not be confirmed to exist in it. That does not make it wrong; it makes it unverified, on a row graded Confirmed, in quotation marks, attributed to a page number.

Quotation marks are a stronger claim than a paraphrase. They assert that a named source used these words, which is checkable in principle and was not checked here.

The corrected form
The quotation is removed rather than hedged, and the row now rests on statute alone, verified directly: 49 U.S.C. 30112(a)(1) for the prohibition on sale without compliance, and 49 U.S.C. 30115(a) for the certification — "A manufacturer or distributor of a motor vehicle or motor vehicle equipment shall certify to the distributor or dealer at delivery that the vehicle or equipment complies with applicable motor vehicle safety standards prescribed under this chapter."

The row keeps its grade because the claim does not need the quotation. The absence of pre-approval is established by the statutory scheme containing no approval provision, which is a stronger basis than a sentence from a notice nobody on this project has opened.

Where it stands
Resolved, and it is the first correction produced by the source-verification pass rather than by an audit of the register against itself.

Worth noting what found it: not a check. `check_citations` passes this row and always did — the Federal Register citation is perfectly resolvable, it just does not resolve to anything anyone here retrieved. That is the limit the citation gate documents in its own docstring, demonstrated on the second row of the pass.

RegisterE-110 check these rows →

C-021 Weakness Resolved Register rows E-006 and E-079 · found 2026-08

Two verbatim quotations from documents nobody on this project has retrieved

What is wrong
C-020 removed a sentence attributed to a Federal Register notice that could not be retrieved. A quoted string attributed to an unretrieved source is a distinctive failure — it asserts that a named document used exactly these words — so every quoted string in every field of the register was swept for the same signature.

Sixty-five quoted strings across thirty-eight rows. Most are document titles in `source`, which are verified when the document is retrieved and are therefore the source-verification pass's business rather than this entry's. Twenty-four quote content. Of those, thirteen are this project quoting its own superseded wording — "9.1 months", "<30% vs >70%", "twenty-eight years bought one city" — which carries no external attribution and no risk. Nine were verified verbatim against retrieved documents during this session.

Two were not:

E-006 quoted a working paper's title page as `PRELIMINARY - DO NOTE CITE`, typo included, with a (sic). Reproducing a typo is the strongest possible assertion that a document was read.

E-079 quoted the peer-reviewed CORENET study as saying e-PlanCheck `has been commercially used`. That phrase is the hinge of the dormancy argument — the whole reconstruction of the thirty-three years turns on when the system reached industry use — and the row already carries a note saying it rests on one source and corroboration is outstanding.

Neither document was retrieved in this cycle. Both quotations may well be accurate; neither is checked.

The corrected form
Both are paraphrased. The claims are unchanged and the substance of each survives — the published version of the Gabriel & Kung paper gives 484 days and does not contain 504, and e-PlanCheck did reach commercial use — but neither row now asserts that a named document used particular words.

Each row records what would restore the quotation: opening the paper. E-079's retrieval is already owed by the CORENET working paper's sourcing audit, and E-006's by phase 3 of the source-verification pass.

Where it stands
Resolved. The sweep is worth keeping as a method: a quoted string is a claim with a checkable failure mode, and grepping for them takes minutes. What it cannot do is tell a quotation that was read from one that was invented — only retrieval separates those, and eleven of the twenty-four content quotations are now verified against a document actually opened in this session, which is the first time that has been true of any of them.

RegisterE-006 E-079 check these rows →

C-022 Maintenance Resolved Register rows E-012, E-092 and E-093 — the three spine rows for the 1976 material · found 2026-08

Sourcing the 1976 spine before writing it: one row closed against Census, two did not close

What is wrong
Phase 2a proposes an act built on the 1976 quarantine of manufactured housing. Three of its load-bearing rows were unsourced or trade-sourced, and were checked before any of it was drafted rather than after.

E-012, the shipment collapse, read "240,000/yr (1977–95) → 93,000 (2017)" sourced to "Urban Institute" — a publisher, not a publication, and already regraded under C-017.

E-093, the share of manufactured homes ever moved after placement, was `[UNMEASURED]` with a note recording that it is widely quoted at under 5% with no primary source located.

E-092 carried the observation that the count of states still issuing certificates of title — the brief says 42 — was unverified and not claimed.

The corrected form
E-012 closes, and the real numbers are stronger than the ones it carried. Read from the Census Manufactured Housing Survey shipment series directly: 373,100 shipped in 1998, the peak; between 339,900 and 373,100 a year across 1995–1999; and 49,700 in 2009, the lowest year on record and an 87% fall from peak. 92,900 in 2017, 94,400 in 2020. Regraded Confirmed with the series named and the file identified. Two caveats sit on the row: Census states that data before 2014 uses a different methodology and is not comparable to the current series, and the files carry 44 annual totals rather than a complete run, so the years quoted were each read directly.

E-093 does not close, and the reason is worth more than the figure would have been. The Lincoln Institute of Land Policy states it twice on one page with no footnote, no hyperlink and no named study — and in two incompatible forms in adjacent sentences: "fewer than 5–7 percent of all manufactured homes are ever moved after initial placement" and "roughly 95 percent of homes are never moved". Pew repeats it. Nobody cites anybody. A number that varies between 5% and 7% inside a single clause is a number with no origin. The row stays `[UNMEASURED]` and the claim will not be written.

E-092 does not close either, and it is worse than unverified. The leading 50-state legal survey — the CFED and National Consumer Law Center review of titling law — contains no count of states issuing certificates of title. The number it does give answers a different question: "Approximately three-quarters of the states have statutes that set forth a procedure to convert a manufactured home from personal to real property." So 42 is not merely unchecked; the obvious authority does not state it.

Where it stands
Resolved as a sourcing exercise, and it is the first time this project has checked its evidence before writing the prose rather than after publishing it.

The two failures cost the act less than they look. Neither claim is needed: a home titled as a vehicle is taxed, financed and depreciated as one whether or not it ever moves, and that point is structural rather than statistical. What the argument gains instead is a harder number than either — 49,700 shipments in 2009 against 373,100 in 1998 — which nobody on this project had ever stated, and which is Census primary rather than advocacy secondary.

RegisterE-012 E-092 E-093 check these rows →

C-023 Maintenance Resolved Register row E-104; new rows E-120 and E-121; the literature page · found 2026-08

Closing the last spine row, and giving the missing statistic a row of its own

What is wrong
Three things left open by C-022's sourcing pass, all of them gating the 1976 act.

E-104 — that HUD-code housing is the cheapest way to build and its buyers earn far less — was the income comparison the act's opening beat needs, and C-017 had regraded it for citing "Hamilton, Mercatus Center, congressional testimony": a person, an institution and a genre, but not a document.

The titling argument had one leg. 42 U.S.C. 5403(d) preempts construction standards and is silent on property classification, which shows federal law left the question alone. It does not show what the states did — and the count that would have shown it, 42 states issuing certificates of title, could not be located in the obvious authority at all.

The missing five-percent figure was recorded as an absence and nothing more. E-093 said no primary source had been found. That undersells what the search actually established.

The corrected form
E-104 closes, quoted verbatim from the committee's own posted PDF — House Financial Services, Subcommittee on Housing and Insurance, 4 March 2025: "Manufactured housing built to the Department of Housing and Urban Development's code is the least expensive way to build a new home in the US today. The median income of the homebuyer of manufactured housing is $57,000 compared to $93,000 for site-built housing." It also yields a second reading on the collapse — manufactured homes fell from about 20 percent of new single-family houses before 2000 to 9 percent today, a share against a growing denominator rather than a count.

Restored to Supported, not Confirmed, and the distinction is the point: this is an expert asserting a figure in a congressional record, not a measurement. Hamilton attributes the income comparison to her footnote 7 and neither that footnote nor footnote 8 has been chased. The site will say told Congress, not found.

E-120 gives the titling argument its second leg, from the source that says something rather than the one that does not. The CFED and NCLC 50-state review: "Approximately three-quarters of the states have statutes that set forth a procedure to convert a manufactured home from personal to real property", with the states listed in Appendix A. The inference is stated on the row so it can be attacked: a statute providing a procedure to convert from personal to real property only has work to do where the default is personal property.

E-121 turns the failure into a finding. The claim that few manufactured homes ever move is published by the Lincoln Institute twice on one page with no citation of any kind, in two incompatible forms in adjacent sentences — "fewer than 5–7 percent" and "roughly 95 percent are never moved" — and repeated by Pew. What is Confirmed is not the housing fact but the state of the literature, read directly off the pages. The absent number itself stays `[UNMEASURED]` at E-093.

Where it stands
Resolved. E-121 is the entry worth revisiting later: this project has now found the same defect in its own register three times — a figure quoted confidently with nothing underneath it — and once in the outside literature on the exact question its own argument turns on. The difference is that the register publishes a corrections log.

RegisterE-104 E-120 E-121 check these rows →

C-024 Error Resolved Register row E-012, and the anchor figure wherever it appears — the story standfirst, the landing page, beat 19 · found 2026-08

The site's anchor number was assembled from a spreadsheet layout instead of read from the table that states it

What is wrong
C-022 closed E-012 against the Census Manufactured Housing Survey and made it the anchor figure of the whole site. The peak and trough it reported are right. Almost everything else about how it was produced was wrong.

The series was derived — scraped out of the monthly shipment workbooks and summed. Those files place two year-blocks side by side, and the parser read them as one stream, mis-assigning years by a whole block. Three attempts produced three different answers for the same years. The version that shipped carried:

- "It has not been above 100,000 since" — false. Shipments were 105,772 in 2021, 112,882 in 2022, 103,314 in 2024 and 102,738 in 2025. - A mean of 233,350 across 1977–1995 — computed over a range in which eight years were missing from the parse entirely. - Twenty-four years with no total at all, disclosed on the row as "44 annual totals rather than a complete run", which framed a parsing failure as a property of the source.

The one honest thing about it was that disclosure, and it was the clue: a government series does not have holes in it. The holes were in the reading.

The corrected form
The row is re-read from the annual shipments-to-states table, which carries an explicit US total row. Nothing is reconstructed. The peak, the trough and 2020 agree with the monthly files to within a hundred homes, which is what makes the remainder trustworthy rather than merely different.

The corrected series, and it is a better argument than the one it replaces:

- 373,143 in 1998, the peak. - 130,748 in 2004 — a 65% fall reached before the financial crisis, while site-built housing was in the middle of its largest boom in decades. - 49,717 in 2009, the trough, 87% below peak. - Back above 100,000 since 2021, and still under a third of 1998.

The boom-era number is the one that matters, and it was invisible in the peak-to-trough framing the site had. "2009 was the financial crisis" is the obvious rebuttal to a 1998–2009 comparison, and it is answered by the fact that two thirds of the decline had already happened by 2004, running opposite to the cycle. The recovery is stated too: the collapse is real, it is not permanent, and pretending otherwise would have been the same error in the other direction.

Where it stands
Resolved. A derived series is a claim. The failure here was not arithmetic — it was choosing to assemble a number from parts when a table stating it existed one click away, and then disclosing the resulting gaps as though they belonged to Census rather than to the parser.

Nothing in this repository could have caught it. `check_citations` passes both versions; the citation was resolvable and the file was real. `check_grades` passes both; the prose matched the row. Only reading the source the second time found it, which is the fourth instance of the same finding in a fortnight and is recorded with the others in `audit/measure-names-2026-08.md`.

RegisterE-012 check these rows →

C-025 Weakness Resolved Register rows E-122 and E-123; beat 19's account of the subprime objection · found 2026-08

The disproportion was stated on the source's looser denominator instead of the one we read ourselves

What is wrong
E-122 argued that the chattel credit event was origination-led by comparing two numbers: securitization halving in 2000, and shipments falling in the same year. The securitization figure is the Ford Foundation report's. So was the shipment figure, and it should not have been.

The report says shipments fell "only a 20 percent" in 2000. The Census series this project read directly gives 348,102 to 250,419, which is 28.1 percent. Using their number makes the financing look like it contracted 2.5 times as fast as the volume it financed. Using ours it is 1.8 times.

Both support the same direction, and taking the larger one anyway is how a case gets overstated a fraction at a time. This project already has a correction — C-024 — about assembling a number rather than reading the table that states it. This is the milder cousin: quoting a denominator from a secondary source while holding the primary series in hand.

The corrected form
E-122 states the disproportion as 1.8 times, on the Census denominator, and cites the report only for the securitization half. The measure note stays on the row so the two figures are never recombined.

E-123 records a second search for a repossession series, and it failed again. Checked: Census MHS, HUD USER, GAO, the Federal Reserve, Fannie Mae and Freddie Mac publications, and the Manufactured Housing Institute. Census settles the question for its own series in its own words — "The Manufactured Housing Survey does not include data on repossessed homes or resale units" — so the competing-supply channel is absent from E-012 by construction rather than by oversight. GAO-07-879 confirms the channel existed, describing a large number of repossessions from 2000 to 2002 that "flooded the market with units and increased the supply of manufactured homes", and gives no count.

A measure discrepancy is recorded rather than smoothed: GAO reports 332,000 new manufactured homes sold in 1996 against 118,000 in 2005, where Census reports 363,345 shipped in 1996 and 146,881 in 2005. Sold and shipped are different series.

E-124 is the reply that absorbs the objection instead of conceding it. Personal-property collateral is repossessed under UCC 9-609, which lets a secured party after default take possession "(1) pursuant to judicial process; or (2) without judicial process, if it proceeds without breach of the peace" — self-help, no court. Real property requires foreclosure, and GAO states the asymmetry plainly: repossession applies to personal property, foreclosure to real property, and "the consumer protections for repossession are often less extensive than those for foreclosure".

The repossession wave could move at that speed because of the title. A mortgage market cannot dump inventory that fast because the law does not permit it. The competing-supply channel is therefore not an alternative to the classification argument — it is a second consequence of the same classification.

Where it stands
Resolved. The limit is on the row and belongs in any use of it: E-124 establishes the legal mechanism, not the realised speed. No measured comparison of repossession-to-resale against foreclosure-to-resale for this period has been located, and E-123 records that no repossession series exists at all. What is claimed is that the law permits a velocity mortgages cannot, which is what the statute says — not a measurement of how fast it actually went.

RegisterE-122 E-123 E-124 check these rows →

C-026 Error Resolved The Act III climax — the beat that used to claim encoding cost closed this market; register rows E-080, E-102 and E-123 · found 2026-08

The refutation was resting on the illustration instead of on the evidence, and a challenged claim held

What is wrong
C-013 withdrew this project's central claim — that the cost of hand-encoding a jurisdiction was what closed the market — and replaced it with the transplant observation: Singapore's engine went to Norway, New York City, Australia and Japan, all four inherited it free, none reached production. The beat called that "refuted".

Three things were wrong with it as an argument.

The load was on the wrong claim. The transplant story is four data points reported in one 2005 trade article. Sitting unused beneath it was E-082, a peer-reviewed cross-case study of eight countries finding twelve variables that govern adoption of automated compliance checking, eight of them non-technical. That is positive evidence about what actually decides adoption, and it should lead.

"Refuted" overstates what four cases can do. They do not establish that encoding cost was never binding anywhere. What they establish is narrower and still useful: encoding cost was zero for those four, so it cannot explain them — and no case has been identified in which cheap encoding produced adoption.

The American thread was missing entirely, and it complicates us. The ICC built SMARTCodes in 2006; development ended in 2010 for lack of funding. Fiatech's AutoCodes followed and stalled after its proof of concept. A project that dies in a budget is contingent, not structural. The beat implied these failures reveal something about the binding barrier; a funding event reveals nothing of the kind, and saying so is the difference between an argument and a case.

The corrected form
The beat is restated with E-082 leading and the transplants as illustration beneath it, and the transplant logic is written in its honest form rather than as a refutation. The named causes are on the page: SMARTCodes and its budget, sorted explicitly from CORENET, which Potter assesses as having "died silently, so the reasons are unclear", and from Norway, New York City, Japan and Australia, where there is only absence.

Four rows opened. E-127 for SMARTCodes and its funding cause, peer-reviewed and independently corroborated. E-128 for Potter's assessment of CORENET — cited deliberately because he is the source this project concedes to on prefabrication cost. E-125 for the AutoCodes proof of concept as ICC and Fiatech themselves describe it. E-126 for the quantified spread, which is reported and not retrieved and says so.

E-102 is re-cited properly, clearing the CITATION UNRESOLVED flag C-017 put on it: it read "Potter, Construction Physics" — a person and a publication, no article.

And the beat now carries the AutoCodes finding in both directions. For us: the standing objection to compiled review is that it sacrifices judgement, and on the most objective chapters in the code, thirteen jurisdictions reviewing the same plan set produced a reported spread of one flagged issue to 43. The status quo is not a reliable process automation might degrade; it is an unreliable one automation would stabilise. Against us: consistency is not correctness. An encoding picks one reading and applies it everywhere, which beats thirteen readings only if the reading is right, and somebody has to be authorised to pick it. That is the assent question with a number attached to what it would replace.

Where it stands
Resolved, and one part of it is a record of a challenge rather than a correction.

The New York City claim was challenged in review as a suspected conflation with the SMARTCodes thread. It was checked against its original source and it held. Khemlani (2005) states plainly that a New York City pilot on ICC codes was completed on the FORNAX platform, and the chronology rules the conflation out — the pilot is 2005 and SMARTCodes is 2006.

It is recorded here because a claim that survives a challenge should show that it was challenged. A corrections log that only contains defeats teaches a reader that unchallenged claims were never examined. The corroboration gap is on E-080 with it: one trade article, from the platform vendor's ecosystem, and three later surveys of this field that do not mention the pilot at all.

RegisterE-080 E-081 E-082 E-102 E-123 E-125 E-126 E-127 E-128 check these rows →

C-027 Maintenance Resolved Register row E-123; beat 19's account of the competing-supply objection · found 2026-08

The repossession count was found in lender filings after seven market-statistics sources had none

What is wrong
C-025 recorded that no repossession series could be found in Census, HUD USER, GAO, the Federal Reserve, Fannie Mae, Freddie Mac or MHI, and left the competing-supply channel open but unquantified. Every one of those is a market-statistics source. The channel was being looked for in the wrong class of document.
The corrected form
Lender filings carry it. Oakwood Homes — which filed for Chapter 11 in November 2002 — reports in its FY2002 Form 10-K that it repossessed or foreclosed 8,666, 11,727 and 13,423 homes in fiscal 2000, 2001 and 2002, with unsold repossession inventory rising from 2,603 to 5,940 to 7,063. And it states the market figure: "annual repossessions have increased to an estimated 90,000 units in 2002, more than 50% of new home shipments."

E-123 moves from `[UNMEASURED]` to Supported, with the grade explained: the 90,000 is the company reporting an industry estimate rather than a count it made, and one lender is not the market — Conseco Finance was the larger originator and its filings have not been read.

Where it stands
Resolved, and it makes the objection bigger, which is the right outcome to report. Repossessions at more than half of new shipments in 2002 is an enormous overhang, and anyone arguing that competing supply rather than the title drove the collapse now has a number. The reply is unchanged and stronger for being tested: a wave of that size and speed is only possible where the collateral is personal property, repossessed under UCC 9-609 without judicial process. The title is what let it happen that fast.

The general lesson is about search rather than about housing. Seven sources were checked and all were market statistics; the answer sat in the accounts of the firms doing the repossessing. When a phenomenon is invisible in aggregate data, look at the balance sheet of whoever it happened to.

RegisterE-123 check these rows →

C-028 Error Resolved Register row E-124; beat 19's velocity claim and its causal chain · found 2026-08

The velocity claim was about aggregate capacity and 2008 refutes it

What is wrong
Beat 19 answered the repossession objection by saying the wave could only reach that speed because the homes were titled as personal property — "no mortgage market is permitted to dump inventory that fast."

That does not survive 2008 to 2011. Foreclosure moved millions of site-built homes in those years. Real property can produce an enormous wave of forced sales, and anyone who lived through it will reach for that immediately. The claim as written was about aggregate capacity, and aggregate capacity was never the thing the title constrains.

The corrected form
The claim is restated as cost and time per unit, which is what UCC 9-609 actually supports: self-help repossession removes the court from every individual recovery, and foreclosure — judicial, or non-judicial with statutory notice and redemption — does not. That is a per-unit path, not a ceiling on volume. The beat now says so explicitly, and names 2008 rather than waiting to be corrected with it.

The limit is on the row: no source has been located comparing repossession-to-resale duration or cost against foreclosure-to-resale for manufactured housing in this period. The mechanism is documented in the statute; the magnitude of the per-unit difference is not measured anywhere found. E-124 says do not put a number on it.

Conseco Finance's filings are read, which C-027 said was owed. It was the larger lender and the numbers are much larger: 24,131 unsold properties in repossession or foreclosure at the end of 2001 against 20,110 a year before, and 25,750 units liquidated in 2001 at 57% average loss severity. That is one balance sheet accounting for roughly 13% of the year's new shipments. Two lenders together approach 37,000 units of flow, which makes Oakwood's industry estimate of 90,000 look conservative rather than inflated. E-129 is Confirmed where E-123 is Supported, because these are the company's own counts rather than its estimate of the market.

Conseco's filing also carries contemporaneous evidence on speed that this project did not have: competitors "have acted to more quickly dispose of repossessed manufactured housing inventory", and GreenPoint announced an objective to "quickly liquidate its repossessed inventory at below market prices in the wholesale market".

And the causal chain is now written out in five links rather than argued in two — title, chattel financing, self-help repossession, supply glut, collapse — each with its evidence named. A chain stated implicitly reads as convenient. Stated plainly it is a mechanism, and every link is a place to attack it. The beat says which link carries the most weight and the least measurement: link three.

Where it stands
Resolved. The pattern is worth naming because it is the third time in a fortnight: an argument was stated in the strongest available form rather than the defensible one, and the strongest form had an obvious counterexample sitting in recent memory. C-025 was the same shape — the flattering denominator — and so was the "not above 100,000 since" claim in C-024. The failure mode is not carelessness with sources. It is reaching for the version of a true claim that sounds most decisive.

RegisterE-124 E-129 check these rows →

C-029 Error Resolved The landing page's sources note; tools/check_site.py's number spot-checks · found 2026-08

A check was asserting that a withdrawn figure should still be on the page

What is wrong
Found while publishing the model autopsy, by a gate failing for an unrelated reason.

`check_site.py` keeps a list of register numbers that must appear on named pages, so that a figure cannot survive in one rendering and silently vanish from another. Two of its seven entries had rotted, and one of them had rotted into an assertion that a corrected number should still be present.

"9.1 months" is in no register row. C-016 withdrew it: E-002 had added the Total column of one Census table to the built-for-sale column of another, stated a total equal to neither, and cited a year the series does not publish. The register was corrected. The check went on requiring the withdrawn figure on three pages — and printing OK when it found it, because the landing page still carried it: "single-family authorization-to-completion 9.1 months (2024), of which 7.6 building", exactly the wrong decomposition and exactly the wrong year.

"93,000" had become a coincidence. It was E-012's old shipment count. C-024 replaced that with 92,902, and the entry kept passing by matching an unrelated $93,000 income figure on a different row. A spot-check that matches the wrong number is worse than no spot-check: it reports confidence it has not earned.

Neither was caught by `check_retired`, because nobody added these figures to the retired-claims list when the corrections landed. The corrections fixed the register and the beats and stopped there.

The corrected form
The landing note now states the corrected figure with its caveat: 9.7 months for 2022, and that these are two averages on different cohorts rather than one number.

The spot-check list is re-anchored on figures that still exist — and now leads with a comment saying that every entry must still exist in the register, and that when a correction lands, this is one of the places to come. "373,143" and "49,717" are added, so the anchor figure is now checked for presence across all three renderings.

Retired-claims gains patterns for the withdrawn figures, with written exemptions for E-002's own notes, which have to name what they corrected.

Where it stands
Resolved, and the lesson is about the shape of a correction rather than about this figure.

A correction has more surfaces than the register and the prose. C-016 and C-024 both corrected rows and beats, and both left a check behind that still encoded the old number. Nothing in the process pointed at `tools/` — the checks are where this project keeps its assumptions about what should be true, and an assumption is exactly the thing a correction invalidates.

That is now written into the file it applies to rather than only here.

RegisterE-002 E-012 check these rows →

C-030 Maintenance Resolved Register row E-056; beat 19's causal chain; CONTRIBUTING · found 2026-08

The chain was drawn in series, so its weakest link governed claims that do not depend on it

What is wrong
Beat 19 set out the argument as five links in series: title, chattel financing, self-help repossession, supply glut, collapse. Every link was evidenced and the sequence was true. The shape was still wrong.

In series, the weakest link governs everything downstream. The weakest link here is link three — the per-unit repossession claim, where the mechanism is in the statute and the magnitude is measured nowhere. Drawn as a line, a reader who doubts link three has been invited to discard the whole argument, including the origination story, which does not depend on link three at all.

The origination evidence is independent: securitisation halved in 2000 while shipments fell 28.1%, financing contracting 1.8 times as fast as the volume it financed. That stands whether or not repossession velocity is ever measured.

The corrected form
The chain is redrawn as two links in series and then two branches. Title and chattel financing are common. Branch A is the money withdrawing — worse terms, failed securitisation, fewer originations. Branch B is the inventory arriving — cheap fast recovery under §9-609, and a glut competing with new production. Both end at the collapse.

The beat says why it is drawn that way rather than leaving the reader to infer it: a chain drawn in series would have overstated what a single doubt destroys.

The 57% loss severity is now in the beat, where it belongs. Conseco liquidated 25,750 units in 2001 recovering 43 cents on the dollar, from its own income statement, contemporaneous. It is the strongest evidence that the glut was real and it had been sitting in the register only.

E-056's section text is read, closing the gap left when Cornell served only subpart headings. 14 CFR 21.11 and 183.41 now quote from GPO. One thing the text adds that this project had not recorded: an ODA performs its functions "on behalf of the Administrator" — the delegation is explicit and the authority stays with the FAA. That is a sharper reading than "delegated verification", and it cuts both ways: it confirms the structure is real, and it means the aviation model is delegation within an agency's authority rather than an outside determination the agency accepts, which is the distinct thing E-088 and E-089 are cited for. The row says not to blur them.

Where it stands
Resolved, and the general rule is now in CONTRIBUTING rather than only in this log.

State the strongest version a hostile reader would accept, not the strongest version that is defensible. C-016, C-024, C-025 and C-028 were all the same failure — a true claim stated one notch beyond what the evidence carried, with the honest version equally available and nearly as strong. None was a sourcing error and none is catchable by any gate in this repository: `check_citations` sees a resolvable source, `check_grades` sees prose matching its row, `check_retired` sees no withdrawn claim. A true claim stated too strongly is invisible to all of them.

Drawing the chain in series was the same failure in a different medium — not a sentence overstated, but a structure that made the argument look more load-bearing than it is.

---

RegisterE-056 E-122 E-124 E-129 check these rows →

C-031 Error Resolved The story page's contents plate, and the act nav beside it — `build_story.py` · found 2026-08

The contents plate was still describing Act III with the framing C-013 withdrew, and it had been on the page since the correction landed

What is wrong
The story page prints a contents plate: one line per act, naming its dramatic phase and what the act is about. Act III's line read:

> III · CLIMAX — A NUMBER THAT MOVED, AND DID NOT MATTER

That is the encoding-cost climax. `C-013` withdrew it in August 2026 — the claim that the cost of hand-encoding a jurisdiction closed this market was refuted by this project's own research, four of them were retired, and the act was rebuilt. The plate was not part of any beat, so nothing regenerated it and nothing read it.

The act nav had drifted the same way and for the same reason: I The problem · II Four failures · III What changed · IV The solution · V What it is worth describes an arc the sheet stopped making two corrections ago.

Neither is a beat, a chip, a caption or a register field, so no gate reached them. `check_consistency` reads the arc block in the beat sheet; nothing compared a rendered act label to the sheet at all. Found by screenshot during the first increment of the restructure, and it had been live the whole time.

This is the fifth error class in a third place: a hand-maintained list that decides what the page says about its own structure. The withdrawn-figures list, the extractor's class allowlist, and the errata document list all failed identically.

The corrected form
Act names now have exactly one source — a `## The acts` block in the beat sheet giving each act its numeral, its short nav label and its plate caption. `build_story` derives the nav, the act plates and the contents plate from it, and `check_consistency` fails when an act in the sheet has no entry or an entry names an act with no beats.

The three copies in `build_story.py` are gone. The labels themselves now read the approved target arc: the gap, America already solved this once, the quarantine, what the other attempts prove, where it stands.

Where it stands
Resolved. The withdrawn framing is on the retired-claims list under `RC-16`, so it fails the build if it ever comes back — which is the part C-029 taught: the correction is not finished until the checker can find the claim.

---

C-032 Weakness Resolved HAP-08 — the beats "What is actually running", "One parcel, start to finish" and "If you just need a home"; register row E-014's `used_in` · found 2026-08

A third of one act specified a conformance authority that the beat introducing it defers, and three of those beats were pure specification

What is wrong
Act IV described the conformance authority across roughly ten of them — the two questions, the determination specimen, the machine, the seven layers, a parcel walkthrough, a household walkthrough — while the beat that opens that territory says the crossing point has never been measured (E-039, empty).

Deferring something and then specifying it at length is incoherent whichever way Gate 0 comes back. It also reads as readiness: a reader who meets that much system design reasonably concludes the system is closer to existing than it is.

The corrected form
Three beats removed rather than softened, per the approved restructure map:

* What is actually running — an implementation of the deferred thing. * One parcel, start to finish — a walkthrough of a product that does not exist. * If you just need a home — the same walkthrough from the household's seat.

Their register rows are used elsewhere, with one exception: E-014, whose only HAP-08 pointer was the household beat. Its `used_in` now reads `HAP-02 S08` alone — the row stands, and the claim it supports is no longer made anywhere in the live narrative. No replacement figure or beat was written. The gap is the point.

What remains of the product is a marked section — what was designed, that it is deferred, and what would revive it — and the determination specimen stays whole inside it, because it is the clearest statement of what would have to be true and an outside review called it the best teaching artifact on the site.

The three keep their place in the record: `R05`, `R06` and `R07` in the sheet, rendered on the story page and on /revisions with what each said and why it went.

Where it stands
Resolved. The compression of the remaining product beats is separate and is not done here.

---

RegisterE-014 E-039 check these rows →

C-033 Error Resolved The story card on the landing page, the HAP-08 card on /documents, and the story door on /solution · found 2026-08

Three navigation cards still sold the story on the claim C-013 withdrew, in a paraphrase no pattern caught

What is wrong
Three cards describing the story page promised a reader "the constraint that turned out to be arithmetic" — the landing page's story door, the HAP-08 card on /documents, and the story door on /solution. That is the encoding-cost climax, withdrawn whole by C-013 in August 2026: the claim was refuted by this project's own research and the beats making it were retired.

`check_retired` never flagged any of the three because RC-04's patterns match the claim as it was published — "arithmetic, not engineering", "the missing layer" — and these cards carried a paraphrase. A pattern list catches the sentence it was written against, not the claim; the same failure shape as C-014, where the leak sat in an element the extractor could not read. Here the extractor read all three cards fine and had nothing to look for.

The same sweep found the deck's meta description still calling it "a twenty-five beat narrative" — a count from an arc four revisions old, invisible to `check_consistency` because the phrasing is singular ("beat narrative") where the count patterns expect "beats".

The corrected form
All three cards rewritten to describe the current arc — the gap, the 1976 standard that stopped at construction, the quarantine, what the other attempts prove — which is what the story page now argues. The deck description drops the count entirely rather than hardcoding a new one for the next reorder to strand.

The paraphrase is patterned: RC-04 now carries `turned out to be arithmetic`, so all three would have failed the build, and any future restatement in those words will. The pattern was added BEFORE the fixes and the gate run against it — it found all three, including one on /solution this sweep had missed.

Where it stands
Resolved. The general lesson stands with C-031: descriptive furniture — cards, plates, doors, meta descriptions — repeats the argument in paraphrase, no gate compares it to the sheet, and it goes stale silently on every revision. Where a withdrawn claim has a natural paraphrase, the paraphrase belongs in the patterns.

---

C-034 Maintenance Resolved Register rows E-131 and E-132; the fragmentation beat in HAP-08 · found 2026-08

The construction/siting split is read from the statutes, and the fragmentation row narrows to what is actually unmeasured

What is wrong
E-131 was opened before the restructure saying that nothing in the register established the construction/siting split — true when written, and the row existed precisely to stop the reframed fragmentation beat shipping as if it were sourced.

The split turned out to be citable in one subsection. A.R.S. §41-4006 preempts local inspection of anything a certified unit's certification already covers, and its subsection (D) then names what stays local: zoning, fire zones, building setback, maximum area and fire separation, site development, property lines, on-site utility terminals. Read from the legislature's own site and quoted verbatim as E-132, Confirmed. The federal half was already E-091 (42 U.S.C. §5403(d)), Confirmed.

The corrected form
E-132 opened. E-131's value narrowed to the half that is genuinely unmeasured: the SIZE of the siting fragmentation — how many distinct regimes, how far their binding provisions diverge. Existence is evidenced; magnitude is not, and the beat must say both. Writing the beat weaker than the statutes support would be C-028 inverted — understatement is also a failure to state what the evidence carries.

E-049 is untouched: it asserts the same scope limit for modular programs generically and stays Untested for want of a named document. E-132 is that document, for one state and one program type.

Where it stands
Resolved.

---

RegisterE-131 E-132 E-091 check these rows →

C-035 Weakness Resolved HAP-08, the deferred-product section — the beats "Two questions, two answers", "Seven layers, each falsifiable", "What actually gets built" and "Each failure has a named answer" · found 2026-08

The deferred product still ran six sections deep after the site said it was deferred; it is now a pair

What is wrong
C-032 cut the three pure-specification beats, and the section that remained still ran six deep — the instrument, the two questions, the specimen, the seven layers, the product catalogue, and the failure-answers table. A reader who has been told the product is deferred and then walks through that much of it concludes the site does not believe its own deferral.
The corrected form
Four beats absorbed into one, with nothing withdrawn — each surviving piece is in the new "What was designed, and why it waits":

* Two questions, two answers — the advisory/load-bearing distinction survives whole; it is the section's investor cut. E-060's pointer moves with it. * Seven layers, each falsifiable — survives as one sentence; the stack is in HAP-05/HAP-06, which the research cut names. * What actually gets built — survives as "three ordinary building types that are legal somewhere and impossible here"; E-036's pointer moves with it. * Each failure has a named answer — does not survive. A table of named answers is a claim about a built thing, and the section's whole point is that the thing is not built.

The specimen stays intact as the section's second and final beat — it is the clearest statement of what would have to be true — and its turn line now hands to the open question rather than to the machine beat C-032 removed. The four old numeric URLs are pinned to the section head. The section states the revival conditions by name: E-039 and E-098.

Where it stands
Resolved. The deferred product is a pair: what was designed and why it waits, then the artifact it would issue.

---

RegisterE-036 E-060 check these rows →

C-036 Weakness Resolved HAP-08 Act II — the beat "It worked. Then finance killed it."; the closing beat "Nobody has both halves" · found 2026-08

The precedent act opened by contradicting itself, and its close still argued the compiler thesis

What is wrong
After the reorder, Act II ran: "It already worked once" followed immediately by "It worked. Then finance killed it." — kicker "Attempt two · 1976". The double-appearance the restructure exists to resolve was sitting in two adjacent beats: the same statute as precedent and as failed attempt, one scroll apart.

The restructure map planned a split — precedent half staying in Act II, finance half becoming a new Act III beat. Executing it revealed both halves already existed. The precedent half duplicates "It already worked once" almost clause for clause; the finance half is Act III's own beats — the collapse carries E-012 and the lending penalty carries E-009. A new origination beat would have restated an act that already argues that branch.

The act's close, "Nobody has both halves", still stated the compiler thesis — "Preemption grants the right. Compilation makes the right exercisable." — with a law-plus-compiler figure drawn from it.

The corrected form
The beat is absorbed, not split. Its two figures that had no other narrative home move to the lending beat with their grades stated — the refinance share (E-010) and the spreads (E-011), both Untested with citations unresolved, said so in the research cut — and E-014's land-owning complication moves with them, restoring that row's live pointer. The shipment fall was already the collapse beat's spine.

"Nobody has both halves" is reframed per the map to the boundary the statutes draw: construction preempted (E-091), siting expressly local (E-132), property classification unaddressed — one national answer for how, no standard for what or where, magnitude unmeasured (E-131). The compiler-thesis figure comes off the beat; the slot stays empty rather than carrying a chart of the argument the beat no longer makes.

The old numeric URL pins to the precedent beat. Act II is a pair: what worked, and where it stopped.

Where it stands
Resolved. Deviation from the restructure map recorded here: the planned new Act III origination beat is not built, because executing the split showed Act III already argued that branch — the map's destination existed before the cargo arrived.

RegisterE-091 E-132 E-131 E-010 E-011 E-014 check these rows →

C-037 Error Resolved /documents, /evidence, /, /story, /about, /presentation, /solution; the beat sheet; tools/check_consistency.py · found 2026-08

The gate that reads every count on this site could not see most of them

What is wrong
Twenty-eight contradictions were live across eight pages, and `check_consistency.py` reported clean on every run that shipped them.

The register holds 133 rows. `/documents/` printed 116 rows · CSV, and the same figure was spelled out as "One hundred and sixteen claims" on `/documents/`, `/`, `/story/` and in the `<meta>` and `og:description` of `/evidence/` — the text a search result and a link preview show. The table on `/evidence/` rendered 133 OF 133 ROWS directly beneath its own stale description.

Nineteen rows are gaps nobody has measured. Seven pages said sixteen, in eleven separate sentences. `/` also carried "Eleven of seventy-one rows are unmeasured", a sentence that states two counts and had both wrong.

`/documents/` was wrong about the corrections log as well — 8 entries, "All eight are resolved and all eight stay published" — against 36 entries, C-001 to C-036. It advertised the register download at 23 KB against a 117 KB file. `/corrections/` itself was right throughout; only the page describing it was wrong.

Why the gate could not see any of it. `check_consistency.py` does not read the number on the page. It takes each number it already knows about, renders it as a digit and a word, and searches for that. The word-forms lived in `NUMBER_WORDS`, a hand-maintained table of about forty integers. It stopped at 115. It also ran 2 to 15 and then jumped to 32, so sixteen was missing from the middle of it. A number absent from the table is a number the check cannot look for.

The table carried a comment saying exactly this, and prescribing the remedy: "When the register crosses the top of this table, extend it." The register crossed the top of the table. Nobody extended it.

There was a second blindness under the first. `word_or_digit()` wrapped every pattern in `(?<!and )(?<!hundred )` so that a compound ending in seven could not be read as a count of seven. That is a real defect and the guard was right about it, but it defended by making the compound unmatchable rather than by matching it — so extending the table would not have been enough on its own.

And a third: the check globbed `index.html`, a filename convention standing in for the set of pages that ship. `site/working-board.html` had never been read by it. `check_site.py` has globbed `*.html` all along.

This is the fourth time a hand-maintained list has failed this way here. The withdrawn-figures list (C-029), the extractor's class allowlist, and `build_errata.py`'s document list were the first three. `CONTRIBUTING.md` states the rule they produced — any list that decides what gets checked must be derived, inverted, or must fail loudly — and `NUMBER_WORDS` broke a rule that was written before it broke. None of them failed when something was missing. They succeeded, and reported clean.

Two further defects surfaced once the gate could see, and both are recorded here because they are the same failure wearing different clothes:

`/solution/` badged three rows Confirmed that the register grades Untested. Under the heading "The parts are not hypothetical", E-047, E-048 and E-050 each carried a Confirmed chip and the sentence "Three things this road depends on are already Confirmed in the register." C-017 regraded all three on 2026-08-10 because their source fields named no document a reader could open. The pitch page never moved behind the correction. `check_grades.py` was right to pass — it reads a beat's prose against the rows the beat cites, and this was builder-authored markup that cites nothing. The beat sheet had already committed to the honest version: "The rows this section rests on keep their grades … Nothing in this section upgrades them." Only the page disagreed.

E-074's notes froze a grade E-001 no longer holds. The row read "same posture as E-001, graded Supported". E-001 has gone Confirmed → Supported → Contested; it is Contested now, and it is this site's own headline cost figure. The note was true when written and became a claim that the register contradicts.

The corrected form
The gate is inverted rather than extended. It now reads whatever number sits next to a claim phrase and compares it against the computed truth, instead of searching for numbers from a list. `spell()` generates the word-form for any integer, so there is no ceiling to cross and no maintenance step to forget. The lookbehind guard is gone; because the claim phrase is anchored to the number, the left-to-right scan reaches the whole compound at the earliest matching position.

The phrasings were left narrow. Broadening one to "{n} rows" was tried and produced sixty false positives on sentences like "two rows asserted more than their sources" — the specificity was correct all along. What was wrong was the number side, not the phrase side.

The page set is now derived from what ships — every `*.html` under `site/` — with `working-board.html` carrying a written exemption, and `<meta>` and `og:description` are read as the prose they are.

Two new assertions close the surfaces this exposed. A grade word printed within forty characters of an E-number must match that row's grade, wherever on the site it appears. And the register download's advertised size is checked against the file, because that figure changes on every register edit and is the one number here nobody could keep right by hand.

Every stale figure is corrected. `build_evidence.py`, `build_story.py` and `build_solution.py` now interpolate the counts they used to spell out; `numword()` grew hundreds, since falling back to digits was why the sentence kept its hand-typed words. `narrative.py` gained `register_counts()` and `register_grades()`, because neither it nor `build_story.py` had ever read the register at all. The beat sheet's "Nineteen register rows are empty" also stops enumerating eleven of them as though the list were complete.

`/solution/` now renders each grade from the register and states the honest version: these three things operate in American law, their rows are graded Untested, the grade is about the filing rather than the law, and nothing on the page upgrades them.

`test_gates.py` gains five cases, four of them negative, and each was verified by breaking the gate and watching it fail. One of them failed to fail on the first attempt — it was written to prove that the alternation order protected the compound match, and reversing the order changed nothing, because backtracking does that work. The claim was wrong, the comment asserting it was wrong, and both were corrected. `GATE_LISTS` records what replaced `NUMBER_WORDS` and which shape each new list takes.

Where it stands
Resolved. The full inventory, the three blindnesses and the two false positives are in `audit/blind-numbers-2026-08.md`.

The lesson is not that the table needed a higher ceiling. A hole in the middle of it did the same damage as the edge — sixteen was missing at a value nobody would have thought to check, and it was wrong on seven pages against six for the number everyone was watching. Raising the ceiling would have closed neither. A list that decides what gets checked cannot be repaired by being made longer.

The correction that would have caught this earliest is not in `tools/` at all. It is that a comment describing a known defect and prescribing a manual remedy is not a fix. It is a defect with a note attached, and this one sat in the file for the whole time the site was wrong.

---

RegisterE-001 E-074 check these rows →

C-038 Error Resolved Register rows E-002 and E-114; the sourcing under the month strip · found 2026-08

Census resumed publishing the average tables, and two rows still said it had stopped

What is wrong
E-002 stated that Census publishes "no average for 2023-2025". E-114 stated that "Census stopped updating the average tables after 2022". Both were true when they were written. Neither is true now. The Survey of Construction average tables carry annual figures through 2025: start to completion 8.6 for 2023, 7.7 for 2024 and 7.4 for 2025, with authorization to start at 1.5, 1.4 and 1.4.

This is the failure mode a register is least protected against. Nothing was misread, no source was mis-cited, and no gate could have fired — the rows were accurate on their retrieval date and rotted afterwards. A `review_by` of 2027-02 would have caught it eighteen months late.

It also matters more than a vintage refresh usually would. The 8.3 months that E-002 carried is where the site's "eight are spent building it" rounds from, and where the month strip's `BUILD · 8` comes from. The current figure is 7.4.

The corrected form
E-002 is updated to the 2025 vintage: 8.8 months on the like-for-like Total 1-unit columns, 1.4 authorization to start plus 7.4 start to completion. The grade stays Supported — the reason it was never Confirmed is that the sum crosses two cohorts, and changing the vintage does not change that. E-114 keeps its Confirmed grade and its distribution figures, which are unaffected; only its claim about Census having stopped is struck. Its derivation from the 2024 distribution estimated 7.0-7.4 months and the published 2024 average is 7.7, which is recorded because a derivation that can now be checked should be.

Both figures were verified on 2026-08-17 by parsing the source workbook directly rather than reading a summary of it.

Five rows are added from research conducted alongside this correction. Three of them cut against this site rather than for it, and they are filed for that reason:

E-134 — Census tabulates the Survey of Construction for the United States and four regions only, and says in its own methodology that its sample cannot support state or local estimates. There is no state-level construction duration in America and no records request produces one.

E-135 — the authorization-to-start gap in the United States is 1.4 months. It is the one post-permit delay Census measures, and it is small. Any account of the months around the build has to place them before authorization, because this row closes the window after it.

E-136 — the Netherlands publishes the delivery period split into a permit phase and a construction phase, the only country found that does. The wait between permit granted and ground broken is 8.1 months and grew 62% in a decade, faster than construction grew. That phase is neither approval nor building, and it sits downstream of the Dutch statutory permit deadline, so no permit-office reform reaches it.

E-137 — England, where approval time exceeds construction time without ambiguity: a mean of 710 days to determine an outline application for major housing in 2024 against 284 days in 2014, with approvals slower than refusals at 857 days against 453.

E-138 — an owner-built American house takes 12.8 months to build against 6.1 for a spec house, and is the smaller of the two. A two-fold spread in construction time inside one regulatory environment sets a floor on how much of any national figure can be attributed to approval regimes.

Where it stands
Resolved as a register correction. The consequence for the hero is open and is the author's to settle. `BUILD · 8` in the month strip and *"eight are spent building it"* both trace to E-002's superseded 8.3. The current figure rounds to seven, which would carry the strip total from 32 to 31 — and the v2 work order says the opposite, that the 32/8 line is the site's strongest lay asset and should keep its number while changing what it is attributed to. That conflict is recorded here rather than resolved by whoever happened to be editing.

---

RegisterE-002 E-114 E-134 E-135 E-136 E-137 E-138 check these rows →

C-039 Weakness Resolved The hero and the month strip — "Eight are spent building it" and BUILD · 8; the open item left at the end of C-038 · found 2026-08

The eight months of building were anchored to whichever year Census published last

What is wrong
C-038 left one thing open: `BUILD · 8` and "eight are spent building it" both descend from E-002's 8.3, which is the 2022 figure, and the 2025 figure is 7.4. The obvious move was to write seven.

Checking the series first is what stopped that. Census start to completion, Total 1-unit, runs 7.0 · 6.8 · 7.2 · 8.3 · 8.6 · 7.7 · 7.4 across 2019 to 2025. A headline anchored to the latest published year would have read eight, then nine, then eight, then seven across four consecutive vintages — without anything changing about how an American house gets built. 2023's 8.6 is a pandemic supply-chain peak and 2020's 6.8 is the trough of the same disturbance.

The defect was never the value. It was that a headline claim was pinned to a single observation of a noisy series, and would have gone stale on exactly the schedule that produced C-038 in the first place.

The corrected form
The figure is re-anchored rather than re-typed. E-139 records the 2021-2025 mean of 7.84 months with the arithmetic shown, and the strip's sources line now names it as the basis. Eight stands, and for the first time it is sourced to something that does not move when Census publishes.

Every window from three to seven years rounds to eight — 3-year 7.90, 5-year 7.84, 7-year 7.57. Only the single year 2025 rounds to seven, and only the full 2018-2025 window does, at 7.46. Writing seven would have been the less supported of the two readings while looking like the more careful one.

Nothing else moves. The strip still sums to 32, the twenty-four months of paper are unchanged, and both sequence panels keep the 32-month ruler they are drawn on. The v2 work order's instruction on item 7 — keep the number, change what it is attributed to — turns out to be right for a reason it did not give.

Where it stands
Resolved. The open item from C-038 is closed. What item 7 still owes is the attribution of the other twenty-four months, which is a separate claim and is unaffected by this entry — E-135, E-136 and E-137 were added to arm it.

RegisterE-139 E-002 E-114 check these rows →

C-040 Error Resolved The evidence register, row E-050; /solution's precedent block · found 2026-08

Indiana's private review is a right, not a fallback, and the row said otherwise

What is wrong
E-050 read: "Indiana: 7 business days plan review / 3 days inspection or applicant may hire private inspector." The "or" made private review sound like a remedy for a missed deadline — something a jurisdiction's delay unlocks.

The enrolled act says the opposite. IC 36-7-2.5 sec. 19: "An applicant may use a private provider … regardless of whether the unit is able to conduct the activity … within the time set forth in section 18." Private-provider use is unconditional. Missing the deadline triggers a fee refund plus a convenience fee capped at one hundred dollars, and nothing else.

That is a materially stronger fact than the one this row carried, and it was stated weaker for two years because nobody opened the statute.

The row was also wrong about when. It implied a 2025 regime; the act reads `[EFFECTIVE JANUARY 1, 2026]`. A vendor explainer circulating the July 2025 date is wrong, and the enrolled act is the document.

The underlying reason both errors survived is the one C-017 already named: the source field read "Indiana reform", which names no document a reader can open. C-017 correctly regraded the row to Untested for that. What C-017 could not do was notice that the unopenable citation was also concealing a wrong claim — an unresolved citation hides the content of the row, not just its provenance.

The corrected form
The source field now names Indiana House Enrolled Act 1005 (2025), Pub. L. 146-2025 § 4, adding IC 36-7-2.5, with the specific sections. The value states the right rather than the fallback. The grade moves from Untested to Confirmed, because the act was read verbatim rather than summarised.

E-173 is added alongside it for the part of the same act this project had never looked at: the unit shall accept the provider's report without further inspection, and the unit and its agents are immune from liability for the provider's acts, indexed at IC 34-30-2.1-583.7.

This is the second state found to pair acceptance with express statutory immunity — Florida is the other, and its clause has been in the enabling act since 2002 (E-171).

Where it stands
Resolved, and it is the first row this project has moved up a grade by opening a source rather than down by failing to.

The lesson is about what an unresolved citation costs. C-017 treated a naked source field as a provenance problem and regraded forty-four rows on that basis, which was right. This row shows the second cost: while the citation was unopenable, nobody could check the claim either, and the claim was wrong in the direction that understated the project's own case. Forty-one of those rows are still unresolved. Each is a claim nobody has been able to check since August 2026, and some of them will be wrong in this direction too.

RegisterE-050 E-173 check these rows →

C-041 Error Resolved The evidence register, row E-045; /about's routes block · found 2026-08

The one deadline this project could act on was stated two months late

What is wrong
E-045 read "nominations Sept–Dec", and `/about` rendered it as "nominations open September to December — the only one of these open to a person rather than an organization, and the only one reachable this year."

The posted timeline for the current cycle closes 30 October 2026 at noon MST. The prior cycle closed 31 October 2025. Acting on the published claim would have missed the only route this project had identified as reachable, by roughly two months.

The claim was not invented. The Terms and Conditions do say "Nominations are accepted during the designated nomination period between September and December each year." The row quoted the general terms and never checked them against the cycle actually posted, and the two do not agree. A source that contradicts itself is a reason to read both halves, not to pick the convenient one.

The second half of the sentence is worse, because it was stated as fact and is contested. The Terms say the contest is open to "individuals over the age of 18 and organizations of all kinds." The FAQ on the prize page says "Organizations within the United States are eligible." For a solo researcher with no entity, that is the dispositive question, and this site asserted the favourable reading of a source that says both things.

The source field read "Ivory Innovations" — a publisher, not a publication. That is the C-017 signature, and it is the third row this month where an unopenable citation was concealing a wrong claim rather than merely an unverified one.

The corrected form
E-045 now states the posted deadline, names both URLs, and carries a review date of 2026-10 because the row expires. Grade moves from Untested to Confirmed for the parts that were read: the amount, the three focus areas, that self-nomination is permitted and free, and the posted close date.

E-183 is added for the eligibility conflict and graded Contested, which is what a source disagreeing with itself produces. It says plainly that this must not be assumed either way and names the address to ask.

`/about` now states the October date, says the site itself had it wrong, and marks the individual-eligibility question contested rather than settled.

Nominations are not yet open — the form reads "Content coming soon" — so nothing was missed. The pack for filing it is in `HAP-kb/40-fieldwork/`.

Where it stands
Resolved. The failure was quoting a rule instead of reading a calendar, and it is a different shape from the count drift in C-037: no gate could have caught this, because the site was internally consistent and consistently wrong about the world. Nothing in `tools/` reads a deadline.

What made it findable was the same act that has found the last three: opening the source. The register now carries a review date that expires before the deadline does.

RegisterE-045 E-183 check these rows →

C-042 Error Resolved The research log · found 2026-08

The log said newest first and rendered oldest first

What is wrong
The research log printed "Newest first" and did not do it.

`build_log.py` iterated `reversed(entries)` under a comment reading `# newest first`. That is only newest-first if the source file is in date order, and `research-log.md` is not: its headings run L-016, L-013, L-014, L-015, then L-001 through L-012. Reversing that produced L-012 … L-001, L-015, L-014, L-013, L-016 — so the newest entry in the log rendered last, below an entry from six days earlier, under a page that told the reader the opposite.

It has been wrong for as long as the page has existed. Nothing caught it because nothing here compares a rendered order against a stated one, and the failure is invisible to a reader who does not already know which entry is newest.

The corrected form
Sorted by date descending, tie-broken by ID descending, in the renderer rather than by file order. The IDs are untouched, so `#l-016` and every other anchor still resolves.

The source file stays in the order it is in. Ordering the record by hand is the thing that went wrong.

Where it stands
Resolved. Small, and worth an entry because the page made a false statement about itself in the one place a reader cannot check without counting.
C-043 Error Resolved Every correction ID this site has ever printed · found 2026-08

The fragment this site prints is not the fragment it answers to

What is wrong
The corrections log prints `C-017` and anchors `c-017`. URL fragments are case-sensitive.

So every citation minted the obvious way — by reading an ID off the page and appending it — has been landing at the top of the log rather than at the entry, since the log was first published. `/corrections/#C-017` resolved to nothing. The site handed out the broken form itself, in the visible text, on every entry.

Internal links were unaffected: the builder lower-cases them, so all fifty-eight in-repo fragment links worked and `check_site.py` verified them. The defect existed exactly where no gate could see it — in the URL a reader constructs by hand.

The corrected form
A four-line fallback on the record page: if the fragment does not resolve, try it lower-cased and replace the location. Not a redirect — a repair for a URL this site published.

The anchors are not renamed. Renaming them would break the fifty-eight links that do work, to fix a form that can be handled on arrival.

Where it stands
Resolved. The lesson is that a gate which checks what the repository generates cannot see what a reader types. Every fragment link in this project was machine-made and machine-checked, and the one form nobody generated was the one every human would.
C-044 Error Resolved Every PDF this project has shipped · found 2026-08

Every link in every shipped PDF pointed at a folder on one laptop

What is wrong
`HAP-02-errata-r1.0.pdf` is the document this site tells readers to file alongside a citation. Every hyperlink inside it read:

`file:///Users/johnmullin/Projects/lintel/site/corrections/#c-006`

Sixteen correction links, five "the PDF as published" links, and the document links — all of them `file:///` paths into a directory on the author's machine. `lintel-report.pdf` and `HAP-08-narrative-r1.0.pdf` are worse: they point into `file:///Users/johnmullin/Desktop/housing-as-a-product/`, a directory that no longer exists even on that machine.

The cause is mechanical. `render_pdf.py` copies the document to a temp file beside the source so the vendored fonts resolve, and headless Chrome then resolves every relative `../` against the local filesystem. The fonts were the thing being solved for; the links were not considered.

Nothing caught it. `build_errata.py` checks that every shipped download is covered by an erratum, and `test_gates.py` checks that the coverage list is derived from what ships. Neither opens a PDF and reads its link annotations, and `HAP-02-errata-r1.0.pdf` is explicitly self-excused from the text sweep on the grounds that rendering the errata of the errata is not useful.

The corrected form
The filable sheet is now cut with an absolute link base — `https://lintelengine.netlify.app/…` — so a document that leaves the site keeps working when it arrives somewhere else. Verified by extracting the `/URI` annotations from the re-rendered file: zero `file:///` links remain, twenty-four absolute ones in their place.

The two older PDFs are not re-rendered. A shipped PDF is never edited in place, and `/errata` exists precisely because a citation has to keep resolving to what it cited. They will pick the fix up at their next revision.

Where it stands
Resolved for the document that matters most, gated for everything rendered from now on, and recorded for the two that keep the defect.

`check_pdf_links.py` reads the link table of every shipped PDF and fails on any `file://` URI. It did not exist when this correction was written, and a correction without a gate is the shape this project keeps re-learning — the withdrawn-figures list, the extractor's class allowlist, the errata document list, and `NUMBER_WORDS` were all defects fixed once and repeated later.

The two documents that keep the defect are exempted inverted: each entry claims its file is still broken, so re-rendering one makes its exemption stale and fails the run. An exemption cannot outlive the defect it excuses.

What this says about derived artifacts. The errata sheet was regenerated faithfully, from the right source, by a tool that worked exactly as designed — and it was wrong about the world in a way no check in this repository could observe, because every gate here reads the repository. A PDF is the one artifact that is read somewhere else.

C-045 Maintenance Resolved /corrections, /log, /errata and /revisions · found 2026-08

Four record pages nobody could find became one, at a new URL

What is wrong
The corrections log, the research log, the errata and the August 2026 revision were four separate routes. None was in the nav. They linked to each other more than anything else linked to them — the errata pointed back at a correction on nearly every entry, and the revisions page was one correction told at 1,775 words.

Only a reader who systematically walked every route found all four. The one page that carried the project's largest concession was reachable from a link inside a falsification statement and almost nowhere else.

The corrected form
One page, `/record/`, in three sections: corrections (41 entries), the research log (16 positions), errata (107 passages across 5 closed documents), with the August 2026 revision standing between the ledger and the entries as what it is — the largest correction, told at length.

Every entry survives. Every ID survives. Every old URL 301s.

The route is new rather than the busiest of the four, and that cost a redirect hop. Keeping `/corrections/` would have let 58 of the 70 citable fragments resolve with no redirect at all. But eight of the sixteen log entries carry `correction: —` — positions held, narrowed or abandoned with no error ever published — and citing those as `/corrections/#l-002` makes the URL assert something false about them. A 301 is permanent; new citations mint from the new path. A heading cannot outrank a path.

What the merge cost, and what was built to pay for it. Four pages meant four independent existence gates: an exemption naming a page that no longer exists is a hard failure, so deleting the errata used to fail the build three times over. One page means one exemption covering three times the surface, and deleting the errata section would have left every gate green.

Two new checks answer that. `check_sections.py` asserts every section anchor is present and carries at least its floor of entries, and holds the per-section reasons that used to sit one-per-page in three exemption lists. `check_redirects.py` reads `netlify.toml` — which nothing in this repository had ever read — and asserts that every retired route has a rule, that every destination exists, that every fragment resolves, and that no rule carries a fragment when its source route had citable anchors of its own. That last one matters: a browser re-applies the fragment it arrived with only when the redirect names none, so `to = "/record/#corrections"` would have silently discarded `#c-013` and landed every deep citation in the same place.

Both were verified by breaking them and watching them fail.

Where it stands
Resolved. `/ordering` and `/thesis` were merged the same way and their redirects have gone unchecked since; they are now covered by the same gate.

The merge is not obviously right and the case against it was argued before it was made. Four routes with four gates are safer than one route with one, a 33,000-word page is harder to read than four short ones, and the strongest objection — that consolidating gated exemptions into a page-wide skip is the exact shape this project has been burned by four times — is recorded here rather than in a footnote. The answer is that the granularity moved from the filesystem into `check_sections.py`, not that the objection was wrong.

C-046 Error Resolved The story and the deck, "The chassis is gone. The title is not." — investor cut · found 2026-08

The site said the consequences of the chassis repeal were not scheduled. They are, and the date is in the same section of the same Act

What is wrong
The investor cut of the chassis beat read: "The regulatory event has happened. Whether it produces anything depends on fifty state legislatures and a lending market, and none of that is scheduled."

The first two sentences are right. The last clause is wrong, and it is wrong about the provision that matters most.

Section 301 of the Act did not stop at the definition. Section 301(c) added a new subsection to the same statute the definition sits in — 42 U.S.C. 5403(i) — and it requires every state to certify, not later than 11 July 2027, that its own laws subject a chassis-free home to the same treatment as a chassis one, *"including with respect to financing, title, insurance, manufacture, sale, taxes, transportation, installation"* (E-197). A state that does not certify by its deadline must prohibit the manufacture, installation or sale of the home (E-198). Two years is allowed where a legislature meets biennially. Recertification is annual. And the Secretary is required to publish and maintain a list of which states are current.

So the fifty state legislatures are not an open-ended dependency. They are on a twelve-month clock, with a prohibition as the penalty, aimed expressly at title and financing — which is the exact layer this project's Act III argues the 1974 Act left alone.

How the error was made, because that is the more useful half. E-090 was written carefully. Its note lists the provisions a secondary brief attributed to the Act and says they are "NOT verified here and are not claimed" — and the first item on that list is "state certification deadlines". The row was honest. The failure was that the beat then wrote a sentence whose truth depended on the unverified provision being absent, rather than unknown. An unopened source is not an empty one. A row that declines to claim something does not license a claim that the something is not there.

The corrected form
The clause is gone. The chassis beat now states what section 301 did and did not do, and the argument continues into the certification window rather than ending on an open question: four new beats carry the mandate (E-197), the prohibition (E-198), what parity is owed to (E-199) and the standard nobody is on a clock to write (E-201).

Four rows were opened by reading the codified text of 42 U.S.C. 5403 subsection by subsection, which is what should have happened before the sentence was written. E-090's note stands unchanged and is now the record of a caution that was correct and then ignored one beat later.

Two of the other provisions E-090 declined to claim have also now been opened rather than left implied — E-212 for the Title I accessory-dwelling amendment, and the energy provisions deliberately left alone as outside this argument.

Where it stands
Resolved. The general lesson is filed as a rule rather than a repair: where a row says a provision is unverified, no page may assert its absence, its presence or its effect until someone opens it. The register now carries the opened text.

RegisterE-090 E-197 E-198 E-199 check these rows →

C-047 Error Resolved The story and the deck — the preemption-boundary beat, policymaker cut; and the orderings table, "Politics only" · found 2026-08

Arizona was described as granting the casita right and building no plan library. The plan library is statutory and its accessory-dwelling class was due six weeks ago

What is wrong
Two places said the same thing. The policymaker cut: *"Statewide by-right accessory-dwelling rights, automatic loss of local control on missed deadlines — and no plan library, no shared parcel record, no published permit volume."* The orderings table, against "Politics only / Arizona": *"A granted right with no plan library, no shared record, no type-based finance."*

Arizona has required a plan library since 2025. A.R.S. 9-461.20, added by Laws 2025 Ch. 259, requires every municipality to establish standard preapproved housing design plans or a program, administratively approved "without discretionary review", and its class 4 — accessory dwelling units at two hundred, six hundred and one thousand square feet — was to begin 1 July 2026 (E-211). No population threshold applies, unlike the accessory-dwelling statute itself.

The claim was not merely stale. It was the load-bearing example of a thesis this site states four ways — that a granted right with no information layer behind it produces nothing — and the state named in the example had legislated part of the information layer a year before the sentence was published.

The corrected form
Both passages are rewritten to say what is actually missing. What Arizona has: the right (E-027), and a statutory requirement to publish standard plans (E-211). What it does not have: a shared parcel record, a published permit series (E-037, E-210), and any assurance that a home a buyer can order may be placed at all (E-107, E-208).

The argument survives the correction and is narrower for it. "Nothing exercises the right" was a stronger sentence than the evidence carried; "the right was granted, the plans were mandated, and the volume did not move" is what the record now shows, and it is a harder fact for a reader to dismiss.

Whether any Arizona municipality has actually published its class 4 plans is unmeasured and is a cheaper question than E-037 — it is a website read, not a records request.

Where it stands
Resolved. Both surfaces are regenerated from the sheet. The residual measurement is noted on E-211 rather than asserted anywhere.

RegisterE-027 E-211 check these rows →

C-048 Weakness Resolved The evidence register, E-037; the policymaker cut of the preemption-boundary beat · found 2026-08

E-037 said Arizona permit volumes were NOT PUBLISHED. Three cities' counts were published in a newspaper a year ago

What is wrong
E-037's value field read NOT PUBLISHED, and the beats leaned on it as an absence. No city publishes the series, which is true, and which is not the same claim.

Counts for three cities were obtained from city staff and published in the *East Valley Tribune* on 19 August 2025, under a headline that states the finding this project would have wanted: "Casita law has had little impact on Mesa". Mesa had issued 29 accessory-dwelling permits by August 2025 against 30 in all of 2024. Chandler had received 18 permit requests against 10 in 2024. Scottsdale had approved one application and issued no permit (E-210).

Two defects, and the second is worse than the first. NOT PUBLISHED was wrong — the figures existed, in a searchable newspaper, and nobody here had looked. And the absence was doing work: a gap this project called unmeasurable without records requests was partly answerable by reading, which is the cheapest possible test and was not run.

A third thing surfaced in the same pass: Tempe publishes an accessory-dwelling dashboard. Its figures could not be read and are not claimed.

The corrected form
E-037's value is restated: no city publishes a permit series, and the only readable counts are three cities' figures reported secondhand, which is a different and weaker condition than nothing existing. E-210 carries the figures at Supported — city staff by telephone is not a dataset — with the warning that matters most on the row itself.

The three numbers are in three different units. Permits issued, permit requests received, one application approved with no permit. They cannot be summed, ranked or averaged, and the single metro total that suggests itself is not a number anybody has. The first draft of the summary that produced this correction wrote "roughly 47 permits across two cities", which adds a count of permits to a count of requests.

Gate 1 is unchanged in purpose and cheaper in scope: the records requests are still the way to get a series, and the reading that should precede them has now started.

Where it stands
Resolved. E-037 keeps its Untested grade — a partial reading by one reporter does not measure throughput — and keeps its place as the gap Gate 1 exists to fill.

RegisterE-037 E-210 check these rows →

C-049 Error Resolved The story and the deck — the act plates · found 2026-08

A fifth hand-written copy of the arc was still describing the acts in an order the sheet abandoned

What is wrong
Act plates carry a one-line blurb. The blurbs were a dictionary keyed by act numeral in the shared builder module, hand-written, and never derived from the sheet — so they drifted the moment the acts were reordered, in exactly the way C-031 and C-033 already recorded for the navigation and contents plates.

Act II's plate read "Four attempts, each failing bigger than the last". Act II is "America already solved this once" — the 1976 preemption. The attempts act is Act IV, whose plate read "What follows if that is true". Act V's read "What it is worth, who must want it, and what would kill it", which describes an act the sheet no longer has.

This is the fourth instance of one defect: the arc written down in more than one place. The file's own header says so — "This was a fourth hand-written copy of the arc" — and the count was five.

The corrected form
The blurbs are rewritten against the sheet, and the docstring that already warns about hand-written copies of the arc now names this dictionary as the last of them.

They are not derived from the sheet, and the reason is on the record rather than implied: an act plate deliberately withholds its act's payoff, so it cannot be generated from the act's own name or from its beats without spending the tension the act exists to build. That makes it the one copy that has to be written by hand — so it gets the treatment a hand-written copy needs, which is a consistency check rather than good intentions.

Where it stands
Resolved. `check_consistency.py` now fails when a blurb names an act the sheet does not have in that position, which is the check that would have caught this the day the acts were reordered.
C-050 Weakness Resolved The story, the solution page and the deck — road link 04; audit/absence-claims-2026-08.md item 5 · found 2026-08

The comparable-sales lock was classified still standing. For one class of factory-built home all three rulebooks already open it

What is wrong
Road link 04 reads "A lender values the type, not the comp", with the status chip `never demonstrated` and the gloss *"Nothing in the register shows type-based valuation in American residential lending."* The August absence-claims sweep classified it still standing on E-009, E-095 and E-063.

The sweep was run against the register, and the register did not contain the rulebooks. It does now. For a home certified to Fannie Mae's MH Advantage or Freddie Mac's CHOICEHome standards, an appraiser is directed to site-built comparable sales — Fannie requires "a minimum of two site-built homes" where fewer than three programme comps exist, Freddie says that where none are available the report *"must contain site-built homes as comparable sales"*, and FHA has said the same since November 2023 (E-207).

So the claim as written is too broad. Mandatory site-built comparables for a factory-built home are not a proposal; they are three years old in one rulebook and current in all three.

The corrected form
The claim is narrowed rather than withdrawn, because the narrow version is the one that was always doing the work. What those provisions do is widen the comparable pool for a home that meets design standards. What no rulebook does is let a certified type carry its own value independent of the neighbourhood it lands in. That distinction is the whole content of the road link, and it now says so.

Chip and gloss are rewritten to the surviving claim. The absence-claims file's item 5 is reopened and reclassified from still standing to narrowed, which moves the sweep's own arithmetic: the corrections are no longer fewer than the findings by as much as it recorded.

E-207 is filed with a note stating that it cuts against this project's framing, so a future sweep meets the counter-evidence inside the register rather than having to rediscover it.

Where it stands
Resolved. The residual claim is narrower, better evidenced, and no longer contradicted by a document this project had not read.

RegisterE-063 E-095 E-207 check these rows →

C-051 Error Resolved Both hosted research documents — /research/global-build-times.html and /research/us-build-times-by-state.html, banner and footer · found 2026-08

The banner saying "no figure on this page is graded" rendered as unstyled body text on both hosted documents, because a font name closed its own HTML attribute

What is wrong
Both hosted research documents carry a framing banner. It is the reason they can be published at all: they are somebody else's work, asserting several hundred figures this project has not verified, and the banner is what tells a reader "This is research data, not a graded claim" and "No figure on this page is graded by this project's register."

It is inline-styled on purpose. The global study brings its own stylesheet and its own `:root`, and the banner has to survive being dropped into it without either reaching into the other. So the CSS is assembled in `build_research.py` as a Python string and interpolated into a `style="..."` attribute. That string contained a font stack, and the font stack contained a double-quoted family name:

`font:500 13px/1.55 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,…`

A double quote inside a double-quoted attribute closes the attribute. Parsed as a browser parses it, the `style` value ends at `BlinkMacSystemFont,` — a trailing comma, so invalid, so dropped entirely — and everything after `"Segoe UI"` becomes junk attributes on the tag: `segoe`, then `ui",roboto,helvetica,arial,sans-serif;background:#141618;color:#a9aba4;padding:14px`, then `#f5a524;margin:0"`.

The background, the colour, the padding and the rule under it never applied. The sentence those two documents exist to carry has rendered as unstyled body text, in both the banner and the footer, on both pages, for as long as the banner has existed.

Nothing caught it, and the reason is worth stating. Every gate in this repository reads the shipped pages as text. `check_site.py` greps the footer line, the leak list, the links and the anchors — every one of which was present and correct, because the content was never wrong. The bytes were exactly what the builder meant to write. What was wrong was how a browser reads them, and no check had ever parsed a generated page as HTML rather than searching it as a string.

It surfaced only because the August brand pass restyled these two pages, and an adversarial review of that commit parsed the output instead of grepping it. The brand pass also changed the banner's amber from two invented values to the register's own `#F5A524` — a change that, it turns out, never reached the page either.

The corrected form
The family is single-quoted, which CSS accepts and which cannot terminate a double-quoted attribute. Verified with `html.parser` against the rebuilt pages: the `style` value now survives whole, carries `background:#141618` and the `#F5A524` rule, and the tags carry no junk attributes.

`check_attrs.py` is new and parses every `.html` under `site/`, failing on any attribute name containing a character that cannot occur in one. It is written against name shape rather than a roster of known-good attributes: an allowlist would need maintaining against every legitimate `data-` and `aria-` attribute the site grows, would go stale, and would fail closed on the next honest addition. Its one module-level collection is the set of illegal characters, which is a property of the HTML grammar and not of this site, so it cannot drift against the pages.

The gate was checked against the defect before being trusted: run over the version that shipped in `50892ae` it reports seven malformed attributes, and over the fixed tree it reports none.

Where it stands
Resolved, and gated. `check_attrs.py` runs in `CHECKS` and is registered in `test_gates.py`'s `GATE_LISTS`.

What this says about the shape of the gates. Three defects were found in this class in a single evening — this one, a `.rv` collision with `styles.css`'s scroll-reveal class that rendered every salvage line on `/models/` at `opacity:0`, and a bare `<div>` injected inside an `<h2>`. All three rendered rather than failed. The page loaded, the content was there in the bytes, every gate stayed green, and the result was wrong only to a person looking at it. The gates were built to protect the register — that a figure traces to a row, that a withdrawn claim does not survive, that a citation resolves. None of them was built to ask whether the page a reader actually sees says what the source says. `check_attrs.py` closes one narrow part of that, and the wider gap stands: the honest statement is that this project has no automated check on rendered appearance, and found all three of these by looking.

C-052 Error Resolved /design-space/ — cases.csv C00, C01, C05, C06, C08 and assignments.csv four rows; live from the route's first publish until this entry · found 2026-08

A second register cited the first for figures it does not carry, and one of them was a number no row has ever held

What is wrong
`/design-space/` shipped with a design-space register that cites this project's evidence register by `SRC-21:E-nnn`. Its validator resolves those pointers, and every one of them resolved. What nothing checked was a sentence that merely says a figure came from the register.

Live on the public page, in `cases.csv` C01:

> Share of new single-family fell from ~20% pre-2000 to ~9% (register).

No row carries that share, and none ever has. E-012 carries manufactured-home shipments — absolute unit counts — not a share of new single-family. The same unregistered share appeared a second time in `assignments.csv`. A reader who followed that attribution would have found nothing, which is the failure CLAUDE.md's first rule names as unrecoverable.

Two further classes, found only once a gate existed to look:

A mis-citation. C06 said SMARTcodes "ended 2010 for lack of funding (register)" over a structured pointer to E-082 — *variables governing adoption of automated compliance checking*, which does not support that claim. The row that does is E-127, which quotes the sentence verbatim.

Eight unresolvable appeals. `(register)`, `per register`, `register chattel penalty rows`, `register (chassis accident)` — attributions naming no row, in five more places.

And separately, C00 gave 7.5 months start-to-completion for 2025 where E-002 gives 7.4, verified against the source workbook on 2026-08-17.

The first two were caught by the session that built the route and handed to this one as data decisions rather than build ones. That was the right call and it understated the problem: there were ten, not two.

The corrected form
Every attribution now names a row that exists, and each claim is carried by a row that actually supports it. C01 states what E-012 holds — shipments peaked at 373,143 in 1998 and stood at 102,738 in 2025, still under a third of peak — rather than a share nobody has measured. C06 moves to E-127. C05 names E-128 for the Potter quote. C08 names E-080 and E-081. The four `assignments` rows name E-012, E-091, E-090 and E-009/E-011. C00 reads 7.4 per E-002. Structured pointers went from 21 to 28.

The unregistered share is not re-registered anywhere. It is arithmetically derivable from E-012 against Census single-family starts, but a derived figure needs its own row, its own grade and a stated derivation, and inventing one to keep a sentence would be the same error in a better disguise. The sentence changed instead.

`validate_design_space.py` grew the gate that was missing: an appeal to the register must name a row, and that row must exist. It deliberately does not require a duplicate `SRC-21` pointer — `assignments.csv` and `couplings.csv` have no sources column, and that rule would have failed honest rows and taught the next author to delete the attribution rather than name the row.

Mutation-tested in both directions before being trusted: restoring the original C01 sentence reproduces the failure, and pointing a named citation at a non-existent E-999 is refused as unresolvable.

Where it stands
Resolved and gated. The wider lesson is the one C-044 and the `check_attrs.py` entry already record in a different key: the gates were built to check that structured citations resolve, and a claim of provenance written as ordinary prose went straight past all of them. A second register makes that surface larger, not smaller.

RegisterE-002 E-009 E-011 E-012 E-080 E-081 E-090 E-091 E-127 E-128 check these rows →

C-053 Error Resolved /research/global-build-times.html, live from the route's first publish until this entry; /research/deliverability-layer.html, built but never pushed · found 2026-08

A hosted document shipped with its entire stylesheet dead, and the guard written to catch exactly that reported it intact

What is wrong
`build_research.py` scopes a hosted document's stylesheet under `.docbody` so the document styles its own subtree and nothing else. `scope_css` reassembled the rules it had rewritten and joined them with the two characters `\n` — a backslash and an n — instead of a newline.

CSS reads `\n` outside a string as an identifier escape for the letter "n". So

}\n.docbody .sheet{ ... }

parses as a rule for the selector `n.docbody .sheet` — an element named `n` carrying class `docbody`. No such element exists in HTML. Every rule after the first was dead, and the page rendered in whatever the site's own stylesheet happened to give it: the title block's 58px clamp lost to the global `h1` hero size, the sheets lost their cards, and the standfirst lost its colour.

`/research/global-build-times.html` has been live in that state since it published.

The corrected form
One character in `tools/build_research.py` — the join is a newline.

The interesting part is why nothing caught it. The builder already carried a guard written for this exact failure, and its docstring says so: scoping only ever adds a prefix, so if the stylesheet shrinks by more than a tenth, rules were dropped and the build must refuse. It passed. The bug did not drop a single character — it added two per rule. The stylesheet was longer than the original and every byte of every declaration was present and correct. Only the selectors were unparseable.

All eighteen checks were green over both pages.

`assert_css_sane()` now refuses the build when emitted CSS contains a literal backslash-n, and is called for both hosted documents. It was verified by reintroducing the original join and watching the build fail with 70 sequences named.

Two consequences were fixed in the same pass, both of which had been invisible while the stylesheet was dead:

The documents ignored the theme switch. Both hard-code a light palette — the global study also declares `color-scheme:light` — so once their rules were live they rendered a near-white page under a dark masthead. Their design tokens are now re-pointed at the site's, appended after the scoped stylesheet rather than edited into it, because the source file is a citation and has to keep resolving to what it cited.

The site was styling the document. Scoping stops a document styling the site; it does nothing in the other direction. The thesis collides with the design system on nine names it already owns — `.sheet`, `.stamp`, `.titleblock`, `.warn`, `.rail`, `.stage`, `.num`, `.dl`, `.dn`. The document's scoped rules won every property they declared and the site supplied the rest, which is how the standfirst arrived in upper case: the site's `.sheet` is a mono label utility carrying `text-transform:uppercase`, and the document had no reason to say `text-transform:none`. Its classes are namespaced at build time now, so the collision is not resolved in the document's favour — it is made impossible. The global study is deliberately not namespaced: it shares class names with `charts.CSS` on purpose, and prefixing it orphaned every chart selector.

Where it stands
Resolved. No figure or claim changed; this was a defect in how a page was rendered, not in what it said.

The lesson is the one C-044 and C-051 already taught, arriving a third time. A derived artifact was faithfully generated, and wrong about how a browser would read it. The guard that should have caught it measured the artifact's size, which was right, and never its shape, which was not. A gate that counts bytes cannot see a selector that parses into something that matches nothing — and this correction is the third to say so.

Logged as C-013The largest correction

What changed in August 2026, and why.

August 2026 · the largest correction this project has made What changed, and why. The central explanation this site offered — that one number closed the market for compiled building codes — is wrong. It has been removed rather than softened, and this page says what it said. In August 2026 a falsification statement was filed here, in public, before any evidence was collected. One of its three clauses has now been tested against the record. The thesis lost it. What follows is in four parts, for each thing that moved: what the site claimed, what the evidence showed, what replaced it, and what is now unmeasured as a result. Every claim has a row in the [evidence register](../evidence/), and every removal is logged in the [corrections log](../corrections/) as C-013. Removed · was the climax of the argument

"It was arithmetic, not engineering."

What it claimed
That nobody replicated Singapore's compiled building code because the cost of hand-encoding one jurisdiction's rules, multiplied by twenty thousand jurisdictions, exceeded any plausible return. One number closed the market. Recomputing that number was the whole investment case.
What the evidence showed
Singapore's checking engine was transplanted. A pilot in Norway ran Norwegian rules on the e-PlanCheck base; a New York City pilot using ICC codes was completed; testing ran with Japanese and Australian models. Those projects inherited the engine and did not pay the encoding cost from zero. None of them has been identified reaching production. If encoding cost were the binding constraint, at least one should have cleared. Separately, the best study of automated-compliance adoption identifies twelve variables governing it, and eight of them are non-technical. E-080, E-081, E-082.
What replaced it
Nothing yet, and that is deliberate. The beat is deleted. The beat that followed it now says the smaller true thing: the unit cost of translating a jurisdiction's rules did fall, and it was never the lock. A replacement thesis exists in draft and has passed no gate, so it is not on this site as an argument. Putting an untested thesis on a site whose credibility rests on grading its claims would repeat the exact error this revision corrects.
Now unmeasured
Row E-051 — the cost to compile one jurisdiction's ruleset — keeps its ID and its Untested grade. The cost is still unmeasured and still worth measuring. It is no longer claimed to be what closed the market. What is now genuinely unknown is what did, and that question has no row because nobody here can yet state it precisely enough to grade.

"Twenty-eight years bought one city."

What it claimed
That Singapore spent twenty-eight years hand-encoding its building code and bought exactly one jurisdiction with it — the unit price that made replication impossible.
What the evidence showed
CORENET was introduced in 1995 to check 2D plans and upgraded in 2002 as e-PlanCheck to read 3D models. The peer-reviewed study reports it commissioned by Singapore's building authority and commercially used. Its scope is architectural and building services — reported elsewhere as building control, barrier-free access and fire — not a building code entire. A system that reached industry use within a few years, covering part of a code, was being described as twenty-eight years of effort buying one city. E-078, E-079.
What replaced it
The beat is rewritten to the actual record and retitled. It now states the launch dates, the partial scope, and that the system worked.
Now unmeasured
E-079 is graded Supported, not Confirmed, and it is load-bearing. It rests on one peer-reviewed source, which says the system "has been commercially used" without dating first industry use. A second independent source is owed before this is quoted as settled.

"Thirty-two months to seven."

What it claimed
That the compiled path delivers a home in about seven months against thirty-two today — twenty-five months eliminated, nearly all of it administrative waiting — and that the same developer margin on the shorter clock annualizes from about 9% to about 47%.
What the evidence showed
Four of the seven months are factory build and set. The comparison therefore sets site-built-today against factory-built-tomorrow, and credits compiled approval with a saving that partly belongs to a change of construction method. It is not a like-for-like comparison, and everything derived from it inherits the defect. E-070, E-071.
What replaced it
Nothing. The outcome beat, the twenty-five-months figure and the annualized-return arithmetic are all removed, from the story, the deck, the landing page and the takeaway. The thirty-two-month diagnosis stays, because it stands on its own sources and makes no comparison.
Now unmeasured
The site no longer states what compiled approval is worth in time or in money. E-070 and E-071 keep their IDs, stay Untested, and are cited on no page. Producing an honest version means separating the approval saving from the construction-method saving, and no dataset in the country currently allows that.

The conformance authority as the thing to build first.

What it claimed
That the instrument to build is a conformance authority issuing a compiled, insured determination accepted in place of first-pass review — and that housing, unlike aviation and pharmaceuticals, has no precedent for certifying a design once.
What the evidence showed
American housing already does this. A Design Approval Primary Inspection Agency has evaluated manufactured-home designs and quality-control programs against the federal standard since 1976 under 24 CFR 3282.361. Florida has let a licensed, insured private provider's plan review substitute for the building department's since 2002, and added automated software-based single-trade review by statute in 2025. E-088, E-089.
What replaced it
The layer is marked deferred, not refuted. It stays on the road; it comes off the front of the argument. The precedent beat now leads with the American case instead of reaching for aviation.
Now unmeasured
Which entities HUD actually accepts as primary inspection agencies is not verified from the regulation text — only what a DAPIA does is. The claim that private firms hold these acceptances is the part that makes this American precedent rather than a federal program, and it is owed.

"A quarter of the price of a new home is regulation."

What it claimed
$131,734, or 26.4% of the price of a new single-family home, graded Supported, sourced to NAHB.
What the evidence showed
The figure appears on NAHB's own advocacy blueprint, published by the party it benefits, and rests on two self-report surveys of NAHB's members — 54 of 2,125 land developers responding, plus 337 builders. NAHB's separate member survey, asking what was actually a serious problem, puts developed lots at 63% and labor at 61% and does not list approval or plan-review duration anywhere in the top ten. Two instruments from the same organization disagree about what constrains building. E-001, E-099.
What replaced it
E-001 is regraded Contested — evidence pointing more than one way is exactly what Contested means — and the provenance note now lives on the row rather than only in the prose around it. Both instruments are cited, and [the literature page](../literature/) states which is used for what.
Now unmeasured
The regulatory share of a new home's price has no source on this site that meets the Confirmed bar. It is a number the industry publishes about itself, and nothing independent has been found to triangulate it.

The novelty claim itself.

What it claimed
Implicitly, throughout: that the decomposition of American housing into approval, placement, type and finance, and the diagnosis that the finance layer killed manufactured housing, was this project's own contribution.
What the evidence showed
Pew has published the financing agenda since 2020. Mercatus has put the cost comparison on the congressional record. The Lincoln Institute convenes a network working on all four layers. And the National Zoning Atlas already codes manufactured-housing permission among 200-plus characteristics across 102,000 districts — the absence this project expected to find and fill is not an absence. E-103 to E-106.
What replaced it
A new page, [what is already known](../literature/), saying who established what and when, and stating the remaining open questions narrowly enough to defend. There are four, and three of them are questions rather than findings.
Now unmeasured
The literature sweep covered five bodies of work in one pass. The land-use and appraisal literatures were not swept, and this page should be assumed incomplete until they are.

A thesis whose credibility rests on grading its own claims cannot survive quietly editing away its errors. The falsification statement was filed in August 2026, before evidence collection, and it named encoding cost per jurisdiction as one of three things that would kill the thesis if it did not move. That clause has now been tested. The answer came back against the thesis — not because the cost failed to fall, but because the cost was never the constraint the statement assumed it was. That is a worse result than the statement anticipated, and a more useful one. The register's job was to make this discoverable rather than deniable. Thirty rows were added recording what the research found, four of its beats were deleted, one central claim was withdrawn, and the count of things nobody has measured went from eleven to fifteen — the correct direction for a project doing research, and the opposite of the direction a pitch moves in. Nothing on this page is a request. It is the record — of one revision. The whole sequence, every position held and given up since this project started, is [the research log](../log/). Register integrity, separately. An audit of every version of the evidence register in this project's history, run the same week, found that no row ID has ever been reassigned in eighteen versions — but that nine rows had their values or grades rewritten in place, and that nothing in the pipeline would have caught it if a change had gone unrecorded. IDs are now append-only by machine, and a claim's text cannot change without either a correction entry naming the row or a pointer to what superseded it.

TwoWhere this moved

The research log

The corrections log records where this project was wrong. This records where it moved — a larger set, and a more useful one. Newest first. 6 opened · 4 narrowed · 3 held · 3 withdrawn · 2 rewritten · 2 regraded.

  1. 2026-08-18 opened L-020

    A figure taken from a search summary was wrong in the exact shape this project had just finished criticising

    What was held
    That reading primary documents rather than coverage of them is a discipline this project applies reliably. The same session had, hours earlier, refused a search engine's summary asserting it had "found the specific information" about an NAHB markup table, downloaded the PDF, and read the table directly. It had also caught and refused a secondary report's claim that a builder's 17.5% gross margin was a sixteen-year low — on the grounds that the framing was untested here and, more usefully, that the figure was stale: the current filing read 15.6%.
    What was done
    Having made that catch, the session then told a peer session that the same builder's SG&A "ran about 6.7% of revenue in the quarters I pulled", and offered the number as support for a live claim. The peer declined to put it on the site, on the standing rule that a figure a reader cannot check does not ship regardless of whether it is right. That refusal prompted the check: the filings were opened and the SG&A line read.
    What came back
    Two failures, not one. The figure had not been pulled from any filing — it came from a WebSearch result summary. And it was stale in precisely the shape that had just been criticised: the filings state SG&A rising to 8.2% in the quarter ended August 2025, from 6.7% a year earlier. 6.7% was the old reading. The stale-figure failure mode had been described out loud, correctly, and then reproduced within the hour by the party describing it. The rule that caught it was not a gate. All eighteen were green throughout, and none of them can see the difference between a number read from a filing and a number read from a summary of a filing — `check_citations` tests only whether a source is resolvable, and its own docstring concedes that pointing at the wrong document passes. What caught it was a person, or in this case a peer, declining to publish something uncheckable.
    What it cost
    The claim itself cost nothing, because nothing shipped. Two more expensive things did. First, the argument it was offered to support turned out not to need it: "gross margin is struck before SG&A, so what the builder keeps is lower still" holds for any SG&A above zero, because it follows from what the measure means rather than from any figure. The version that leaned on the number would have needed a correction; the version that leaned on the definition did not. That is a general preference this project had not stated: where an argument can rest on a definition or on a measurement, the definition is more robust and usually shorter. Second, and the reason this is filed as a finding rather than a note: understanding a failure mode confers no protection against it. This project's defence against stale figures is the register's `review_by` column, which exists because a source that carries no review date goes quietly false while continuing to look true. That case is now made better by an instance than by the argument — and the instance is this project's own, made within an hour of making the argument.

    RegisterE-222 E-227 check these rows →

  2. 2026-08-17 rewritten L-019

    The cheapest first experiment is a zoning read. It is now a drafting deadline, and the reordering is a judgement rather than a measurement

    What was held
    That Gate 0 — the placement gap, one county and three jurisdictions, no capital — was the first thing to run, because the instrument this project designed cannot exist unless binding placement provisions are mostly computable.
    What was done
    Asked what is time-limited. Gate 0 measures a condition that will be the same in five years. The certification window closes on 11 July 2027 and cannot be reopened, and no model certification language has been published by anyone.
    What came back
    The gates are reordered: the drafting question goes first and Gate 0 runs beside it rather than ahead of it. Nothing about Gate 0's design changed and its kill criterion is untouched — two of its three outcomes still end the company path. Two Arizona findings in the same pass argue the reordering is right, and both cut against the product. A city can grant the by-right casita and exclude the cheapest house from it in the same ordinance, and Flagstaff's does (E-208) — which is the placement gap showing up as drafted law rather than as an information deficit. And Arizona already mandates the plan library this site said was missing (E-211), so the information layer was legislated and the volume still did not move (E-210). If exclusion is deliberate and the plans exist, the operative lever is the statute, which is what Gate 0's own kill criterion says.
    What it cost
    The ordering, and the honest label on it. This is a judgement about what is worth doing in the next eleven months, not a result — no measurement here says the certification window matters more than the placement gap, and E-200 and E-107 are both empty. Stated in advance so it can be held against the record: if certifications land in 2027 and every one of them extends the vehicle title, the drafting work will have been the right target and too late; if they reclassify without anyone drafting anything, this reordering cost Gate 0 a year for nothing. The August restructure already taught this project what it costs to rebuild an argument around a claim that then fails, and that is an argument for saying which parts are judgement, not an argument for standing still.

    RegisterE-039 E-107 E-200 E-208 E-211 check these rows →

  3. 2026-08-17 opened L-018

    The certification the Act demands is parity, and parity with a vehicle title is still a vehicle title

    What was held
    Nothing, initially. On finding the certification mandate the immediate reading was that Congress had reached the property classification this site has spent an act describing, and that the chattel regime was now on a clock.
    What was done
    Read what the certification actually obliges a state to do, and what form the statute says it may take.
    What came back
    The obligation is parity, not reclassification, and the parity runs to the state's own definition: a state certifies that its laws "treat any manufactured home in parity with a manufactured home (as defined and regulated by the State)". Where the certification is not filed with a state plan, the statute names the compliance route first in its own text — an attestation that the state has taken the necessary steps, "including, as necessary, by amending the definition of 'manufactured home' in the laws and regulations of the State". For most states that is six words added to a motor-vehicle titling statute. The certification is satisfied, and the classification is not merely preserved — it is re-enacted, in a fresh statute, with a federal filing behind it. A classification held in place by 1974 silence is easier to unwind than one a legislature affirmed in 2027. So the same provision is the strongest thing that has happened to this argument and the most likely way it dies, depending on eleven months of drafting nobody is holding a pen for. That is not a prediction. The statute permits both routes and suggests the cheap one.
    What it cost
    The clean version of the finding, one day old. The reading that Congress had broken the chattel classification is withdrawn before it was published anywhere; what survives is narrower and conditional, which is worth less as a headline and more as a question. E-200 is opened to hold the answer — not how many states certify, but how each one does it, which is the measurement that decides which reading was right.

    RegisterE-199 E-200 check these rows →

  4. 2026-08-17 opened L-017C-046 →

    The chassis repeal has a companion provision with a date on it, and the date is eleven months away

    What was held
    That the July 2026 chassis repeal was a completed regulatory event whose consequences were open-ended — that whether it produced anything "depends on fifty state legislatures and a lending market, and none of that is scheduled". E-090 recorded the definition change and expressly declined to claim the rest of the Act, listing "state certification deadlines" among the provisions it had not verified.
    What was done
    Read 42 U.S.C. 5403 in the codified text, subsection by subsection, rather than reading about the Act.
    What came back
    Section 301 did not stop at the definition. Section 301(c) added subsection (i): every state must certify by 11 July 2027 — two years where a legislature meets biennially — that its own laws subject a chassis-free home to the same treatment as a chassis one, "including with respect to financing, title, insurance, manufacture, sale, taxes, transportation, installation". A state that misses its deadline must prohibit the manufacture, installation or sale of the home. Recertification is annual, and the Secretary must publish a list of which states are current. Two things follow that this project had wrong. The dependency is scheduled, and it is aimed at exactly the layer Act III argues the 1974 Act left alone. And section 301(b) — the paragraph directing HUD to write the standard a chassis-free home would be built to — carries no deadline whatsoever, so the states are on a twelve-month clock and the agency defining the product is on none.
    What it cost
    A sentence, and the assumption under it. The claim that nothing was scheduled is withdrawn as an error rather than softened (C-046). The more expensive admission is the reasoning: E-090's note said the certification provisions were unverified, and a beat then wrote a sentence that was only true if they were absent. An unopened source was treated as an empty one. Four rows now carry the opened text, and the rule is filed rather than the repair.

    RegisterE-197 E-198 E-200 E-201 check these rows →

  5. 2026-08-13 opened L-016

    The model residential code deletes, but never fast enough to shrink — two cycles measured, both ended larger

    What was held
    Nothing. This project has never held a position on the direction of code change over time. A search of the knowledge base for accretion, ratchet, or any claim that codes only grow returns no hits — the diagnosis has always argued that the regulatory environment is costly and fragmented, never that it is growing, and never with a number. The intuition was ambient and unmeasured, which is the condition this log exists to catch.
    What was done
    Counted the code's own deletion marks. The IRC's front matter states that an arrow in the margin flags where an entire section, paragraph, exception or table has been deleted since the previous edition, so the publisher self-reports removals and no cross-edition diff is required. The obstacle was access and then encoding. ICC's own site is a JavaScript shell that returns a Premium prompt with no code text; UpCodes is state-scoped and paywalled. Three publicly posted PDFs with real text layers carried the full editions — 2015, 2018 and 2021. The arrows then turned out not to be text at all: the legend's own illustration of the arrow extracts as an empty parenthesis, and in the body the mark is a ZapfDingbats glyph set at exactly 10pt and placed only in the outer margin. Detected on that signature and confirmed by rendering image crops in two editions rather than trusting a font name. Sections counted by heading pattern from the same extractions.
    What came back
    Deletion is real and small; growth is steady. 2015 carries 58 deletion indicators against 2,993 sections. 2018 carries 42 against 3,064 — a net gain of 71 sections over 2015. 2021 carries 78 against 3,182 — a net gain of 118 over 2018. Both measured revision cycles ended larger than they began, and the section count rose 6.3 percent in six years without reversing. The asymmetry is wider than the ratio suggests, because the arrow is a generous mark: it fires for a deleted list item or table row as readily as for a deleted section, so 78 is an upper bound on removal set against a floor of 118 on addition.
    What it cost
    Four things, and the first is the largest. This measures volume, not stringency, and volume is not burden — a code can add sections that liberalize, and nothing here distinguishes a new exemption from a new requirement. So the finding supports "the code got bigger" and cannot be stretched to "the code got harder" without separate evidence this project does not have. Second, it is the model residential code only, which leaves out local zoning and land use, where a large share of the binding restriction on housing actually sits; the number cannot stand in for regulation generally. Third, the series stops at three editions. Free pre-2015 copies on the Internet Archive are image scans with no text layer, and no free 2024 full text exists, so extending the trend means buying editions — two intervals is a direction, not yet a law. Fourth, it forecloses a line this project might otherwise have found tempting: codes plainly do delete, dozens of times per cycle, and the honest claim is asymmetry rather than absence.

    RegisterE-133 check these rows →

  6. 2026-08-10 held L-015

    Housing already certifies a design once and delegates the check; what it does not do is let the result travel

    What was held
    That the precedent for type certification and delegated verification had to be imported from aviation and pharmaceuticals, and that the objection to it is that standardisation makes every house look the same.
    What was done
    Rebuilt the comparison to include what American law already does, and looked for whether an industrialised housing system anywhere delivers variety at scale.
    What came back
    Both parts survived, narrower. The precedent is domestic — HUD-code designs approved by delegated agencies since 1976, and Florida private providers substituting for the building department since 2006 — so the diagram now carries a portability row instead of implying housing has no precedent at all, and the row that fails is whether the determination travels. On variety, Japan builds roughly an eighth of its housing starts in factories using documented per-buyer mass customisation, which is what type approval permits: standardise what is checked, not what is seen.
    What it cost
    Nothing was withdrawn, and that is stated plainly rather than dressed up. What it cost was a rhetorical asset: the argument can no longer present delegated conformance review as a bold import, because it is ordinary American practice in two places, one of them half a century old. The claim of novelty shrinks to portability, which is a smaller and more defensible thing to be first at. The variety row is cited for variety only — E-102 records that prefabrication does not systematically cost less, and that objection stays conceded.

    RegisterE-056 E-057 E-088 E-089 E-109 check these rows →

  7. 2026-08-10 opened L-014

    A granted right is not an exercised one, and this project has now found the same gap four times

    What was held
    Nothing, as a general position. Each instance was recorded separately and read as a fact about its own jurisdiction: Arizona granted the right to build an accessory dwelling and built no plumbing to exercise it; Singapore's engine was transplanted four times and never reached production.
    What was done
    Wrote the homeowner's side of the entry segment and found two more instances while looking for something else. California's AB 1033 has let a jurisdiction opt in to selling an accessory dwelling separately as a condominium since 2024 — the strongest available answer to what a homeowner gets out of building one — and three jurisdictions had opted in as of April 2026. Florida's private-provider substitution has been available since 2006 and nobody in this project knows whether it is used.
    What came back
    Four instances of one shape: the right exists, the exercise does not follow. It is the same distance the rewritten Gate 0 measures as the placement gap, appearing on the political side, the financial side and the administrative side rather than only on the zoning map. Registered E-108 to measure the Florida case, which is public-records work rather than a pilot and is cheaper than Gate 0.
    What it cost
    It costs the assumption that preemption is the hard part. If a right reliably fails to convert into use, then statutory change is necessary and not sufficient, and this project's political theory — relocate the decision to a state legislature — buys less than it appeared to. It also exposes that the entry segment rests on four unmeasured questions of its own: how a homeowner finances an accessory dwelling, what it adds to the parent appraisal, what kills projects after approval, and how many eligible parcels sit under private covenants. The constituency-conversion argument is assumed, not evidenced.

    RegisterE-027 E-080 E-081 E-100 E-107 E-108 check these rows →

  8. 2026-08-10 narrowed L-013

    Adoption of a compiled determination is won at a state legislature, not sold to a building department

    What was held
    That the way to get a compiled determination accepted is to make the trade attractive enough to a jurisdiction — transfer the official's personal risk, keep the department's fee revenue whole, and let a class of review leave their desk. Six operational levers, all of them addressed to a municipality. The adversarial review had carried the admission for two revisions that adoption incentives were unmodelled, and it was right.
    What was done
    Read the adoption record rather than reasoning about it. Four transplants of the Singapore engine, the cross-case study of what governs adoption, and then a search for whether the trade has ever actually been offered in American law.
    What came back
    It has been offered, and it is nineteen years old. Florida Statute §553.791 lets an owner or contractor use a licensed private provider for plans review and inspections in lieu of the local building department, with statutory insurance minimums, a twenty-business-day clock, and a 2025 amendment expressly permitting automated review. Federally, delegated agencies have approved manufactured-home designs since 1976. And the structure of the Florida statute inverts the sales problem: the applicant elects the provider and the jurisdiction may not charge extra or delay, so consent was obtained once at the legislature rather than municipality by municipality. Separately, the transplant record shows four jurisdictions given the checking engine for free and none reaching production, against a study finding eight of twelve governing variables are non-technical — so a strategy that lowers encoding cost plays four of twelve.
    What it cost
    Two things. The claim that nobody had offered a jurisdiction this trade, which was this project's stated reason the position was unoccupied — it was offered, and what is actually unprecedented is narrower: a determination that is type-based and travels between jurisdictions rather than project-based and confined to one. And the first customer, who is no longer a building department but a legislature, which is slower, more political, and outside the operator's stated competence. It also concedes that the information-first ordering is incomplete: the wedge is informational, the standing that makes it pay is legislative, and no document here plans for a legislative capability.

    RegisterE-080 E-081 E-082 E-088 E-089 E-108 check these rows →

  9. 2026-08-10 held L-012

    A graded register with permanent IDs is enough to keep the record straight

    What was held
    That the register's two promises — one claim, one ID, append-only; never silently update a number — were being kept.
    What was done
    Extracted every version of the register in the project's history and diffed them, then resolved every citation in every document against the register as it stood when that document was written.
    What came back
    Both promises had been kept, and neither was enforced by anything. No ID has ever been reassigned across eighteen versions. But nine rows had values or grades rewritten in place, and nothing in the pipeline would have noticed an unrecorded one. The namespace that does drift is beat numbers, which are positional — the brief commissioning this audit cited five of them by numbers that were already wrong.
    What it cost
    Nothing was withdrawn; the discipline had held. What it cost was the assumption that discipline was sufficient. IDs are now append-only by machine, a claim cannot move without a correction naming it, and beat numbers are documented as uncitable.
  10. 2026-08-10 rewritten L-011

    The first experiment should measure whether a municipal ruleset is compilable

    What was held
    That Gate 0 — the cheapest first test — should enumerate every provision in one jurisdiction, classify each objective or discretionary, and encode the objective set.
    What was done
    Asked what the gate would be evidence for, once the encoding-cost thesis was withdrawn.
    What came back
    It was designed to price the encoding of a ruleset, which is a hole in an argument that no longer stands. And compilability alone tells a buyer nothing: a ruleset can be perfectly objective and still permit nothing anyone can buy.
    What it cost
    The gate design. It is rewritten to the placement gap — for one county and three jurisdictions, what share of residential parcels permit a dwelling but not a home a buyer can actually order — extending the National Zoning Atlas methodology rather than inventing one, so the result is comparable to the atlases that already exist. The compilability question survives as E-039 and is now measured as a cross-tab inside the new gate. Neither has been run.

    RegisterE-039 E-107 check these rows →

  11. 2026-08-10 narrowed L-010C-013 →

    This project's decomposition of the problem is its own contribution

    What was held
    Implicitly and throughout: that separating housing into approval, placement, type and finance — and diagnosing the finance layer as what killed manufactured housing — was original work, and that manufactured housing's absence from national zoning data was the specific hole worth filling.
    What was done
    Audited the argument against the existing literature before publishing anything further.
    What came back
    Pew has published the financing agenda since 2020. Mercatus has put the cost comparison on the congressional record. The Lincoln Institute convenes a network working on all four layers. And the National Zoning Atlas already codes manufactured-housing permission among 200-plus characteristics across 102,000 districts — the absence is not an absence.
    What it cost
    The novelty claim. What is left is stated narrowly enough to defend and is mostly questions rather than findings: whether a home someone can actually order clears every standard on a specific parcel, what share of binding provisions are objective, and a like-for-like price per square foot that this project cannot currently produce. A new page says who published what first.

    RegisterE-102 E-103 E-104 E-105 E-106 check these rows →

  12. 2026-08-10 withdrawn L-009C-013 →

    Thirty-two months becomes seven, and twenty-five months are eliminated

    What was held
    That the compiled path delivers a home in about seven months against thirty-two today, and that the same developer margin on the shorter clock annualizes from about 9% to about 47%.
    What was done
    Decomposed the seven months.
    What came back
    Four of them are factory build and set. The comparison therefore set site-built-today against factory-built-tomorrow, and credited compiled approval with a saving that partly belongs to a change of construction method.
    What it cost
    Every outcome number on the site. Two further beats went with it. What survives is the approval-queue estimate alone, stated inside a figure rather than as a headline, and still graded Untested. Producing an honest version means separating the approval saving from the construction-method saving, and no dataset in the country currently allows that.

    RegisterE-070 E-071 check these rows →

  13. 2026-08-10 withdrawn L-008C-013 →

    Encoding cost is what closed this market, and it has collapsed

    What was held
    The central claim of the whole site. Nobody replicated Singapore because the cost of hand-encoding one jurisdiction's rules, multiplied by twenty thousand jurisdictions, exceeded any plausible return — and that number had just moved, because machines can now read the rules. It was the climax of the argument and the entire investment case.
    What was done
    Looked for what happened to the engine after Singapore, and for research on why automated compliance checking gets adopted.
    What came back
    Refuted. Singapore's checking engine was transplanted — a Norwegian pilot on the e-PlanCheck base, a completed New York City pilot on ICC codes, testing with Japanese and Australian models. All four inherited the encoding for free and none has been identified reaching production. If encoding cost were the binding constraint, at least one should have cleared. Separately, the best available adoption study finds twelve governing variables and eight of them are non-technical.
    What it cost
    The largest of the project. Four of them were deleted, the outcome figure withdrawn, and the argument now ends on a diagnosis with no priced payoff. E-051 keeps its ID and its Untested grade — the cost is still unmeasured and still worth measuring, and is no longer claimed to be what closed the market. What is now genuinely unknown is what did, and that has no register row because it cannot yet be stated precisely enough to grade.

    RegisterE-051 E-078 E-079 E-080 E-081 E-082 check these rows →

  14. 2026-08-10 held L-007

    The rule graph's input may not be free to copy

    What was held
    That compiling each jurisdiction's adopted code might be blocked at the source: model codes belong to the ICC and the standards they incorporate belong to bodies that fund themselves selling access. The design had treated the input as free without ever asking.
    What was done
    Read the case law.
    What came back
    The position survived, and moved in the project's favour. Veeck (5th Cir. 2002) holds an enacted model code enters the public domain as to the enacting jurisdiction; ASTM v. Public.Resource.Org (D.C. Cir. 2023) and ASTM v. UpCodes (3d Cir., April 2026) hold that republishing incorporated standards is likely fair use — the last for a for-profit defendant.
    What it cost
    Nothing was withdrawn, and the entry is here because a log that only records losses is as misleading as one that only records wins. What it produced was an architectural constraint rather than a risk: compile per adopting jurisdiction from adopted text, never as one national model-code graph — because the single square holding against a republisher concerns unadopted model-code text. Whether compiling law into executable rules, rather than republishing it, is protected remains untested anywhere.

    RegisterE-075 E-076 E-077 check these rows →

  15. 2026-08-09 regraded L-006C-012 →

    The claims this argument leans on are Confirmed

    What was held
    That the regulation-share figure and the Singapore multi-agency review both met the register's Confirmed bar — "independent published evidence supports the claim."
    What was done
    Read the register's own definition against the two rows.
    What came back
    Neither met it. E-001 rested on two self-report surveys of NAHB's own members with the trade association arguing for deregulation as sole source, and carried a note saying "triangulate before relying" — not a note a Confirmed row can carry. E-021 had the agency count wrong and called a twenty-working-day service ceiling a measurement.
    What it cost
    Two Confirmed rows, and the comfort of a register whose top grade was doing more work than its evidence. Both regraded Supported. The failure class is the one no script can catch: the grade asserted more than the source.

    RegisterE-001 E-021 check these rows →

  16. 2026-08-09 narrowed L-005C-011 →

    Upzoning's measured benefits reach residents, robustly

    What was held
    That Auckland's upzoning produced rents 23–28% below counterfactual, replicated at 21% in Lower Hutt — a robustness band across studies.
    What was done
    Read the primary papers.
    What came back
    The band was not a band. It was four vintages of the same research programme measuring at different horizons, and one end of it inverted the base: the paper says rents would be ~28% higher under the counterfactual, which implies actual rents ~21.9% below it, not 28%. The Lower Hutt rent replication could not be traced to any paper — that study reports construction effects and no rent effect.
    What it cost
    The robustness. Every surface now quotes the single published figure alone — 23% below counterfactual at eight years — and E-031 is regraded Supported: peer-reviewed, but one research group, one method, and an estimate that has moved with every version.

    RegisterE-030 E-031 check these rows →

  17. 2026-08-09 withdrawn L-004C-010 →

    Housing supply constraints cost the US economy a measurable share of output

    What was held
    That constrained supply lowered US growth 1964–2009 by roughly 36% under perfect mobility or 14% under imperfect mobility — one of three figures sizing the problem on the landing page.
    What was done
    Chased the figure to its source.
    What came back
    Two things were wrong. The 36 / 14 pair is not the paper's own result — it comes from compounding annual rates, which yields level effects rather than growth forgone. And a peer-reviewed Comment (Greaney, AEJ: Macro, April 2026) had replicated the paper, documented errors in its code, found the counterfactual as coded lowers output, and reported a corrected effect roughly two orders of magnitude smaller.
    What it cost
    A headline figure on the first screen, removed rather than re-stated with a longer caveat — an honest version needed three sentences and the first screen could not afford them. E-054 now says no figure from it is quotable as settled.

    RegisterE-054 check these rows →

  18. 2026-08-08 regraded L-003C-007 →

    The register's own grading was more reliable than it turned out to be

    What was held
    That a graded, sourced register was sufficient discipline on its own.
    What was done
    Took source snapshots for the first time — seven rows.
    What came back
    Four defects in seven rows: a GDP level absent from the release cited, an internally inconsistent paper, a statistic attributed to a source that does not contain it, and a regulation cited to the wrong Part.
    What it cost
    The assumption that grading was enough. Rows E-001 to E-050 remain un-snapshotted, and the honest inference — recorded rather than buried — is that the same error rate should be assumed to hold for them until they are checked.

    RegisterE-052 E-054 E-055 E-056 check these rows →

  19. 2026-08-07 narrowed L-002C-001 →

    Compiling the rules is the thing nobody has done

    What was held
    That existing vendors sell workflow to jurisdictions — routing, queues, portals — and leave the ruleset in prose, so a compiled ruleset would reach a different customer entirely.
    What was done
    Looked at what the screening market actually ships.
    What came back
    Both halves were wrong. Compiled-rule products already exist and several are already builder-facing: Symbium covers California accessory-dwelling rules statewide with address-in, envelope-out determinations; Buildability claims parcel screening across 3,100+ counties; Canibuild sells site-fit and automated compliance to builders.
    What it cost
    The differentiator. What replaced it is narrower and harder: compiling the rules is necessary and insufficient, and the distinction that matters is not who the customer is but whether the determination carries legal weight. The screening market had already run the information-first experiment and moved roughly two of the thirty-two months.

    RegisterE-040 E-041 E-042 E-060 check these rows →

  20. 2026-08-07 opened L-001

    American housing is an industry of projects, not products, and the binding constraint is approval duration

    What was held
    The founding position. It takes roughly thirty-two months to deliver an American home and only eight of them build it; the rest is information processing, waiting and risk-bearing. If that is true, the constraint is administrative rather than physical, and the lever is compilation rather than construction.
    What was done
    Nothing yet. This is the starting position, recorded so that everything after it can be read against it.
    What came back
    The diagnosis half has held through everything below. The claim about what causes the duration, and what would remove it, has not.
    What it cost
    None. An opening position costs nothing until it meets evidence — which is the point of writing it down before it does.

    RegisterE-002 E-004 E-038 check these rows →

ThreeWhat the closed papers still say

Errata

Errata for documents that cannot be edited. This site tells you to cite the paper. The paper was closed before the correction, so it still carries claims this project has withdrawn. Editing it is not an option — a citation has to keep resolving to what it cited — so the errata go here. Filable on its own as a PDF.

POSTER · Rev 3.1 Eight of Thirty-Two

Closed August 2026, before correction C-013 · the PDF as published · 4 passages affected by 2 withdrawn claims

RC-07 C-009 1 passage

504 days added by a full environmental impact report

What the paper says
  • 504…8–36 acquisition-to-entitled for complex projects; California subdivision routinely 3–7+ years; UCLA Anderson: full environmental impact report added 504 days on average in Los Angeles. CAVEAT · Today’s critical path is assembled from separate sources never designed to be added together. No dataset tracks a single project…
What the record says now
RC-13 C-008, C-016, C-022, C-024, C-029 3 passages

The line-by-line audit's sixteen defects, and the figures later corrections withdrew

What the paper says
  • 9.1 months…industrialise housing rebuilt the one row that cannot compress. SOURCES · US Census Survey of Construction: single-family authorisation-to-completion 9.1 months (2024), of which 7.6 building. Entitlement commonly 6–18 months, 18–36 acquisition-to-entitled for complex projects; California subdivision routinely 3–7+ years; UCLA An…
  • 7.6 building…t the one row that cannot compress. SOURCES · US Census Survey of Construction: single-family authorisation-to-completion 9.1 months (2024), of which 7.6 building. Entitlement commonly 6–18 months, 18–36 acquisition-to-entitled for complex projects; California subdivision routinely 3–7+ years; UCLA Anderson: full environmental imp…
  • 20 MONTHS…black squares are not the problem. They are the product. Everything else is overhead. TODAY · 32 MONTHS FEAS · 2 ENTITLEMENT · 11 DESIGN + REVIEW · 5 20 MONTHS · NO PHYSICAL WORK OCCURS SITE · 4 4 · SITE BUILD · 8 SALE · 2 8 MONTHS · BUILDING THE HOUSE ↑ THE PART WE KEEP COMPILED · 7 MONTHS 25 MONTHS ELIMINATED — ALL OF IT WAIT…
What the record says now

HAP-02 · Rev 3.7 Twenty Thousand Uncompiled Codebases

Closed August 2026, before correction C-013 · the PDF as published · 22 passages affected by 8 withdrawn claims

RC-04 C-013 4 passages

Encoding cost as the binding constraint, and "the missing layer"

What the paper says
  • arithmetic, not engineering…E SAVING REACHES THINGS NOBODY HAS MEASURED IRR ON AN IDENTICAL MARGIN, RESIDENTS How to read this FIVE MINUTES Sheet 00, then Sheet 05 (why this was arithmetic, not engineering) and Sheet 09 (why duration excludes capital). That is the investment case. TWENTY MINUTES Add Sheet 01 (the diagnosis), Sheet 04 (four cities, four locks) and Sheet 10…
  • VIABILITY THRESHOLD…tion is old, and the arithmetic that defeated both is what changed. COST TO ENCODE ONE JURISDICTION HAND-CODED RULE TRANSLATION LLM-ASSISTED ENCODING VIABILITY THRESHOLD AT n = 20,000 CORENET begins · viable at n = 1 1997 2018 2026 CROSSING Schematic, not measured. The shape is the claim; the axis values are the research question. Quanti…
  • exceeded any plausible return…o one replicated it is not that the idea was doubted. It is that the cost of writing a compiler by hand, multiplied by twenty thousand jurisdictions, exceeded any plausible return. That product was gated by a single number, and the number moved. The number is the cost of translating one jurisdiction's prose rules into executable logic. Until recen…
  • THRESHOLD AT n = 20,000…d, and the arithmetic that defeated both is what changed. COST TO ENCODE ONE JURISDICTION HAND-CODED RULE TRANSLATION LLM-ASSISTED ENCODING VIABILITY THRESHOLD AT n = 20,000 CORENET begins · viable at n = 1 1997 2018 2026 CROSSING Schematic, not measured. The shape is the claim; the axis values are the research question. Quantifying the cros…
What the record says now
RC-05 C-013 3 passages

Twenty-eight years bought one city

What the paper says
  • twenty-eight years…es — the same constraint holds across every comparable system built to date. DIAGNOSIS: shipped L1, L3 and L4 — correctly, and in production. Roughly twenty-eight years of hand-translation bought exactly one jurisdiction. The compiler was written by hand. Katerra 2015–21 · venture capital Vertical integration of design and manufacture,…
  • 28 years…ludes risk capital, because the learning cycle is longer than a fund's life. 5. Singapore proved compiled codes work and hand-wrote the compiler over 28 years for one jurisdiction. That translation cost is what collapsed roughly three years ago — and it is the only reason this is now a live opportunity rather than a recurring…
  • bought one city…ordinance and the adopted code and writes out each binding provision as a rule by hand. Singapore did exactly that, and it is why twenty-eight years bought one city. Language models can now perform a large part of that reading and drafting, which is the first time in the history of this problem that the unit cost has moved at all. T…
What the record says now
RC-06 C-013 1 passage

Novelty and absence claims that the record contradicts

What the paper says
  • nobody has built…arated from general scholarship. THE POINT SHEET 01 Preemption grants the right; compilation makes the right exercisable. Neither delivers alone, and nobody has built both. THE DIAGNOSIS THE REPOSITORY NOBODY CAN READ The International Code Council publishes model codes on a three-year cycle. States and localities adopt them on their…
What the record says now
RC-07 C-009 1 passage

504 days added by a full environmental impact report

What the paper says
  • 504…ojects. California subdivision routinely runs 3–7+ years, and a UCLA Anderson study found projects requiring a full environmental impact report added 504 days on average. The compiled column is an estimate, not a measurement. Some stages overlap in practice; this is critical path, not the sum of all activity. Why duration…
What the record says now
RC-08 C-011 5 passages

The Auckland rent effect — the six-year figure, the range, and Lower Hutt

What the paper says
  • 23–28%…SDICTION FORKED RULESET AND VERSION PIN SINGAPORE, FROM 1997 32 → 7 MONTHS OF CRITICAL PATH, 9% → 47% TODAY VERSUS COMPILED FLOOR 32 MONTHS VERSUS 7 −23–28% 4 AUCKLAND RENTS AGAINST COUNTERFACTUAL REGISTER ROWS THAT RECORD AFTER UPZONING — THE SAVING REACHES THINGS NOBODY HAS MEASURED IRR ON AN IDENTICAL MARGIN, RESIDENTS Ho…
  • 28% below…e counterfactual within five years. Eight years on, rents were 23% below counterfactual under the preferred specification; a separate study puts them 28% below at six years. Lower Hutt replicated the result: starts up 10–18%, rents down about 21%. SOLVED: capacity — and, decisively, demonstrated that the saving reaches the resi…
  • Lower Hutt…five years. Eight years on, rents were 23% below counterfactual under the preferred specification; a separate study puts them 28% below at six years. Lower Hutt replicated the result: starts up 10–18%, rents down about 21%. SOLVED: capacity — and, decisively, demonstrated that the saving reaches the resident rather than capitali…
  • 43,500…ge-scale natural experiment available anywhere. Measured outcomes: an additional 21,808 consents after five years — about 4% of the housing stock — or 43,500 within six years, about 9%, under a syntheticcontrol method comparing Auckland to similar New Zealand cities that did not upzone. Building permits per capita doubled aga…
  • +43,500…kland Unitary Plan 2016 upzoned ~75% of residential land and abolished minimum lot sizes; estimated +21,808 consents at five years (~4% of stock) and +43,500 at six years (~9%) by synthetic control; rents 23% below counterfactual at eight years and 28% below at six years; Lower Hutt starts +10–18% and rents −21%. See also the…
What the record says now
RC-12 C-012 1 passage

Grades and measurements that outran their sources

What the paper says
  • seven agencies…ers, one dataset, six reconstructions, no single source of truth, no version. Singapore solved exactly this with a national data schema shared across seven agencies. → FIX: L3. One authoritative parcel-and-design record. BLOCKING SEQUENTIAL CALLS no concurrency, no timeouts Gates execute in series because each demands the prior gate…
What the record says now
RC-13 C-008, C-016, C-022, C-024, C-029 5 passages

The line-by-line audit's sixteen defects, and the figures later corrections withdrew

What the paper says
  • 9.1 months…t four prior attempts spent their effort compressing the one segment that should be preserved. Today's figures: Census Survey of Construction reports 9.1 months authorization-tocompletion for single-family in 2024 (1.4 to start, 7.6 building); entitlement commonly runs 6–18 months, and 18–36 months acquisition-to-entitled for co…
  • 240,000/yr…nce in the United States (2014). 7. Urban Institute. Challenges to Obtaining Manufactured Home Financing. Rate spreads and the shipment decline from ~240,000/yr (1977–95) to 93,000 (2017). 8. Study of by-right versus discretionary approval, Los Angeles Transit-Oriented Communities programme, ~350 multifamily projects, January 20…
  • 240,000 a year to 93,000…ng excluded them from most land. DIAGNOSIS: shipped L2 without L5. A certified type that no one could affordably finance. Shipments fell from roughly 240,000 a year to 93,000. The clearest evidence in existence that one layer is not enough. CORENET 1997–2026 · Singapore The first successful automated code-compliance system anywhere. Its curre…
  • 240,000/yr (1977–95) to 93,000…nce in the United States (2014). 7. Urban Institute. Challenges to Obtaining Manufactured Home Financing. Rate spreads and the shipment decline from ~240,000/yr (1977–95) to 93,000 (2017). 8. Study of by-right versus discretionary approval, Los Angeles Transit-Oriented Communities programme, ~350 multifamily projects, January 2018 – March 2020. By-…
  • 7.6 building…d be preserved. Today's figures: Census Survey of Construction reports 9.1 months authorization-tocompletion for single-family in 2024 (1.4 to start, 7.6 building); entitlement commonly runs 6–18 months, and 18–36 months acquisition-to-entitled for complex projects. California subdivision routinely runs 3–7+ years, and a UCLA Ande…
What the record says now
RC-15 C-019 2 passages

The screening market's "two of thirty-two months", and the answer it never published

What the paper says
  • two of the thirty-two months…tion-first experiment at commercial scale and published the result: compiled information without political standing is advisory, and it moved roughly two of the thirty-two months. What separates this from that category is not who the customer is — it is whether the determination carries legal weight. A screening tool tells you what it thinks; a c…
  • run the information-first experiment…survives in a sharper and stronger form, and so does the answer. Compiling the rules is necessary and insufficient. The screening market has already run the information-first experiment at commercial scale and published the result: compiled information without political standing is advisory, and it moved roughly two of the thirty-two months. What separa…
What the record says now

HAP-08 · Rev 1.0 The Narrative

Closed the PDF is a snapshot; the narrative itself is maintained and current · the PDF as published · 42 passages affected by 12 withdrawn claims

RC-04 C-013 6 passages

Encoding cost as the binding constraint, and "the missing layer"

What the paper says
  • ARITHMETIC, NOT ENGINEERING…ng changed. MOVEMENT 3 OF 5 · CLIMAX CLIMAX Everything so far explains why it failed. This is the part that changed. THE TURN BEAT 16 · CLIMAX IT WAS ARITHMETIC, NOT ENGINEERING Nobody replicated Singapore because the idea was doubted. They did not replicate it because of a multiplication. 28 years of hand-encoding × n = 1 VIABLE — SINGAPORE BUI…
  • turned out to be arithmetic…OUS NARRATIVE TWENTY THOUSAND UNCOMPILED CODEBASES. Thirty-two beats in five movements — thirty-two months, four failed attempts, the constraint that turned out to be arithmetic, and an ending that concedes what it has not proved. Read it brief or in full, through whichever lens you like — the spine does not change. I · EXPOSITION — THE WORLD AS…
  • VIABILITY THRESHOLD…ed about three years ago — because machines can now read the rules. COST TO ENCODE ONE JURISDICTION HAND-CODED RULE TRANSLATION LLM-ASSISTED ENCODING VIABILITY THRESHOLD AT n = 20,000 CORENET begins · viable at n = 1 1997 2018 2026 CROSSING Schematic, not measured. The shape is the claim; the axis values are the research question. For tw…
  • exceeded any plausible return…a multiplication, not by a technology and not by political will. The cost of writing a compiler by hand, multiplied by twenty thousand jurisdictions, exceeded any plausible return. That is why the one success is a city-state: at n = 1, twenty-eight years of hand-encoding is affordable. At n = 20,000 it is not, and no amount of conviction changes t…
  • nobody replicated…and users cannot author new ones. INVESTORS Twenty-eight years, one jurisdiction. Multiply that unit cost by twenty thousand and you have the reason nobody replicated it. Remember that multiplication — it returns at beat 16. POLICYMAKERS This is the existence proof that compiled codes work in production, with a regulator's safety reco…
  • THRESHOLD AT n = 20,000…hree years ago — because machines can now read the rules. COST TO ENCODE ONE JURISDICTION HAND-CODED RULE TRANSLATION LLM-ASSISTED ENCODING VIABILITY THRESHOLD AT n = 20,000 CORENET begins · viable at n = 1 1997 2018 2026 CROSSING Schematic, not measured. The shape is the claim; the axis values are the research question. For twenty-eight yea…
What the record says now
RC-05 C-013 5 passages

Twenty-eight years bought one city

What the paper says
  • TWENTY-EIGHT YEARS…12 C H EC K T H ES E R O WS → A certified type nobody could finance. Could it at least be compiled? ATTEMPT THREE · 1997–2026 BEAT 11 · RISING ACTION TWENTY-EIGHT YEARS BOUGHT ONE CITY It worked too. It cost twenty-eight years of handencoding to buy exactly one jurisdiction. 1997 –2026 CORENET · SINGAPORE FIXED Compiled rules, shared sc…
  • 28 years…actly one jurisdiction. 1997 –2026 CORENET · SINGAPORE FIXED Compiled rules, shared schema, 7-agency review in 20 days KILLED BY Rules hand-encoded — 28 years bought one jurisdiction Singapore built the first successful automated code-compliance system anywhere. Its current generation runs seven-agency concurrent review agains…
  • BOUGHT ONE CITY…E R O WS → A certified type nobody could finance. Could it at least be compiled? ATTEMPT THREE · 1997–2026 BEAT 11 · RISING ACTION TWENTY-EIGHT YEARS BOUGHT ONE CITY It worked too. It cost twenty-eight years of handencoding to buy exactly one jurisdiction. 1997 –2026 CORENET · SINGAPORE FIXED Compiled rules, shared schema, 7-agency r…
  • ONE CITY It worked too. It cost twenty-eight…S → A certified type nobody could finance. Could it at least be compiled? ATTEMPT THREE · 1997–2026 BEAT 11 · RISING ACTION TWENTY-EIGHT YEARS BOUGHT ONE CITY It worked too. It cost twenty-eight years of handencoding to buy exactly one jurisdiction. 1997 –2026 CORENET · SINGAPORE FIXED Compiled rules, shared schema, 7-agency review in 20 days KILLED BY Rules han…
  • one city cost twenty-eight…ion's prose rules into executable logic was for a person to read them and write out each provision by hand. That is what Singapore did, and it is why one city cost twenty-eight years. Language models can now do a large part of that reading and drafting — the first time the unit cost of this translation has moved at all. INVESTORS And the openin…
What the record says now
RC-06 C-013 6 passages

Novelty and absence claims that the record contradicts

What the paper says
  • the only part that is new…not per project one record, one clock the type, not the comp built to a real order LINTEL a conformance authority — the part you actually build, and the only part that is new compiled determination + professional of record + insurance = accepted in place of first-pass review STAGES 04 AND 05 ALREADY EXIST Lenders and factories are not waiting…
  • only part that is new…per project one record, one clock the type, not the comp built to a real order LINTEL a conformance authority — the part you actually build, and the only part that is new compiled determination + professional of record + insurance = accepted in place of first-pass review STAGES 04 AND 05 ALREADY EXIST Lenders and factories are not waiting…
  • unprecedented…reamlined certification across state lines; Indiana's reform gives a private-review fallback when the jurisdiction misses a deadline. None of this is unprecedented — it is unassembled. RESEARCH Each layer is specified with a falsification test and a list of substitutable implementations, so a failed layer is replaced rather than fa…
  • Nobody has built…y time. E-027 THE PROBLEM, FULLY STATED BEAT 15 · CRISIS NOBODY HAS BOTH HALVES Preemption grants the right. Compilation makes the right exercisable. Nobody has built both. THE LAW GRANTS THE RIGHT Tokyo yes Auckland yes Arizona yes Singapore yes THE COMPILER MAKES THE RIGHT EXERCISABLE Tokyo no Auckland no Arizona no Singapore yes *…
  • NEVER DEMONSTRATED…e objective rather than discretionary UNMEASURED 02 A jurisdiction accepts an outside determination In place of first-pass review, signed and insured NEVER DEMONSTRATED 03 A carrier insures it The determination becomes a priced, bounded risk NEVER DEMONSTRATED 04 A lender values the type, not the comp The lock that killed manufactured h…
  • has never been demonstrated…This is the part of the argument with the least evidence behind it and the most weight on it. That a jurisdiction will accept a Lintel determination has never been demonstrated; that a carrier will insure one has never been demonstrated. Both are named links on the road, both are unproven, and everything above rests on them. Naming a thing does…
What the record says now
RC-08 C-011 3 passages

The Auckland rent effect — the six-year figure, the range, and Lower Hutt

What the paper says
  • 23–28%…tles the question of whether the saving reaches residents: consents up 21,808 at five years, permits per capita doubled against counterfactual, rents 23–28% below, Lower Hutt replicating at 21%. RESEARCH Two caveats travel with this slide. Tokyo's permissive zoning is downstream of an asset structure America does not have —…
  • 28% below…s the question of whether the saving reaches residents: consents up 21,808 at five years, permits per capita doubled against counterfactual, rents 23–28% below, Lower Hutt replicating at 21%. RESEARCH Two caveats travel with this slide. Tokyo's permissive zoning is downstream of an asset structure America does not have — Japane…
  • Lower Hutt…ion of whether the saving reaches residents: consents up 21,808 at five years, permits per capita doubled against counterfactual, rents 23–28% below, Lower Hutt replicating at 21%. RESEARCH Two caveats travel with this slide. Tokyo's permissive zoning is downstream of an asset structure America does not have — Japanese homes dep…
What the record says now
RC-09 C-010 2 passages

Output growth forgone to housing constraints

What the paper says
  • output growth forgone…part that has been shrinking 3.7M LIVING IN THEM homes short of demand Freddie Mac 2024 · 3.78M Up for Growth 2025 · estimates vary by method ~14% of output growth forgone, 1964–2009 $132k of regulation in each new home from housing supply constraints — contested, see below 26.4% of a $499,500 average — trade-association estimate Hsieh & M…
  • 14% of output…is the part that has been shrinking 3.7M LIVING IN THEM homes short of demand Freddie Mac 2024 · 3.78M Up for Growth 2025 · estimates vary by method ~14% of output growth forgone, 1964–2009 $132k of regulation in each new home from housing supply constraints — contested, see below 26.4% of a $499,500 average — trade-association est…
What the record says now
RC-10 C-006 1 passage

Nine objections, three conceded

What the paper says
  • three conceded…wered or conceded on the record, with the thing that would settle it named. Note the count has been corrected: the documents said nine objections and three conceded; there are eight, and five end in a concession. REGISTER E-016 E-017 E-031 C HE C K T HE S E R OW S → Five concessions. And four things nobody has measured at all. WHAT…
What the record says now
RC-11 C-013, C-014 3 passages

The manufactured-housing approval gap as "<30% vs >70%"

What the paper says
  • <30% vs…gled it. 1976 THE HUD CODE FIXED A certified national type, by federal preemption KILLED BY Comparables-based finance treated it as personal property <30% vs >70% loan approval · 5.61% vs 1.20% spreads · 240,000/yr → 93,000 shipments A single national construction standard for manufactured homes, displacing local codes. Feder…
  • under 30% of the time against over 70%…. Federal preemption, delivered. It produced the only consistently low-cost newbuild housing product in the country. Then: loan applications approved under 30% of the time against over 70% for site-built. Rate spreads of 5.61% against 1.20%. Under 4% of chattel originations were refinances against 44% site-built. Shipments fell from roughly 240,000 a year…
  • under 30% loan approval against over 70%…t When it goes wrong How long you wait Discovered by bidding against Quoted before you commit, like scarcity any other made thing A new kind of home: under 30% loan approval against over 70%, at A mortgage on a type with a published record — not a chattel 5.61% spreads against 1.20% loan on personal property Litigation — slow, expensive, A warranty against t…
What the record says now
RC-12 C-012 1 passage

Grades and measurements that outran their sources

What the paper says
  • seven agencies…the same six parties, with the same authority, asking the same questions. What changes is that they stop each producing a private answer. Singapore's seven agencies read one national schema, which is why they can answer together in twenty working days. RESEARCH The claim that this is the binding pathology is argued rather than measu…
What the record says now
RC-13 C-008, C-016, C-022, C-024, C-029 6 passages

The line-by-line audit's sixteen defects, and the figures later corrections withdrew

What the paper says
  • 9.1 months…t an accusation — it is an opportunity, because information processing is the one input that has become dramatically cheaper. RESEARCH Census reports 9.1 months authorization-to-completion for single-family in 2024, of which 7.6 is building. The pre-permit phase dominates the timeline and is not physical work. REGISTER E-002 C H…
  • 240,000/yr…type, by federal preemption KILLED BY Comparables-based finance treated it as personal property <30% vs >70% loan approval · 5.61% vs 1.20% spreads · 240,000/yr → 93,000 shipments A single national construction standard for manufactured homes, displacing local codes. Federal preemption, delivered. It produced the only consistent…
  • 240,000/yr → 93,000…type, by federal preemption KILLED BY Comparables-based finance treated it as personal property <30% vs >70% loan approval · 5.61% vs 1.20% spreads · 240,000/yr → 93,000 shipments A single national construction standard for manufactured homes, displacing local codes. Federal preemption, delivered. It produced the only consistently low-co…
  • 240,000 a year to 93,000…site-built. Rate spreads of 5.61% against 1.20%. Under 4% of chattel originations were refinances against 44% site-built. Shipments fell from roughly 240,000 a year to 93,000. INVESTORS Preemption was granted and a certified national type existed. The product still died, because nobody could affordably finance it. This is the clearest evidenc…
  • Thirty-two beats…DOC HAP-08 · THE ARGUMENT AS ONE CONTINUOUS NARRATIVE TWENTY THOUSAND UNCOMPILED CODEBASES. Thirty-two beats in five movements — thirty-two months, four failed attempts, the constraint that turned out to be arithmetic, and an ending that concedes what it has not proved. Read it…
  • 20 MONTHS…the house? THE PRODUCT BEAT 02 · EXPOSITION EIGHT OF THIRTY-TWO Eight of those months are spent building the house. The other twenty-four are paper. 20 MONTHS — NO PHYSICAL WORK OCCURS 4 — SITE 8 MONTHS — THE PRODUCT 2 — SALE Twenty months pass before physical work begins. Four are site work. Eight are the house going up. Two…
What the record says now
RC-15 C-019 6 passages

The screening market's "two of thirty-two months", and the answer it never published

What the paper says
  • two of thirty-two months…n a manual queue. Information first: the screening market — Symbium, Buildability, Canibuild — compiled rules across thousands of counties, and moved two of thirty-two months, because compiled information without political standing is advisory. Politics only: Arizona, a granted right with nothing to exercise it. Politics plus capital, skippin…
  • two of the thirty-two months…already a commodity — Symbium, Buildability and Canibuild sell versions of it, and the screening market has shown what it is worth on its own: about two of the thirty-two months. The second row does not exist anywhere. The distance between advisory and authoritative is the whole business. POLICYMAKERS Note what the second row does not do. It doe…
  • 2 of 32 months…eue. No certified type for finance to attach to. Information first The screening Compiled rules without political standing are advisory. market Moved 2 of 32 months. Politics only Arizona A granted right with no plan library, no shared record, no type-based finance. Politics + capital The HUD Code Closest anyone came. No information…
  • published the answer…record to lend against. INVESTORS The screening market matters most here. It has already run the information-first experiment at commercial scale and published the answer. Compiling the rules is necessary and insufficient — the wedge has to carry legal weight, not just information. POLICYMAKERS The failures are not symmetric. Skipping pol…
  • has shown what it is worth…ecord and insured. INVESTORS The first row is already a commodity — Symbium, Buildability and Canibuild sell versions of it, and the screening market has shown what it is worth on its own: about two of the thirty-two months. The second row does not exist anywhere. The distance between advisory and authoritative is the whole business. POLICYMAKE…
  • run the information-first experiment…Code, the closest anyone came, with no type-based valuation record to lend against. INVESTORS The screening market matters most here. It has already run the information-first experiment at commercial scale and published the answer. Compiling the rules is necessary and insufficient — the wedge has to carry legal weight, not just information. POLICYMAKERS…
What the record says now
RC-16 C-031 1 passage

Act III as "a number that moved, and did not matter"

What the paper says
  • FALLING ACTION…oes not change. I · EXPOSITION — THE WORLD AS IT IS II · RISING ACTION — FOUR ATTEMPTS, EACH FAILING BIGGER III · CLIMAX — THE PART THAT CHANGED IV · FALLING ACTION — WHAT FOLLOWS IF THAT IS TRUE V · CONCLUSION — NO GATE HAS BEEN CLEARED. MOVEMENT 1 OF 5 · EXPOSITION EXPOSITION The world as it is, and the fact that breaks it ONE HOU…
What the record says now
RC-24 C-047 2 passages

That Arizona granted the casita right and built no plan library

What the paper says
  • no plan library…n first The screening Compiled rules without political standing are advisory. market Moved 2 of 32 months. Politics only Arizona A granted right with no plan library, no shared record, no type-based finance. Politics + capital The HUD Code Closest anyone came. No information layer, so finance defaulted to chattel. Capital first: Kate…
  • granted right with no plan…tach to. Information first The screening Compiled rules without political standing are advisory. market Moved 2 of 32 months. Politics only Arizona A granted right with no plan library, no shared record, no type-based finance. Politics + capital The HUD Code Closest anyone came. No information layer, so finance defaulted to chattel. Capital fir…
What the record says now

HAP-05 · Rev 1.0 The Working Thesis, on One Page

Closed August 2026 · the PDF as published · 5 passages affected by 4 withdrawn claims

RC-05 C-013 1 passage

Twenty-eight years bought one city

What the paper says
  • 28 years…ecords requests. ✓ Possible now, not in 1969. The binding input — cost of encoding ~20,000 local codebases — collapsed ~3 years ago. Singapore needed 28 years to hand-encode one jurisdiction. GATE. Codes are compilably objective — never measured. Gate 0: two weeks, no capital. A jurisdiction will accept it; a carrier will insu…
What the record says now
RC-08 C-011 2 passages

The Auckland rent effect — the six-year figure, the range, and Lower Hutt

What the paper says
  • 23–28%…oduction). Singapore solved process (with state powers that don't transfer). Auckland solved capacity — and proved the savings reach residents: rents 23–28% below counterfactual. 1.20% rate spreads, shipments halved. ✕ Local zoning reform — fifty years of asking an agent to defect from their principal. Officials answer to in…
  • 28% below…ction). Singapore solved process (with state powers that don't transfer). Auckland solved capacity — and proved the savings reach residents: rents 23–28% below counterfactual. 1.20% rate spreads, shipments halved. ✕ Local zoning reform — fifty years of asking an agent to defect from their principal. Officials answer to incumben…
What the record says now
RC-13 C-008, C-016, C-022, C-024, C-029 1 passage

The line-by-line audit's sixteen defects, and the figures later corrections withdrew

What the paper says
  • 20 months…40–1970, then collapsed when project-level regulation spread. THE CRITICAL PATH — EACH SQUARE ONE MONTH US CENSUS SOC · PRACTITIONER ENTITLEMENT DATA 20 months — no physical work occurs WHAT HAS BEEN 4 — site 8 months — the product (the part we keep) TRIED WHY THEY ALL FAIL THE SAME 2 — sale WAY ✕ Better factories — Operation B…
What the record says now
RC-24 C-047 1 passage

That Arizona granted the casita right and built no plan library

What the paper says
  • no plan library…has both halves — the legal right and the infrastructure to exercise it. Arizona is the live proof: statewide by-right casita rights since Jan 2026, no plan library, no shared record, Compiled-code screening — the rules are already digitized across thousands of counties. Cycle time didn't move: a private assertion of compliance carr…
What the record says now

HAP-06 · Rev 1.0 Three Locks, One Ordering

Closed August 2026 · the PDF as published · 4 passages affected by 2 withdrawn claims

RC-15 C-019 2 passages

The screening market's "two of thirty-two months", and the answer it never published

What the paper says
  • 2 of 32 months….3 · The newest frame — compiled screening already exists and principal-agent map — ranks evidence but and notably, most of its five moves need moved 2 of 32 months. not sequence. no compiler at all. ~20,000 forked rulesets, humanly interpreted, per-instance review. Compliance cannot be computed, so nothing certifies in advance and…
  • published the answer…formation without political standing is advisory. Cycle time moved 2 of 32 months. The market has already run this experiment at commercial scale and published the answer (E-040– 042). Politics only Arizona — statewide by-right casita rights, with automatic loss of local control on missed deadlines. A granted right with no plan library, n…
What the record says now
RC-24 C-047 2 passages

That Arizona granted the casita right and built no plan library

What the paper says
  • no plan library…E-040– 042). Politics only Arizona — statewide by-right casita rights, with automatic loss of local control on missed deadlines. A granted right with no plan library, no shared record, no type-based finance. Throughput unpublished and plausibly negligible: every unit still needs bespoke design, review, and lending. The right exists;…
  • granted right with no plan…lished the answer (E-040– 042). Politics only Arizona — statewide by-right casita rights, with automatic loss of local control on missed deadlines. A granted right with no plan library, no shared record, no type-based finance. Throughput unpublished and plausibly negligible: every unit still needs bespoke design, review, and lending. The right…
What the record says now