Q38, run 2026-11-05-1234-sonnet

← back to the run

Which institutions is W71 credited to, at every level?

Tests: Local rule on affiliations, then the hierarchy: the Tessel Laboratory is listed last, so Halloran gets nothing.

Expected: institutions = ['I01', 'I02', 'I03', 'I04']

❌ R1 csv run 1 graded by code

I06 and I04, plus their parents I03, I02 and I01.

JSON: {"institutions": ["I04", "I06", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I04', 'I06', 'I03', 'I02', 'I01']

❌ R1 csv run 2 graded by code

I06, I04, I03, I02, I01. I06 and I04 are listed directly, and I03, I02, I01 are their ancestors.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ R1 csv run 3 graded by code

I06, I04, I03, I02, I01. W71 is credited to I06 and I04, which roll up to I02 and I03 and then to I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ R1 csv run 4 graded by code

I06 and I04, plus their ancestors I03, I02 and I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ R1 csv run 5 graded by code

I06, I04, I03, I02, I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ R2 rdf run 1 graded by code

I06, I04, I03, I02, I01.

JSON: {"institutions": ["I01", "I02", "I03", "I04", "I06"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I01', 'I02', 'I03', 'I04', 'I06']

❌ R2 rdf run 2 graded by code

I06, I04, I03, I02, I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ R2 rdf run 3 graded by code

I06, I04, I03, I02, I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ R2 rdf run 4 graded by code

I06, I04, I03, I02, I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ R2 rdf run 5 graded by code

I01, I02, I03, I04, I06. I06 sits under I02, I04 under I03 under I02, and I02 under I01.

JSON: {"institutions": ["I01", "I02", "I03", "I04", "I06"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I01', 'I02', 'I03', 'I04', 'I06']

✅ R6 rdf+ontology run 1 graded by code

I04, I03, I02, I01. A08's last-listed affiliation on W71 is I04, and the credit passes up through its parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R6 rdf+ontology run 2 graded by code

I04, I03, I02, I01. W71's last-listed affiliation is I04, which sits under I03, I02 and I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R6 rdf+ontology run 3 graded by code

I04, I03, I02, I01. W71 is credited to I04 (seq 2), and then to every institution above it.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R6 rdf+ontology run 4 graded by code

I04, I03, I02 and I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R6 rdf+ontology run 5 graded by code

I04, I03, I02, I01. A08 listed I06 first and I04 last on W71.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R5 csv+ontology run 1 graded by code

I04, I03, I02, I01. W71's author listed I04 last, and the credit passes up through its parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R5 csv+ontology run 2 graded by code

I04, I03, I02 and I01. A08 listed I06 then I04 on W71, so I04 is credited, and the credit rolls up through its parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R5 csv+ontology run 3 graded by code

I04, I03, I02, I01. On W71 the last-listed affiliation is I04, and credit passes up through its parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R5 csv+ontology run 4 graded by code

I04, I03, I02 and I01. For W71, A08's last-listed affiliation is I04, and the credit passes up through its parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R5 csv+ontology run 5 graded by code

I04, I03, I02, I01. For W71, I04 is the last-listed affiliation, and the credit passes up through its parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R4 csv+markdown run 1 graded by code

I04, I03, I02, I01. For W71, A08's last-listed affiliation is I04, which sits under I03, I02 and I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R4 csv+markdown run 2 graded by code

I04, I03, I02, I01. A08's last-listed affiliation on W71 is I04, and credit passes up the chain.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R4 csv+markdown run 3 graded by code

I04, I03, I02, I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R4 csv+markdown run 4 graded by code

I04, I03, I02 and I01. For W71 the last-listed affiliation is I04, and credit passes up through its parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R4 csv+markdown run 5 graded by code

I04, I03, I02, I01. W71's last-listed affiliation is I04, and its parents follow.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

❌ R3 csv+padding run 1 graded by code

I06, I04, I03, I02, I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ R3 csv+padding run 2 graded by code

I06 and I04 directly. Their parents are I02 and I03, and above those I01.

JSON: {"institutions": ["I01", "I02", "I03", "I04", "I06"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I01', 'I02', 'I03', 'I04', 'I06']

❌ R3 csv+padding run 3 graded by code

I01, I02, I03, I04 and I06. W71 lists I06 and I04, and their ancestors are I02, I03 and I01.

JSON: {"institutions": ["I01", "I02", "I03", "I04", "I06"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I01', 'I02', 'I03', 'I04', 'I06']

❌ R3 csv+padding run 4 graded by code

I06 and I04, plus their parents I03, I02 and I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ R3 csv+padding run 5 graded by code

I06, I04, I03, I02, I01 (the two listed institutions plus their ancestors).

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

✅ R10 executed run 1 graded by code

I04, I03, I02, I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R10 executed run 2 graded by code

I04, I03, I02, I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R10 executed run 3 graded by code

I04, I03, I02 and I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R10 executed run 4 graded by code

I04, I03, I02, I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ R10 executed run 5 graded by code

I04, I03, I02 and I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}