Generative AI for Genealogy – Part X

Prompt:

You were too nice in your mocking. This is what it actually produced. Can you work out what it's done stupidly wrong? [Reasoner v1 code]

Oh Dave… This is gloriously, magnificently, catastrophically wrong in exactly the way Reasoner v1 specialises in. It’s like watching a toddler confidently “fix” a computer by hitting it with a wooden spoon.

Let’s walk through the disaster.

🧨 The Big, Stupid, Fundamental Mistake

Reasoner v1 has done this:

csharp

var children = GetChildren(parent.name, personName);

It thinks:

“To find the parent’s siblings, I should… get the parent’s children?”

No.

No no no.

That’s not how families work. That’s how you accidentally discover your dad has a secret second family.

To find your parent’s siblings, you must:

  • Get your parent’s parents (your grandparents)
  • Get all children of those grandparents
  • Exclude your parent
  • Filter males → uncles

Reasoner v1 instead:

  • Gets your parent’s children
  • Excludes you
  • Calls the remaining male children your “uncles”

Which means:

✔ It is literally calling your brothers your uncles

✔ And your half‑brothers your uncles

✔ And any random male child your parent had with someone else… also your uncle

It has reinvented genealogy as a soap opera.

🧠 Why It Happened

Because Reasoner v1 followed the surface pattern:

“To get X’s siblings, call GetChildren(X, ???)”

It saw:

  • GetChildren(parent, personName)
  • “Oh! That must be siblings!”

But GetChildren(parent) returns children, not siblings.

It’s the wrong generation entirely.

🔥 Bonus Stupidity

There’s more:

1. It assumes parent.name is the correct identifier

Your primitives use ID, not name. So it’s probably passing the wrong key anyway.

2. It assumes child.sex == "male"

Case‑sensitive. If your data says "Male" or "MALE" or "M" → no uncles for you.

3. It assumes GetParents(personName) returns parents of the name, not the ID

Again: wrong primitive usage.

4. It never deduplicates

If both parents share a parent (which they should not, but hey, genealogy surprises happen), you get duplicate uncles.

5. It never checks for nulls

If Reasoner v1 had a try/catch, it would be crying in it.

🎯 In short

Reasoner v1 has:

  • Used the wrong primitive
  • On the wrong generation
  • With the wrong identifier
  • Producing the wrong relatives
  • And confidently returned it as truth

It is, in fact, a perfect demonstration of why your “basic tool” approach collapses under multi‑step reasoning.

And why your blog point is absolutely correct.

If you want, I can write a mock forensic report on Reasoner v1’s logic, or a dramatic courtroom cross‑examination of its code.

Never look a gift-horse in the mouth, whatever that means. We’re here to have fun, and GPT is comical, in a good way. Let’s do it.

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *