Skip to content
Skip to main content
Novel Systems home
Decision log
D-036August 4, 2026

Named customers are published on assertion; their words are not

Decided

lib/customer-proof.ts now carries five named customers — Lloyd's Electric & HVAC, Haller Mechanical Contractors, Spark Power Corp, J & S Heating and Air Conditioning, Borealis Electric — in place of the five representative profiles it held before. SCENARIO_NOTE no longer says the deployments are modelled, because on the business owner's account they are not. Every quote attributed to a named individual stayed status: "placeholder" and therefore out of the production render until the business confirmed the wording was what each named individual actually said.

Closed the same day. That confirmation was given on 4 Aug 2026 and all five are now approved and rendering, attributed to David Lloyd, Mark Haller, Sarah Jenkins, James Smith and Alex Tremblay respectively. The decision this entry records is not undone by that — it is what the decision was for. The quotes were held for as long as the confirmation was outstanding, and were released when it arrived, which is the behaviour the split was designed to produce. The gate lives in the TestimonialStatus union rather than in anyone's memory, so a sixth study written tomorrow starts at placeholder and is invisible until the same confirmation is given for it. See D-037 for why the check that reports on those placeholders warns rather than fails.

The line, and why it falls there. Two different things were asserted and they have different evidentiary shapes. That these five companies are customers is a fact about the business, held by the person who runs it, and not something this repository could ever have confirmed — the absence of an older codebase in this repo proves nothing about deployments that predate it, and it was wrong of me to argue otherwise. That a specific named individual said a specific sentence is a different kind of fact: it is not the business owner's to assert on that person's behalf, it cannot be inferred from the relationship existing, and if it is wrong the person harmed is the one who is quoted. So the names went in and the quotes did not.

What was not carried across. Every figure the old file printed — fifteen minutes, $1.2M, 98% utilisation, −$18.7K, "measured across 118 commercial bids" — was produced by running the pricing and dispatch engines. Renaming a profile does not convert an engine output into a customer measurement, so those figures were deleted rather than re-attributed. What replaced them is qualitative and sourced: "Same day", "Hours, not days", "Blocked at entry", each with a detail line saying the operator reported it. technicians and region became optional and are omitted for all five, because an approximate headcount beside a real company's name is checkable and trivially wrong. QuickBooks Online and Sage 300 CRE came out of the module stacks; no ERP integration is claimed at a named account.

One structural change that matters more than the copy. TRADE_OPERATORS used to spread TENANT_WORKSPACES, so three of the five wall entries were the guided-tour demo tenants. Those tenants carry authored dispatch boards, crew rosters, and open work orders. Binding a real customer's name to that list would have published invented job records under that company's name — a worse failure than the one this file started with. The two lists are now independent and a comment in each says so.

What would make this wrong: a permission record that cannot be produced for one of the five. The remedy is specific and is written into D14 of docs/legal/FLAGGED-CLAIMS.md: that company comes out of TRADE_OPERATORS and CASE_STUDIES before anything else on the page is touched. Publishing a name is reversible in a deploy; it is not reversible in the mind of a procurement reviewer who already read it.

Alternative considered and rejected: profile labels — "a 38-technician commercial HVAC contractor, GTA corridor" — which need no permission from anyone and carry nearly the same persuasive weight. Rejected because the named version is what the business asked for and the business owns the relationships. It remains the fallback if D14 cannot be closed.