Q38, run 2026-11-05-1235-haiku

← 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

I04 and I06 at the record level, plus their ancestors I03, I02 and I01. This is I01, I02, I03, I04 and I06.

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

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

❌ R1 csv run 2 graded by code

I01, I02, I03, I04 and I06.
*Reasoning:* W71 is credited to I06 and I04, whose ancestors are I02 and I03, and then I01.

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

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

❌ R1 csv run 3 graded by code

I04 and I06 directly, plus their ancestors I03, I02 and I01. The W71 rows are A08 at I06 (seq 1) and I04 (seq 2).

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

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

❌ R1 csv run 4 graded by code

I01, I02, I03, I04 and I06. W71 lists I06 and I04, whose 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']

❌ R1 csv run 5 graded by code

I01, I02, I03, I04 and I06. W71 is credited to I06 and I04 through author A08, and the parents of I06 and I04 add I02, I03 and I01.

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

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

❌ R2 rdf run 1 graded by code

I04 and I06 at the direct level, plus their ancestors I03, I02 and 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

I01, I02, I03, I04 and I06. The direct affiliations are I04 and I06, plus their parent chain.

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

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

❌ R2 rdf run 3 graded by code

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

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

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

❌ R2 rdf run 4 graded by code

I01, I02, I03, I04, I06. W71 is credited to 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']

❌ R2 rdf run 5 graded by code

I01, I02, I03, I04 and I06. W71 is credited to I06 and I04 (A08), plus their ancestors I03, I02 and 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. W71 is credited to I04 (highest affiliation sequence), and I04 is a laboratory, so the credit rolls up through I03 and I02 to I01.

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

✅ R6 rdf+ontology run 2 graded by code

I04, I03, I02 and I01. W71's last-listed affiliation is I04 (sequence 2), and the institution chain runs up through I03, I02 and I01. Its other affiliation, I06, is ignored.

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 that credit runs up the parent chain. I06 (seq 1) is ignored.

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

✅ R6 rdf+ontology run 4 graded by code

I04, I03, I02, I01. W71's credited affiliation is I04 (sequence 2), and it rolls up through I03, I02 and I01.

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

✅ R6 rdf+ontology run 5 graded by code

I04, I03, I02, I01. W71's last-listed affiliation is I04, which rolls up through its parents.

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

✅ R5 csv+ontology run 1 graded by code

I04, I03, I02 and I01. On W71, A08's last affiliation is I04, so the work is credited to I04 and all its ancestors. I06 is not credited because it was not the last-listed affiliation.

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

✅ R5 csv+ontology run 2 graded by code

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

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

✅ R5 csv+ontology run 3 graded by code

I01, I02, I03, I04. W71's credited institution is I04 (its seq 2), and I04's chain of parents is I03, I02 and I01.

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

✅ R5 csv+ontology run 4 graded by code

I01, I02, I03 and I04. A08's last-listed affiliation on W71 is I04, so the work is credited to I04 and every institution above it. I06 is not credited because it was listed first.

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

✅ R5 csv+ontology run 5 graded by code

I04, I03, I02 and I01. W71's A08 lists I06 (sequence 1) and I04 (sequence 2), so only I04 is credited, with its units' parents above it.

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

✅ R4 csv+markdown run 1 graded by code

I04, I03, I02 and I01. W71's last-listed affiliation is I04 (seq 2), and this credits every institution above it.

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

✅ R4 csv+markdown run 2 graded by code

I04, I03, I02, I01. The last affiliation is I04 (sequence 2), and the credit goes up through its parents.

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

✅ R4 csv+markdown run 3 graded by code

I04, I03, I02, I01. W71's last affiliation is I04 (sequence 2), and the work is credited to every institution above it. I06 is ignored because it is not the last affiliation.

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

✅ R4 csv+markdown run 4 graded by code

I04, I03, I02, I01. On W71, A08's last-listed affiliation is I04, and I04's parents run up to I01. The earlier I06 affiliation is ignored.

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

✅ R4 csv+markdown run 5 graded by code

I04, I03, I02 and I01. W71's last affiliation is I04, which is a unit of I03, I02 and I01.

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

❌ R3 csv+padding run 1 graded by code

I04, I06, I03, I02, I01. W71's directly credited institutions are I06 and I04, and their ancestors are I03, I02 and I01.

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

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

❌ R3 csv+padding run 2 graded by code

Direct: I04 and I06. Including all levels: I04, I06, I03, I02, I01.

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

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

❌ R3 csv+padding run 3 graded by code

I06 and I04 directly, then 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 4 graded by code

I01, I02, I03, I04, I06. W71 is credited to I06 and I04, plus their parents.

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

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

❌ R3 csv+padding run 5 graded by code

Directly I04 and I06. Including parents: I01, I02, I03, I04, I06.

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

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

✅ R10 executed run 1 graded by code

I04, I03, I02, I01. W71 is credited to A08 at I04, which counts towards I03, I02 and I01 in institution_units.

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

✅ R10 executed run 2 graded by code

I04, I03, I02, I01. W71 is credited to I04, which counts toward each parent level.

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

✅ R10 executed run 3 graded by code

I04, I03, I02 and I01. W71 is credited to I04, whose chain of parents runs through I03, I02 and I01.

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

✅ R10 executed run 4 graded by code

I04, I03, I02, I01. W71 is credited to I04, which counts towards I03, I02 and I01 in institution_units.

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

✅ R10 executed run 5 graded by code

I04, I03, I02, I01. W71 is credited to I04, and I04 counts towards each of its ancestors.

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