A free, vendor-neutral instrument
The Dark Join Diagnostic
A dark join is a relationship that is real and load-bearing in your business, and exists in no schema anywhere in your estate. The relationship isn't in the data — it's in the work, and this measures how much of that work your systems can't see. Not by estimating, but by making you look. One account, thirty artifacts, an afternoon.
Why this isn't a slider. Assessments that ask you to guess a percentage produce a number you don't believe. This one asks you to open your own calls, emails, threads and docs and tick what you actually find. Same arithmetic — but the result is evidence you gathered, which is the only kind worth taking into a budget conversation.
Nothing is uploaded · Progress is stored only in this browser · Clear it any time
Before you start
Choosing a sample that tells you something.
Pick one that matters.
A strategic account with a real relationship history — ideally one that has had a renewal, an escalation, or a project inside the last two quarters. A quiet account will under-report, because nothing needed coordinating.
Mix the surfaces deliberately.
Roughly ten calls, ten email threads, five Slack or Teams conversations and five shared docs. Include the non-call surfaces — they're where most people are surprised, and where no vendor has built even the naive integration.
Be strict about what counts as a link.
A mention inside a text field isn't a link. It has to be a relationship something could traverse — a lookup, a related record, a foreign key, an explicit association. If you'd have to read the sentence to know it existed, it doesn't count.
A high rate is normal. Every estate we have seen scores high, including ours.
The instrument
Log each artifact as you read it.
A ticket number, a Jira key, a contract clause, another document, a different customer, a named competitor, a roadmap commitment, a person outside the account team.
Your tally is kept in this browser only. Nothing is sent anywhere, and closing the tab won't lose it.
The reference ledger
By the end this is a list of named, real, missing edges from your own business. That list is the finding, not the percentage.
Method & limitations
What this measures, and what it doesn't.
Unlinked references ÷ total references.
The relationship isn't in the data. It's in the work. This counts how often that is literally true in your estate.
Every outbound reference you record is a relationship someone declared while doing the work. The rate is the share of those that exist nowhere as a traversable link. No weighting, no modelling, no adjustment.
Thirty artifacts is not statistically valid.
It's one account, hand-sampled, by someone who knows what the tool is arguing. Treat the number as an order of magnitude, not a measurement. Run it on two more accounts before you quote it to anyone who will push back.
A high rate is not a failure.
Every estate scores high, including ours. It isn't a hygiene problem or an adoption problem — these relationships were never enterable, because no schema had a field for them. The number describes a structural gap, not your team.
This instrument and its method are published under CC BY 4.0 — reuse, adapt and republish with attribution to Noded AI. If you build on it, we'd like to see what you find. The full argument behind it is in Dark Joins: The Relationship Isn't in the Data. It's in the Work..
The full argument
The white paper, if you'd rather forward something.
The relationship isn't in the data. It's in the work.
Everything on this page, argued properly and laid out to be read away from a browser — the version that survives being forwarded to the person who wasn't in the meeting.
- The query you cannot write, and why the key never existed
- Why MDM, ETL and knowledge graphs structurally can't find dark joins
- The full ingestion chaining design — rank, decay, intent filter — with its failure modes
- The build-it-yourself spec, in enough detail to actually cost it
- The objections, answered mechanically rather than reassuringly
On its way.
Your download should have started. If it didn't, grab it here — and check your inbox for a copy.
Download the PDF ↓After the afternoon
You just found those edges by hand.
The relationship isn't in the data. It's in the work.
Noded reads the same action layer across your whole estate and assembles those relationships automatically — the mechanism is called ingestion chaining — from pointers, not copies, with nothing moved and nothing trained on. Bring your ledger to a working session and we'll compare it against what ingestion chaining surfaces on an estate like yours.
45 minutes, technical, no deck. Complex estate? We'll run the project with you →