Q38, run 2026-11-04-2010-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

I01, I02, I03, I04, I06. W71 lists I06 and I04, and I04 sits under I03 → I02 → I01.

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

I04, I03, I06, I02, I01.

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

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

❌ R1 csv run 3 graded by code

I04, I03, I06, I02 and I01. They are the two listed units plus their ancestors.

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

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

❌ R1 csv run 4 graded by code

I06, I04, 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

I04, I03, I02 and I01 via the lab chain, plus I06 (parent I02).

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

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

❌ R2 rdf run 1 graded by code

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']

❌ R2 rdf run 2 graded by code

I01, I02, I03, I04, I06. W71 lists I06 and I04, and their ancestors are 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 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

I04 and I06 directly, and I03, I02 and I01 above them.

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

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

❌ R2 rdf 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']

✅ R6 rdf+ontology run 1 graded by code

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

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

✅ R6 rdf+ontology run 2 graded by code

I04, I03, I02, I01. I04 has the highest seq for W71, and I06 is ignored.

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

✅ R6 rdf+ontology run 3 graded by code

I04, I03, I02, I01. The last-listed affiliation of A08 on W71 is I04, and its parent chain gives the rest.

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

✅ R6 rdf+ontology run 4 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"]}

✅ R6 rdf+ontology run 5 graded by code

I04, I03, I02, I01. W71 is credited to I04 (listed last), and so to the institutions above it.

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

✅ R5 csv+ontology run 1 graded by code

I04, I03, I02 and I01. W71 is credited to I04 (listed last) and so to every institution above it; I06 is ignored.

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

✅ R5 csv+ontology run 2 graded by code

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

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

✅ R5 csv+ontology run 3 graded by code

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

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

✅ R5 csv+ontology run 4 graded by code

I04, I03, I02, I01. W71 is credited to I04 (sequence 2) and to everything above it.

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

✅ R5 csv+ontology run 5 graded by code

I04, I03, I02 and I01. For W71 the credited affiliation is I04 (sequence 2), and the credit passes up through I03 and I02 to I01.

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

✅ R4 csv+markdown run 1 graded by code

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

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

✅ R4 csv+markdown run 2 graded by code

I04, I03, I02, I01. On W71 the last-listed affiliation is I04, which then rolls up through I03 and I02 to I01.

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

✅ R4 csv+markdown run 3 graded by code

I04, I03, I02, I01. W71 is credited to I04 (sequence 2), and I03, I02 and I01 sit above it.

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, which rolls up through I03 and I02 to I01.

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

✅ R4 csv+markdown run 5 graded by code

I04, I03, I02, I01. On W71 the last-listed affiliation is I04 (sequence 2), and the units above it are included.

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

❌ R3 csv+padding run 1 graded by code

I06, I04, I03, I02, I01. I06 and I04 are listed directly, and I04 rolls up to 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 2 graded by code

I04, I03, I02, I01 and I06. A08 is affiliated with I06 and I04 on W71, and I04's ancestors are I03, I02 and I01.

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

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

❌ R3 csv+padding 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']

❌ R3 csv+padding run 4 graded by code

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

❌ R3 csv+padding run 5 graded by code

I06, I04, I03, I02 and I01.

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

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