What is checked, and what is not
Every run fetches each vendor's own site and records only what a fetch can settle:
whether it answers, whether it names Singapore , whether it names Asia-Pacific,
whether it names IFC / openBIM , whether it names IFC-SG or CORENET X , and
whether it refuses automated access.
It does not decide whether the AI is real. A vendor site says "AI-powered"
whether it runs a model or a rules engine, so a crawler reading marketing copy would
launder marketing into a recommendation. So no row here carries an AI verdict
unless a person made it: where you see no claim flag, nobody has judged it yet,
which is a statement about our coverage and not about the vendor. Those calls
live in solutions/registry.json and are written by a person.
Readiness (TRL), and the one rule that makes it publishable
Every row now carries a Ready line, because "how far has this actually got"
is the question that decides whether the rest of the row matters. It is built from
two readings and they are never averaged into one number.
The first is what the vendor's own site concedes , and it is allowed to move a
row in one direction only: down . "Beta", "early access", "waitlist" and "pilot
partners" are admissions against interest — nobody prints them about something they
could sell you today — whereas "trusted by industry leaders" is worth nothing. So the
top of the ladder cannot be reached from a vendor's own words at all. That asymmetry
is the same reason this page refuses to rate the AI from marketing copy, applied to a
column where it can be made safe rather than abandoned.
The second is independent coverage in this scan — an item that names the product
and was fetched, hashed, archived and quoted verbatim before it was published. It is
the only reading that can raise a row, and it is why the band and the items behind it
are always shown together. Where the two disagree, both are printed and the span runs
across them: a vendor admitting a beta while the trade press reports a deployment reads
as Pilot to In use, TRL 4–9 . The disagreement is the finding.
For most of this registry there is no reading at all, and that number is on the tiles
above rather than hidden. It is a statement about how thin the published evidence under
this market is — not a verdict on any vendor in it.
How to read a missing flag
No SG means Singapore did not appear on the homepage or up to
five sub-pages. It does not mean the vendor will not sell to you.
Two ways a row can be unreadable, and they are opposite findings. Until now this
page printed one word — blocked — for both, which hid the more interesting one.
refuses check means the site answered and said no :
HTTP 403 or 429, a live server turning away a robot. Several that do this certainly trade
in Singapore. It tells you nothing about the product, so every blank on that row is
absence of evidence rather than a finding.
no answer means nothing came back at all — the
request failed with no status to record. That can be a firewall. It can also be a domain
that no longer resolves, a company that renamed, or a product switched off after an
acquisition. This registry was assembled from AI-startup coverage, and startups close;
an entry that has stopped answering is worth checking by hand before it is shortlisted.
Neither flag is a judgement about the tool — but only one of them is evidence that
the tool is still there.
Why the IFC-SG column matters more than the rest
CORENET X becomes mandatory for new Singapore projects from October 2026. A tool that
cannot round-trip a compliant IFC-SG submission is not a pilot candidate here whatever
its AI does — it is a point solution living outside the regulated workflow. That is why
a single flag gets the loudest colour on the page.
Cadence
Re-checked twice daily by scan/solutions.py, which diffs against the
previous run and publishes what moved. The list barely changes week to week, so the
changes block is the part worth watching — particularly anyone who starts naming
CORENET X before the mandate lands.